Release notes for 1.2.8 explaining Mixtape vs Collection vs Playlist in
user-facing terms: playlists are Qobuz-hosted track lists, Mixtapes are
private ordered cross-source listening sessions, Collections are
private themed album shelves. Covers the Discography Builder, the
Add to Mixtape picker kind rules, custom covers, duplicate-handling
dialog, and the under-the-hood notes for upgraders (new tables, new
v2_* command surface, Plex queue resolver branch).
cc
Per the original instruction: single line for 1.2.7 + the full 1.2.6
body (which already carries the 1.2.5 content below it). The previous
version over-expanded the 1.2.7 section into three paragraphs.
cc
Quick-follow-up release: lead with what is genuinely new in 1.2.6
(accessibility themes + infinite play V2 rewiring + branding polish)
and append the full 1.2.5 content for users coming from 1.2.4 or
earlier.
cc
Rewrite the opening paragraph into a personal, first-person note from
the maintainer (including the Spanish sign-off), drop the sprint-
level bullets that only described iterations kept in the narrative
but don't matter to end users, and tidy a couple of typos.
cc
Follows the same pattern as docs/release-1.2.4/:
* CHANGELOG_FULL.md — short-hash + subject for every non-merge commit
since v1.2.4 (216 commits)
* TAG_DETAILS.md — narrative changelog grouped by Accolades, Release
Watch, Labels, Visual identity, Desktop integration, Streaming /
audio / player, Updater, UI polish, Internal architecture, Packaging
qbzd work is noted but flagged as scaffolding (hidden from the release
narrative per the plan to ship it separately).
cc
This release brings stability improvements, including fixes for UI freezes, EGL crashes, and playlist loading performance.
It introduces gapless playback, volume normalization, Plex integration, and enhanced discover browsing.
- Add handleSaveQueueAsPlaylist() to collect queue track IDs
- Wire QueuePanel "Save as Playlist" button to open playlist modal
- Comment out AirPlay commands in lib.rs (RAOP not implemented)
- Comment out AirPlay state initialization
- Move documentation files to qbz-nix-docs/ directory
AirPlay research concluded no viable Rust RAOP library exists.
Feature deferred until custom implementation or library emerges.
See qbz-nix-docs/AIRPLAY_IMPLEMENTATION_STATUS.md for details.
- Remove AirPlay tab from CastPicker (keep code for future)
- Disable AirPlay discovery/polling to reduce network traffic
- Add comprehensive technical brief at docs/AIRPLAY_IMPLEMENTATION_STATUS.md
documenting what's complete, what's missing, and potential solutions
AirPlay discovery code is preserved and working - only the UI and
network calls are disabled. Can be re-enabled once RAOP sender is implemented.