BearWave 1.0.5
Stability, security, and UI refactor release. Includes all changes from 1.0.4 plus CI fixes.
Security (1.0.4)
- Validate manual station URLs: only
http://andhttps://schemes accepted - Restrict notification cover art downloads to HTTPS URLs
- Add network transfer timeouts for ICY metadata, cover art, and notification fetches
Fixed
- Playback index for history, resume, and next/previous navigation
- Radio Browser API race where stale responses could overwrite newer results
- Error banner when cached station data is still available
- Search filter persisting across page changes and compact-mode debounce
- Stale list index after station list reload
- Wayland system tray menu via native
QSystemTrayIcon - MPRIS metadata publishing for desktop media widgets (e.g. PlasMusic)
- 1.0.5: Unit tests in headless CI/Docker (Qt offscreen + FFmpeg backend)
Changed
- Refactor
Main.qmlinto reusable QML components andBearThemesingleton (~1800 → ~270 lines) - Remove unused Kirigami, I18n, and CoreAddons dependencies
- Add backend unit tests for playback navigation and API race handling
- CI runs
ctestand broaderqmllint
Install
Arch (AUR): yay -S bearwave-git
Source build:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"
cmake --install build --prefix "$HOME/.local"Flatpak: see README
Full changelog: https://github.com/spalencsar/bearwave/blob/v1.0.5/CHANGELOG.md