Skip to content

chore(main): release 1.8.0 - #486

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--waveflow
Open

chore(main): release 1.8.0#486
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--waveflow

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

1.8.0 (2026-08-10)

Features

  • artist: spotify-style hero backdrop on the artist page (#482) (4b3f120)
  • canvas: opt-in local cache for plugin Canvases (#473) (70cd206)
  • canvas: opt-in local cache for plugin Canvases (#473) (8ce04be)
  • canvas: per-track looping Canvas behind the now-playing view (#442) (b5a8909)
  • canvas: per-track looping Canvas behind the now-playing view (#442) (f57d162)
  • canvas: waveflow:canvas/v1 world for per-track canvas plugins (#473) (fcdc1e5)
  • canvas: waveflow:canvas/v1 world for per-track Canvas plugins (#473) (de01b35)
  • context-menu: open the track menu from the keyboard everywhere (fc554b3)
  • context-menu: open the track menu from the keyboard everywhere (0fb44c3), closes #436
  • library: deep rescan for the whole library, not just one folder (c4f25ac), closes #457
  • library: grid tab for user playlists (542a0ff), closes #461
  • lyrics: progressive fill on the word being sung (8965f09)
  • lyrics: progressive fill on the word being sung (917b331)
  • maintenance: one-time cleanup of cached album covers for art-having albums (#493) (d9db659)
  • mpd: serve the MPD protocol so existing clients can drive playback (b250be6)
  • mpd: serve the MPD protocol so existing clients can drive playback (0bae7ad), closes #471
  • now-playing: cover ↔ artist crossfade slideshow (#466) (62b33ed)
  • now-playing: cover ↔ artist crossfade slideshow (#466) (fd90186)
  • player: user-selectable spectrum visualizer colors (#468) (b5ef338)
  • player: user-selectable spectrum visualizer colors (#468) (904b652)
  • plugins: add waveflow:ui/v1 world host surface + redacted library read (#443) (a48cab8)
  • plugins: disclose ui library.read_artists permission in the store (afe2d62)
  • plugins: disclose ui library.read_artists permission in the store (92fada3)
  • plugins: localized manifest descriptions & option labels (a39e1cf), closes #440
  • plugins: publish-safe *_i18n sibling for localized strings (e76b70f), closes #440
  • plugins: render ui-world plugin views + dynamic sidebar (#443 Part 2) (d4c44eb)
  • plugins: render ui-world plugin views + dynamic sidebar (#443 Part 2) (7b8cd27)
  • plugins: support direct download_url in registry entries (c6d4bc7)
  • plugins: support direct download_url in registry entries (cd54eb8)
  • plugins: waveflow:ui/v1 world host surface + redacted library read (#443 Part 1) (5885099)

Bug Fixes

  • album: carry the full track row so Properties isn't half empty (c2515fb), closes #458
  • artist: address review on the hero backdrop (58d8348)
  • artist: clear the read stamp on profile change (da06a78)
  • artist: keep an in-flight read from clobbering an optimistic toggle (4ebc933)
  • artist: reset the hero preference when the profile changes (5ad81f2)
  • artist: scope the hero preference's resolved flag to the profile (d9605ff)
  • canvas: atomic mp4 publish + profile-scoped Canvas cache (fe909ff)
  • canvas: harden Canvas cache profile isolation + atomic mp4 publish (d07be8f)
  • canvas: re-validate cache-download redirects (SSRF) + doc canvas world (10f904b)
  • canvas: treat an unsafe cache redirect as a hard security failure (8d87e8c)
  • context-menu: drop a dead tab stop and a mislabelled row (db09a80), closes #436
  • deezer: cross-profile-safe cover prune + preserve hash on skipped download (73b4482)
  • deezer: don't let a cover-less cache row block a re-fetch (#493 review) (94badcf)
  • deezer: only disk-cache an album cover when the album lacks local art (#493) (5281d9d)
  • deezer: only disk-cache an album cover when the album lacks local art (#493) (ea14ec5)
  • deps: force fast-uri >= 3.1.5 and resync the Flatpak sources (e0ee50c)
  • library: one shared lock for every rescan control (bca21df), closes #457
  • library: reach the playlists empty state instead of a missing key (83ea6b2), closes #461
  • library: surface scan failures instead of silently succeeding (0f867fe), closes #457
  • lyrics: carry the fill across speed changes, stop at a full word (23045ab)
  • lyrics: keep the fill responsive to seeks inside the active word (8dfdc5c)
  • lyrics: re-anchor the fill when playback resumes (15de90c)
  • lyrics: retry LRCLIB fuzzily before the catch-all providers (b733769), closes #463
  • maintenance: fail the cover prune if the profile list can't be read (1b12cc6)
  • motion-cache: strip trailing-dot hosts in SSRF guard + allow 10 redirects (fff142d)
  • motion-cache: validate the initial url inside cache_mp4 (defence-in-depth) (198ba47)
  • mpd: address CodeRabbit review — protocol conformance + robustness (#471) (35c768d)
  • mpd: consistent snapshots + atomic writes + hardened MPD settings UI (#471) (e654ec0)
  • mpd: reject single oneshot instead of persisting it as durable (#471) (4d0b9fe)
  • mpd: seek-in-place + serialized settings saves + UI options sync (#471) (473837d)
  • now-playing: dedupe artist enrichment + gate slideshow fetch (#466) (1d04cce)
  • now-playing: exclude radio/Spotify tracks from the cover slideshow (#466) (ec41261)
  • now-playing: tag panel artist image by artist id to avoid a stale flash (#466) (c2dc991)
  • player: gate visualizer color cycle until the profile's value loads (858b206)
  • plugin-host: dedup a cause against its parent, not the whole buffer (5a7bff7), closes #452
  • plugin-host: surface the cause chain behind an http error (8546324), closes #452
  • plugins: busy-gate open-url + reject null badge elements (#443) (3a39a0f)
  • plugins: clamp track_count to u32 range before narrowing (#443) (241e46d)
  • plugins: gate artist snapshot on permission + validate descriptor JSON (#443) (12bba19)
  • plugins: harden ui view — separate flow tokens, a11y, text validation (#443) (a00a217)
  • plugins: skip blank entries when resolving a localized string (4784b4a), closes #440
  • plugins: validate download_url + install redirects with the SSRF guard (977635b)
  • plugins: validate ui descriptor tree + loading states + hi grammar (#443) (808fa09)
  • profile: scope profile_setting reads and writes to a profile (f1438f2)
  • scan-toast: a scan that hit errors no longer reads as a success (7b9d39f), closes #457
  • settings: locale-aware MB formatting in the cover-prune status (e748c11)
  • settings: tidy the cover-prune status timer + announce it to a11y (848add8)
  • stats: local artist images, ragged KPI row, clipped hour labels (e6d1000), closes #453
  • web-radio: let a 429 fall through to the next host (cb8a31c), closes #452
  • web-radio: try the round-robin host, and retry, before failing (4a20483), closes #452
  • wrapped: give each banner key its own broadcast channel (c74eb48)
  • wrapped: withhold the banner until both keys have been read (c83ebb7)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch 4 times, most recently from 5ec0476 to 97c63aa Compare August 9, 2026 01:52
@InstaZDLL InstaZDLL self-assigned this Aug 9, 2026
@InstaZDLL InstaZDLL added this to the v1.8.0 milestone Aug 9, 2026
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--waveflow branch from 97c63aa to 711f476 Compare August 10, 2026 10:15
@ABDALLAH9877

Copy link
Copy Markdown

may i ask when the next update will be added becouse im so exited for animated lyrics or word by word lyrics

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