What's Changed
- fix: point control-plane README link at current install guide by @axelmarciano in #172
- fix: clarify rollout device count label by @lyric777 in #173
- Add official Cursor plugin (docs MCP + 4 skills) by @axelmarciano in #174
- refactor: manifest response path takes the parsed request, not the raw one by @axelmarciano in #180
- refactor: one set of pgtype helpers instead of three by @axelmarciano in #176
- refactor: a Platform type instead of a string validated once and trusted nowhere by @axelmarciano in #181
- refactor: response structs instead of map literals in the API handlers by @axelmarciano in #179
- fix: requests error on dashboard with disabled device telemetry by @axelmarciano in #185
- feat: add root redirect to dashboard by @axelmarciano in #187
- fix: map channels to branches created in dialog by @hslls in #189
- feat: make the root → /dashboard redirect opt-in by @axelmarciano in #190
- feat: support serving under a URL path prefix (subpath) by @axelmarciano in #191
- refactor: keep sqlc types out of the service interfaces by @axelmarciano in #178
- refactor: typed claims for the JWTs we issue ourselves by @axelmarciano in #177
- refactor: streamline RBAC subject resolution and app handling by @axelmarciano in #175
New Contributors
Full Changelog: v3.1.2...v3.1.3