Change8

v3.18.0

📦 nuxtView on GitHub →
9 features🐛 7 fixes🔧 11 symbols

Summary

Nuxt 3.18.0 introduces lazy hydration macros, enhanced accessibility with a built-in route announcer, and Chrome DevTools workspace integration. It focuses on backporting Nuxt v4 features and improving performance through oxc-based transformations.

Migration Steps

  1. Run 'npx nuxi@latest upgrade --dedupe' to update the core package and dependencies.
  2. If you use a custom app.vue, manually add the <NuxtRouteAnnouncer /> component to ensure accessibility features are maintained.

✨ New Features

  • Support for lazy hydration macros via defineLazyHydrationComponent for ergonomic hydration control.
  • Automatic inclusion of <NuxtRouteAnnouncer> in the built-in app.vue for improved accessibility.
  • Chrome DevTools workspace integration allowing source file editing directly from the browser.
  • Added onWatcherCleanup from Vue to the auto-imports presets.
  • Page routes are now exposed to Nitro for enhanced observability and monitoring.
  • The addServerImports kit utility now supports passing a single import object instead of requiring an array.
  • Modules can now contribute to the typescript.hoist configuration.
  • Improved component type safety with typed slots for <ClientOnly> and <DevOnly>.
  • Exported prop types for <NuxtTime> to facilitate customization.

🐛 Bug Fixes

  • Retain old data when computed keys change during data fetching.
  • Restricted scrollBehaviorType usage to hash scrolling only.
  • Added trailing slashes to specific directory aliases for consistency.
  • Fixed transform/minify types and updated oxc-transform.
  • Included source base URL for remote islands.
  • Ensured all plugins execute after error rendering in error.vue.
  • Improved Vite-node communication via internal sockets for faster development builds.

🔧 Affected Symbols

defineLazyHydrationComponentNuxtRouteAnnounceronWatcherCleanupaddServerImportstypescript.hoistClientOnlyDevOnlyNuxtTimeoxc-walkeronPrehydratescrollBehaviorType