Skip to content

v3.5.0: React 19, LLM-Readable Docs, CI & Blog Extras

Choose a tag to compare

@holger1411 holger1411 released this 05 Sep 09:15
· 58 commits to main since this release

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.txt and /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 validate and the build on every push and pull request
  • npm run check (astro check) and npm 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 in src/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.astro component used by all layouts; noindex prop 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 >= 22 and .nvmrc

Changed

  • Upgraded React and React DOM from 18.3 to 19.2; shadcn/ui components use React.ComponentRef and React.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 lastmod to the build date
  • ESLint config uses defineConfig from eslint/config

Fixed

  • Tag pages rendered nested links with a no-op onclick string (invalid HTML)
  • Auth layout had no <main> landmark
  • Dead dropdown code in the Header caused three type errors under astro check

Breaking Changes

  • Blog image frontmatter is now validated by Astro's image() 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.ElementRef with React.ComponentRef.

Full Changelog: v3.4.1...v3.5.0