Skip to content

Exaile 4.1 release notes

luzip665 edited this page Aug 9, 2022 · 57 revisions

This document details changes made on the 4.1 series of Exaile music player.

As of version 4.1, Exaile runs on Python 3 instead of 2. Python 2 is no longer maintained and, even though we are currently not aware of any security issues with it that could affect Exaile, this situation may change quickly. Therefore, users of previous versions of Exaile are recommended to upgrade to this version.

There are some issues that we have not been able to resolve in this version (see the known issues section), for which we would greatly appreciate code and debugging assistance.

If you are upgrading from Exaile 3.x, please also consult the Exaile 4.0 release notes.


4.1.2 (2022-08-09):

  • Tests do not depend on mox3 anymore.
  • Translation updates: Arabic, Catalan, Chinese (Simplified), Croatian, Estonian, French, Galician, German, Polish, Portuguese (Brazil), Russian, Spanish.
  • Regression fixes (for bugs that were not present in Exaile 4.1.1):
    • Track counts in the status bar no longer show up as "%d" (#809).
    • Fixed error when attempting to load some UI elements, e.g. the Preferences page for the replaygain plugin.
  • Corrections in Makefiles

4.1.2-beta1 (2022-02-25):

  • Fixed sorting on Rating column when there are unrated tracks (#762).
  • Fixed a bug causing the tracklist to scroll to the top when adding or reordering tracks (#685, #766).
  • Fixed a bug causing the window title to not update on track change if the current track has been paused (#572, #779, #780).
  • The status bar can now be hidden (#616, #794).
  • The stop button does not move around anymore when hovered for the first time (#571, #780).
  • Fixed error if files are removed during scan (#764, #765).
  • Playlist columns are added next to the currently selected column (#322, #807).
  • The status bar now does not ignore zero track counts; they are displayed as normal (#802).
  • Log files are now created only when/if we write something to it (#769, #790).
  • Fixed test failures on newer GLib (#750, #751).
  • Fixed test warnings (#786).
  • New callback while installing plugins (#788).
  • Worked around potential hang when running tests (#783), possibly due to a bug on GLib < 2.70.3. Technically it can happen when running any GStreamer app but so far we've only observed this on GitHub Actions (and only on recent OSes), so we don't apply this workaround to Exaile itself.
  • The install makefile target now preserves file timestamps (requires install -p).
  • A lot of UI strings were mistakenly not marked as translatable; this has been fixed (#800).
  • The status bar track counts are now translated using ngettext for proper internationalization.
  • Translations are now available on Windows (#800).
  • Translation updates: Arabic, Chinese (Simplified), Croatian, English (Australia), Estonian, Finnish, Indonesian, Marathi, Norwegian Bokmål, Portuguese, Portuguese (Brazil), Russian, Sinhala.
  • Plugins:
    • inhibitsuspend: Added support for Sway (#768).
    • notify: Fixed wrong text: "by {album}" should be "from {album}".
    • previewdevice: Will be shown after disabling and enabling again (#777, #778).
    • quickbuttons: This is a new plugin providing quick shortcuts to some settings.

4.1.1 (2021-03-28):

  • Restored Python 3.6 compatibility, broken since 4.1.0-beta1 (#749).
  • The last playlist export directory is now saved between calls and between sessions (#745, #747).
  • Added tooltip text to the Clear buttons in the Properties dialog (#744).
  • Plugins:
    • console: When encountering a very long "word", the console will now wrap between characters instead of widening the window to fit the word.
    • grouptagger: Fixed i18n issues in some strings. Translations for these strings may be broken until they are updated.
  • Translation updates: Catalan, Croatian, Greek, Sinhala, Spanish.

4.1.0 (2021-02-14):

  • Translation updates: Estonian, Greek, Norwegian Bokmål, Occidental, Russian.
  • Plugins:
    • moodbar: Restored compatibility with the previewdevice plugin.
  • Regression fixes (for bugs that were not present in Exaile 4.0.x):
    • moodbar plugin: Make this work again.
    • notify plugin: Fixed incompatibility with Python >=3.8 (#742).

4.1.0-rc1 (2021-01-08):

  • Fixed running the test suite on non-English locales (#735, #736).
  • Translation updates: Estonian, French, Italian.

4.1.0-beta1 (2020-11-22):

  • Fixed issue causing the Track Properties dialog to (very rarely) fail to open (#718).
  • The seek time display now ignores GtkProgressBar's text formatting (#700). On the default GTK theme (Adwaita), this makes the text easier to read (higher contrast, bigger).
  • The Track Properties dialog now correctly sets the parent window when opened from a panel.
  • Collection Manager now displays local paths when possible instead of always URIs (#722, #723).
  • Collection Manager now prevents adding the same library location twice (#724).
  • The Track Properties dialog no longer changes the capitalization of known tag names (for example, ISRC used to be displayed as Isrc).
  • Translations now work when running Exaile from the source directory, assuming "make locale" has been run (#695).
  • Fixed segfault on Windows when pressing Open Directory on the Track Properties dialog.
  • On Windows, the tray menu no longer shows up in weird places if the taskbar is not at the bottom.
  • The Website link in the About dialog now works in the Windows installer distribution (#712, #714).
  • Translation updates: Afrikaans, Bosnian, Catalan, Chinese (Simplified), Croatian, Czech, Danish, Dutch, English (United Kingdom), Estonian, Finnish, French, German, Italian, Marathi, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian, Sardinian, Serbian, Spanish, Swedish, Telugu, Thai, Turkish, Vietnamese.
  • Plugins:
    • daapclient: Now uses python-zeroconf instead of Avahi for share auto-discovery (#517, #701), making the feature available on all supported platforms.
    • ipconsole: Compatibility fixes for recent IPython versions (#694, #696).
    • screensaverpause: Xfce Screensaver is now supported (#691).
  • Regression fixes (for bugs that were not present in Exaile 4.0.x):
    • Fixed an issue causing errors when running Exaile on Python 3.9 (#727).
    • Fixed bug preventing the Device Manager window from opening (#699).
    • console plugin: Fixed bug causing the expression printing to only work once (#693).

4.1.0-alpha1 (2020-03-09):

  • Use Python 3.x instead of 2.x.
  • The Files panel dropdown list now also lists filesystem mounts (#195).
  • Fix crash when fetching covers with the Cover Manager.
  • Some dialogs that were previously orphans now have parents.
  • Allow -symbolic fallback and SVG on some icons (#690).
  • Update the .mod file support to work with latest libmodplug (#677).
  • Empty search entries now show the "Search" placeholder text.
  • Many accessibility issues were found (due to gla11y) and fixed (#688).
  • Translation updates: Catalan, Marathi, Portuguese (Brazil), Slovenian, Spanish, Telugu.

Known issues

  • Playing a network stream may cause Exaile to segfault in some environments (#737). So far this has been observed on a Debian-based OS and only when not running on GNOME. This issue also affects software other than Exaile (see Debian bug #970687), and is possibly a libproxy bug.
  • The cd plugin has lost automatic metadata (CDDB) support because the library we were using for it is unmaintained and does not support Python 3. Efforts to restore this feature are tracked in #608 but they are currently stalled. Audio playback of CDs is not affected and continues to work as before.

For packagers

  • Exaile now depends on Python 3.6 or later. All Python module dependencies need to be upgraded to their Python 3 versions accordingly.
  • The daapclient plugin now uses python-zeroconf instead of Avahi for DAAP share auto-discovery. This is an optional dependency for the plugin (the plugin retains its required dependency on spydaap).
  • Due to the aforementioned issue related to CDDB support in the cd plugin, Python-CDDB (a.k.a. PyCDDB) is not used anymore.
  • As of version 4.1.2, the makefile's install target requires install -p to preserve timestamps. If this is not available in your OS, please let us know and we can try to find a workaround.
  • As of version 4.1.2, the tests do not depend on mox3 anymore.