Skip to content

v1.5.1

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Jun 21:45
0f5dea6

1.5.1 (2026-06-20)

WaveFlow 1.5.1 β€” Bug-fix patch

First patch on top of 1.5.0. Mostly quality-of-life fixes around the lyrics waterfall, the library analyzer, and a couple of UI regressions that landed with the skin system.

Thanks to @jo-el414 for reporting #279, #280, #281, #284, and #286.


🎀 Lyrics β€” saner waterfall + manual override

The auto-waterfall (LRCLIB β†’ NetEase β†’ Megalobiz β†’ Genius) used to surface a couple of failure modes:

  • Genius pages sometimes shipped only the page header "N ContributorsTitle Lyrics" instead of actual lyrics, and the parser dumped that artifact verbatim.
  • The source badge always said LRCLIB regardless of which provider actually responded, so a Genius-cached bad result looked like a LRCLIB bug.
  • No way to recover: "Clear + Refetch" just re-ran the same waterfall and landed on the same hit.

1.5.1 fixes all three:

  • The Genius parser now strips the N Contributor(s)<title> Lyrics header and treats stub catalogue pages (header only, no transcribed body) as a miss so the next provider gets a turn.
  • The lyrics source badge shows the actual provider that answered (LRCLIB, Genius, NetEase, Megalobiz, Musixmatch).
  • Click the badge to open a picker: pick any of the five providers and the lyrics re-fetch from that one only. The miss / hit / re-pick cycle lives entirely in the panel.

Plus a few quieter fixes: the picker closes on Escape, and switching tracks during a refetch or import no longer overwrites the new track's lyrics with a stale response.

Closes #284.


🎚️ Library analysis β€” cancellable + cooperative

The post-scan Auto-analyse tracks sweep used to be a tight loop that decoded every audio file end-to-end with zero breathing room. On large libraries (4 000+ tracks) it pegged a CPU core for 30+ minutes and could effectively freeze mid-tier laptops, with no escape short of force-killing WaveFlow.

1.5.1 makes it well-behaved:

  • A Stop button replaces the Analyze button while a run is in flight (Settings β†’ Library). Clicking it stops the analyzer at the next track boundary.
  • The worker yields and sleeps 25 ms between tracks so the OS scheduler can interleave the UI, audio playback, and background services like Windows Defender's per-file scan.
  • A double-start guard prevents the manual "Analyze library" button from racing the post-scan auto-analyze hook.

Wall-clock cost is roughly 2 % on a 4 000-track library in exchange for the freeze risk going away.

Closes #286.


πŸ”Œ Bundled plugins β€” no more duplicate copies

Pre-1.5.1, the installer's bundled plugins (Web Radio today) were copied from the resource directory into %AppData%\Roaming\app.waveflow\waveflow\plugins\ on every boot. That left users with two identical web-radio folders on disk and a confusing "why is it in two places?" UX.

1.5.1 loads bundled plugins straight from the installer's resource directory β€” no boot-time copy, no duplicate. Pre-1.5.1 leftovers under the writable plugins tree are removed automatically on first launch.

Closes #280.


πŸͺŸ Mini-player + Skin picker UI fixes

  • The mini-player booted into a white window since 1.5.0 because of a provider-tree regression introduced with the per-profile theme storage. It opens correctly again. (#279)
  • The Pulse skin preview in Settings β†’ Appearance leaked its neon halo past the card edge. The preview now shows just the typography + radius β€” the halo only paints on the real chrome once Pulse is selected. (#281)
  • The About view's hero card was unreadable in Liquid light because the dark gradient was overridden by Liquid's universal glass treatment, leaving dark-only text classes stranded on pale glass. Hero is now theme-aware and reads correctly on every (skin Γ— theme) combination.

🌍 Localization

Two new keys propagated across all 17 locales:

  • Lyrics β†’ Source picker β€” provider names + "Switch source" tooltip + the generic "Online source" fallback label.
  • Settings β†’ Analyze library β€” "Stop analysis" button label.

πŸ“¦ Recommended install

Use the package manager that fits your platform when one is available, so updates keep flowing through the same tool you already use.

Windows

winget install InstaZDLL.WaveFlow

Arch / Manjaro / EndeavourOS / CachyOS

yay -S waveflow-bin
# or: paru -S waveflow-bin

Fedora / RHEL / Rocky / Alma / CentOS Stream

sudo dnf copr enable instazdll/waveflow
sudo dnf install waveflow

Debian / Ubuntu / Mint / Pop!_OS

The Debian package is wave-flow (kebab-case, required by the Debian naming spec β€” Tauri bundles it that way from the WaveFlow product name).

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://packages.buildkite.com/instazdll/waveflow/gpgkey \
  | sudo gpg --dearmor -o /etc/apt/keyrings/waveflow.gpg
echo "deb [signed-by=/etc/apt/keyrings/waveflow.gpg] https://packages.buildkite.com/instazdll/waveflow/any/ any main" \
  | sudo tee /etc/apt/sources.list.d/waveflow.list
sudo apt update && sudo apt install wave-flow

macOS

No Homebrew cask yet β€” grab the .dmg from the assets below. The bundle is not Apple-Developer-signed; right-click β†’ Open the first time, or run xattr -cr /Applications/WaveFlow.app to clear the quarantine flag.

Standalone download

Everything is also available as a raw bundle in the assets below β€” .AppImage, .deb, .rpm, .exe, .msi, .dmg for users who'd rather skip the repo.