Release v2026.05.15.0 — system playlists v2, offline cache rework, CI speedup #48
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Large batch. Two umbrellas + play-event correctness + CI. CI green on
dev; the pre-PR cross-cutting consistency audit found no blocking issues (route↔client contracts, removed-handler cleanup, sqlc/drift sync, two-bucket migration,refreshableweb-flag vs Flutter-derived parity all verified).#411 — System playlists v2
play_events.source+ rotation state)./api/playlists/system/{kind}/{refresh,shuffle}; adding a mix = one query + one registry entry.#427 — Offline cache rework
/healthzreachabilityofflineProvider(smoke-safe; no connectivity coupling).capBytes→ independent Liked + Rolling 5GB caps; bucket = liked-ness; storage-only dedup (never filters playback); orphan-partial accounting so the rolling cap truly bounds disk; liked-protective eviction. Explicit Download removed.GET /api/library/shuffle; offline cache-union); offline Home tiles "Recently played" / "Liked".CI
mainonly (dev runs ~3min not ~10); runner image republished with the Android SDK baked in (the ~7-min per-run download is gone); Dockerfile shard-hardened for reliable future pushes.Device-check checklist (post-merge, on a real build)
/api/library/shuffle;offlineProviderflips after ~3 failed/healthzprobes and recovers on reconnect.was_skipped=false(not the old false-skip); offline plays replay on reconnect with correct timestamps.🤖 Generated with Claude Code