Releases: htkhiem/euphonica
Further queue performance improvements & bugfixes
Queue performance improvements
With this release all queue operations, including ones performed by other players, will be handled asynchronously on Euphonica's side. There should be very little blocking logic left, and as such there should be even fewer stuttering on older systems or slower connections.
For any remaining performance hiccups, bug reports are especially welcome.
Lyrics-based seeking
For songs with synced lyrics, clicking on a lyric line will seek to its timestamp.
Bugfixes
- Fixed a crash when newlines are included as artist tag delimiters & there are UTF-8 characters.
- Fixed a crash caused by the PipeWire visualiser backend when changing tracks via MPRIS (including playerctl).
- Fixed volume knob not reflecting remote changes.
- Changed MPRIS play command behaviour to start playing again from the last-played track in the queue while in the stopped state.
- Empty album & artist tags are now properly included in the Album & Artist views.
PRs
- Improve handling of empty album & artist tags by @htkhiem in #132
- Safely ignore invalid Aho-Corasick matches by @htkhiem in #137
- Make queue updates asynchronous by @htkhiem in #133
- Seek to timestamp when lyric line is clicked by @htkhiem in #139
- More queue & playlist view performance improvements by @htkhiem in #140
- Change MPRIS play behaviour & implement remote volume change UI update by @htkhiem in #141
Full Changelog: v0.96.3-beta...v0.96.4-beta
v0.96.3-beta
New features
- Lyrics import, export and clear features. Currently we only support basic LRC, without per-word timings or any tags except
offset
. - PipeWire visualiser backend can now select specific devices to capture audio from.
Refactors & fixes
- Fixed seekbar occasionally not updating itself
- PipeWire visualiser backend's autoconnection should now be smarter (works on more setups out of the box). In case it still triggers microphones, potentially forcing Bluetooth devices into headset mode, please select a specific device manually.
- Fixed album arts not falling back to embedded art automatically in Album View.
- Bump dependencies to fix security bulletins.
Pull Requests
- Lyrics import, export and clear by @htkhiem in #91
- Greatly simplify seekbar logic by @htkhiem in #123
- Bump slab from 0.4.10 to 0.4.11 by @dependabot[bot] in #128
- FFT backends rework by @htkhiem in #127
- Add MPD folder->embedded fallback path by @htkhiem in #129
Full Changelog: v0.96.2-beta...v0.96.3-beta
v0.96.2-beta: Performance improvements for large libraries & bugfixes
Important notice
This release will cause existing artist avatars to be invalidated to fix a database bug. You'll have to download or set them again. My sincere apologies for the inconvenience.
Performance improvements
This release should enable Euphonica to work with larger libraries. It now runs well on a 30,000-song, 2,000-album, 1,000-artist synthetic library.
- Fixed a breaking bug that causes the app to hang forever when its in-memory texture cache hits max capacity.
- Switched the internal SQLite DB to use WAL journaling.
- Moved more SQLite operations off the main thread. All writes now happen in a new threadpool that contains just one thread to avoid overloading the filesystem. This thread is parked after 15 seconds of inactivity.
Bugfixes
- Crashing when asked to queue inaccessible songs (on unmounted storage for example)
- Confusing artist avatar and album art when an album and an artist share the same name (think debut releases).
PRs
- Fix typos by @kianmeng in #97
- v0.96.2: Improve performance with larger collections & bugfixes by @htkhiem in #101
New Contributors
Full Changelog: v0.96.1-beta...v0.96.2-beta
v0.96.1-beta
- Fix: crash on startup for new installations
- Change: Flatpak builds now use release profile instead of debug
Full Changelog: v0.96.0-beta...v0.96.1-beta
v0.96.0-beta: Recent View & bugfixes
v0.95.1-beta
Bugfixes
- Crash on duplicate metadata tags
- Fix: crash after exiting artist content page
Embedded track art support & bugfixes
Can we label ourselves beta software now?
New features
- Embedded track arts are now globally supported as fallback in case no cover image file is present in the folder. This also allows tracks in certain albums to have their unique album arts shown. This involved a nearly complete rewrite of the cache logic, so feedback & bug reports are extra welcome.
- Double-clicking on a song in an album content page will now replace the current queue with it.
Bugfixes
- MPRIS client remaining active even when disabled (#73)
- GTK warnings related to QueueRows. Widgets are now disposed of more properly too.
- Crash upon loading cover art for albums/artists with extremely long names (#67)
- Crash on startup with some keyring configurations (#76)
Pull Requests
- fix MPRIS being active even when disabled. by @sonicv6 in #74
- v0.95.0: cache revamp (again) & bugfixes by @htkhiem in #71
- Add support for embedded album art by @sonicv6 in #70
- Add double click action for album_song_row by @sonicv6 in #69
New Contributors
Full Changelog: v0.94.1-alpha...v0.95.0-beta
v0.94.0-alpha: Hotfix for panicking cache thread
- Fix: cache thread crashing upon inserting blank metadata for albums without sufficient tags for table key.
- Refactor: album tags associated with songs stored at the library root will now use an empty path for their URI.
v0.94.0-alpha: Local socket connection & scroll fix
New
Local socket connection support has been added to Euphonica. Named sockets should probably work already, I guess?
Bugfixes
- Fix "Queue all" in playlist view queuing twice.
- Worked around Queue View & Playlist Editor scroll position resetting upon row removal.
- Restored startup connection error pop-ups.
- Fix Queue View subtitle not updating upon clearing queue.
Refactors
- Moved folder view state code into library controller (finishing what the background client PR started). As an added bonus folder view now retains state across window launches when background running is enabled.
v0.93.1-alpha
- Fix: MPRIS duration using the wrong unit, causing seekbars in shell applets to malfunction.