v0.2.0 · July 11, 2026 · By Dexx
v0.2.0 — Format-aware ownership, per-household API keys, and a round of fixes
New
- Format-aware ownership. You can now record owning multiple formats of the same album — vinyl, CD, cassette, or others — as distinct entries rather than duplicates.
- Per-household API keys. The shared super-token is replaced by API keys scoped to each household. Required before any Skill integrations go live.
- Session revocation. Sessions now carry a per-user version stamp, so a password change or explicit sign-out invalidates outstanding sessions rather than leaving them alive.
- Spin history is now protected on record deletion. Deleting a record without a force flag will warn rather than silently remove its play history.
- API responses now follow a consistent shape (
{error: code, message?}on errors; paginated envelope on list endpoints). If you’re querying the API directly, the old ad-hoc shapes are gone.
Improved
- Home library search no longer returns stale results on slow connections. Rapid keystrokes debounce correctly and earlier requests are cancelled if a newer one is in flight.
- Missing or broken album artwork now shows a clean placeholder instead of a broken-image glyph from the browser.
- Query performance improved on large household libraries via additional database indexes.
- Route ID validation is now consistent across the API — a bad ID returns a 400 instead of a 500.
Fixed
- Invite and delete routes for cross-household operations were returning 500 when the requested household wasn’t the active one; fixed.
PATCHon records and spins was accepting unvalidated types, causing 500s and, in some cases, silent data corruption; inputs are now validated.- Auth middleware was swallowing async errors, which could leave requests hung or contribute to a crash loop; fixed.
- A rate-limiting and AI budget layer is now in place per household to prevent runaway usage.