Nuxt v4.5.2

v4.5.2
Changed 4
  • Skip rewriting unchanged generated files
  • Use lazy imports to improve parsing speed
  • Skip html entry probes in bare-import resolver
  • Reuse app and component scans for unchanged structures
Fixed 16
  • Resolve client manifest path from resolved config
  • Use client-side navigation for links inside islands
  • Generate types for route params defined with definePageMeta
  • Serialize island payloads for components with underscores in keys
  • Dedupe island renders when prerendering
  • Drop prefetch hints for never-hydrated chunks

4.5.2 is the next patch release.

👉 Changelog

compare changes

🔥 Performance
  • nuxt,kit: Skip rewriting unchanged generated files (#35902)
  • kit,nuxt: Use lazy imports to improve parsing speed (#35901)
  • vite: Skip html entry probes in bare-import resolver (#35907)
  • nuxt: Reuse app and component scans for unchanged structures (#35912)
🩹 Fixes
  • vite: Resolve client manifest path from resolved config (#35883)
  • nuxt: Use client-side navigation for links inside islands (#35806)
  • nuxt: Generate types for route params defined with definePageMeta (#35857)
  • nuxt: Serialize island payloads for components with underscores in keys (#35807)
  • nitro: Dedupe island renders when prerendering (#35835)
  • nuxt: Drop prefetch hints for never-hydrated chunks (#35812)
  • vite: Use same asset filenames for worker builds (#35866)
  • nitro: Reject non-object island props (#35867)
  • nuxt: Support options api in v-for islands transform (#35877)
  • nuxt: Improve page meta extraction + performance (#35869)
  • nuxt: Set build outputs when restoring vue cache (#35895)
  • kit: Honour nested apply and applyToEnvironment in vite wrapper (#35899)
  • nuxt: Re-check for preview mode after prerendered page hydration (#35886)
  • kit,nuxt,vite: Handle missed chokidar watch events (#35887)
  • nuxt: Settle asyncData status when bailing (#35908)
  • kit: Clone resolved config with klona rather than klona/full (#35914)
  • kit: Honour nested plugins' enforce in vite wrapper (#35916)
  • nuxt: Collect build cache once build outputs are final (#35929)
  • vite: Resolve vite env api sourcemaps in vite-node (#35758)
  • nuxt: Don't warn about missing <NuxtPage> on nav + with slot (#35948)
  • kit: Prepend vite environment wrapper plugin when prepend is set (#35942)
  • nuxt: Depend on rolldown as a peer to reuse vite's copy (3fda97f60)
  • nitro: Define import.meta.test for server code (#35987)
  • nuxt: Match route rules against decoded paths (9123ed850)
💅 Refactors
  • nuxt: Use vue-component-type-helpers instead of locally maintained helpers (#35840)
  • nuxt: Use isReferenceIdentifier in page-meta plugin (#35882)
📖 Documentation
  • Sync mcp server page with live tools and providers (#35856)
  • Add server components guide and mostly-static site recipe (#35778)
  • Minor changes (#33479)
  • Add accessible routing guide (#34796)
  • Update testing guide to test-utils v4.1.0 (#35873)
  • Update .env provider reference from dotenv to c12 (#35911)
  • Add note to avoid using defineVitestProject in e2e tests (#35926)
  • Update roadmap (f6e6027fe)
📦 Build
  • ui-templates: Copy generated templates from resolved output dir (#35921)
🏡 Chore
✅ Tests
  • Skip webpack dev tests for island v-for transform (73030e55a)
  • Add regression test for #35893 (#35893)
  • vite: Cover windows drive letters in toFsUrl (a5ad667f7)
🤖 CI
  • Shard the critical-path test jobs and cache playwright (#35832)
  • Add action to notify issues resolved on release (5fffe5718)
  • Make notification script more resilient (5337bd357)
  • Do not comment on issues in other repos (400dfdc11)
  • Add explicit permissions: {} to workflows (2e1a1cbeb)
  • Rebalance windows e2e matrix (dffe13742)
  • Let contributors know prs are backported (3e416c54f)
  • Regenerate templates in autofix job (95d33637f)
❤️ Contributors
  • Daniel Roe (@danielroe)
  • Matej Černý (@cernymatej)
  • Aubakirov Asker (@Askerka00)
  • Yoshihiro Yamaguchi (@yamachi4416)
  • Samuel Burkhard (@samydoesit)
  • Kenneth Sills (@Kenneth-Sills)
  • Spunkie (@Spunkie)
  • Bochkarev Ivan (@Ibochkarev)
  • Amulet Iris (@KazariAI)
  • Yash Bavadiya (@xevrion)
  • Alexander Lichter (@TheAlexLichter)
  • Mehraz Morshed (@mehrazmorshed)
  • mcrapts (@mcrapts)
  • Benjamin Canac (@benjamincanac)
  • Anthony Fu (@antfu)
View original

Upgraded? How did it go?

Discussion