Releases: Norudah/sonarche
Releases · Norudah/sonarche
Release list
sonarche: v2.3.0
sonarche: v2.2.0
sonarche: v2.1.0
sonarche-v2.1.0 Merge pull request #31 from Norudah/release-please--branches--main--c…
sonarche: v2.0.0
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](https://git...
sonarche: v1.0.0
1.0.0 (2026-07-31)
Features
- build: port the app to Windows (6fe30bf)
- import: archive every import, and say what it brought in (2d4d9e6)
- import: point the recap at the align remedy (f292f9b)
- import: rebuild the page on the download page's grammar (84c3b38)
- library: align unidentified albums with MusicBrainz, filling blanks only (a0ba497)
- library: fill genres in the align pass, through the genre pipeline (856a757)
- player: fetch and show a track's lyrics on demand (91a333d)
- settings: add a Library section with a movable folder and a danger zone (ca37364)
- settings: let the theme be chosen (20463c7)
- settings: put the politeness delays on a stepped scale (5ceea67)
- settings: rebuild Appearance around theme tiles and a language switch (3d61183)
- settings: test an API key and probe the services behind it (2c9f89b)
- shell: close the gaps the pre-v1 security pass found (625b522)
- shell: quiet the native title bar on Windows (539cff4)
- ui: give empty pages and link controls one shape (dde691c)
- ui: let the appearance choice reach the window frame (749b324)
- ui: let the launch end on a welcome instead of a cut (fd05601)
- ui: let the launch welcome be switched off (a064d9d)
- ui: let the user ask for an update from the settings (54953b0)
- ui: make button shape mean something (2d851ea)
- ui: make elevation, glow and the accent band answer to the theme (0f6f821)
- ui: make the metadata page state its verdict (13eb11f)
- ui: open on the Sonarche mark and hand the window over gently (0407164)
- ui: re-accord the light theme as paper (4b04876)
- ui: turn the dark theme into Night (ac45e37)
Bug Fixes
- build: drop the three packages beets declares and never imports (43469df)
- import: stop beets replacing an album's real cover (8223b34)
- library: carry the WAL files when the jobs database is renamed (dd2374b)
- player: make the lyrics follow mode a switch, not a lone icon (f1cc9d5)
- shell: keep the sidecar's tracebacks instead of writing them to nowhere (2bd6d6c)
- shell: let the window be dragged on macOS (77aff68)
- shell: quote paths in the beets config so Windows can read it (b873284)
- sidecar: finish the locale sweep the first pass left half done (b279276)
- sidecar: send the bundle's own version in the user agent (3c53a2b)
- sidecar: speak UTF-8 over the channel instead of the Windows locale (3f526c7)
- ui: capitalise the Ark in the launch and setup greetings (f1f497a)
- ui: drop platform branding from user-facing copy (2ace015)
- ui: give the history and metadata pages a surface to stand on (0258e79)
- ui: make clear history sweep the import archive too (f9cc07c)
- ui: stop the composer's focus reading as a second shadow (4bc808a)
- ui: stop the light theme from leaking into the dark one (b6082dd)
Miscellaneous Chores
- cut the first stable release (116b31a)
sonarche: v0.9.1
sonarche: v0.9.0
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)
sonarche: v0.8.0
0.8.0 (2026-07-26)
Features
- download: move the activity table to its own History page (22a6610)
- download: open the record a finished row produced (8dec5ee)
- library: add a category axis alongside genres (c9d87b5)
- library: anchor the artist hover play to the cover corner (be69a92)
- library: browse a genre, category or artist's tracks in place (58d8569)
- library: build the metadata triage page (0c921fb)
- library: drop the borrowed streaming hero for a metadata-first band (bf891f4)
- library: filter the explorers from metadata triage deep links (e63f0e4)
- library: float the album drawer's fan-out offers beside the panel (1780aad)
- library: genre-based line-art avatars for artists (e1fbad9)
- library: give every explorer the same sticky work bar (3c363f2)
- library: give the tracks explorer a sticky filter bar (a50546d)
- library: index, filter and sort tracks in pure modules (ac4aa7c)
- library: inspect and edit a whole album in one drawer (b4f1d19)
- library: keep row actions on screen and play on double-click (20cb089)
- library: link hero genre chips to their pages, animate the row (9c467e4)
- library: open a genre's tracks from its page (1e23208)
- library: open the album metadata drawer from the shelf (2a1534b)
- library: pair every play-all with a shuffle pill (28acdb9)
- library: play a genre from its hero (2cabfea)
- library: save edits from the track metadata drawer (4e23ec8)
- library: set the category and per-track genre from the album drawer (21c8b24)
- library: show album completeness as a ring that fills on arrival (4daab32)
- library: sort the genres shelf by size or name (398558d)
- library: sort the tracks table from its column headers (4a91ff6)
- library: step back through history from the hero's trail (d779dcb)
- library: surface suspect matches and duplicate recordings in triage (d80c104)
- library: turn the genres view into a family card index (71fd3ad)
- library: widen the category taxonomy and rename TV to Series (306f3b0)
- player: add ordered and shuffled set launches (0ef8b00)
- player: add queue primitives (order, shuffle, repeat) (c5eaaf9)
- player: give the queue panel sections and air (792771c)
- player: navigate to the album and artist from the bar (c6f74e9)
- player: play sets through a real queue (3523d97)
- player: show cover art in the play queue (fa76b2e)
- settings: bring the settings page into the app shell (7beab2d)
- sidecar: add a batch metadata write path (b454b1e)
- sidecar: expose the beets grouping tag as an editable field (22639b7)
- sidecar: record metadata provenance as flexible attributes (b30d128)
- sidecar: spare hand-edited genres in genre recompute (4101a6b)
- ui: breathing room for the sidebar and the traffic lights (070e34b)
- ui: drop the topbar and the native title bar, rework the sidebar (f3ec00c)
Bug Fixes
- download: stop reporting a partly-downloaded playlist as a failure (6578b66)
- library: keep a metadata field's label on one line (dd75140)
- library: stop a genre chip from renaming the category page (fece290)
- library: stop the hero wash covering the tracklist, round the row actions (deb7de1)
- library: tint triage chips amber and unblock genre families with no album (da91c29)
- player: end tracks at the library length, not the element's (15630a2)
- shell: keep native traffic lights visible in system dark mode (c972f5a)
- sidecar: rescue cross-language album matches onto one clean release (357770d)
Performance Improvements
sonarche: v0.7.0
0.7.0 (2026-07-20)
Features
- browse the library by album, artist and genre — and the perf work to scale it (d41c266)
- library: add the albums grid and album page (5c719eb)
- library: browse the genres themselves, not only their families (bb50d58)
- library: browse the library by artist (e181f4c)
- library: browse the library by genre family (8918971)
- library: pin the album's identity once the hero scrolls away (8c0a12a)
- library: place the album metadata affordance, drop the recency sort (d322572)
- library: redesign the tracks page as a columned list (3406094)
- library: redesign track metadata inspector panel (b105425)
- shell: give startup a real splash instead of a half-live shell (774b654)
Bug Fixes
- library: return to the top of the list when the search changes (203fd5d)
- library: stop the album hero stuttering on arrival (da87fcb)
- library: stop the artist thumbnail reading as an album cover (d8b8c59)
- library: stop the mock library echoing genres as their own bucket (aa6f532)
- player: take durations from the audio file, not the release (d670232)
- ui: fade page transitions without movement or a gap (a398c4b)
- ui: make hover, scrolling and page transitions feel immediate (05acec3)
- ui: show a pointer cursor on hand-rolled buttons (3cc3ecd)
Performance Improvements
- library: read the listing straight from SQLite instead of beets' ORM (40b8ee3)
- library: render only the visible rows of the tracks table (339676e)
- library: resolve cover art once per album, not per track (b89a5ba)
- player: split the playhead out of the player context (2bc6823)
- ui: defer cover art that lives in a list (49b2b56)
sonarche: v0.6.0
0.6.0 (2026-07-19)
Features
- download: animate the queue table and the URL composer (f693e03)
- download: replace dash placeholders with a neutral empty-cell marker (97e3e93)
- motion polish, download pipeline improvements, and library management (1abb00d)
- player: animate the transport button and now-playing swaps (6f6cf8c)
- shell: animate route transitions and the sidebar nav indicator (9e004fa)
- shell: drop the home page and condense the sidebar (8334a6e)
- shell: move download history to SQLite as sonarche.db (b713f91)
- shell: surface download attempts per track (7260db9)
- sidecar: add configurable rate limits for AcoustID and downloads (f586b57)
- sidecar: tag unidentified tracks provisionally instead of leaving them blank (7364f91)
- ui: add motion design tokens and reduced-motion support (bec132d)
- ui: rebuild the download page around a pipeline table (b855ffd)
- ui: restyle the playlist/track choice and tighten the download page (74fb236)
- ui: surface provisional tags, rename enrich to identify, add copy source link (b985c76)