Skip to content

v1.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Jun 01:55
bc89792

1.6.0 (2026-06-29)

✨ What's new in v1.6.0

WaveFlow 1.6.0 β€” radio & robustness. The Web Radio plugin that shipped as a tech demo in 1.5.0 is now a full listening surface: live now-playing, artwork, lyrics, favorites, country browsing, and a fully offline station catalogue. Under the hood, the audio engine gained four robustness upgrades, the fullscreen experience was rebuilt into one immersive panel, and the first library scan is now ~4Γ— faster. Still 100% local-first β€” nothing leaves your machine.


πŸ“» Web Radio, fully grown (#289)

From "it plays a stream" to a real listening experience:

  • Live now-playing β€” ICY stream titles become the current song, with the station identity (name Β· genre/country) on its own line, everywhere: PlayerBar, immersive view, mini-player.
  • Album artwork β€” the Artist – Title resolves a cover from Deezer and replaces the station favicon. A stale fetch can never overwrite a track that already moved on.
  • Lyrics per song β€” pulled live from LRCLIB as each track changes, rendered statically (a stream has no timeline to sync to).
  • Favorites β€” one β˜… on the PlayerBar, mini-player and immersive view, shared across all three so they never drift. Per profile.
  • Browse by country β€” alongside the existing genre / top / search filters.
  • Works offline β€” download a snapshot of the ~35 000-station directory (Settings β†’ Data) and search it with zero network. Same queries, no connection. Used automatically in offline or local-first mode.
  • Mini-player catch-up β€” a mini-player opened mid-stream now shows the live station, not a stale library track.

Web Radio β€” live now-playing, favorites, country browse

🎚️ Audio robustness

Four engine upgrades focused on never dropping or mangling a sample:

  • Sharper DSD β†’ PCM β€” choose the conversion quality (256 / 1024 / 2048 taps) in Settings β†’ Playback. More taps = cleaner sound at a higher CPU cost. DSD only.
  • Smoother network playback β€” files on a remote/SMB share are loaded fully into RAM (up to 512 MiB) and decoded from memory, so high-latency links no longer cause stutter.
  • Proper surround downmix β€” 5.1 / 6.1 / 7.1 and beyond now fold down to stereo correctly (ITU-R BS.775) instead of silently dropping channels.
  • Clip protection β€” the final stage guards the DAC against hard clipping while leaving a clean stream untouched (bit-perfect output preserved).

πŸ–ΌοΈ Immersive view β€” one fullscreen panel (#328)

The old "fullscreen now-playing" and "fullscreen lyrics" overlays are now a single immersive view:

  • Merged mode (opt-in) β€” cover + controls on the left, a tabbed panel on the right that flips between Lyrics and Queue, so you can manage what's next without leaving.
  • Classic mode (default) β€” the familiar now-playing view, with a one-tap jump to fullscreen lyrics. Unchanged.
  • Native OS fullscreen (opt-in) β€” a true borderless, Spotify-style takeover.

Both are per-profile (Settings β†’ Appearance). Narrow windows fall back to classic automatically.

πŸ”€ Scrolling long titles

Titles that don't fit now glide back and forth instead of being cut off, in the PlayerBar and immersive view. Respects prefers-reduced-motion, and you can turn it off in Settings β†’ Appearance.

πŸ”Ž Smarter search & stats

  • Sectioned search (#321) β€” the top-bar dropdown now splits results into Artists, Albums and Titles, each linking straight to its detail view.
  • Top genres (#324) β€” a new Statistics card ranking your genres by listening time, included in the JSON export.
  • Hideable KPIs (#324) β€” hide any stat card you don't care about (Settings β†’ Appearance), saved per profile.

πŸ‘€ Artist & metadata

  • Offline artist overrides (#323) β€” write your own bio and pick your own "similar artists" per artist. They work fully offline and survive every enrichment pass. Edit from Artist Detail β†’ "Edit info".
  • TheAudioDB bios β€” pick TheAudioDB (multi-language) instead of Last.fm as your bio source in Settings β†’ Integrations.

πŸ§ͺ Beta channel

An opt-in pre-release lane in Settings β†’ Diagnostics. Stable users never see betas; opt in to ride early builds through the in-app updater.

🎡 Mini-player up-next

The mini-player now has a toggleable up-next overlay reusing the live queue.

⚑ ~4Γ— faster first scan

The cold-start scan got dramatically faster after profiling found the real hotspots:

  • Partial hashing β€” files over 2 MiB now hash size + first 1 MiB + last 1 MiB instead of the whole file, cutting scan I/O several-fold while keeping move/rename dedup and tag-edit detection intact.
  • Cached artist-image lookup β€” the artist.jpg scan that ran per track is now cached per folder: 56 s β†’ 180 ms (~312Γ—), full AAC scan 64 s β†’ 16 s.
  • No more analyzer contention β€” the background BPM/loudness analyzer now waits behind active scans, batches its writes and retries on a locked DB, so results are never silently lost.

🩹 Quality pass

  • Skins β€” the immersive view is now dark and readable across all five skins instead of being repainted into an unreadable light slab.
  • Web Radio β€” favorites writes are serialized, offline mode is honoured at the source, stale lyrics are cleared between stations, and the seek bar is hidden for live streams everywhere.
  • Locales β€” full key parity across all 16 locales (1413 keys, zero missing). Brand tokens (WaveFlow, Daily Mix, On Repeat, Last.fm, Deezer, ReplayGain, LRCLIB, BPM) stay verbatim.
  • Race hardening β€” the KPI toggle, artist override modal, scroll-titles toggle and updater channel are all hardened against rapid-toggle / profile-switch races.

πŸ“¦ Recommended install

Use your platform's package manager when one is available, so updates keep flowing through the 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 below. The bundle isn't Apple-signed, so 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 below β€” .AppImage, .deb, .rpm, .exe, .msi, .dmg.