Overview of changes in Rhythmbox 3.4.8
======================================

* Minor improvement release for 3.4
* Improved support for podcast episode images
* Better handling of the split between Android and MTP plugins
* The long-broken DAAP server now works again
* API documentation now generated by gi-docgen

Issues fixed:
1715 - Sync fails to create playlist if directory does not exist
1828 - extdb: support cancellation
1832 - rhythmbox hangs when it cannot play the file
2001 - "Access key" string needs a translator comment
2050 - Orca does not present items in left panel correctly
2052 - The "rating" widget should not have the "unknown" accessible role
2065 - Trivial/Clerical fix on debug statement in MTP plugin
2066 - Pause/Stop button incorrect context (radio stream vs playlist queue)
2067 - Add Lenovo to android-mtp match/allow-list
2072 - Incorrect/missing URLs in app metadata
2073 - Phone not being recognized as Android PTP device
2080 - cgi module is being deprecated since Python >= 3.13
2084 - Access to Rhythmbox via DAAP from Android gets "Unable to Connect!"
2086 - Rhythmbox crashing sync with Android device


Merge requests:
27 - generic-player: create directory when syncing playlist
143 - Updates iradio-initial.xspf
144 - Stronger sanitization for generic player sync
153 - Convert README and internals documentation to markdown
175 - build: Define _GNU_SOURCE for pthread_getname_np
178 - Add missing includes to fix crash with libxml2 2.12
179 - Appdata related patches
180 - data: Appdata fixes after Flathub review
181 - notification: Fix libnotify warning in Flatpak
185 - context: use html.escape instead of cgi.escape
186 - Add a "delete file only" option for podcasts.
187 - Fix strict prototype compiler warning with clang
188 - Fix Python3 invalid escape sequences.
189 - appdata: Use rDNS developer name


Translation updates:
- be, courtesy of Yuras Shumovich
- ca, courtesy of Jordi Mas i Hernàndez
- cs, courtesy of Daniel Rusek
- da, courtesy of Alan Mortensen
- de, courtesy of Tim Sabsch
- fi, courtesy of Jiri Grönroos
- hi, courtesy of Scrambled777
- hu, courtesy of Balázs Úr
- id, courtesy of Andika Triwidada
- ka, courtesy of Ekaterine Papava
- kk, courtesy of Baurzhan Muftakhidinov
- lt, courtesy of Aurimas Černius
- lv, courtesy of Rūdolfs Mazurs
- oc, courtesy of Quentin PAGÈS
- pl, courtesy of Piotr Drąg
- pt_BR, courtesy of Juliano de Souza Camargo
- pt, courtesy of Hugo Carvalho
- ro, courtesy of Florentina Mușat
- ru, courtesy of Ser82-png
- sl, courtesy of Martin Srebotnjak
- sv, courtesy of Anders Jonsson
- th, courtesy of Kiatkachorn Ratanatharathorn
- tr, courtesy of Emin Tufan Çetin
- uk, courtesy of Yuri Chornoivan
- zh_CN, courtesy of lumingzh
- zh_TW, courtesy of Cheng-Chia Tseng