What changed in the API
Every change a client could notice, newest first. What a change is allowed to be is the deprecation policy; the current document is at /api/openapi.json and the reference at /api/docs.
- Added — `GET /api/v1/storefront/{slug}/availability` answers `waitlistWindow` beside `window`: the range a waitlist entry may cover on that date, including a date a blackout has taken off sale.
- Changed — `POST /api/v1/storefront/{slug}/waitlist` takes a `guest` block, so a customer with no account can be told when a room frees up.
- Added — `@soundslot/sdk-public` and `@soundslot/cli` are released packages. The client was previously only generated inside this repository.
- Added — `GET /api/v1/themes/{slug}/archive` serves a theme that ships with the product as a zip. It takes no credential, and `soundslot theme init` starts a new theme from it.
- Removed — The lead form, the marketing page counter, the email open pixel, the email click redirect and the invitation helpers are no longer in the public document. They are first-party plumbing for soundslot.app and never had an integration behind them.
- Changed — The reference's error inventory lists only the codes its own operations can answer with, grouped by the resource that emits each one.
- Changed — `info.version` reads `1.0.0`. The path is still `/api/v1` and nothing about it moved; the document now says what the prose already did.