What's new in Ex Falso 4.4.0
Jul 19, 2021
- Packaging Changes:
- One quodlibet/ subdirectory has been removed - e.g. quodlibet/tests/ -> tests/ (#3238)
- Move to Python 3.7 (closing #3433) #3438 (Nick Boultbee)
- macos: bundle.sh: clone from ../.. rather than .., fixing #3393. (#3394) (Sam Hathaway)
- win_installer: pass options to build script on env switch #3328 (Gabor Karsay)
- Depend on musicbrainzngs>=0.6 (Christoph Reiter)
- General:
- Switch to XSPF for Playlists (closing #1122) #3242 (Nick Boultbee)
- Renamed “Search Library” to “Track List” browser (Joschua Gandert)
- Support moving library folders (scandirs) #3506 (Nick Boultbee)
- Support JACK via Gstreamer #3511 (Nick Boultbee)
- Make ID3 Replaygain ALL_CAPS :pr:`3475 (Nick Boultbee)
- MP4: Support description tag (Nick Boultbee)
- Advanced prefs: use checkboxes (Nick Boultbee)
- Add comment to track headers (Nick Boultbee)
- Change None to empty string to fix TypeError in missing.py #3548 (Ironbalden)
- Plugin window: don’t appear on top (Nick Boultbee)
- Info Area: Allow space to play / pause (Nick Boultbee)
- Allow ctrl-[shift]-tab in Notebook windows (Edit Tags, Song Info, Prefs etc) (#3496) (Nick Boultbee)
- Playlists: don’t clear on deletion (fixing #3491) (Nick Boultbee)
- IRadio - do station updates in background #3310 (Nick Boultbee)
- Improve plugin window style #3481 (Nick Boultbee)
- Query: allow validation from extensions :up: (Nick Boultbee)
- Plugins: improve query plugins #3485 (Nick Boultbee)
- Saved list editor: improve style (Nick Boultbee)
- Tag Editor: Add smart replacer for colon delimiters (#3456) (Nick Boultbee)
- Improve local cover art detection (#3454) (#3459) (Nick Boultbee)
- Add support for TKEY ‘Initial Key’ column (#3420) (Cole Robinson)
- add ability to sort by date added to Album List Browser (#3410) (Uriel Zajaczkovski)
- Add originalartistsort (Nick Boultbee)
- add check to Missing.py, fix #3336 (#3382) (Ironbalden)
- Add support for ~elapsed and ~#elapsed (#3379) (Nick Boultbee)
- Format date panes (closing #3346) #3349 (Nick Boultbee)
- Update song order in song list when modified #2509 (Thomas Leberbauer)
- Restyle the search query #3517 (Nick Boultbee)
- Fix non-splitter EditTags plugins (fixing #3468) #3470 (Nick Boultbee)
- Support feedparser 6.0 #3464 (Christoph Reiter)
- formats: Don’t return lyrics with embedded nulls #3402 (Christoph Reiter)
- Fix setting pane mode #3365 (Michael Kuhn)
- windows: Fix playing files on network shares (fixing #3361) #3371 (d10n)
- Restarting #3211 (blimmo)
- Closes #946: Rename cover filename option #3235 (Joschua Gandert)
- Closes #1769: Allow multiple entries for cover files #3236 (Joschua Gandert)
- Plugins:
- Add listenbrainz scrobbling plugin. #3528 (Ian Campbell)
- First version of Musicbrainz Sync plugin that sends ratings (#3180) (LoveIsGrief)
- add plugin ‘synchronize to device’ #636 (Jan)
- Fix weighted shuffle not shuffling when total rating is zero. #3397 (blimmo)
- ext/inhibit: Add option to inhibit suspend #3309 (antigone-xyz)
- trayicon: only check for org.kde.StatusNotifierWatcher for the appindicator #3313 (Christoph Reiter)
- MQTT authentication #3391 (Jeroen7V)
- Add “Rate” to D-Bus API #3455 (LoveIsGrief)
- Prettier sync lyrics (Nick Boultbee)
- Synchronizedlyrics: Rewrite lyrics parsing, supporting >60min songs (Nick Boultbee)
- Add Sonos playlist export plugin #3487 (Nick Boultbee)
- Plugin: fix Cover Art window persistence (Nick Boultbee)
- Skip songs: rename & naming / text updates (Nick Boultbee)
- Cover Art Downloader: remove failing downloads from results (Nick Boultbee)
- Cover Art: Improve Musicbrainz downloader (Nick Boultbee)
- Cover Art download: only trigger plugin if album tag available (Nick Boultbee)
- Added AutoUpdateTagsInFiles plugin #3200 (Joschua Gandert)
- Translations:
- Update Polish translation #3323
- Update italian translation #3405 (dprimon)
- Updated Dutch translation #3441 (Vistaus)
- Update British English translation #3483 (Nick Boultbee)
- Documentation:
- Update plugin development page (Nick Boultbee)
- Update plugins.rst to include locations on MacOS. #3562 (BraveSentry)
- Fixed documentation URLs #3425 (TehPsychedelic)
- Fix link to contributing guide #3416 (remvee)
- Various docs updates / improvements (Nick Boultbee)
- Docs: Improve / tidy renaming files examples (Nick Boultbee)
- docs: fix the windows dev environ instructions (Christoph Reiter)
- Developer:
- Various Python 2 leftovers and updates #3440 (Nick Boultbee)
- tests/operon: make argument names meaningful #3294 (Jan Tojnar)
- gettextutil: warn on gettext warnings instead of erroring out #3545 (Christoph Reiter)
- CI: re-enable flatpak tests #3501 (Christoph Reiter)
- CI: install MSYS2 packages via the GHA #3458 (Christoph Reiter)
- Tests: improve source scanning (Nick Boultbee)
- Refactor: tidy Gstreamer player code #3489 (Nick Boultbee)
- Add .editorconfig that agrees with PEP-008 and our Flake8 config (Nick Boultbee)
- Refactor ID3 tag writing for readability pr:3476 (Nick Boultbee)
- More type hints (Christoph Reiter)
- CI: Port more things to github actions (Christoph Reiter)
- Switch from pycodestyle/pyflakes to flake8 (Christoph Reiter)
- Move the main sources into the repo root (Christoph Reiter)
- Remove pipenv support (Christoph Reiter)
New in Ex Falso 4.3.0 (Feb 25, 2020)
- Packaging Changes:
- Various installed files have been renamed (“exfalso” -> “io.github.quodlibet.ExFalso”) to work better with Flatpak
- zsh completion file installation location changed to site-functions #3300
- Installs a new bash completion file #3126 #3128
- Windows: Moved everything from 32 bit to 64 bit. This means QL will no longer work with 32 bit Windows.
- Translations:
- Update brazilian portuguese translations #3123 (Hugo Gualandi)
- Bulgarian translation fixes :pr`3147` (cybercop-montana)
- Update Hebrew translation #3164 #3274 (Avi Markovitz)
- French translation update #3183 (Bundy01)
- Update German translation (Till Berger)
- Various translation related spelling/formatting/text improvements #3208 #3207 #3206 #3214 #3215 #3218 #3219 (Till Berger)
- New Serbian translation #3245 (leipero)
- Update Finnish translation #3199 (Kristian Laakkonen)
- General:
- Simplify launcher for macOS #3101 (a-vrma)
- Add original date sort option to album browser #3103 (Ruud van Asseldonk)
- Option for multiple queries in Search Browser #3082 (blimmo)
- Improved VGM Metadata Tag Parsing (GD3 Support) #3100 (Eoin O’Neill)
- cover: Always scale down to parent window size #3114 (Fredrik Strupe)
- tags: Support loading lyrics from ‘unsyncedlyrics’ tag #3115 (Fredrik Strupe)
- browsers: Focus album list on album filtering #3122 (Fredrik Strupe)
- Add bash completion #3126 #3128 (Arnaud Rebillout)
- Docs fixes #3133 #3192 (Petko Ditchev, CreamyCookie)
- player: Make external volume cubic by default #3151 (Fredrik Strupe)
- desktop: Accept all selected files when opened from file browser #3159 (Fredrik Strupe)
- Tracks without track number are now sorted before first track #3196 (CreamyCookie)
- Add option for ignoring characters in queries #3221 (blimmo)
- Disable the file trash support under flatpak for now #3093
- zsh completion improvements #3300 (Matthew Martin)
- Add poetry support #3306 (Nick Boultbee)
- Plugins:
- Import metadata plugin: Fix file renaming #3071 (Fredrik Strupe)
- Scale player volume properly in mpris2 API #3098 (luk1337)
- mpris: Drop MPRIS1 support #3102
- Add new Banshee import plugin #3141 (Phidica)
- Library update plugin: Update on file modifications #3168 (Fredrik Strupe)
- Add “Record Stream” to default custom commands plugin #1617 (CreamyCookie)
- Custom Commands: Don’t modify command when using parameters #3185 #3232 (CreamyCookie)
- Import/export plugin: accept full filenames when renaming #3282 (Fredrik Strupe)
- acoustid: fix queries always returning “unknown” #3269
- Fix embed images plugin submenu not showing sometimes :pr`3303` (Nick Boultbee)
New in Ex Falso 4.2.1 (Mar 10, 2019)
- Translations:
- Hebrew translation update #3027 (Avi Markovitz)
- German translation update #3036 (Till Berger)
- Fixes:
- Fix freezes when opening the shortcuts window with i3wm #3055 (Fredrik Strupe)
- xinebe: Fix error when pausing a non-local stream #3057
- Fix mmkeys error (preventing QL to start) when mate-settings-daemon is running outside of a mate session #3056
- Fix some panels/docks not being able to match the app with the desktop file #3029
- Migrate metadata plugin fixes #3070 (Fredrik Strupe)
New in Ex Falso 4.1.0 (Jun 6, 2018)
- Various improvements and fixes to make Quod Libet ready for Flatpak/Flathub #2842 #2851 (Felix Krull)
- Show confirmation dialog when removing songs from playlists #2667 (zsau)
- Map bare performer tags to a “Performance” role in ~people:roles #2674 (zsau)
- Add wildcard support to albumart filename preferences #2814 (zsau)
- Fix various typos #2786 (luzpaz) #2750 (Tom McCleery)
- waveformseekbar: Improve hover time indication #2690 (Eyenseo)
- Add shuffle-by-grouping plugin #2788 (archy3)
- Album List - sorting by album average playcount #2794 (Uriel Zajaczkovski)
- Recognize rating/playcount tags in vorbis comments #2761 (Thomas Leberbauer)
- Handle error when writing empty replaygain tag #2838 (Thomas Leberbauer)
- waveformseekbar: Clamp seek time to valid range #2729 (Peter Simonyi)
- tag editor: don’t use inline separators when changing multiple tag values #2684 (Peter F. Patel-Schneider)
- Improve the lyrics file search #2567 (Pete Beardmore)
- Added advanded_preferences config for scrollbar visibility #2697 (Meriipu)
- cli: Allow floating point arguments for volume #2661 (Jonas Platte)
- code quality: Fix raising NotImplementedError #2772 (Jakub Wilk)
- paned browser: Add shortcut Ctrl-Return to the searchbar #2745 (Felician Nemeth)
- Fix translations on systems with translations spread across multiple directories like with NixOS/Flatpak. #2819
- Fix setting the process name on Linux to “quodlibet” (4.0 regression) #2826
- Fix a case where a deadlocked QL would prevent new instances from being started #2754
- Directory browser: fix not showing Gnome bookmarks
- Various Python 3.7 compatibility fixes
- id3: always ignore TLEN frames #2758
- wayland: fix errors when showing the seek popup widget #2644
- Add cli options for setting repeat and shuffle type #2799 (Fredrik Strupe)
- Queue stop once empty: do check at end of song instead #2801 (Fredrik Strupe)
- searchbar: Don’t save indeterminate search queries in the history #2871 (Fredrik Strupe)
- browsers/playlist: Make the side pane take up less space #2765 (Fredrik Strupe)
- Make songs menu key accels work across all browsers #2863 (Fredrik Strupe)
- shuffle: fix shuffle no longer working after one complete run #2864 (Fredrik Strupe)
- tag editor: Allow saving tag if present in all songs but value differ #2686 (Fredrik Strupe)
- iradio: assume http if no protocol specified #2731 (Nick Boultbee)
- tag split: Allow non-word characters around tag separators #1088 #2678 (Nick Boultbee)
- Various improvements to the cover source plugin system (Nick Boultbee)
- gstreamer: Disable gapless for .mod files #2780
- gstreamer: Store the GStreamer registry/cache in our own cache directory to avoid conflicts with the system cache #2839
- macOS: Fix cannot re-order playlist songs with DnD #2867 (David Morris)
- Plugins:
- Add a new cover download plugin using the cover sources #2812 (Nick Boultbee)
- headphonemon: fix headphone detection (4.0 regression) #2868
- plugin search: handle search for multiple words better
- importexport: pass a default value for ~#track when sorting. #2694
- equalizer: Fix scales in the preferences not showing the initial values #2722
- randomalbum: Various Python3 fixes #2721 #2726
- trayicon: hide the (useless) scrolling preferences on Windows. #2718
- Move the app/system/dependency info from the about dialog into a plugin.
- Tap BPM plugin: Handle non-numeric BPMs #2824 (Fredrik Strupe)
- plugins: Make random album work on non-album browsers again #2844 (Fredrik Strupe)
- alarm plugin: Port to Python 3 #2735 (Nick Boultbee)
- Website search: support ~filename #2762 (Nick Boultbee)
- Move Browse Files to core (fully) #2835 #1859 (Nick Boultbee)
- qlscrobble: Fix a potential error when upgrading from 3.9 and older #2768
- Packaging Changes:
- No dependency changes compared to 4.0
- Various installed files have been renamed (“quodlibet” -> “io.github.quodlibet.QuodLibet”) to work better with Flatpak
- We’ve added some new icon resolutions
- Translations:
- Update Norwegian (bokmål) translation #2833 (Åka Sikrom)
- Update German translation #2860 (Till Berger)
- Update Polish translation #2857 (Piotr Drąg)
- Some Russian translation improvements #2670 (Kirill Romanov)
New in Ex Falso 4.0.2 (Jan 23, 2018)
- Bug fixes: #2723 #2721 #2722 #2726 #2717 #2694.
New in Ex Falso 4.0.1 (Jan 23, 2018)
- Bug fixes: #2677 #2672 #2671 #2680 #2687 #2669 #2699 #2698 #2704 #2703 #2683 #2706 #2705 #2710 #2718 #2719 #2713 #2668 #2715.
New in Ex Falso 4.0.0 (Jan 23, 2018)
- Packaging Changes:
- Python 3.5 required (was 2.7): All Python dependencies need to be switched to their Python 3 variants. In case there is a “py” in the package name it likely needs to be changed.
- Mutagen 1.34 required (was 1.32)
- GTK+ 3.18 required (was 3.14)
- PyGObject 3.18 required (was 3.14)
- GStreamer 1.8 required (was 1.4)
- media-player-info no longer required
- udisks2 no longer required
- python-futures no longer required
- python-faulthandler no longer required
- Project:
- Ported from Python 2 to Python 3 #1580 #2467
- Relicensed all code under “GPLv2 only” to “GPLv2 or later” #2276
- Translations:
- Update German translation #2651 (Till Berger)
- Update Polish translation #2646 (Piotr Drąg)
- Update Norwegian (bokmål) translation #2506 #2621 (Åka Sikrom)
- Russian translation fixes #2608 Kirill Romanov
- Update Finnish translation #2606 Kristian Laakkonen
- Various:
- Allow cover image pop-up to scale up to maximum size #2634 (Peter F. Patel-Schneider)
- Draw a drag handle for the pane separator with newer GTK+ #2402
- Soundcloud: Add “my tracks” category (Nick Boultbee)
- Workaround Ubuntu theme bug which results in drawing artefacts with treeview separators. #2541
- Added support for custom date column timestamp formats (advanced prefs) #2366 (Meriipu)
- Fix filter function (e.g. max, min) doesn’t work correctly with lastplayed #2504 (Thomas Leberbauer)
- Multimeida keys: make “previous” always go to the previous song #2494
- Prefer userdir in XDG_CONFIG_HOME #138 #2466 (Sauyon Lee)
- Fix error on start under LXDE with its “org.gnome.SessionManager” re-implementation
- Improve visibility of the active state of toggle buttons in the bottom bar #2430
- Remove device support #2415
- Filesystem browser: Allow selecting multiple folders #2399 (Nick Boultbee)
- CLI: Allow floating point arguments for --volume #2661 (Jonas Platte)
- Windows: SIGINT handling support
- Sentry.io error reporting now available on all platforms
- Playback:
- GStreamer: Fix gain adjustments are not applied during the first split second of a song on macOS/Windows. #1905
- GStreamer: Seeking performance improvements #2420
- Tagging:
- Add option for moving album art when renaming #2560 (Pete Beardmore)
- Add DSF tagging support #2491
- Plugins:
- Add support for sidebar plugins #152 (Nick Boultbee)
- LyricsWindow: convert to a sidebar plugin #2553 (Nick Boultbee)
- Fix synchronized lyrics window not showing #1743 #2492 (elfalem)
- Add more preferences for the album cover search #2511 (Pete Beardmore)
- Waveform seekbar hoover time indication #2419 #2550 (Muges)
- New automatic seekpoint plugin (seeking based on bookmarks) #2437 (Meriipu:)
- CI:
- Run Windows tests on appveyor #2619
- Submit coverage reports to codecov.io
- Move to circleci for Docker tests #2443
- Dockerize Windows-under-Wine tests #2444
- Various improvements, fixes and Python 3 porting fixes, thanks to:
- Kristian Laakkonen: #2607 #2605 #2593 #2586 #2578 #2576 #2521
- Emanuele Baldino: #2622
- CreamyCookie: #2574
- Muges: #2425
- Till Berger: #2531 #2530 #2474
- Meriipu: #2486 #2449 #2616
- Fredrik Strupe: #2476
New in Ex Falso 3.9.1 (Jun 20, 2017)
- Danish translation update #2394 (scootergrisen)
- Various bug fixes: #2409 #2364 #2406 #2401 #2410 #2414 #2387 #2411 #2386 #2400 #2404 (Nick Boultbee et al.)
New in Ex Falso 3.4.0 (May 4, 2015)
- updated dependencies: feedparser 5.2.0, mutagen 1.28, gtk+ 3.14.13, atk 2.16, pygobject 3.16.1, gstreamer 1.4.5, libvorbis 1.3.5, libsoup 2.50, glib-networking 2.44, gnutls 3.3.14, libtasn1 4.4, libgcrypt 1.6.4, libgpg-error 1.19, sqlite 3.8.9
- 3.4.0_0 was a failed release