3.21.1 is a regularly schedule patch release.
👉 Changelog
🩹 Fixes
- nuxt: Correct reference format of server builder (#34177)
- nuxt: Add status/statusText getters to NuxtError (#34188)
- schema: Add direnv and vendor to default ignore (#34190)
- nuxt: Focus hash links after navigation (#34193)
- nuxt: Exclude head runtime from unhead imports transform (#34195)
- kit: Include prereleases in semver satisfy check (#34210)
- nuxt: Watch
server/forbuilder:watchhook (#34208) - nitro: Encode unicode paths in
x-nitro-prerenderheader (#34202) - nitro: Preserve
error.messagefor fatal errors (#34226) - Only enable dynamic imports when ts plugin (#34205)
- webpack: Use H3Error for 403 in dev server (#34233)
- nuxt: Ensure NuxtError extends Error type (#34242)
- vite: Use H3Error for 404 in dev server (#34225)
- nuxt: Add backwards compat for
#appbarrel export in keyed functions (#34199) - nuxt: Track + re-add custom routes on hmr (#32044)
- nuxt: Keep vnode when leaving deeper nested route (#33778)
- vite: Prevent CSS flickering in dev mode after config changes (#33856)
- nuxt: Do not start view transition if there is no route (#33723)
- nuxt: Call deferHydration done on NuxtPage unmount (#34152)
- nuxt: Handle invalid
datetime in` (#33992) - nuxt: Preserve middleware error status in 404 fallback (#34148)
- nitro: Do not augment
nuxt/schema(#34255) - nuxt: Cache manifest files to preserve buildId (#34002)
- nuxt: Don't decode query string in SSR context URL (#34252)
- nuxt: Allow specifying moduleDependencies by
meta.name(#34263) - nuxt: Resolve
#componentsimport mapping conflict for packages outside rootDir (#34139) - vite,webpack: Use node.res to send 403/404 (#34266)
- nitro,nuxt: Align path encoding with vue-router (#34265)
- nitro: Augment
nuxt/schemaonce more (9f5bb611d)
💅 Refactors
- nuxt: Prefer
genObjectKeyto omit unnecessary quotes (#34245) - nuxt: Use
ComponentPropshelper to extract layout props (#34248)
📖 Documentation
- Remove link to ai guide entirely (084b5d7f2)
- Update roadmap dates (#34166)
- Clarify shared type context limitations for custom imports (#34194)
- Fix broken links (#34223)
- Document payload extraction for ISR/SWR routes (#34222)
- Update example of email validation (#34247)
- Add documentation for
keyedComposables(#34201)
🏡 Chore
✅ Tests
- Vitest v4 compatibility (70e147b71)
- Add runtime tests for deeply nested
<NuxtPage>navigation (707a9dc44) - Resolve merge issues in tests (85abddc54)
❤️ Contributors
- Daniel Roe (@danielroe)
- Matej Černý (@cernymatej)
- Octavio Araiza (@8ctavio)
- Muhammad Yasir Ghaffar (@M-YasirGhaffar)
- Max (@onmax)
- Bobbie Goede (@BobbieGoede)
- 纸鹿/Zhilu (@L33Z22L11)
- Florian Heuberger (@Flo0806)
- 山吹色御守 (@KazariEX)
- ExXTreMe315 (@ExXTreMe315)
- Eugene (@FlexIDK)
- abeer0 (@iiio2)
- Jonas Thelemann (@dargmuesli)
- Erwan Jugand (@erwanjugand)