0.3.74
- Auth E2E: coverage for unauthenticated visit to /admin redirecting to /login or Clerk /sign-in.
- Body scroll lock: extracted lockBody / unlockBody helpers (src/lib/body-lock.ts) with reference counting so concurrent callers do not stomp on each other's saved overflow value; MobileNavDrawer and MobileShell use these instead of inline document.body.style.overflow mutations.
- Changelog automation: scripts/generate-changelog-data.mjs parses CHANGELOG.md (Keep a Changelog format) and writes src/data/changelog.ts automatically; npm run generate:changelog and a prebuild hook keep the file in sync so it no longer needs manual edits.
- Next.js 16 / Clerk: Clerk auth runs from src/proxy.ts instead of deprecated src/middleware.ts (same route protection behaviour).
- Playwright: PLAYWRIGHT_BASE_URL overrides use.baseURL and webServer.url; set PLAYWRIGHT_SKIP_WEBSERVER=1 to run tests against an already-running dev server.
- Deployment docs: runtime_timeout troubleshooting (CPU, RAM, timeout) and note that the app uses src/proxy.ts.