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> Lyricsheader 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.WaveFlowArch / Manjaro / EndeavourOS / CachyOS
yay -S waveflow-bin
# or: paru -S waveflow-binFedora / RHEL / Rocky / Alma / CentOS Stream
sudo dnf copr enable instazdll/waveflow
sudo dnf install waveflowDebian / 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-flowmacOS
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.