v0.3MAY 18, 2026
Mobile pass, security headers, UI polish, logo.
- NEWLark logo shipped (bird with guitar string tail). Favicon, apple-touch-icon, og-image all generated from single source.
- NEWSecurity headers on every route: X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy, and Permissions-Policy restricting mic access to same origin only.
- NEWEmail waitlist with Supabase insert + AnimatePresence transition between form and success state.
- NEWLight/dark theme system via data-theme attribute. SSR-safe inline script prevents FOUC. Persists to localStorage.
- POLISHLanding page: single OPEN APP CTA, 2x2 feature grid, green glows via CSS multi-gradient background on main (no section boundary cutoff), email capture section at bottom.
- POLISHAuth page redesigned: centered logo, green glow card, mode tabs, Google + GitHub OAuth buttons.
- POLISHColor system: uniform near-black background, midnight blue cards (#0d1a2d), green glow accents throughout.
- POLISHFooter links now have green hover states. Footer uses VERSION constant from lib/version.ts.
- POLISHNav restructured: Features / Pricing / Changelog / FAQ. Centered links via CSS grid (1fr auto 1fr). Hide-on-scroll, mobile drawer.
- FIXTunerView + ChordsView: note display font uses clamp(64px, 20vw, 112px). Meter width is min(100%, 320px). String chips flex-wrap on narrow screens.
- FIXgetUserMedia errors now differentiated: NotAllowedError, NotFoundError, NotReadableError each show a specific message.
- FIXRemoved overflow: hidden from sections so green orbs bleed continuously between sections without hard cutoff lines.
- INFRAVERSION constant in lib/version.ts used by Footer, Settings, and changelog. Single source of truth.
- INFRACleaned public/: removed source logo PNG, 5 Next.js default SVGs, Mac Icon file.