• v0.4.0 de04339494

    v0.4.0
    CI / check (push) Skipped
    CI / e2e (push) Skipped
    Build & publish the Android APK / apk (push) Successful in 1m27s
    Build & publish Arch package / arch-package (push) Successful in 2m43s
    Attach the desktop build to the release / linux (push) Successful in 57s
    Sync Homebrew formula / sync-formula (push) Successful in 6s
    Stable

    yonlu released this 2026-08-20 19:46:35 +00:00 | 141 commits to main since this release

    0.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