Note
This is the last release candidate for Nuxt v3! Are you ready? 👀
Changelog
⚠️ Breaking Changes
- cli: Setup nuxt globally with
nuxt test
(#4578) - nuxt: Only add
$f
fetch prefix to auto-keys (#8852) - test-utils: Use
vitest/node
subpath export (#8815) - nuxt: Remove
initialCache
option (#8885) - nuxt: Enable payload extraction only for
nuxi generate
(#9018) - nuxt: Include request url and params in
useFetch
key (#6632) - nuxt: Fix typo for
NuxtRenderHTMLContext.bodyPrepend
(#8712) (#8704) - nuxt: Remove support for
404.vue
shorthand (#8809) - kit: Remove support for module container (#9010)
- nuxt: Move
head
option support intodefineNuxtComponent
(#8901) - Remove deprecated api (#9029)
- RemovePrivateRuntimeConfig
interface support
- RemoveautoImports
option
- RemoveautoImports:extend
hook support
- Remove deprecatedaddAutoImport
andaddAutoImport
utilities (useaddImports
andaddImportsDir
)
- Removedefer
option foruseAsyncData
- Remove support forinstallModule(nuxt, nuxtModule)
- Remove support for module defenition as function
- Remove support forname
in module definition (usemeta.name
)
- Remove deprecatedthrowError
(useshowError
)
- Remove deprecateduseActiveRoute
(useuseRoute
)
- Remove deprecatedNuxtConfig
anddefineNuxtConfig
imports fromnuxt
(import fromnuxt/config
)
- Remove deprecated<Script>
component (useuseHead
)
- Remove deprecatedRouterConfigOptions
interface (useRouterConfigSerializable
)
- Remove deprecatedfileName
for template options (usefilename
)
- Remove deprecated<NuxtNestedPage>
and<NuxtChild>
components
- Remove deprecatedbuildModules
config
- Remove deprecatedprivateRuntimeConfig
andpublicRuntimeConfig
options
- Remove deprecatedimports.presets[].name
(usepresets.imports
instead)
🚀 Enhancements
- nuxt: Add
isExternal
to<NuxtLink>
slot props (#8800) - nuxt: Auto-import
utils/
directory (#8817) - cli: Wrap and normalize all console outputs (#8846)
- nuxt: Allow customizing root id and tag (#8883)
- nuxt: Add
onBeforeRouteLeave
andonBeforeRouteUpdate
composables (#8889) - cli: ⚠️ Setup nuxt globally with
nuxt test
(#4578) - cli: Auto-generate
.npmrc
and setting for pnpm (#7407) - nuxt, schema: Migrate to @vueuse/head v1 (#8975)
🩹 Fixes
- nuxt: Check if global transitions are activated for scroll behavior (#8700)
- nuxt: Allow cookies to be set to
null
to unset them (#8769) - nuxt: Add catchall paths to prerender list (#8782)
- schema: Add declarations to ignore list (#8787)
- ssr: Ensure
useRequestHeaders
are case-insensitive (#8805) - nuxt: Do not render page if we are throwing error (#8821)
- nuxt: Swallow issues with query selectors (#8843)
- nuxt: ⚠️ Only add
$f
fetch prefix to auto-keys (#8852) - test-utils: Detect project root using
nuxt.config
with.mjs
and.cjs
extensions (#8855) - cli: Exclude
dist
from type checking (#8848) - test-utils: ⚠️ Use
vitest/node
subpath export (#8815) - nuxt: Detect non-functional imports within page meta (#8881)
- nuxt: Preserve render errors (#8884)
- nuxt: ⚠️ Remove
initialCache
option (#8885) - nuxt: Use
app.baseURL
when fetching error page on server (#8888) - nuxt: Avoid passing attrs to default slot for
<ClientOnly>
component (#8921) - vite: Add extend layers to
fs.allow
(#9006) - nuxt: Include layers in esbuild transform (#9014)
- kit: Add external module to transpile (#8963)
- nuxt: ⚠️ Enable payload extraction only for
nuxi generate
(#9018) - nuxt: ⚠️ Include request url and params in
useFetch
key (#6632) - nuxt: Improve hmr for pages macros (#8940)
💅 Refactors
- nuxt: ⚠️ Fix typo for
NuxtRenderHTMLContext.bodyPrepend
(#8712) - nuxt: ⚠️ Fix typo for
NuxtRenderHTMLContext.bodyPrepend
(#8704) - nuxt: ⚠️ Remove support for
404.vue
shorthand (#8809) - nuxt: Explicitly import app in nuxt-root (#8729)
- kit: ⚠️ Remove support for module container (#9010)
- Update unjs dependencies to stable v1 (#9011)
- nuxt: ⚠️ Move
head
option support intodefineNuxtComponent
(#8901) - ⚠️ Remove deprecated api (#9029)
📖 Documentation
- Update 2.nuxt-page.md (#8761)
- Update roadmap for november (#8766)
- Use update import for
defineLazyEventHandler
(#8767) - Remove stability-edge (507f444c)
- deployment: Remove usage of custom icons (8e4068b7)
- Improve examples content (1582f8ec)
- api: Add
useRequestHeaders
composable example (#8833) - Add entry for
extendPages
(#8860) - api: Add
refreshNuxtData
util examples (#8845) - Get event before running async function (#8861)
- api: Add
useHydration
composable (#8768) - Add
query
option with example foruseFetch
(#8719) - Add initial documentation for router composables (#8895)
- Add tls option to redis example (#8900)
- Fix syntax errors in server storage example (#8906)
- Fix typo (#8970)
- api: Add spaces to avoid breaking mobile layout (#8967)
- Typo in
available
(#8966) - Add a bit more detail in the
definePageMeta
warning to specify it needs to be in a page (#8923) - Match the open graph protocol markup (#8959)
- Fix typos (#8976)
❤️ Contributors
- Anthony Fu anthonyfu117@hotmail.com
- Daniel Roe daniel@roe.dev
- Pooya Parsa (@pi0)
- Harlan Wilton (@harlan-zw)
- Mehdi HosseinZade (@xtoolkit)
- Silvesterwali
- Israel Ortuño ai.ortuno@gmail.com
- Kevin Olson (@acidjazz)
- Julien Huang
- Okoro Redemption (@therealokoro)
- Clément Ollivier (@clemcode)
- Cedric Wetzel (@cedWetzel)
- Percy Ma (@kecrily)
- Ali Soueidan
- Toby Faux
- Stefan stefan@standa.de
- Krutie Patel krutie.patel@gmail.com
- Horu
- Cue
- Alexander Lichter (@manniL)
- Sébastien Chopin (@Atinux)
- Iljs Путлер Капут ilja@kotir.space
- Maxim Morev (@MorevM)
- Agénor Debriat (@agenordebriat)
- Cx33 (@JiatLn)