Skip to content

chore(main): release 1.7.0 - #347

Merged
InstaZDLL merged 2 commits into
mainfrom
release-please--branches--main--components--waveflow
Jul 26, 2026
Merged

chore(main): release 1.7.0#347
InstaZDLL merged 2 commits into
mainfrom
release-please--branches--main--components--waveflow

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

1.7.0 (2026-07-26)

Features

  • artist: collapsible bio block on the artist page (#422) (c2e025b)
  • artist: collapsible bio block on the artist page (#422) (b191db5)
  • artist: split a comma-joined phantom artist in place (#396) (bbb4e51)
  • artist: split a comma-joined phantom artist in place (#396) (e7e1426)
  • artwork: let a user set an album's motion cover manually (#418) (95b3880)
  • library: allow a custom picture per genre (38e4e35), closes #424
  • lyrics: add prefer-lrclib toggle over embedded lyrics (49a1582)
  • lyrics: add prefer-LRCLIB toggle over embedded lyrics (f17d735)
  • lyrics: preserve SYNCEDLYRICS when saving synced lyrics (c3f4604)
  • lyrics: preserve SYNCEDLYRICS when saving synced lyrics (0236b4d)
  • lyrics: read the SYNCEDLYRICS tag as the primary embedded source (5f1937a)
  • lyrics: read the SYNCEDLYRICS tag as the primary embedded source (2565752)
  • maintenance: safety-backup every profile before reset_app wipes (ee12413)
  • maintenance: safety-backup every profile before reset_app wipes (f10bdc5), closes #367
  • motion-artwork: metadata plugin world + animated album covers (597c0df)
  • motion-artwork: render animated album covers in now-playing surfaces (bfc01a3)
  • player: track context menu on the immersive view + queue panel (0b82534)
  • player: track context menu on the immersive view + queue panel (13d0c51)
  • plugin-metadata: wire the metadata world + motion artwork backend (f9808cf)
  • plugin-store: install plugins from the curated registry (0c57ce9)
  • plugin-store: install plugins from the curated registry (1920136)
  • plugins: generic manifest-declared plugin options (waveflow:host/config) (7805d42)
  • plugins: generic manifest-declared plugin options (waveflow:host/config) (3b05c03)
  • plugins: opt-in local cache for animated album artwork (aea5baf)
  • plugins: opt-in local cache for animated album artwork (2ba72ad)
  • scan: add a per-folder deep rescan action (#419) (5de21d6)
  • scan: show the current directory in the scan progress toast (#430) (20aca84)
  • scan: show the current directory in the scan progress toast (#430) (7512077)
  • ui: add "Reset window position" action in Settings → Appearance (e37f546)

Bug Fixes

  • 3 quick beta feedback fixes (#350, #343, #341) (a44b7f3)
  • app: drive splash handoff from one reveal task, not a shared flag (52b87dd), closes #363
  • artist: guard bio-collapse against profile switch + stale reads (#422 review) (e9d0416)
  • artist: preserve phantom credit role on split; guard close mid-split (b8ed860)
  • artist: roll back the bio-collapse toggle to real DB truth, not the reset default (98b2bef)
  • artist: scope bio-collapse writes + reset on profile switch (#422 review) (2569c1d)
  • artist: skip bio-collapse write bookkeeping after a mid-flight profile switch (7a7588a)
  • artwork: record cover provenance on the album, not the artwork row (#404) (9dbf89e)
  • audio: advance playback position in WASAPI Exclusive mode (#407) (7e85fa8)
  • audio: gate the post-device-error rebuild to a single owner (c120f42)
  • audio: gate the post-device-error rebuild to a single owner (4762185)
  • audio: negotiate WASAPI exclusive against the endpoint format (#410) (0a09b1b)
  • audio: probe exclusive formats with the driver-quirk fallbacks (#411) (5bd7796)
  • audio: publish output-lost from set_output_device's send failure too (a72518d), closes #405
  • audio: recover from WASAPI exclusive device-reset flap storm (#322) (fee64bd)
  • audio: recover from WASAPI exclusive device-reset flap storm (#322) (8eb00ed)
  • audio: release the exclusive stream before re-opening the same device (27a5dd4)
  • audio: release the exclusive stream before re-opening the same device (fbae307), closes #405
  • audio: reopen the rebuild gate when the exclusive toggle installs no stream (b066cbd)
  • audio: reopen the user's device after a failed exclusive toggle (5b53cc7), closes #405
  • audio: resolve the engine after the rebuild backoff, not in the callback (9e828e6)
  • audio: resync the WASAPI exclusive toggle after an automatic rebuild (ca7f9d3)
  • audio: roll back the exclusive pref when the pre-release Stop send fails (37dd487), closes #405
  • audio: roll back the exclusive pref when the shared fallback also fails (b96067d), closes #405
  • audio: run the device rebuild on the blocking pool (4680af8)
  • audio: stop the new output thread when the exclusive hand-off fails (de43498)
  • deps: pin tao to the upstream Wayland CSD fix commit (1078629), closes #427
  • dlna: rebuild the worker's resources on a profile switch (#413) (3111d48)
  • integrations: synthesize bio_short for manually-edited artist bio (a68c391), closes #343
  • library: address review findings on genre custom picture PR (2654d73)
  • library: resolve local artist picture for curated similar artists (ddfa886), closes #350
  • locales: apply native-speaker i18n review pass across 13 locales (475538b)
  • locales: native-speaker i18n review pass across 13 locales (d377200)
  • lyrics: address review — propagate prefer-lrclib read error, harden toggle (f483d3d)
  • lyrics: ignore blank standard tags + test the resolution chain (aa1383d)
  • lyrics: let static lyrics scroll clear of the bottom in the immersive view (8baea16)
  • lyrics: let static lyrics scroll clear of the bottom in the immersive view (687e2e3)
  • lyrics: report Miss vs Unavailable from the search itself (6dcb3c9)
  • lyrics: stop caching a provider outage as a permanent miss (8f70bfa)
  • lyrics: stop caching a provider outage as a permanent miss (55c9226)
  • lyrics: validate each standard lyric key before the or_else (0755b65)
  • maintenance: atomic + consistent pre-reset safety backups (1d2787d)
  • maintenance: snapshot pre-reset backups with VACUUM INTO (5b73933)
  • metadata: drop NFD combining marks in artist-name normalization (dc95c8c)
  • metadata: match TheAudioDB artists past exact-name equality (f8fcf40)
  • metadata: match TheAudioDB artists past exact-name equality (9078a9a), closes #342
  • metadata: restrict artist prefix-match to canonical connectors (3e17b3c)
  • metadata: reuse fuzzy name match for Deezer artist enrichment (6124c6e)
  • metadata: reuse fuzzy name match for Deezer artist enrichment (cdc8d6a), closes #382
  • motion-artwork: fan out plugin lookups in parallel with a timeout (06f43a6)
  • motion-artwork: hold plugin guard across the blocking lookup (b89447b)
  • motion-artwork: reset overlay on track change, align WIT to mp4 (f028b1b)
  • player: harden track menu on immersive/queue surfaces (#435 review) (91bea6a)
  • player: reset the context-menu liked set on a profile switch (34007ce)
  • plugin-store: bound zip/download sizes, show storageRead permission (3be750e)
  • plugins: address review round 2 — mapped-IPv6 SSRF, tall-url guard, toggle race (e8ce449)
  • plugins: address review round 3 — IPv4-compatible IPv6 + toggle/clear mutual exclusion (71c65b6)
  • plugins: resolve app version from Tauri runtime, not compile-time macro (ee5d843)
  • plugins: resolve app version from Tauri runtime, not compile-time macro (1d8d984)
  • profile: lease the profile pool so a switch cannot close it mid-command (166e105)
  • profile: lease the profile pool so a switch cannot close it mid-command (1f0be80), closes #332
  • profile: qualify the lease guarantee and pin the deezer batch to one pool (f71b7ca)
  • radio: scope preferred-country to profile + serialize window-bounds writes (741be86)
  • radio: validate preferred-country against supported list + generation guard in useMainWindowBounds (3624186)
  • scan: make the cover write a compare-and-swap (57a732a)
  • scan: pick up sidecar cover art replaced between scans (1246a03)
  • scan: pick up sidecar cover art replaced between scans (43d94c9)
  • scan: re-check the cover allowlist at write time (ad89fd0)
  • scan: restrict cover refresh to sidecar art and batch its work (c35e5d2)
  • scan: resurface a byte-identical re-added track on rescan (0823ce2), closes #366
  • scan: tick progress on failed extractions too (#430) (1c38390)
  • similar: also reject a cached Deezer placeholder in the None fallback (e977bc7)
  • similar: drop Deezer's empty-hash placeholder pictures (#406) (09b36aa)
  • similar: drop Deezer's empty-hash placeholder pictures (#406) (544866b)
  • similar: drop Last.fm's grey star when a similar artist is unenriched (41c484d)
  • similar: filter placeholder cache for library artists in the picture path (b1b50a8)
  • similar: filter pre-#406 placeholder pictures already in the cache (bbd51a9)
  • similar: keep an absent Deezer picture authoritative over Last.fm's star (c185cc5)
  • similar: retry failed similar-artist fetches instead of caching them empty (#412) (c6a7694)
  • stats: keep listening history when its tracks are deleted (d8da91d)
  • stats: keep listening history when its tracks are deleted (e0c9002), closes #367
  • ui: adjust layout in LyricsEditorModal to prevent button overflow (28339a5)
  • ui: catch setMainWindowBounds rejection inside writeChain to prevent unhandled rejection (ea6c553)
  • ui: guard window-position reset against pending saves + surface errors (458e741)
  • ui: log window-bounds restore + read failures instead of swallowing (ca1b1e5)
  • ui: only persist main window bounds in the normal state (4833936)
  • ui: persist main-window bounds + fix web-radio local-stations country (6d89b9b)
  • ui: persist main-window bounds + fix web-radio local-stations country (dec4569)
  • ui: persist window bounds only in the normal state, dedupe motion artwork lookups (185c85d)
  • ui: portal context menus and raise the topbar layer (3e89254)
  • ui: portal context menus and raise the TopBar layer (4ae0dd7)
  • ui: stop lyrics editor footer buttons from being squeezed off-screen (7fa5bd6), closes #341
  • ui: stop main window growing on every launch (14dc094), closes #379
  • ui: stop the audio-mode listener leaking on an early unmount (3cf9e74)
  • ui: stop the Home banners' glow orbs bleeding past rounded corners on Safari (37251e8)
  • ui: stop truncated headings from clipping their descenders (913344e)
  • ui: stop truncated headings from clipping their descenders (8290793)
  • ui: use bounds_are_valid in setter, clamp off-screen position, persist-then-navigate country (b2c3c16)
  • ui: wrap long bio tokens and infer radio region from timezone (452009a)
  • ui: wrap long bio tokens and infer radio region from timezone (dcac8d9)

Performance Improvements

  • plugins: dedupe concurrent motion artwork lookups (62fc450)

This PR was generated with Release Please. See documentation.

@github-actions github-actions Bot changed the title chore(main): release 1.6.1 chore(main): release 1.7.0 Jul 5, 2026
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch 8 times, most recently from f17ccdd to 2c7864c Compare July 12, 2026 07:01
@InstaZDLL InstaZDLL self-assigned this Jul 12, 2026
@InstaZDLL InstaZDLL added scope: backend Rust/Tauri backend (src-tauri/) scope: deps Dependencies scope: docs Docs, README, assets type: chore Maintenance size: m 50-200 lines labels Jul 12, 2026
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch 13 times, most recently from 84834e1 to 108b467 Compare July 18, 2026 13:20
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch 9 times, most recently from a921ebf to 2faf6e6 Compare July 23, 2026 07:28
@cod378

cod378 commented Jul 23, 2026

Copy link
Copy Markdown

Hi @InstaZDLL , when do you think arrive this version?

@InstaZDLL

Copy link
Copy Markdown
Owner

Hi @InstaZDLL , when do you think arrive this version?

Hi @cod378 👋 — thanks for asking.

1.7.0 is close, but I want to confirm two last things before cutting it:

  • A WASAPI Exclusive mode toggle that could get stuck after the audio engine auto-recovers from a device change.

  • On GNOME + Wayland, the title bar buttons (minimize, maximize, close) not responding.

Both fixes are merged, and I just cut a final beta (v1.6.6-beta.1) with them included, so testers can confirm before I promote it to stable.

If that confirmation comes back clean, 1.7.0 stable follows right after — so hopefully not long now.

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch 8 times, most recently from c5e1ceb to f444372 Compare July 26, 2026 09:55
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch from f444372 to d10a9a1 Compare July 26, 2026 10:59
release-please bumps the crate manifests but not the lockfile; sync the
waveflow / waveflow-core entries to 1.7.0 so the release build is
reproducible.
@InstaZDLL
InstaZDLL merged commit e876bf6 into main Jul 26, 2026
13 checks passed
@InstaZDLL
InstaZDLL deleted the release-please--branches--main--components--waveflow branch July 26, 2026 12:33
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment