Skip to content

sonarche: v2.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 13:28
493cfdd

2.0.0 (2026-08-12)

En bref

  • Les playlists arrivent : favoris, pochettes dédiées, réordonnancement à la souris, export M3U8.
  • L'import s'explique, s'arrête, s'annule — et sait reconnaître une collection d'un album.
  • Pochettes et images d'artiste se remplacent partout : fichier, lien, presse-papiers, avec recadrage.
  • Téléchargements : choix de l'album de destination avant de lancer, pause et reprise, historique allégé.
  • La bibliothèque se réorganise en zones (Musique, Playlists, Images) et migre toute seule au premier lancement.

⚠ BREAKING CHANGES

  • shell: list_jobs no longer returns the full archive; readers of the whole history must go through list_jobs_page.
  • library: family labels changed (Soul & Funk -> R&B, Soul & Funk; Folk + Country -> Folk & Country; World added); stored genres rebucket on the next launch, no data migration needed.
  • library: zoned library root with silent launch migration

Features

  • download: force a playlist into one album (14bcc33)
  • download: let the user stop a job and resume it later (c8884f4)
  • download: pick the destination album before the download starts (da518ea)
  • download: report playlist entries that could not be fetched (0cba80b)
  • library: align from the import page, explain what an import does (8fe9deb)
  • library: archive what an import was asked for, not only what it did (238c0e5)
  • library: close the metadata panels with Escape or a click outside (74cf8d5)
  • library: confirm a re-match before it rewrites, and let it be stopped (9c7daff)
  • library: create the whole folder layout up front (6b25a41)
  • library: edit an artist's image straight from the artists grid (6353947)
  • library: favorites playlist, per-playlist covers and locked built-in (df38b02)
  • library: fetch an album cover from a pasted link (b5c1871)
  • library: fetch an artist image from a pasted link, export them named (f998ad3)
  • library: flag artists without an image, on Sonarche's side of the queue (ef7a5d4)
  • library: give a playlist one door to edit itself (7dcb5d1)
  • library: give an artist an image of their own (87904ad)
  • library: keep the import's promises after the copy (d8e5252)
  • library: let a check be switched off, not only answered (c364143)
  • library: let a record and a playlist be inspected too (6962c8d)
  • library: let a record say it is a collection, not an album (478c7a6)
  • library: let an import be taken back out of the ark (0f80b14)
  • library: let genres be refiled into another family (ae723ff)
  • library: let the import say a folder is a collection, not an album (40f31f0)
  • library: let the import say what counts as an album (2c5df5e)
  • library: let the user answer a check instead of only obeying it (0b467af)
  • library: let tracks be refiled onto another record (83bc6c0)
  • library: make a second import safe, and give untagged rips a home (0dab45f)
  • library: mirror playlists as M3U8 in the library root (c94b1e1)
  • library: move tracks between records from the shelf (2bb0f7f)
  • library: paste a cover or artist image from the clipboard (20b6999)
  • library: per-track year column in the album inspect panel (e76bea1)
  • library: playlist nav marker, index shelf and sidebar cap (02b4217)
  • library: playlist storage, commands and delete-time pruning (07e17e2)
  • library: playlists nav section, column sorts, favorite hearts and image modal (da27e30)
  • library: playlists views, add-to-playlist picker and drag reorder (080fd30)
  • library: reach the artist image from the track and album editors (2b94af6)
  • library: reach the cover replacement from the track drawer (b0d8eed)
  • library: rearrange the genre tree by dragging chips onto family cards (72a3ad3)
  • library: rebuild the default genre families on the 2026 audit (755dfe3)
  • library: reframe the image already in place (bda6123)
  • library: refuse to delete an album a download is filing into (ed846f2)
  • library: replace an album cover from a local image (af84208)
  • library: search and filter a record's tracklist (fa24655)
  • library: show the genre family, on one grid for every track table (85f4845)
  • library: size the crop frame, not just move it (e5086ee)
  • library: state the cover swap as a before/after, with online proposals (8af78a7)
  • library: stop a running import (a60cabf)
  • library: stop grading albums, and finish the one barème (15eedbc)
  • library: stop the metadata page from overstating what is wrong (c9b26a9)
  • library: suggest existing values while editing metadata (39d6344)
  • library: switch re-identify off on collections (0dbd2ed)
  • library: unify the image modals behind one shell and source bar (3ae4f2b)
  • library: zoned library root with silent launch migration (12151bf)
  • onboarding: pick the language during setup (1a1db8b)
  • settings: gather the adding options in their own section (313d6f5)
  • settings: give metadata its own category, and badge the sidebar with what it holds (d688591)
  • shell: first-run home tour on driver.js (a6730ed)
  • shell: fix the AcoustID and Last.fm delays instead of exposing dials (82d9406)
  • shell: follow downloads and imports from any page (2b22443)
  • shell: guide button to the website (ccfa01b)
  • shell: name the two modes on the lens toggle (8607459)
  • shell: open the window maximized (74af2e0)
  • shell: show what an update changes before it installs (16cee14)
  • ui: inspect the library instead of grading it (f5bd7cc)
  • ui: show the derived genre family as a real field (a8f6309)

Bug Fixes

  • build: bundle fpcalc at build time instead of downloading at runtime (c58fc69)
  • download: stop retrying videos the source will never serve (1aaef4f)
  • library: album card actions no longer stay lit after closing the drawer (f8cb802)
  • library: drop the caption under the album completeness gauge (2b3f466)
  • library: fetch online cover proposals only on request (790570b)
  • library: keep a moved track out of Compilations, and take its old row with it (d1d996f)
  • library: keep spaces typable in an album's shared genre (327e494)
  • library: keep the crop stage still while zooming (b2b8731)
  • library: let an erased library forget which folders it imported (22a88ed)
  • library: make the full erase cover the zoned root era (667f6ef)
  • library: read what untagged rips actually carry at import (a56b851)
  • library: remux DASH m4a downloads and repair existing files (ae9d947)
  • library: row actions no longer stay lit after closing the metadata drawer (358fa33)
  • library: stop calling a genre missing when it is only off-tree (5e60eb2)
  • library: stop phantom pending changes from wiping album tags (1bdf25d)
  • library: survive the post-erase relaunch, spare the setup from the erase (6464da0)
  • settings: press anywhere on a theme tile, and name what the danger zone holds (b328e3c)
  • shell: keep the app's name on the Windows window (f9d5943)
  • shell: run jobs.db migrations unconditionally (d3ce0c3)
  • sidecar: clear the provisional flag on a match, and spare a cover the release did not change (f0a7073)
  • sidecar: do not fail the launch remux pass on a missing library (fc32c52)
  • sidecar: keep Cover Art Archive links on https (a3161e4)
  • sidecar: let the video title outrank release popularity when matching (f4bbdb1)
  • sidecar: stream image downloads and bound them in memory (75c0b87)
  • ui: dismiss toasts on their own, and quiet them down (a55ad6c)
  • ui: draw the edges the app was losing (b46d2ea)
  • ui: keep icon-only buttons round, and let the counts warn again (e873e4a)
  • ui: mark every delete as destructive (3b3020b)
  • ui: one word for the genre grouping — family, everywhere (7e3aa90)
  • ui: reload the webview after an erase instead of relaunching (a7e52ab)
  • ui: tell people to try without forcing an album first (0fef1ca)

Performance Improvements

  • shell: page the download history instead of loading the whole archive (e4518c7)