mirror of
https://github.com/spalencsar/bearwave.git
synced 2026-07-06 22:24:17 +02:00
Replace the modal About dialog with an embedded About page and introduce a three-pane desktop layout: persistent sidebar navigation, flat station list, right-side details panel, and compact player bar. Load the GPLv3 license text from C++ and expose it to QML as context data. Normalize i18n source strings to English, complete German and Russian translations (133 strings each), and centralize page navigation helpers in Main.qml. Simplify compact HeaderNavigation and extend .gitignore for local build artifacts.
140 lines
5.9 KiB
Markdown
140 lines
5.9 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- Add Russian language support and translation (thanks to [@aaly11](https://github.com/aaly11)).
|
|
- Add a Mac-inspired desktop layout with persistent sidebar navigation, flat station rows, right-side station details, and a compact now-playing bar.
|
|
- Add an embedded About page with full GPLv3 license text loaded from the bundled `LICENSE` resource and a third-party technologies section.
|
|
|
|
### Changed
|
|
|
|
- Flatpak repository signing key replaced with `Bearwave App <dev@bearwave.app>` (`5BAA384577671E45`).
|
|
- Replace the modal About dialog with an in-app About page reachable from sidebar and compact navigation.
|
|
- Refresh the QML visual theme toward a neutral dark palette and align the main layout more closely with the macOS BearWave structure.
|
|
- Use the BearWave line logo asset in the sidebar and remove duplicate branding from the top search toolbar.
|
|
- Make the top search/filter area and bottom player bar more responsive to narrower desktop window sizes.
|
|
|
|
### Fixed
|
|
|
|
- Fix German translation contexts broken after the QML refactor (thanks to [@aaly11](https://github.com/aaly11)).
|
|
- Fix the embedded GPL text failing to load in QML by loading the resource in C++ and exposing it to QML as context data.
|
|
- Fix the About license view formatting so the text uses the available width without an oversized empty box.
|
|
- Fix right-side station details and top toolbar clipping in the Mac-style layout.
|
|
|
|
## Version notes (1.0.3 → 1.0.5)
|
|
|
|
- **1.0.3** — last GitHub release before the security/refactor batch.
|
|
- **1.0.4** — git tag with security hardening, playback/tray/MPRIS fixes, and QML refactor; tagged before CI was green, so it was not published as a GitHub release at first.
|
|
- **1.0.5** — current recommended release: everything in 1.0.4 plus CI, packaging, and post-release bugfixes (AUR/Flatpak rebuilds use `pkgrel` bumps, not a new app version).
|
|
|
|
## [1.0.5] - 2026-06-22
|
|
|
|
### Fixed
|
|
|
|
- Fix unit tests aborting in headless CI/Docker by using Qt offscreen platform and FFmpeg media backend.
|
|
- Fix QML resource paths so `qrc:/qml/Main.qml` loads in AUR and release builds (regression from 1.0.4 refactor).
|
|
- Fix About, Add station, and Edit station dialogs not opening after QML refactor (missing `property alias` in `Main.qml`).
|
|
- Fix About dialog version label binding and disable stale QML disk cache in development builds.
|
|
- Fix About dialog crash when opening the license scroll area.
|
|
- Fix startup when re-launching: MPRIS `Raise` now always shows the window (even without tray).
|
|
- Flatpak: grant GPU access via `--device=dri` (fixes EGL/MESA warnings on some systems).
|
|
- Flatpak: inject git build id into About when `.git` is unavailable in the builder sandbox.
|
|
|
|
### Changed
|
|
|
|
- Document 1.0.4 changes in README and CONTRIBUTING; run `ctest` and broader `qmllint` in CI.
|
|
- About dialog shows app version and git build id; removed “Public beta” label.
|
|
- Flatpak: upgrade to KDE Platform/SDK 6.10 (EOL 6.6 runtimes); GPG-sign repo summaries on build and deploy.
|
|
|
|
## [1.0.4] - 2026-06-20
|
|
|
|
### Security
|
|
|
|
- Validate manual station URLs: only `http://` and `https://` schemes are accepted.
|
|
- Restrict notification cover art downloads to HTTPS URLs.
|
|
- Add network transfer timeouts to ICY metadata, cover art, and notification fetches.
|
|
|
|
### Fixed
|
|
|
|
- Fix playback index for history, resume, and next/previous navigation.
|
|
- Fix Radio Browser API race where stale responses could overwrite newer results.
|
|
- Suppress error banner when cached station data is still available.
|
|
- Fix search filter persisting across page changes and compact-mode debounce.
|
|
- Fix stale list index after station list reload.
|
|
- Fix Wayland system tray menu using native `QSystemTrayIcon`.
|
|
- Fix MPRIS metadata publishing for desktop media widgets (e.g. PlasMusic).
|
|
|
|
### Changed
|
|
|
|
- Refactor monolithic `Main.qml` into reusable QML components and `BearTheme`.
|
|
- Remove unused Kirigami, I18n, and CoreAddons dependencies.
|
|
- Add backend unit tests for playback navigation and API race handling.
|
|
|
|
## [1.0.3] - 2026-05-30
|
|
|
|
### Added
|
|
|
|
- Flatpak build manifest and deployment guides for hosting an independent, GPG-signed repository at `flatpak.bearwave.app`.
|
|
- 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).
|
|
|
|
## [1.0.2] - 2026-05-28
|
|
|
|
### Added
|
|
|
|
- SPDX license identifiers (GPL-3.0-or-later) to all source files.
|
|
- Single instance application check via DBus to prevent multiple concurrent instances.
|
|
|
|
### Changed
|
|
|
|
- Relicensed the project from MIT to GNU GPLv3 (GPL-3.0-or-later).
|
|
|
|
### Fixed
|
|
|
|
- Fixed infinite loading of radio stations by adding transfer timeout and using `all.api.radio-browser.info`.
|
|
- Fixed metadata overwrite bug where valid ICY stream metadata was being cleared.
|
|
- Fixed DBus crash (segmentation fault) under KDE Plasma Wayland by making notification requests asynchronous.
|
|
- Fixed regex parser bug with stream titles containing apostrophes.
|
|
- Fixed crash (segmentation fault) in IcyReader when changing or stopping streams.
|
|
|
|
---
|
|
|
|
## [1.0.1] - 2026-05-22
|
|
|
|
### Added
|
|
|
|
- Debounced online search for radio stations.
|
|
|
|
### Changed
|
|
|
|
- Migrated playback engine from legacy Phonon to modern QtMultimedia.
|
|
|
|
### Fixed
|
|
|
|
- Fixed crash (segmentation fault) inside NotificationManager.
|
|
|
|
---
|
|
|
|
## [1.0.0-beta.1] - 2026-05-20
|
|
|
|
### Added
|
|
|
|
- Initial public beta release.
|
|
- C++ backend with system tray integration.
|
|
- Kirigami/QML based user interface.
|
|
- MPRIS integration for media controls.
|
|
- Persistent favorites and volume settings.
|
|
- Cover art fetching and caching.
|