v0.6.0
The heaviest release so far, a lot of fundamentals have changed for the better, thanks everyone reporting issues! There was a compatability problem with using the keyring, which caused issues for several systems, therefore we migrated to a local storage. This unfortunately means that you will need to login again to your servers, and enter API credentials again, but this is an one-time thing. I hope the improvements make up for this inconvenience:
- Improved local library caching with visible scan/metadata progress and smarter handling of artworks, which reduces the initial scan time greatly
- Adapted a shared cover caching model, this dramatically reduces repeated cover lookups when navigation routes as well as memory usage
- Library changes are applied smartly, app only tries to do the minimal required database changes
- Added Weblate link for translations
- Added Estonian translation (Priit Jõerüüt)
- Fixed several bugs for lyrics fetching that made the section look stale
- Favorites now load from the saved library cache
- Library and home content can now update without forcing a full page reload
- Made the app store tokens as base64 in case secret service is not available
Changelog
- test(flatpak): assert packaged icons by @screwys in #64
- chore(deps): tighten dependency artifact automation by @screwys in #65
- ci(deps): isolate dependency artifact commits by @screwys in #66
- chore(deps): update rust minor and patch dependencies to v0.13.4 by @rufin-renovate in #58
- test: allow capped nextest jobs by @screwys in #68
- fix(lyrics): improve search popup loading by @screwys in #69
- chore(release): open Flathub update PR by @screwys in #70
- chore(ui): remove UI perf runtime harness by @screwys in #71
- refactor(queue): collapse source attribution by @screwys in #73
- chore(ui): flatten cover warm scheduling by @screwys in #74
- chore(covers): trim stale artist image refs by @screwys in #76
- chore(controller): trim play activation seams by @screwys in #75
- chore(playlists): flatten smart playlist editor by @screwys in #77
- test: trim low-value coverage by @screwys in #78
- feat(ui): warm source route covers after startup by @screwys in #80
- fix(secrets): fall back when secret service is unavailable by @screwys in #81
- chore: shorten sentence-like identifiers by @screwys in #82
- fix(cache): skip disk clears for memory stores by @screwys in #83
- chore(i18n): prepare Weblate translations by @screwys in #84
- fix(secrets): fail over keyring attempts faster by @screwys in #85
- fix(library): apply sync deltas without stale startup covers by @screwys in #86
- chore(release): keep PR helpers local by @screwys in #87
- test(library): stabilize startup sync refresh check by @screwys in #88
- chore(deps): update github actions dependencies to df4cb1c by @rufin-renovate in #72
- fix(ui): defer library route loading by @screwys in #89
- fix(secrets): use config tokens in foreground by @screwys in #90
- fix(secrets): move scrobbling secrets to config by @screwys in #91
- Translations update from Hosted Weblate by @weblate in #92
- fix(secrets): stop using system keyring by @screwys in #93
- fix(ui): keep source selector open during refresh by @screwys in #94
- chore(flathub): update metainfo description by @screwys in #95
- Translations update from Hosted Weblate by @weblate in #96
- fix(library): improve cache readiness and playback by @screwys in #97
- docs: update readme by @screwys in #98