What's shipped.
The latest changes, fixes, and features. New entries land at the top.
Pre-launch hardening
- NewPrivacy Policy and Terms of Service pages.
- NewSentry error tracking (EU region) — production crashes are no longer silent.
- NewRate limiting on every mutation endpoint to deflect scripted abuse.
- NewHealthcheck endpoint — Fly auto-restarts a wedged machine within 15 seconds.
- NewSitemap, robots.txt, and canonical tags for clean indexing.
- SecurityEdge-level security headers: HSTS, frame deny, MIME sniff prevention, strict referrer, locked-down permissions.
- SecurityProduction stack traces are no longer rendered to users.
- ImprovedTip-jar URL renamed /support → /coffee to match the on-brand framing. Old links keep working.
- ImprovedRemoved analytics — no third-party trackers, no cookie banner needed.
Theme & accessibility polish
- FixedNo more flash of unstyled theme — preferences are SSR-rendered from a cookie.
- ImprovedDarkened text-tertiary across palettes to clear WCAG AA contrast.
- NewNew brand icon and trimmer PWA install assets.
- ImprovedTheme and palette pills collapsed into a single appearance menu.
Loop precision + bug squashes
- FixedLoop playback no longer breaks when YouTube reuses a player instance.
- FixedNavigating from dashboard to a project no longer perpetually loads.
- ImprovedLoop end now snaps to YouTube's actual time for precise looping.
- ImprovedSelf-hosted Geist fonts — no Google CDN, faster first paint.
Redesign
- NewBrand-new design language across the entire app.
- NewRedesigned landing page with proof, features, and a tighter funnel.
- ImprovedAuth pages: split layout with refreshed Clerk theming.
- ImprovedDashboard, player chrome, controls, and bookmarks all rebuilt on design tokens.