Skip to content

sonarche: v0.9.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 09:12
8c45d75

0.9.0 (2026-07-28)

Features

  • build: let the app update itself (9c503c1)
  • build: ship our own Python instead of asking for one (7ada434)
  • download: let a job carry a category and stamp it after enrich (082f5f0)
  • download: show a download as a card rather than a table row (314a32c)
  • library: copy a chosen folder into the ark (d51580d)
  • library: edit an album's metadata in one modal (1ea7fb8)
  • library: give an oversized imported cover a version to be drawn from (db65c49)
  • library: look at a folder before importing it (9a6b546)
  • player: decode the formats an imported library is made of (b91b67f)
  • player: native audio engine in Rust (11cbb05)
  • player: play through the Rust engine instead of the webview (80e9b0b)
  • player: restore media keys through the OS media session (c9f3dcd)
  • player: seek that lands, and a gapless hand-over (b06ef4d)
  • shell: let a cleared step be opened and read again (30e0699)
  • shell: offer the update instead of only being able to install it (a8d9a21)
  • shell: remember the first-run walkthrough and let it be replayed (ab38fea)
  • shell: walk the first launch through its three steps (6176646)
  • ui: draw the Sonarche ark and make it the app mark (77eb68f)
  • ui: show the playhead and widen the seek bar's grab area (5f85dc5)
  • ui: state an album's completion as a count, not a share (c2ceffe)
  • ui: tell the user when a track cannot be played (b60c197)

Bug Fixes

  • build: check out the release branch before syncing Cargo.lock (d22ee48)
  • library: refile a track when its album or artist is renamed (426d9a2)
  • library: stop baking the album cover into every imported track (f9213d0)
  • shell: make the setup reset actually replay the setup (58bf92c)

Performance Improvements

  • library: cache the album grouping on the track array's identity (893877a)
  • library: serve display-sized covers instead of archived originals (b60c29d)
  • library: stop refetching the whole library on every navigation (9fe72eb)
  • sidecar: find an imported single by its marker, not by scanning (329b0e1)
  • sidecar: give the library listing its own channel (54b3cc8)
  • sidecar: pass the library listing through as raw bytes (776339f)
  • stop redoing library-sized work on every keystroke and render (c4cdcb6)