Files
qbz/packaging/flatpak/com.blitzfc.qbz.metainfo.xml
T

156 lines
10 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.blitzfc.qbz</id>
<name>QBZ</name>
<summary>Hi-fi music player for Qobuz</summary>
<description>
<p>
QBZ is a native Qobuz client for Linux focused on reliable hi-res playback and desktop integration.
</p>
<ul>
<li>Bit-perfect playback up to 24-bit/192kHz</li>
<li>PipeWire and PulseAudio audio output</li>
<li>DAC routing and exclusive mode support</li>
<li>Local music library with offline playback</li>
<li>Immersive and miniplayer display modes</li>
<li>Artist blacklist for personalized listening</li>
<li>MPRIS integration for desktop media controls</li>
<li>Last.fm and ListenBrainz scrobbling</li>
<li>Plex library integration</li>
<li>Direct streaming or smart cache playback</li>
<li>Highly customizable interface and behavior</li>
</ul>
</description>
<developer id="com.blitzfc">
<name>QBZ Contributors</name>
</developer>
<url type="homepage">https://github.com/vicrodh/qbz</url>
<url type="bugtracker">https://github.com/vicrodh/qbz/issues</url>
<url type="vcs-browser">https://github.com/vicrodh/qbz</url>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<branding>
<color type="primary" scheme_preference="light">#2b6cb0</color>
<color type="primary" scheme_preference="dark">#63b3ed</color>
</branding>
<launchable type="desktop-id">com.blitzfc.qbz.desktop</launchable>
<provides>
<binary>qbz</binary>
</provides>
<content_rating type="oars-1.1" />
<screenshots>
<screenshot type="default">
<caption xml:lang="en">Home and discovery view</caption>
<image>https://raw.githubusercontent.com/vicrodh/qbz/cff32e5da726719b983770c7f4c2ff52bb51e14d/packaging/flatpak/screenshots/home-discover.png</image>
</screenshot>
<screenshot>
<caption xml:lang="en">Immersive cover flow mode</caption>
<image>https://raw.githubusercontent.com/vicrodh/qbz/cff32e5da726719b983770c7f4c2ff52bb51e14d/packaging/flatpak/screenshots/immersive-cover-flow.png</image>
</screenshot>
<screenshot>
<caption xml:lang="en">Local library view</caption>
<image>https://raw.githubusercontent.com/vicrodh/qbz/cff32e5da726719b983770c7f4c2ff52bb51e14d/packaging/flatpak/screenshots/local-library.png</image>
</screenshot>
</screenshots>
<releases>
<release version="1.2.4" date="2026-04-07">
<description>
<p>Quick-fix release: fixes tracks ending ~9 seconds early when streamed via CMAF, and improves credential security with encrypted keyring storage and XDG portal secret integration.</p>
<ul>
<li>Fixed CMAF segment off-by-one: last audio segment was skipped, cutting ~9 seconds from every track</li>
<li>OAuth tokens now encrypted (AES-256-GCM) before storing in system keyring</li>
<li>Key derivation uses XDG Desktop Portal secret when available (DE-agnostic, Flatpak-safe)</li>
<li>Logout now properly clears stored credentials from keyring and file</li>
<li>Reduced log noise: device enumeration, playlist fetches, and zbus internals moved to debug level</li>
</ul>
</description>
</release>
<release version="1.2.3" date="2026-04-06">
<description>
<p>Qobuz has been migrating their audio delivery infrastructure to encrypted segmented streaming. This was silently breaking playback for certain tracks. This release implements the new streaming pipeline end-to-end, making QBZ compatible with Qobuz's current and future audio delivery.</p>
<ul>
<li>New CMAF streaming pipeline: encrypted segments fetched from Akamai CDN, decrypted on the fly, playback starts in under 1 second</li>
<li>Smart quality negotiation: requests the track's actual quality instead of always maximum, eliminating unnecessary API fallback cascades</li>
<li>ALSA progressive backoff on device busy: faster track skipping without "device busy" errors</li>
<li>Offline playback controls now work without internet connection (#173)</li>
<li>OAuth tokens stored in system keyring (GNOME Keyring, KDE Wallet) when available (#215)</li>
<li>Ghost track skip prevention: stale auto-advance commands discarded after context switch</li>
<li>Logout now stops active playback</li>
<li>Vite 8.0.5 security update (3 dev server vulnerabilities)</li>
<li>60+ components translated across all 5 locales</li>
</ul>
</description>
</release>
<release version="1.2.2" date="2026-04-04">
<description>
<p>About a month and a half ago, Qobuz began making changes to their authentication system. This was the reason we introduced OAuth login early on — and fortunately, doing so ahead of time meant no one was truly locked out of the app. This release simply removes direct credential login, making OAuth the sole authentication method. There is also some bugfixing for issues reported on GitHub.</p>
<p>We are considering requesting official API access again, and looking for ways to coordinate with the community to support this request to Qobuz — so that a more severe change in the future does not leave us out. Thank you all for the continued support for QBZ.</p>
<ul>
<li>OAuth is now the only login method; username/password authentication has been removed</li>
<li>Fixed "Go to Album" and "Go to Artist" navigation failing until starting new playback (#252)</li>
<li>Fixed MPRIS metadata not populating on session restore (#240)</li>
<li>Fixed incorrect artist birth/formation location display in Artist Network (#235)</li>
<li>Added Playlists to the favorites quick access menu and titlebar dropdown (#233)</li>
<li>Added bulk "make available offline" action to track selection bar (#231)</li>
<li>System sleep is now prevented during active playback via XDG portal (#229)</li>
<li>Sensitive IDs and UUIDs are now sanitized from logs (#213)</li>
<li>F11 fullscreen toggle and ESC exit now work globally (#202)</li>
<li>Added streaming buffer progress indicator to the seekbar (#194)</li>
<li>Initial macOS support: CoreAudio device probing, deep links, rich notifications, platform-aware settings</li>
<li>Dependency updates: coreaudio-rs, notify-rust, axum, lofty, rand, souvlaki, lucide-svelte, vite</li>
</ul>
</description>
</release>
<release version="1.2.1" date="2026-03-25">
<description>
<p>Resilience: exponential backoff retry (1s/2s/4s) with quality fallback when Qobuz servers return 504s. User preference modal for retry behavior (ask/always fallback/always skip), persisted in settings. Degraded service indicator with 5-minute auto-clear. Manual network check button. macOS port foundation (gated backends, native title bar, CI workflow). Offline mode improvements (last known profile restore, dismissible banner, network folders). WebKitGTK 2.50+ image flicker fix. Hybrid Intel+NVIDIA compositing fix. QConnect fixes for queue_version tolerance and ALSA volume control. i18n: hardcoded strings replaced in SearchView and PlaylistDetailView. Security: aws-lc-sys 0.39.0, rustls-webpki 0.103.10.</p>
</description>
</release>
<release version="1.2.0" date="2026-03-19">
<description>
<p>Qobuz Connect: multi-device playback with renderer and controller mode, server-authoritative queue sync, and bidirectional transport controls. Linebed 3D terrain visualizer with 4096-point FFT. Qobuz playlist follow/unfollow with native API sync. Audio settings sync overhaul fixing exclusive mode with QConnect. Volume lock for ALSA Direct hw:. HiFi Wizard real DAC sample rate detection. MuPDF 0.6 restoring booklet viewer. Offline mode button on network error screen. KWin SSD hack removed. PipeWire rate switch verification with retry. Help tooltips on bit-perfect settings. 185 commits.</p>
</description>
</release>
<release version="1.1.20" date="2026-03-11">
<description>
<p>Fix startup crash on Debian sid and Fedora (missing libjpeg). Fix partial cover art in AppImage. Fix track number display for compilations and box sets. Fix PipeWire bit-perfect stream match rule in Hi-Fi Wizard. Security update for quinn-proto. Test fixes for cross-distro builds.</p>
</description>
</release>
<release version="1.1.19" date="2026-03-09">
<description>
<p>Scene Discovery: explore artists from the same city or musical scene. Redesigned Home with 3 Discovery Tabs (Home, Editor's Picks, For You) with personalized radio stations, spotlight artist, and genre filtering. Neon visualizers (Laser, Tunnel, Comet) with album art color extraction. In-app PDF booklet viewer. Audio engine upgrade to rodio 0.22 with ALSA gapless playback. Security hardening and stability fixes.</p>
</description>
</release>
<release version="1.1.18" date="2026-02-26">
<description>
<p>Miniplayer window with compact and micro surfaces. OAuth browser login for new Qobuz auth flow. Window size persistence, HiDPI scaling fix, and artist image context menus.</p>
</description>
</release>
<release version="1.1.16" date="2026-02-23">
<description>
<p>OAuth browser authentication, window size persistence, HiDPI scaling fix for all backends, and login flow improvements.</p>
</description>
</release>
<release version="1.1.15" date="2026-02-23">
<description>
<p>Multi-select tracks across all views with bulk queue and playlist actions. Scroll position now scoped per item and expires after one hour.</p>
</description>
</release>
<release version="1.1.11" date="2026-02-10">
<description>
<p>Discover browse pages for albums and playlists, localized playlist tags, preserved Qobuz artwork on playlist copy, and UI fixes.</p>
</description>
</release>
<release version="1.1.9" date="2026-02-07">
<description>
<p>Maintenance release: faster Home view, playback auto-resume after settings change, playlist import improvements, and bug fixes.</p>
</description>
</release>
<release version="1.1.8" date="2026-01-25">
<description>
<p>Major release: genre filtering, playlist suggestions, immersive player, DAC wizard, key bindings, artist blacklist.</p>
</description>
</release>
</releases>
</component>