Repository navigation
v3.5.0: React 19, LLM-Readable Docs, CI & Blog Extras
Minor release: React 19, docs that AI agents can read directly, a CI workflow, and a set of blog and platform improvements.
What's Changed
Added
/llms.txtand/llms-full.txt— the latter is generated from AGENTS.md and README.md at build time, so AI agents can read the docs directly- GitHub Actions CI workflow: runs
npm run validateand the build on every push and pull request npm run check(astro check) andnpm run validate(check:kpis + lint + format:check + check)- Registry drift check in
npm run check:kpis: every section, UI component, and layout must be catalogued insrc/registry.json - Blog: reading time on posts and the post list, related posts by shared tags, full article content and tag categories in the RSS feed
- Shared
Head.astrocomponent used by all layouts;noindexprop on BaseLayout and FullWidthLayout - Web manifest, PNG favicon fallback, apple-touch-icon, and 192/512px icons
- Security headers via
vercel.json(nosniff, frame deny, referrer policy, permissions policy, HSTS) engines.node >= 22and.nvmrc
Changed
- Upgraded React and React DOM from 18.3 to 19.2; shadcn/ui components use
React.ComponentRefandReact.SubmitEvent - Blog cover images use the
image()schema helper and<Image />with responsive widths — reference images relative to the markdown file - Sitemap no longer sets
lastmodto the build date - ESLint config uses
defineConfigfromeslint/config
Fixed
- Tag pages rendered nested links with a no-op
onclickstring (invalid HTML) - Auth layout had no
<main>landmark - Dead dropdown code in the Header caused three type errors under
astro check
Breaking Changes
- Blog
imagefrontmatter is now validated by Astro'simage()helper: use a path relative to the markdown file (e.g../my-post/cover.jpg) instead of an arbitrary string. Posts without an image are unaffected. - React 19: if you added your own React components, replace
React.ElementRefwithReact.ComponentRef.
Full Changelog: v3.4.1...v3.5.0