Every release, every fix.
We ship in the open. Internal builds appear here once verified by a real flight; production releases when the first batch of instructors has flown them.
- v0.4.2● INTERNAL
Design system cohesion
Date2026-04-26- Promote the landing's brand tokens (charcoal + sodium-flare amber + Geist) to globals.
- Drop light mode entirely — no .dark class, no toggle.
- Sidebar replaces the top nav on /cfi and /student. Rail collapse mode.
- 9 reusable primitives in lib/ui/ — DashShell, StripRow, Eyebrow, MonoTag, RoleTag, SectionHead, StatGrid, EmptyCallout, CalloutGrid.
- All 8 dashboard pages get instrument-panel chrome and breadcrumb hairlines.
- Clerk theming: sign-in / sign-up render on charcoal with the amber primary button.
- v0.4.1● LIVE
OpenArrow rebrand · landing page
Date2026-04-25- Customer-facing brand becomes OpenArrow. Backend/repo stays copilotos.
- New landing page in dark instrument-panel style (Geist + sodium-flare amber).
- openarrow.io DNS connected; Vercel project Framework Preset corrected to nextjs.
- v0.4.0● LIVE
Foundation: CFI onboarding, student invites, role guards
Date2026-04-24- CFI onboarding flow creates a cfi_practice atomically and sets the user role.
- Student invite tokens + accept flow with role guards on every authenticated route.
- CI: data-access lint forbids raw Drizzle queries from route handlers.