v1.7.0
What's changed
API keys and external integrations
Signed-in users can now create API keys from account settings to connect TrackDraw with external tools. Keys have a configurable expiry and can be revoked at any time. Account projects are accessible through a read-only REST API, including full track geometry and a compact overlay data package for each project.
RotorHazard livestream overlays
Account projects are now ready for use with rh-stream-overlays to display live race overlays during FPV events. The overlay data includes the route, obstacles, timing markers with split indices, and a readiness check that flags any setup issues before race day. The Project Manager shows the API project ID with a copy button to make connecting the integration straightforward.
Smoother mobile editing and exports
Mobile editing now gives clearer feedback for locked selections, connected paths, inspector sections, and export choices. The mobile export drawer can switch to the 3D view when needed, and the route-number export option is labeled more explicitly.
To receive a notification on new releases, click on Watch > Custom > Releases on the top.
✨ New features
- #265 feat: add API key management and REST API foundation @klaasnicolaas
- #269 feat: Add TrackDraw REST API v1 @klaasnicolaas
- #254 feat: Enhance live race overlay preparation @klaasnicolaas
- #278 feat: Show API project ID in project manager @klaasnicolaas
- #280 feat: Add optional route-duration estimate to overlay package @klaasnicolaas
🚀 Enhancements
- #266 refactor: Complete Radix UI migration @klaasnicolaas
- #271 security: Harden all internal API routes and REST API @klaasnicolaas
- #272 feat: Add tests for various components and functionalities @klaasnicolaas
- #273 feat: Enhance UI/UX polish and reliability across various components @klaasnicolaas
- #279 feat: Enhance overlay package with split index support @klaasnicolaas
📚 Documentation
- #292 docs: Refactor documentation and API references @klaasnicolaas
⬆️ Dependency updates
25 changes
- #267 ⬆️ Update release-drafter/release-drafter action to v7.2.1 @renovate[bot]
- #268 ⬆️ Update dependency zod to v4.4.1 @renovate[bot]
- #270 ⬆️ Update dependency @scalar/nextjs-api-reference to v0.10.12 @renovate[bot]
- #274 ⬆️ Update dependency @opennextjs/cloudflare to v1.19.5 @renovate[bot]
- #275 ⬆️ Update dependency @scalar/nextjs-api-reference to v0.10.13 @renovate[bot]
- #276 ⬆️ Update dependency konva to v10.3.0 @renovate[bot]
- #277 ⬆️ Update dependency wrangler to v4.87.0 @renovate[bot]
- #281 ⬆️ Update dependency nanoid to v5.1.11 @renovate[bot]
- #282 ⬆️ Update dependency zod to v4.4.2 @renovate[bot]
- #283 ⬆️ Update dependency mediabunny to v1.43.1 @renovate[bot]
- #284 ⬆️ Update dependency @opennextjs/cloudflare to v1.19.6 @renovate[bot]
- #285 ⬆️ Update dependency immer to v11.1.6 @renovate[bot]
- #286 ⬆️ Update dependency @scalar/nextjs-api-reference to v0.10.14 @renovate[bot]
- #287 ⬆️ Update dependency typescript-eslint to v8.59.2 @renovate[bot]
- #288 ⬆️ Update dependency zod to v4.4.3 @renovate[bot]
- #289 ⬆️ Update dependency zustand to v5.0.13 @renovate[bot]
- #290 ⬆️ Update dependency mediabunny to v1.44.0 @renovate[bot]
- #291 ⬆️ Update dependency shadcn to v4.7.0 @renovate[bot]
- #293 ⬆️ Update dependency @opennextjs/cloudflare to v1.19.7 @renovate[bot]
- #294 ⬆️ Update dependency eslint-config-next to v16.2.5 @renovate[bot]
- #295 ⬆️ Update dependency react to v19.2.6 @renovate[bot]
- #296 ⬆️ Update dependency react-dom to v19.2.6 @renovate[bot]
- #297 ⬆️ Update dependency wrangler to v4.88.0 @renovate[bot]
- #298 ⬆️ Update dependency immer to v11.1.7 @renovate[bot]
- #299 ⬆️ Lock file maintenance @renovate[bot]
Full Changelog: v1.6.0...v1.7.0