Skip to content

Releases: Norudah/sonarche

sonarche: v2.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 16:03
f01be84

2.3.0 (2026-08-27)

Features

  • settings: choose the audio format, and convert the library to it (71d6a4f)

Bug Fixes

  • library: a track joining a record takes its cover (f5a1e41)
  • library: one filing rule for every record (c3c920a)
  • ui: one grid/list choice for both shelves (cda3d66)

sonarche: v2.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 19:13
3a6678c

2.2.0 (2026-08-21)

Features

  • ui: reveal the diagnostic log from settings (b36ccea)

Bug Fixes

  • sidecar: bump yt-dlp to 2026.8.19 for the YouTube 403 (a2c4822)

sonarche: v2.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 01:51
b20fe65
sonarche-v2.1.0

Merge pull request #31 from Norudah/release-please--branches--main--c…

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](https://git...
Read more

sonarche: v1.0.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 01:20
2b3dd83

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

Choose a tag to compare

@github-actions github-actions released this 28 Jul 10:15
79a5f51

0.9.1 (2026-07-28)

Bug Fixes

  • build: seal the macOS bundle and sign the updater artifacts (4335574)
  • build: seal the macOS bundle and sign the updater artifacts (e4968c1)

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)

sonarche: v0.8.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 15:24
fcee6b4

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

  • library: debounce the library search (a7d59dc)
  • library: settle the search debounce at 275ms (4a42932)

sonarche: v0.7.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 13:34
458e904

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

Choose a tag to compare

@github-actions github-actions released this 19 Jul 15:54
e004a44

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)

Bug Fixes

  • download: mock enqueue_download and retry_job in the dev Tauri stub (d025a61)
  • sidecar: dedupe on primary recording, fall back to release-group cover (c62ad34)
  • sidecar: place the last unmatched track by elimination (2c25af9)
  • ui: tune the download queue's colors, artwork and playlist picker (4b6fba5)