Major rewrite reflecting current state of the project:
- Qobuz Connect as headline feature
- No API keys needed (proxy-based architecture)
- API proxy self-hosting instructions for source builds
- Updated tech stack (rodio 0.22, MuPDF 0.6, ashpd, 5 locales)
- 13 crates including 4 QConnect crates
- Removed outdated sections (KWin title bar, vendored rodio, data migration)
- Streamlined installation and known issues
cc
Remove Spotify API credential setup from README since playlist import
now uses embed scraping. Update resolve_via_odesli_and_search doc
comment to reflect the new Spotify data path.
- Add Flathub badge and install command to README
- Rename Flatpak section to include both Flathub and GitHub Release
- Remove mpris from snap connect instructions (interface not available)
- Apply Flathub quality guidelines: developer id block, drop categories/keywords
- Expand feature list: local library, Plex, immersive/miniplayer modes,
artist blacklist, ListenBrainz, smart cache, customization
Major updates:
- Replace outdated 1.1.8 highlights with comprehensive feature list
- Add all 4 audio backends, loudness normalization, cache sizes
- Document immersive player with 14 visualization panels
- Add 26 themes, auto-theme, native KDE title bar
- Document multi-crate architecture and all 9 crates
- Add system dependencies per distro (Debian, Fedora, Arch)
- Update project structure to reflect current codebase
- Add 4-language i18n, custom artist images, recommendations
- Update tech stack table with all major dependencies
- Remove stale "Coming soon" screenshots placeholder
Ubuntu 24.04 build target (required for Snap Store) means native
packages need glibc 2.38+. Older distros should use Flatpak, Snap,
or AppImage instead.
Resets all graphics/composition settings to defaults:
- force_x11: false
- gdk_scale: auto
- gdk_dpi_scale: auto
- force_dmabuf: false
Use when QBZ crashes on startup due to bad graphics config.
cc
Add comprehensive Flatpak section with:
- Warning about PipeWire bit-perfect limitations in sandbox
- Instructions for ALSA Direct workaround
- NAS/network storage access commands (flatpak override)
- Note in Audio Backends section about Flatpak restrictions
This helps users make informed installation choices before downloading.
Documents known limitations discovered during ALSA Direct testing:
1. Seekbar Performance with Hi-Res Audio
- 10-20s delay when seeking with >96kHz sample rates
- Root cause: decoder must decode all samples from start to seek position
- Workaround: Use prev/next track buttons (instant)
- Future: Byte-level seeking planned for next release
2. First Sample Rate Change
- Brief delay on first large rate change (e.g., 88.2→44.1 kHz)
- Hardware stabilization time - normal behavior
- Subsequent changes are smooth
3. ALSA Direct Mode
- Bit-perfect but exclusive access (blocks other apps)
- Hardware volume control experimental
- Some DACs don't support hardware mixer
4. PipeWire DAC Passthrough
- Requires PipeWire configuration for rate switching
- Link to documentation
This section helps users understand limitations and workarounds, setting
proper expectations for bit-perfect audio modes.
- Remove separate DEV_API_KEYS.md file
- Add compile-time env var explanation in README
- Document npm run dev:tauri command usage
- Explain why .env must be sourced before build
cp
- Mark DLNA/Chromecast casting as complete in ROADMAP
- Note AirPlay as deferred (no Rust RAOP library)
- Add Network Casting section to README features
- Add cast/ module to project structure
- Update v1.0 launch status: all 6 items complete
- Add Discogs API client for fetching missing album artwork
- Add UI button in Local Library settings to fetch missing artwork
- Load .env file at runtime using dotenvy for development
- Fix Last.fm to check runtime env vars as fallback to compile-time
- Use XDG Portal for dialog plugin (cross-desktop compatibility)
- Update README and .env.example with Discogs configuration