v4.19.0
·
49 commits
to main
since this release
Focus: Build-time page compilation — the markdown engine leaves the client's critical path.
Changes
- ⚡ Added build-time page compilation: every markdown page is tokenized at build into a ready-to-render module, so the markdown-it graph (markdown-it, attrs, task-lists, texmath) no longer ships on the critical path — the DSubpage chunk shrank from ~129 KB to ~23 KB gzipped
- ➗ Math pages now pre-render their KaTeX HTML at build; the client only loads the KaTeX stylesheet on demand, never the engine
- 🚀 Generalized progressive page mounting: every page renders its first blocks synchronously and appends the below-the-fold rest in idle batches (with restart on client-side navigation), cutting Total Blocking Time
- 🤖 The AI assistant panel now loads asynchronously, only when it actually renders
- 🌐 Added per-locale static markdown files (
<route>.<lang>.md): copy-page and WebMCP agent tools fetch pristine localized sources - 🛠️ Fixed a latent Prism chunk-order bug: language components depended on the core's global through bundle-chunk luck; a bridge module now makes that dependency an explicit ESM edge
- ✅ Validated with local Lighthouse (mobile): +13 on guide pages, +5 on manual pages and +5 on the homepage, with byte-identical rendered content and 330 passing tests