Releases: spalencsar/bearwave
BearWave 1.0.5
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
BearWave 1.0.4 (git tag)
BearWave 1.0.4 — git tag release (retroactive)
This release documents the v1.0.4 git tag. It was created before CI was fully green and was not published on GitHub at the time.
Recommended install: use v1.0.5 instead (same changes + CI test fixes).
Included in this tag
See CHANGELOG 1.0.4:
- Security: manual URL validation (http/https), HTTPS cover downloads, network timeouts
- Fixed: playback navigation, API races, tray, MPRIS, search UX
- Changed: modular QML refactor, unit tests, dependency cleanup
v1.0.3
Added
- Dynamic World Categories dashboard showing country flags and popular genre tags.
- Dynamic country name localization mapping for German translation support.
- Local JSON caching for countries retrieved from the Radio Browser API.
Changed
- Optimized Categories view layout to prevent text clipping (dynamic grid columns and scroll margins).
BearWave v1.0.2
What's new in this release:
• Single Instance Check: Implemented a session DBus check at startup to ensure only one instance of the app runs at a time. Starting the app again will raise and focus the existing window.
• Wayland Crash Fix: Replaced blocking DBus calls with asynchronous pending calls to prevent segmentation faults and freezes under Wayland.
• Stream Metadata Improvements:
• Fixed a bug where QMediaPlayer metadata updates would overwrite and clear valid ICY stream metadata.
• Fixed a regex parsing issue that caused stream metadata to fail on song titles containing apostrophes.
• Fixed infinite loading of radio stations by introducing connection timeouts.
• Project License & Standards:
• Relicensed the project to GNU GPLv3 (GPL-3.0-or-later).
• Added SPDX license headers to all source files and OARS content rating metadata.
BearWave v1.0.1
What's new in this release:
- Automatic Online Search Fallback: Automatically switches to searching the online
radio-browser.infodatabase after a short typing pause (600ms) if no local matching station is found. - Stream Details: Displays technical stream codec and bitrate badges directly in the player footer.
- Edit Custom Stations: Added support to edit manually added stations directly via a pencil icon (✏) in the UI.
- Desktop Notifications & Cover Art Caching: Song/metadata change notifications on the desktop now display matching cover art (or fallback to the station's favicon) using a localized cached directory.
- Mute Control: Click the speaker icon in the footer to mute/unmute audio playback.
BearWave v1.0.0-beta.1
First public beta release of BearWave.
BearWave is a KDE-focused desktop internet radio app for Linux, built with Qt 6, QML, KDE Frameworks, and Phonon. This beta is intended for testers, contributors, and technically comfortable Linux users.
Highlights
- Internet radio playback via the Radio Browser API
- Station browsing for Top, Germany, Netherlands, and quick world/genre filters
- Local search, sorting, favorites, and resume support
- MPRIS integration and system tray support
- German and English UI support via system locale
- Improved compact layout behavior
- Refined repository structure, branding, README, and CI
Platform status
- Primary target: Linux
- Primary desktop target: KDE Plasma
- Best-supported environment right now: Arch Linux
- Source-first release, no official Flatpak or AppImage yet
Known limitations
- Still in beta, not yet a final 1.0 release
- Broader distro support is not yet validated to the same standard
- Some desktop integration details may still need refinement
Recommended install paths
- Build from source
- Use the included PKGBUILD on Arch Linux
Feedback welcome
- Bug reports
- Plasma integration issues
- Playback regressions
- Distro-specific build and install problems
- UI issues in compact layouts