Ex Falso Changelog

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