-
v0.4.0
StableCI / check (push) SkippedCI / e2e (push) SkippedBuild & publish the Android APK / apk (push) Successful in 1m27sBuild & publish Arch package / arch-package (push) Successful in 2m43sAttach the desktop build to the release / linux (push) Successful in 57sSync Homebrew formula / sync-formula (push) Successful in 6sreleased this
2026-08-20 19:46:35 +00:00 | 141 commits to main since this release0.4.0 (2026-08-20)
Features
- autotag: answer whether an album has a confident match (9118c16)
- autotag: name the confidence tier two features have to share (fe67849), closes #28 #90 #90
- config: make the shell's destinations configurable (a392670)
- explore: carry the local row id on a top result (41c41a8)
- explore: demote the album page's version selector to a disclosure (905654c), closes #17
- explore: mark what is not owned, everywhere it can be shown (88fc50a), closes #38
- explore: offer the autotag match on the album page (b5d70ac), closes #28
- jobs: show background work where the work is started (f3d1ae1)
- library: answer album completeness for a screenful in one query (4bf59b4)
- now-playing: plain text instead of links in the phone mini player (c518ac8), closes #61
- player: centre the transport and show the volume inline (dc8db15), closes #154 #23 #42
- settings: scan from Settings, and watch every job in place (12af6ec)
- shell: draw only the destinations the user kept (43d78a7), closes #72
- shell: global back and forward in the top bar (018d857), closes #6
Bug Fixes
- android: install and launch the package the APK declares (8d2109b), closes #159
- android: keep the Go app alive when the activity is destroyed (d714bd7), closes #52
- android: point the emulator script at the built APK's id (4b392cb), closes #159
- android: run main() once per process, not once per activity (d64b069), closes #52
- e2e: ask the fixture for a track that can navigate (2365806), closes #152 #156
- e2e: the third spec that located a disclosure by class (e4efec6)
- explore: clear in_library on a row that has no local id (23f3d4b), closes #118
- explore: gate playback on the same answer the row is drawn from (10eca35)
- home: gate the card play button on the device having hover (977f624), closes #68
- page-header: collapse the actions that do not fit into a menu (f967916), closes #69
- player: end the stream when the audio source stops producing (282dab4), closes #122
- player: put the phone's Now Playing button above the artwork (ffc9490), closes #150
- player: stop reporting one track's state against another (2b84bc5), closes #123 #123 #123 #124 #125 #126 #127 #123 #124 #125 #126 #127
- queue: overlay the content instead of taking its width (4025106), closes #55 #24
- scripts: let issue.sh claim work on a write:issue-only token (087c69a), closes #130
- scripts: refuse to start dev-headless on a port somebody else holds (8d46c4a), closes #119
- scripts: report only what generation changed, not the worktree (f714fe5), closes #131
- shell: give the top bar a measured fit at every width (ae85df0), closes #24 #148 #143
- shell: let the landing page replace the launch entry (603728a), closes #142
- shell: publish the active view, so both navs follow the back path (f186915), closes #72
- ui: keep the count in a partial badge that can act (19c68d7)
- ui: stop a closing dialog answering the next question (21b303b)
Refactoring
- shell: retire the Jobs destination (8efed2d)
Downloads