nuxt / telemetry

Nuxt Telemetry
MIT License
207 stars 23 forks source link

chore(deps): update nuxt framework #140

Closed renovate[bot] closed 2 months ago

renovate[bot] commented 5 months ago

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@nuxt/kit (source) ^3.11.2 -> ^3.13.1 age adoption passing confidence
@nuxt/test-utils ^3.12.1 -> ^3.14.1 age adoption passing confidence
nuxt (source) ^3.11.2 -> ^3.13.1 age adoption passing confidence

Release Notes

nuxt/nuxt (@​nuxt/kit) ### [`v3.13.1`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.13.1) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.13.0...v3.13.1) > 3.12.4 is the next regularly scheduled patch release. #### ๐Ÿ‘€ Highlights Although this is a patch release, there are two features I'd love to draw your attention to. 1. ๐Ÿ†” `useId` now uses a built-in Vue composable for stable ids between server + client! [https://github.com/nuxt/nuxt/pull/28285](https://redirect.github.com/nuxt/nuxt/pull/28285) 2. ๐Ÿ”ฅ a new `experimental.buildCache` feature now allows for quicker app rebuilds [https://github.com/nuxt/nuxt/pull/28726](https://redirect.github.com/nuxt/nuxt/pull/28726) As always, feedback is appreciated ๐Ÿ™ โค๏ธ #### โœ… Upgrading As usual, our recommendation for upgrading is to run: ```sh npx nuxi@latest upgrade --force ``` This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem. #### ๐Ÿ‘‰ Changelog [compare changes](https://redirect.github.com/nuxt/nuxt/compare/v3.13.0...v3.13.1) ##### ๐Ÿ”ฅ Performance - **nuxt:** Cache vue app build outputs ([#​28726](https://redirect.github.com/nuxt/nuxt/pull/28726)) - **nuxt:** Use `ServerPlaceholder` for ssr client components ([#​28563](https://redirect.github.com/nuxt/nuxt/pull/28563)) - **nuxt:** Use reducer array + handle modified proto ([#​28768](https://redirect.github.com/nuxt/nuxt/pull/28768)) ##### ๐Ÿฉน Fixes - **schema:** Resolve user-provided `serverDir` relative to root ([#​28700](https://redirect.github.com/nuxt/nuxt/pull/28700)) - **nuxt:** Handle mismatching declaration/plugin extensions ([#​28709](https://redirect.github.com/nuxt/nuxt/pull/28709)) - **nuxt:** Do not accept arbitrary strings for `MiddlewareKey` ([#​28676](https://redirect.github.com/nuxt/nuxt/pull/28676)) - **nuxt:** Do not pass listeners to custom `NuxtLink` ([#​28738](https://redirect.github.com/nuxt/nuxt/pull/28738)) - **nuxt:** Generate basic jsdoc for module config entry ([#​27689](https://redirect.github.com/nuxt/nuxt/pull/27689)) - **nuxt:** Augment `NuxtOptions` as well as config ([#​28747](https://redirect.github.com/nuxt/nuxt/pull/28747)) - **nuxt:** Improve error logging in import protections ([#​28753](https://redirect.github.com/nuxt/nuxt/pull/28753)) - **nuxt:** Handle deleted cookies from `CookieStore` events ([#​28760](https://redirect.github.com/nuxt/nuxt/pull/28760)) - **nuxt:** Allow updating `appConfig` with non-iterable objects ([#​28773](https://redirect.github.com/nuxt/nuxt/pull/28773)) - **nuxt:** Improve `isNuxtError` type inference ([#​28814](https://redirect.github.com/nuxt/nuxt/pull/28814)) ##### ๐Ÿ’… Refactors - **nuxt:** Update to vue v3.5 + native `useId` ([#​28285](https://redirect.github.com/nuxt/nuxt/pull/28285)) ##### ๐Ÿ“– Documentation - Fix typo ([#​28724](https://redirect.github.com/nuxt/nuxt/pull/28724)) - Update broken/redirected links ([#​28739](https://redirect.github.com/nuxt/nuxt/pull/28739)) - Capitalize text ([#​28734](https://redirect.github.com/nuxt/nuxt/pull/28734)) - Updated line number for nuxt build-time hooks ([#​28746](https://redirect.github.com/nuxt/nuxt/pull/28746)) - Add missing `query` returned value from `useRoute()` ([#​28743](https://redirect.github.com/nuxt/nuxt/pull/28743)) - Persist package manager choice in code blocks ([#​28514](https://redirect.github.com/nuxt/nuxt/pull/28514)) - Fix postcss codeblock typo ([#​28801](https://redirect.github.com/nuxt/nuxt/pull/28801)) - Include `--frozen-lockfile` when installing dependencies ([#​28794](https://redirect.github.com/nuxt/nuxt/pull/28794)) ##### ๐Ÿก Chore - Use `tinyexec` internally ([#​28684](https://redirect.github.com/nuxt/nuxt/pull/28684)) - Use `tinyglobby` internally ([#​28686](https://redirect.github.com/nuxt/nuxt/pull/28686)) - Trim tag ([#​28687](https://redirect.github.com/nuxt/nuxt/pull/28687)) - Fix ci typo ([#​28721](https://redirect.github.com/nuxt/nuxt/pull/28721)) - Tidying workflows + add sherif workflow ([#​28793](https://redirect.github.com/nuxt/nuxt/pull/28793)) - Ignore eslint warnings about console logging ([#​28795](https://redirect.github.com/nuxt/nuxt/pull/28795)) ##### โœ… Tests - Update bundle size ([99df4c222](https://redirect.github.com/nuxt/nuxt/commit/99df4c222)) ##### โค๏ธ Contributors - Gianluca Di Francesco ([@​gianlucadifrancesco](https://redirect.github.com/gianlucadifrancesco)) - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - Joaquรญn Sรกnchez ([@​userquin](https://redirect.github.com/userquin)) - Heb ([@​Hebilicious](https://redirect.github.com/Hebilicious)) - Eckhardt (Kaizen) Dreyer ([@​Eckhardt-D](https://redirect.github.com/Eckhardt-D)) - Gustav Odinger ([@​gustavwilliam](https://redirect.github.com/gustavwilliam)) - Julien Huang ([@​huang-julien](https://redirect.github.com/huang-julien)) - Ismail Sabet ([@​ismailsabet](https://redirect.github.com/ismailsabet)) - Max ([@​onmax](https://redirect.github.com/onmax)) - Anthony Fu ([@​antfu](https://redirect.github.com/antfu)) - [@​beer](https://redirect.github.com/beer) ([@​iiio2](https://redirect.github.com/iiio2)) - riskrole ([@​riskrole](https://redirect.github.com/riskrole)) - Thimo Sietsma ([@​th1m0](https://redirect.github.com/th1m0)) ### [`v3.13.0`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.13.0) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.12.4...v3.13.0) ##### ๐Ÿ‘€ Highlights I'm pretty excited about this release - we've ported some features we had planned for Nuxt v4 back to v3, as well as a raft of bug fixes and performance improvements - as usual. Here are a few of things I'm most excited about. ##### ๐Ÿ˜๏ธ Route Groups We now support naming directories with parentheses/brackets to organise your routes without affecting the path. For example: ```bash [Directory structure] -| pages/ ---| index.vue ---| (marketing)/ -----| about.vue -----| contact.vue ``` This will produce `/`, `/about` and `/contact` pages in your app. The `marketing` group is ignored for purposes of your URL structure. Read more in [the original PR](https://redirect.github.com/nuxt/nuxt/pull/28276). ##### ๐Ÿ๏ธ Islands and Head Metadata It's now possible for server component islands to manipulate the head, such as by adding SEO metadata when rendering. Read more in [#​27987](https://redirect.github.com/nuxt/nuxt/pull/27987). ##### ๐Ÿช Custom Prefetch Triggers We now support custom prefetch triggers for `NuxtLink` ([#​27846](https://redirect.github.com/nuxt/nuxt/pull/27846)). For example: ```vue [pages/index.vue] ``` It's also possible to enable/disable these globally for your app and override them per link. For example: ```ts [nuxt.config.ts] export default defineNuxtConfig({ experimental: { defaults: { nuxtLink: { prefetch: true, prefetchOn: { visibility: false, interaction: true } } } } }) ``` ##### ๐Ÿ—บ๏ธ Better Server Source Maps When running with `node --enable-source-maps`, you may have noticed that the source maps for the Vue files in your server build pointed to the Vite build output (something like `.nuxt/dist/server/_nuxt/index-O15BBwZ3.js`). Now, even after your Nitro build, your server source maps will reference your original source files ([#​28521](https://redirect.github.com/nuxt/nuxt/pull/28521)). Note that one of the easiest ways of improving your build performance is to turn off source maps if you aren't using them, which you can do easily in your `nuxt.config`: ```ts [nuxt.config.ts] export default defineNuxtConfig({ sourcemap: { server: false, client: true, }, }) ``` ##### ๐ŸŽ New Features for Module Authors In the run-up to Nuxt v4, we're working on adding some key functionality for module authors, including a new `isNuxtMajorVersion` utility where required ([#​27579](https://redirect.github.com/nuxt/nuxt/pull/27579)) and better inferred typing for merged module options using the new `defineNuxtModule().with()` method ([#​27520](https://redirect.github.com/nuxt/nuxt/pull/27520)). ##### โœจ Improved Dev Warnings We no longer warn when using data fetching composables in middleware ([#​28604](https://redirect.github.com/nuxt/nuxt/pull/28604)) and we warn when user components' names begin with Lazy ([#​27838](https://redirect.github.com/nuxt/nuxt/pull/27838)). ##### ๐Ÿšจ Vue TypeScript Changes For a while, in the Vue ecosystem, we've been augmenting `@vue/runtime-core` to add custom properties and more to `vue`. However, this inadvertently breaks the types for projects that augment `vue` - which is now the officially recommended in the docs way to augment these interfaces (for example, [ComponentCustomProperties](https://vuejs.org/api/utility-types.html#componentcustomproperties), [GlobalComponents](https://vuejs.org/guide/extras/web-components.html#web-components-and-typescript) and [so on](https://vuejs.org/guide/typescript/options-api.html#augmenting-global-properties)). This means *all* libraries must update their code (or it will break the types of libraries that augment `vue` instead). We've updated our types in Nuxt along these lines but you may experience issues with the latest `vue-router` when used with libraries which haven't yet done so. Please create an issue with a reproduction - I'll happily help create a PR to resolve in the upstream library in question. Or you may be able to work around the issue by creating a `declarations.d.ts` in the root of your project with the following code ([credit]()): ```ts [declarations.d.ts] import type { ComponentCustomOptions as _ComponentCustomOptions, ComponentCustomProperties as _ComponentCustomProperties, } from 'vue'; declare module '@​vue/runtime-core' { interface ComponentCustomProperties extends _ComponentCustomProperties {} interface ComponentCustomOptions extends _ComponentCustomOptions {} } ``` ##### โœ… Upgrading As usual, our recommendation for upgrading is to run: ```sh npx nuxi@latest upgrade --force ``` This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem. ##### ๐Ÿ‘‰ Changelog [compare changes](https://redirect.github.com/nuxt/nuxt/compare/v3.12.4...v3.13.0) ##### ๐Ÿš€ Enhancements - **nuxt:** Await custom `routes` function in `router.options` ([#​27644](https://redirect.github.com/nuxt/nuxt/pull/27644)) - **kit:** Add new `isNuxtMajorVersion` compatibility util ([#​27579](https://redirect.github.com/nuxt/nuxt/pull/27579)) - **kit,schema:** Add `.with` for better module options types ([#​27520](https://redirect.github.com/nuxt/nuxt/pull/27520)) - **nuxt:** Warn when user components' names begin with `Lazy` ([#​27838](https://redirect.github.com/nuxt/nuxt/pull/27838)) - **nuxt:** Allow specifying app id when creating a nuxt app ([#​28392](https://redirect.github.com/nuxt/nuxt/pull/28392)) - **nuxt:** Custom enable/disable hooks for `usePreviewMode` ([#​28371](https://redirect.github.com/nuxt/nuxt/pull/28371)) - **kit:** Add `prepend` option to `addRouteMiddleware` ([#​28496](https://redirect.github.com/nuxt/nuxt/pull/28496)) - **nuxt:** Allow organising pages within route groups ([#​28276](https://redirect.github.com/nuxt/nuxt/pull/28276)) - **vite:** Preserve vite sourcemaps for nitro build ([#​28521](https://redirect.github.com/nuxt/nuxt/pull/28521)) - **nuxt:** Allow defining triggers for prefetching links ([#​27846](https://redirect.github.com/nuxt/nuxt/pull/27846)) - **nuxt:** Namespace `__NUXT__` when using multi-app ([#​27263](https://redirect.github.com/nuxt/nuxt/pull/27263)) - **nuxt:** Allow server islands to manipulate head ([#​27987](https://redirect.github.com/nuxt/nuxt/pull/27987)) ##### ๐Ÿ”ฅ Performance - **nuxt:** Call cookie `decode` function only for named cookie ([#​28215](https://redirect.github.com/nuxt/nuxt/pull/28215)) - **nuxt:** Avoid making client-only component setup async ([#​28334](https://redirect.github.com/nuxt/nuxt/pull/28334)) - **nuxt:** Avoid multiple calls to `getCachedData` ([#​28472](https://redirect.github.com/nuxt/nuxt/pull/28472)) ##### ๐Ÿฉน Fixes - **nuxt:** Don't warn for `definePageMeta` in client-only pages ([#​28246](https://redirect.github.com/nuxt/nuxt/pull/28246)) - **kit:** Include module `dist/runtime/` in tsconfig includes ([#​28237](https://redirect.github.com/nuxt/nuxt/pull/28237)) - **schema:** Support absolute/relative paths for `assetsDir` ([59f0099f4](https://redirect.github.com/nuxt/nuxt/commit/59f0099f4)) - **schema:** Do not override user `serverDir` ([#​28249](https://redirect.github.com/nuxt/nuxt/pull/28249)) - **schema:** Use new options syntax for `vite-plugin-vue` ([#​28307](https://redirect.github.com/nuxt/nuxt/pull/28307)) - **schema:** Export new module return types ([c0ad8db93](https://redirect.github.com/nuxt/nuxt/commit/c0ad8db93)) - **kit:** Add missing type import ([1a60b4541](https://redirect.github.com/nuxt/nuxt/commit/1a60b4541)) - **vite,webpack:** Handle local postcss plugins ([#​28481](https://redirect.github.com/nuxt/nuxt/pull/28481)) - **nuxt:** Handle `scroll-padding-top: auto` in scrollBehavior ([#​28320](https://redirect.github.com/nuxt/nuxt/pull/28320)) - **nuxt:** Ensure `runtimeConfig.public` is reactive on client ([#​28443](https://redirect.github.com/nuxt/nuxt/pull/28443)) - **nuxt:** Update renamed stub composables from `nuxt/scripts` ([#​28449](https://redirect.github.com/nuxt/nuxt/pull/28449)) - **nuxt:** Augment `@vue/runtime-core` and `@vue/runtime-dom` ([#​28446](https://redirect.github.com/nuxt/nuxt/pull/28446)) - **nuxt:** Scan jsx pages for page metadata ([#​28479](https://redirect.github.com/nuxt/nuxt/pull/28479)) - **nuxt:** Handle plugin type extensions more correctly ([#​28480](https://redirect.github.com/nuxt/nuxt/pull/28480)) - **vite:** Respect `baseURL` for public assets in dev ([#​28482](https://redirect.github.com/nuxt/nuxt/pull/28482)) - **vite:** Add transformation result to log for parse errors ([#​28508](https://redirect.github.com/nuxt/nuxt/pull/28508)) - **vite:** Include module symbols in generated code ([#​28509](https://redirect.github.com/nuxt/nuxt/pull/28509)) - **nuxt:** Add reason when aborting request in `useFetch` ([#​28517](https://redirect.github.com/nuxt/nuxt/pull/28517)) - **nuxt:** Only augment `vue`, not sub-packages ([#​28542](https://redirect.github.com/nuxt/nuxt/pull/28542)) - **nuxt:** Avoid stripping js extensions in plugin injections ([#​28593](https://redirect.github.com/nuxt/nuxt/pull/28593)) - **nuxt:** Preserve route-specific metadata on `route.meta` ([#​28441](https://redirect.github.com/nuxt/nuxt/pull/28441)) - **nuxt:** Don't warn when data fetching in middleware ([#​28604](https://redirect.github.com/nuxt/nuxt/pull/28604)) - **nuxt:** Extract route rules/page meta in 2+ script blocks ([#​28625](https://redirect.github.com/nuxt/nuxt/pull/28625)) - **nuxt:** Allow customising status code in `validate` method ([#​28612](https://redirect.github.com/nuxt/nuxt/pull/28612)) - **nuxt:** Do not provide default `prefetchOn` prop ([#​28630](https://redirect.github.com/nuxt/nuxt/pull/28630)) - **nuxt:** Revert back to object syntax for island head ([#​28656](https://redirect.github.com/nuxt/nuxt/pull/28656)) ##### ๐Ÿ“– Documentation - Fix issue in cookie passing example ([#​28223](https://redirect.github.com/nuxt/nuxt/pull/28223)) - Fix note in layers usage chapter ([#​28236](https://redirect.github.com/nuxt/nuxt/pull/28236)) - Fix spaces ([#​28233](https://redirect.github.com/nuxt/nuxt/pull/28233)) - Add `vue` lang to sample code ([#​28247](https://redirect.github.com/nuxt/nuxt/pull/28247)) - Use `splitSetCookieString` from `cookie-es` ([29f95ae0d](https://redirect.github.com/nuxt/nuxt/commit/29f95ae0d)) - Use `headers.getSetCookie` ([45c6df9a4](https://redirect.github.com/nuxt/nuxt/commit/45c6df9a4)) - Fix codemod command typos ([#​28279](https://redirect.github.com/nuxt/nuxt/pull/28279)) - `bunx` -> `bun x` ([#​28277](https://redirect.github.com/nuxt/nuxt/pull/28277)) - Add missing comma to example ([#​28300](https://redirect.github.com/nuxt/nuxt/pull/28300)) - Add language to example schema codeblock ([#​28294](https://redirect.github.com/nuxt/nuxt/pull/28294)) - Update link to RuntimeNuxtHooks ([#​28336](https://redirect.github.com/nuxt/nuxt/pull/28336)) - Update links to social media ([cd5195047](https://redirect.github.com/nuxt/nuxt/commit/cd5195047)) - Setup host property and usage example ([#​28331](https://redirect.github.com/nuxt/nuxt/pull/28331)) - Fix TypeScript errors for examples ([#​28403](https://redirect.github.com/nuxt/nuxt/pull/28403)) - Improve readability of link to mdn ([#​28327](https://redirect.github.com/nuxt/nuxt/pull/28327)) - Use ts for create-error example ([#​28411](https://redirect.github.com/nuxt/nuxt/pull/28411)) - Alias links in jsdoc `@see` blocks ([#​28270](https://redirect.github.com/nuxt/nuxt/pull/28270)) - Link to vue test utils docs for `mountSuspended` ([#​28463](https://redirect.github.com/nuxt/nuxt/pull/28463)) - Remove vue-tsc major version constraint ([#​28484](https://redirect.github.com/nuxt/nuxt/pull/28484)) - Recommend '#teleports' target instead of 'body' ([#​28489](https://redirect.github.com/nuxt/nuxt/pull/28489)) - Correct custom routing link ([#​28497](https://redirect.github.com/nuxt/nuxt/pull/28497)) - Improve typing of default exports ([#​28520](https://redirect.github.com/nuxt/nuxt/pull/28520)) - Fix `options` type in custom useFetch recipe ([#​28389](https://redirect.github.com/nuxt/nuxt/pull/28389)) - Update useRuntimeConfig source path ([#​28553](https://redirect.github.com/nuxt/nuxt/pull/28553)) - Add line-breaks to tips in Module Author Guide ([#​28587](https://redirect.github.com/nuxt/nuxt/pull/28587)) - Update nuxt scripts status ([#​28629](https://redirect.github.com/nuxt/nuxt/pull/28629)) ##### ๐Ÿก Chore - **schema:** Fix typo ([#​28377](https://redirect.github.com/nuxt/nuxt/pull/28377)) - **nuxt:** Use router code reference permalink ([#​28356](https://redirect.github.com/nuxt/nuxt/pull/28356)) - **nuxt:** Remove unnecessary await ([#​28407](https://redirect.github.com/nuxt/nuxt/pull/28407)) - Upgrade vue in a separate pr ([#​28414](https://redirect.github.com/nuxt/nuxt/pull/28414)) - Update docs typecheck command ([49de5f731](https://redirect.github.com/nuxt/nuxt/commit/49de5f731)) - Lint ([cab9e5c35](https://redirect.github.com/nuxt/nuxt/commit/cab9e5c35)) - Fix some typos in comments ([#​28501](https://redirect.github.com/nuxt/nuxt/pull/28501)) ##### โœ… Tests - Disable `pageTransition` in client-only page ([#​27839](https://redirect.github.com/nuxt/nuxt/pull/27839)) - Ignore `SharedComponent` in server head ([510f3e28f](https://redirect.github.com/nuxt/nuxt/commit/510f3e28f)) - Update bundle size ([3ecb95a7c](https://redirect.github.com/nuxt/nuxt/commit/3ecb95a7c)) ##### ๐Ÿค– CI - Add reproduire-sur-stackblitz workflow ([#​28531](https://redirect.github.com/nuxt/nuxt/pull/28531)) ##### โค๏ธ Contributors - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - Julien Huang ([@​huang-julien](https://redirect.github.com/huang-julien)) - Maxime Pauvert ([@​maximepvrt](https://redirect.github.com/maximepvrt)) - felix-dolderer ([@​felix-dolderer](https://redirect.github.com/felix-dolderer)) - Nicolas Payot ([@​nicolaspayot](https://redirect.github.com/nicolaspayot)) - Kewin Szlezingier ([@​kewinzaq1](https://redirect.github.com/kewinzaq1)) - Vasily Kuzin ([@​ExEr7um](https://redirect.github.com/ExEr7um)) - xjccc ([@​xjccc](https://redirect.github.com/xjccc)) - Martin Andrรฉ ([@​Martichou](https://redirect.github.com/Martichou)) - Mike Laumann Bellika ([@​MikeBellika](https://redirect.github.com/MikeBellika)) - Typed SIGTERM ([@​typed-sigterm](https://redirect.github.com/typed-sigterm)) - Horu ([@​HigherOrderLogic](https://redirect.github.com/HigherOrderLogic)) - Son Tran ([@​trandaison](https://redirect.github.com/trandaison)) - rubyisrust ([@​rubyisrust](https://redirect.github.com/rubyisrust)) - Matej ฤŒernรฝ ([@​CernyMatej](https://redirect.github.com/CernyMatej)) - Riley Ho ([@​rileychh](https://redirect.github.com/rileychh)) - Adam DeHaven ([@​adamdehaven](https://redirect.github.com/adamdehaven)) - Potter ([@​yxw007](https://redirect.github.com/yxw007)) - Martin Masevski ([@​Archetipo95](https://redirect.github.com/Archetipo95)) - BoogieBen. ([@​boogie-ben](https://redirect.github.com/boogie-ben)) - Tobias Diez ([@​tobiasdiez](https://redirect.github.com/tobiasdiez)) - Michael Brevard ([@​GalacticHypernova](https://redirect.github.com/GalacticHypernova)) - Damian Gล‚owala ([@​DamianGlowala](https://redirect.github.com/DamianGlowala)) - Lucie ([@​lihbr](https://redirect.github.com/lihbr)) - Yasser Lahbibi ([@​yassilah](https://redirect.github.com/yassilah)) - Sรฉbastien Chopin ([@​atinux](https://redirect.github.com/atinux)) - [@​beer](https://redirect.github.com/beer) ([@​iiio2](https://redirect.github.com/iiio2)) - AuroraTea ([@​AuroraTea](https://redirect.github.com/AuroraTea)) - Bobbie Goede ([@​BobbieGoede](https://redirect.github.com/BobbieGoede)) - Alexander Lichter ([@​manniL](https://redirect.github.com/manniL)) - nuxt-studio\[bot] ([@​nuxt-studio](https://redirect.github.com/nuxt-studio)\[bot]) - Vaci ([@​vacijj](https://redirect.github.com/vacijj)) - FELIPE COSTA DE OLIVEIRA ([@​FelipeO16](https://redirect.github.com/FelipeO16)) - ไธ€็บธๅฟ˜ๅฟง ([@​ikxin](https://redirect.github.com/ikxin)) - Meo ([@​miaobuao](https://redirect.github.com/miaobuao)) - Mohab Sameh ([@​mohab-sameh](https://redirect.github.com/mohab-sameh)) - Quentin Macq ([@​quentinmcq](https://redirect.github.com/quentinmcq)) - Johan Krijt ([@​johankrijt](https://redirect.github.com/johankrijt)) ### [`v3.12.4`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.12.4) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.12.3...v3.12.4) > 3.12.4 is the next regularly scheduled patch release. #### ๐Ÿ‘‰ Changelog [compare changes](https://redirect.github.com/nuxt/nuxt/compare/v3.12.3...v3.12.4) ##### ๐Ÿ”ฅ Performance - **vite:** Start warmups after nitro build ([#​27963](https://redirect.github.com/nuxt/nuxt/pull/27963)) - **vite:** Avoid extra resolve call for `resolveId` in layers ([#​27971](https://redirect.github.com/nuxt/nuxt/pull/27971)) - **kit,nuxt,schema,vite,webpack:** Use explicit exports ([#​27998](https://redirect.github.com/nuxt/nuxt/pull/27998)) ##### ๐Ÿฉน Fixes - **schema:** Resolve public alias correctly ([#​27975](https://redirect.github.com/nuxt/nuxt/pull/27975)) - **nuxt:** Omit rendering payload prefetch when `noScripts` ([#​27972](https://redirect.github.com/nuxt/nuxt/pull/27972)) - **nuxt:** Add `/` as fallback if page can't be identified ([e6109b226](https://redirect.github.com/nuxt/nuxt/commit/e6109b226)) - **ui-templates:** Validate templates with `html-validate` ([#​28024](https://redirect.github.com/nuxt/nuxt/pull/28024)) - **schema:** Don't constrain postcss plugin options ([#​28045](https://redirect.github.com/nuxt/nuxt/pull/28045)) - **kit:** Remove exports from v4 branch ([5c8312e9b](https://redirect.github.com/nuxt/nuxt/commit/5c8312e9b)) - **nuxt:** Use `unhead` key for ad-hoc module options ([#​28088](https://redirect.github.com/nuxt/nuxt/pull/28088)) - **nuxt:** Use native vue-router composables ([#​28114](https://redirect.github.com/nuxt/nuxt/pull/28114)) - **kit:** Ensure `getNuxtVersion` returns `string` ([#​28125](https://redirect.github.com/nuxt/nuxt/pull/28125)) - **nuxt:** Always prerender at least one page with crawler ([#​28131](https://redirect.github.com/nuxt/nuxt/pull/28131)) - **nuxt:** Consider doc `scroll-padding-top` in scrollBehavior ([#​28083](https://redirect.github.com/nuxt/nuxt/pull/28083)) - **nuxt:** Only warn when `useAsyncData` returns undefined ([#​28154](https://redirect.github.com/nuxt/nuxt/pull/28154)) - **nuxt:** Revert change to `getCachedData` null response ([d10cea11b](https://redirect.github.com/nuxt/nuxt/commit/d10cea11b)) - **schema:** Don't use `app/` as `srcDir` if it doesn't exist ([#​28176](https://redirect.github.com/nuxt/nuxt/pull/28176)) - **kit:** Normalise `serverDir` within layers using v4 compat ([#​28177](https://redirect.github.com/nuxt/nuxt/pull/28177)) - **nuxt:** Allow `getCachedData` to return undefined ([#​28187](https://redirect.github.com/nuxt/nuxt/pull/28187)) - **nuxt:** Use `addEventListener` to register cookie store listener ([#​28193](https://redirect.github.com/nuxt/nuxt/pull/28193)) - **nuxt:** Merge route meta properties with scanned meta ([#​28170](https://redirect.github.com/nuxt/nuxt/pull/28170)) - **nuxt:** Prevent duplicate `set-cookie` headers ([#​28211](https://redirect.github.com/nuxt/nuxt/pull/28211)) ##### ๐Ÿ’… Refactors - **schema,vite,webpack:** Rework `postcss` module loading ([#​27946](https://redirect.github.com/nuxt/nuxt/pull/27946)) - **nuxt:** Remove `_registeredComponents` from ssrContext ([#​27819](https://redirect.github.com/nuxt/nuxt/pull/27819)) - **nuxt:** Use `errx` to handle dev log traces ([#​28027](https://redirect.github.com/nuxt/nuxt/pull/28027)) ##### ๐Ÿ“– Documentation - Fix link ([83bd4fde9](https://redirect.github.com/nuxt/nuxt/commit/83bd4fde9)) - Fix Cloudflare spelling ([#​27989](https://redirect.github.com/nuxt/nuxt/pull/27989)) - Update example to use `nuxtApp.runWithContext` ([#​28000](https://redirect.github.com/nuxt/nuxt/pull/28000)) - Remove deprecated `pending` variable from data fetching docs ([#​28011](https://redirect.github.com/nuxt/nuxt/pull/28011)) - Clarify xrsp danger ([#​28053](https://redirect.github.com/nuxt/nuxt/pull/28053)) - Deprecate pending and emphasis undefined ([#​28113](https://redirect.github.com/nuxt/nuxt/pull/28113)) - Update phrasing in route announcer ([#​28108](https://redirect.github.com/nuxt/nuxt/pull/28108)) - Use code groups for install commands in module guide ([#​28094](https://redirect.github.com/nuxt/nuxt/pull/28094)) - Capitalize text ([#​28056](https://redirect.github.com/nuxt/nuxt/pull/28056)) - Mention content in upgrade guide v4 folder structure ([#​28090](https://redirect.github.com/nuxt/nuxt/pull/28090)) - Remove a resolved issue from view transition docs ([#​28091](https://redirect.github.com/nuxt/nuxt/pull/28091)) - Clarify navigateTo is not for nitro routes ([#​28092](https://redirect.github.com/nuxt/nuxt/pull/28092)) - Warn about nested islands ([#​28062](https://redirect.github.com/nuxt/nuxt/pull/28062)) - Add info about `layers/` directory ([#​28128](https://redirect.github.com/nuxt/nuxt/pull/28128)) - Codemods for migrating to Nuxt 4 ([#​28072](https://redirect.github.com/nuxt/nuxt/pull/28072)) ##### โœ… Tests - Add `typeCheck` test in minimal build ([#​28166](https://redirect.github.com/nuxt/nuxt/pull/28166)) ##### ๐Ÿค– CI - Run prepare step before linting docs ([f8fbefb42](https://redirect.github.com/nuxt/nuxt/commit/f8fbefb42)) - Run prepare step before linting docs ([d629b82b3](https://redirect.github.com/nuxt/nuxt/commit/d629b82b3)) ##### โค๏ธ Contributors - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - arshcodemod ([@​arshcodemod](https://redirect.github.com/arshcodemod)) - xjccc ([@​xjccc](https://redirect.github.com/xjccc)) - Julien Huang ([@​huang-julien](https://redirect.github.com/huang-julien)) - BoogieBen ([@​boogie-ben](https://redirect.github.com/boogie-ben)) - Santiago A ([@​santiagoaloi](https://redirect.github.com/santiagoaloi)) - Bobbie Goede ([@​BobbieGoede](https://redirect.github.com/BobbieGoede)) - John Tanzer ([@​moshetanzer](https://redirect.github.com/moshetanzer)) - Thomas ([@​ThomasWT](https://redirect.github.com/ThomasWT)) - [@​beer](https://redirect.github.com/beer) ([@​iiio2](https://redirect.github.com/iiio2)) - Dominic ([@​rexhent](https://redirect.github.com/rexhent)) - Alex Liu ([@​Mini-ghost](https://redirect.github.com/Mini-ghost)) - Florian Metz ([@​Timeraa](https://redirect.github.com/Timeraa)) - Liran Tal ([@​lirantal](https://redirect.github.com/lirantal)) - Daniel Kelly ([@​danielkellyio](https://redirect.github.com/danielkellyio)) - Daniel Flanagan ([@​FlantasticDan](https://redirect.github.com/FlantasticDan)) - ๅฑฑๅน่‰ฒๅพกๅฎˆ ([@​KazariEX](https://redirect.github.com/KazariEX)) - izzy goldman ([@​izzygld](https://redirect.github.com/izzygld)) - Anthony Fu ([@​antfu](https://redirect.github.com/antfu)) ### [`v3.12.3`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.12.3) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.12.2...v3.12.3) > 3.12.3 is the next regularly scheduled patch release. #### ๐Ÿ‘‰ Changelog [compare changes](https://redirect.github.com/nuxt/nuxt/compare/v3.12.2...v3.12.3) ##### ๐Ÿ”ฅ Performance - **nuxt,vite:** Use native fs utils rather than `fs-extra` ([#​27787](https://redirect.github.com/nuxt/nuxt/pull/27787)) - **schema:** Use `chokidar` when a custom `srcDir` is provided ([#​27871](https://redirect.github.com/nuxt/nuxt/pull/27871)) - **nuxt:** Ensure `prefetchComponents` is treeshaken on server ([#​27905](https://redirect.github.com/nuxt/nuxt/pull/27905)) ##### ๐Ÿฉน Fixes - **nuxt:** Flag async data promise as cancelled only if defined ([#​27690](https://redirect.github.com/nuxt/nuxt/pull/27690)) - **schema:** Handle backwards compat for `dir.app` ([0c73cb734](https://redirect.github.com/nuxt/nuxt/commit/0c73cb734)) - **nuxt:** Support hoisting types of subpath imports ([#​27720](https://redirect.github.com/nuxt/nuxt/pull/27720)) - **nuxt:** Resolve routes when `navigateTo` called with `open` ([#​27742](https://redirect.github.com/nuxt/nuxt/pull/27742)) - **nuxt:** Handle subpaths more correctly ([d7402a799](https://redirect.github.com/nuxt/nuxt/commit/d7402a799)) - **nuxt:** Delay navigation until user input is acknowledged ([#​27743](https://redirect.github.com/nuxt/nuxt/pull/27743)) - **nuxt:** Resolve aliases used in nitro plugin paths ([#​27741](https://redirect.github.com/nuxt/nuxt/pull/27741)) - **schema:** Do not use full path assets/public aliases ([d0518650f](https://redirect.github.com/nuxt/nuxt/commit/d0518650f)) - **nuxt:** Defer registering inp handler until nuxt is mounted ([866a5319a](https://redirect.github.com/nuxt/nuxt/commit/866a5319a)) - **nuxt:** Add `refresh` type in server component refs ([#​27778](https://redirect.github.com/nuxt/nuxt/pull/27778)) - **nuxt:** Extract all-literal page meta ([#​27821](https://redirect.github.com/nuxt/nuxt/pull/27821)) - **kit:** Handle loading nuxt 4+ ([cf251bd48](https://redirect.github.com/nuxt/nuxt/commit/cf251bd48)) - **nuxt:** Handle external links to named route objects ([#​27829](https://redirect.github.com/nuxt/nuxt/pull/27829)) - **nuxt:** Use URL to encode redirected URLs ([#​27822](https://redirect.github.com/nuxt/nuxt/pull/27822)) - **nuxt:** Don't use app version when verifying nuxt deps ([#​27864](https://redirect.github.com/nuxt/nuxt/pull/27864)) - **nuxt:** Prompt to set compatibility date with latest nitro ([#​27893](https://redirect.github.com/nuxt/nuxt/pull/27893)) - **nuxt:** Add `#vue-router` alias for backwards compat ([#​27896](https://redirect.github.com/nuxt/nuxt/pull/27896)) - **nuxt:** Move app augments to core `nuxt` types ([#​27900](https://redirect.github.com/nuxt/nuxt/pull/27900)) - **nuxt:** Pass augmented pages to child paths ([ecb35d3a2](https://redirect.github.com/nuxt/nuxt/commit/ecb35d3a2)) - **nuxt:** Use pascal name when loading server component ([#​27928](https://redirect.github.com/nuxt/nuxt/pull/27928)) - **nuxt:** Improve async data warning ([#​27874](https://redirect.github.com/nuxt/nuxt/pull/27874), [#​27934](https://redirect.github.com/nuxt/nuxt/pull/27934)) - **nuxt:** Allow configuring server components in modules ([#​27936](https://redirect.github.com/nuxt/nuxt/pull/27936)) - **vite:** Omit css `?raw` from head when in dev mode ([#​27940](https://redirect.github.com/nuxt/nuxt/pull/27940)) - **kit,nuxt:** Ensure webworker types are available ([4cab71d66](https://redirect.github.com/nuxt/nuxt/commit/4cab71d66)) - **nuxt:** Seed crawler when prerendering pages ([#​27955](https://redirect.github.com/nuxt/nuxt/pull/27955)) - **vite:** Fix type issue with legacy dev bundler ([f9fa1a3e9](https://redirect.github.com/nuxt/nuxt/commit/f9fa1a3e9)) - **nuxt:** Improve dx around compatibility date prompt ([#​27965](https://redirect.github.com/nuxt/nuxt/pull/27965)) ##### ๐Ÿ’… Refactors - **kit,nuxt:** Use `performance.now` to measure time ([d14f7ec46](https://redirect.github.com/nuxt/nuxt/commit/d14f7ec46)) ##### ๐Ÿ“– Documentation - Add referral query variable to Vue School Links ([#​27670](https://redirect.github.com/nuxt/nuxt/pull/27670)) - Fix variable name ([#​27675](https://redirect.github.com/nuxt/nuxt/pull/27675)) - Clarify how transitions are configured globally ([#​27679](https://redirect.github.com/nuxt/nuxt/pull/27679)) - Remove outdated recommendation ([#​27691](https://redirect.github.com/nuxt/nuxt/pull/27691)) - Add `refreshCookie` on `useCookie` doc page ([#​27744](https://redirect.github.com/nuxt/nuxt/pull/27744)) - Sync changes from `main` branch ([e7fbc9f81](https://redirect.github.com/nuxt/nuxt/commit/e7fbc9f81)) - Remove outdated tip ([#​27773](https://redirect.github.com/nuxt/nuxt/pull/27773)) - Warn about awaiting `useFetch`/`AsyncData` in wrappers ([#​27785](https://redirect.github.com/nuxt/nuxt/pull/27785)) - Update some code groups with package manager examples ([#​27791](https://redirect.github.com/nuxt/nuxt/pull/27791)) - Hint to use runtime config ([#​27859](https://redirect.github.com/nuxt/nuxt/pull/27859)) - Use internal link ([#​27883](https://redirect.github.com/nuxt/nuxt/pull/27883)) - Update links to `vue-router` docs ([#​27895](https://redirect.github.com/nuxt/nuxt/pull/27895)) - Use internal link ([#​27894](https://redirect.github.com/nuxt/nuxt/pull/27894)) - Remove warning about type checking ([#​27911](https://redirect.github.com/nuxt/nuxt/pull/27911)) - `compatibilityVersion` is available in the latest release ([#​27919](https://redirect.github.com/nuxt/nuxt/pull/27919)) - Update roadmap + readme ([748bc751d](https://redirect.github.com/nuxt/nuxt/commit/748bc751d)) - Update `Nuxt 3` -> `Nuxt` or `Nuxt 3+` ([3c16c890c](https://redirect.github.com/nuxt/nuxt/commit/3c16c890c)) - Update reference to nightly release for testing nuxt 4 ([5d2dc9714](https://redirect.github.com/nuxt/nuxt/commit/5d2dc9714)) - Remove duplicate server-side notice in runtime config ([#​27929](https://redirect.github.com/nuxt/nuxt/pull/27929)) - Warn about ref unwrapping when auto-importing `ref`s ([#​27933](https://redirect.github.com/nuxt/nuxt/pull/27933)) - Mention layers in directory guide ([c222fe7aa](https://redirect.github.com/nuxt/nuxt/commit/c222fe7aa)) ##### ๐Ÿก Chore - Use absolute urls for sources to assets in readme ([5ef305cec](https://redirect.github.com/nuxt/nuxt/commit/5ef305cec)) - Use relative links and update in build script ([7dd15186e](https://redirect.github.com/nuxt/nuxt/commit/7dd15186e)) - Use backup file extension ([a42a3869b](https://redirect.github.com/nuxt/nuxt/commit/a42a3869b)) - Allow changelogs with breaking changes ([e11587189](https://redirect.github.com/nuxt/nuxt/commit/e11587189)) - Allow major bumps ([dea0b86c7](https://redirect.github.com/nuxt/nuxt/commit/dea0b86c7)) - Add `4x` tag for v4 nightly releases ([9d5dd5494](https://redirect.github.com/nuxt/nuxt/commit/9d5dd5494)) - **vite:** Restore utils required for `dev-bundler` ([e3448fa0d](https://redirect.github.com/nuxt/nuxt/commit/e3448fa0d)) - Remove nitro/h3 from renovate, and reenable vitejs/vue ([9037b0d2c](https://redirect.github.com/nuxt/nuxt/commit/9037b0d2c)) - Improve type safety with indexed access ([#​27626](https://redirect.github.com/nuxt/nuxt/pull/27626)) - Add [@​danielroe](https://redirect.github.com/danielroe) to code owners ([7fa957729](https://redirect.github.com/nuxt/nuxt/commit/7fa957729)) - Remove renovate configuration from `2.x` branch ([8003cf72f](https://redirect.github.com/nuxt/nuxt/commit/8003cf72f)) - Remove issue template for 2.x ([9f9fb9251](https://redirect.github.com/nuxt/nuxt/commit/9f9fb9251)) - Remove unused variable ([f07969d88](https://redirect.github.com/nuxt/nuxt/commit/f07969d88)) ##### โœ… Tests - **schema:** Normalize snapshot paths for windows ([#​27654](https://redirect.github.com/nuxt/nuxt/pull/27654)) - **nuxt:** Normalize paths for windows ([#​27653](https://redirect.github.com/nuxt/nuxt/pull/27653)) - Bump timeout for node-compat test ([228b8b889](https://redirect.github.com/nuxt/nuxt/commit/228b8b889)) - Slightly improve test reliability ([#​27811](https://redirect.github.com/nuxt/nuxt/pull/27811)) ##### ๐Ÿค– CI - Update changelog from 3.x branch updates ([2b6967fbb](https://redirect.github.com/nuxt/nuxt/commit/2b6967fbb)) - Add 3x tag instead ([c0ef279f2](https://redirect.github.com/nuxt/nuxt/commit/c0ef279f2)) - Run workflows against 3.x branch as well ([31255a14d](https://redirect.github.com/nuxt/nuxt/commit/31255a14d)) - Use correct SHA calculation for release-pr action ([#​27604](https://redirect.github.com/nuxt/nuxt/pull/27604)) - Resolve bash syntax error ([#​27789](https://redirect.github.com/nuxt/nuxt/pull/27789)) - Only run scorecards against `main` branch ([7abd982f8](https://redirect.github.com/nuxt/nuxt/commit/7abd982f8)) - Raise renovate prs against 3.x branch too ([f176c150a](https://redirect.github.com/nuxt/nuxt/commit/f176c150a)) - Ignore `@vitejs/plugin-vue` again ([56660cbdd](https://redirect.github.com/nuxt/nuxt/commit/56660cbdd)) - Prevent more than one release from occurring at same time ([71705550f](https://redirect.github.com/nuxt/nuxt/commit/71705550f)) - Don't run changelog update on 2.x branch ([1be639364](https://redirect.github.com/nuxt/nuxt/commit/1be639364)) ##### โค๏ธ Contributors - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - Typed SIGTERM ([@​typed-sigterm](https://redirect.github.com/typed-sigterm)) - Seno ([@​s-en-o](https://redirect.github.com/s-en-o)) - Julien Huang ([@​huang-julien](https://redirect.github.com/huang-julien)) - Michael Brevard ([@​GalacticHypernova](https://redirect.github.com/GalacticHypernova)) - Ryota Watanabe ([@​wattanx](https://redirect.github.com/wattanx)) - Martin Masevski ([@​Archetipo95](https://redirect.github.com/Archetipo95)) - Alex Liu ([@​Mini-ghost](https://redirect.github.com/Mini-ghost)) - Bochkarev Ivan ([@​Ibochkarev](https://redirect.github.com/Ibochkarev)) - Alexander Lichter ([@​manniL](https://redirect.github.com/manniL)) - Dominic ([@​rexhent](https://redirect.github.com/rexhent)) - Aviv Keller ([@​RedYetiDev](https://redirect.github.com/RedYetiDev)) - Maxime Pauvert ([@​maximepvrt](https://redirect.github.com/maximepvrt)) - Daniel Kelly ([@​danielkellyio](https://redirect.github.com/danielkellyio)) - Damian Gล‚owala ([@​DamianGlowala](https://redirect.github.com/DamianGlowala)) - Idorenyin Udoh ([@​idorenyinudoh](https://redirect.github.com/idorenyinudoh)) ### [`v3.12.2`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.12.2) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.12.1...v3.12.2) > 3.12.2 is the a regularly scheduled patch release. ##### โœ… Upgrading As usual, our recommendation for upgrading is to run: ```sh npx nuxi@latest upgrade --force ``` This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem. ##### ๐Ÿ‘‰ Changelog [compare changes](https://redirect.github.com/nuxt/nuxt/compare/v3.12.1...v3.12.2) ##### ๐Ÿ”ฅ Performance - **kit:** Deduplicate layers before resolving config ([#​27582](https://redirect.github.com/nuxt/nuxt/pull/27582)) - **webpack:** Decrease assets map iterations ([d929cd4ef](https://redirect.github.com/nuxt/nuxt/commit/d929cd4ef)) - **kit:** Various performance improvements ([#​27600](https://redirect.github.com/nuxt/nuxt/pull/27600)) - **vite:** Various performance improvements ([#​27601](https://redirect.github.com/nuxt/nuxt/pull/27601)) - **nuxt:** Don't wait for key deps check ([#​27638](https://redirect.github.com/nuxt/nuxt/pull/27638)) ##### ๐Ÿฉน Fixes - **nuxt:** Call `onNuxtReady` callback without arguments ([#​27428](https://redirect.github.com/nuxt/nuxt/pull/27428)) - **schema:** Don't narrow head string types to literals ([#​27540](https://redirect.github.com/nuxt/nuxt/pull/27540)) - **schema:** `app/` dir backwards compatibility ([#​27529](https://redirect.github.com/nuxt/nuxt/pull/27529)) - **nuxt:** Manually assign payload reactivity when `ssr: false` ([#​27542](https://redirect.github.com/nuxt/nuxt/pull/27542)) - **nuxt:** Only log warning once per `runtimeConfig` key ([9e56b60c6](https://redirect.github.com/nuxt/nuxt/commit/9e56b60c6)) - **nuxt:** Overwrite `#app/defaults` rather than augmenting ([#​27567](https://redirect.github.com/nuxt/nuxt/pull/27567)) - **nuxt:** Export `useRouteAnnouncer` ([#​27562](https://redirect.github.com/nuxt/nuxt/pull/27562)) - **nuxt:** Remove backticks around runtimeConfig warning log ([#​27549](https://redirect.github.com/nuxt/nuxt/pull/27549)) - **nuxt:** Close top-level watcher on nuxt 'close' ([#​27571](https://redirect.github.com/nuxt/nuxt/pull/27571)) - **nuxt:** Handle tsx code when extracting pageMeta/routeRules ([#​27583](https://redirect.github.com/nuxt/nuxt/pull/27583)) - **nuxt:** Handle more edge cases with external/custom links ([#​27487](https://redirect.github.com/nuxt/nuxt/pull/27487)) - **nuxt:** Preserve route metadata assigned outside page ([#​27587](https://redirect.github.com/nuxt/nuxt/pull/27587)) - **nuxt:** Use portal to sync nitro/nuxt runtimeConfig + routeRules ([#​27596](https://redirect.github.com/nuxt/nuxt/pull/27596)) - **nuxt,schema:** Add types for `_installedModules` ([e4bfea642](https://redirect.github.com/nuxt/nuxt/commit/e4bfea642)) - **nuxt:** Include build-time pages in prerender routes ([#​27569](https://redirect.github.com/nuxt/nuxt/pull/27569)) - **nuxt:** Warn when async data doesn't return a value ([#​27599](https://redirect.github.com/nuxt/nuxt/pull/27599)) - **nuxt:** Replace deprecated `app.rootId` with `app.rootAttrs.id` ([#​27630](https://redirect.github.com/nuxt/nuxt/pull/27630)) - **nuxt:** Add `mergeProps` import in islands transform ([#​27622](https://redirect.github.com/nuxt/nuxt/pull/27622)) - **nuxt:** Reset cookie timeoutLength after expiration ([#​27632](https://redirect.github.com/nuxt/nuxt/pull/27632)) - **nuxt:** Add missing island uid for selective client components ([#​27633](https://redirect.github.com/nuxt/nuxt/pull/27633)) - **schema,vite:** Respect `vite.cacheDir` if defined ([#​27628](https://redirect.github.com/nuxt/nuxt/pull/27628)) - **nuxt:** Unregister hooks the moment `close` is called ([#​27637](https://redirect.github.com/nuxt/nuxt/pull/27637)) - **nuxt:** Add missing script stubs ([#​27640](https://redirect.github.com/nuxt/nuxt/pull/27640)) - **nuxt:** Only inject root path in prerender ([44cada95a](https://redirect.github.com/nuxt/nuxt/commit/44cada95a)) - **nuxt:** Reduce usage of cjs utilities ([#​27642](https://redirect.github.com/nuxt/nuxt/pull/27642)) - **nuxt:** Add `/` even if pages module isn't enabled ([dabcb5ecc](https://redirect.github.com/nuxt/nuxt/commit/dabcb5ecc)) ##### ๐Ÿ“– Documentation - Add warning about bridge migration with `head` ([#​27575](https://redirect.github.com/nuxt/nuxt/pull/27575)) - Update compatibility example ([4b28d2628](https://redirect.github.com/nuxt/nuxt/commit/4b28d2628)) - Document new `clear()` function added in 3.11 ([#​27615](https://redirect.github.com/nuxt/nuxt/pull/27615)) - String vs object errors + accessing data of server-thrown errors ([#​27398](https://redirect.github.com/nuxt/nuxt/pull/27398)) - Correct Cloudflare deployment recommendations ([#​27641](https://redirect.github.com/nuxt/nuxt/pull/27641)) ##### ๐Ÿก Chore - Add extra types for empty array definitions ([02945b9fa](https://redirect.github.com/nuxt/nuxt/commit/02945b9fa)) - Remove stub types file for `webpack-virtual-modules` ([58dd7f3a6](https://redirect.github.com/nuxt/nuxt/commit/58dd7f3a6)) - Lint ([cb77ddc30](https://redirect.github.com/nuxt/nuxt/commit/cb77ddc30)) ##### โœ… Tests - Add type test for nuxt module resolved types ([115fc2d18](https://redirect.github.com/nuxt/nuxt/commit/115fc2d18)) ##### ๐Ÿค– CI - Improve generated changelog ([d20266961](https://redirect.github.com/nuxt/nuxt/commit/d20266961)) ##### โค๏ธ Contributors - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - Julien Huang ([@​huang-julien](https://redirect.github.com/huang-julien)) - Alexandru Ungureanu ([@​unguul](https://redirect.github.com/unguul)) - Josh Dean ([@​jdbdnz](https://redirect.github.com/jdbdnz)) - Yusuf Mansur ร–zer ([@​ymansurozer](https://redirect.github.com/ymansurozer)) - Matteo Rigoni ([@​Rigo-m](https://redirect.github.com/Rigo-m)) - Leo Osa ([@​leoosa](https://redirect.github.com/leoosa)) - Levi (Nguyแป…n Lฦฐฦกng Huy) ([@​huynl-96](https://redirect.github.com/huynl-96)) - David Nahodyl ([@​Smef](https://redirect.github.com/Smef)) - Michael Brevard ([@​GalacticHypernova](https://redirect.github.com/GalacticHypernova)) - garthreckers ([@​garthreckers](https://redirect.github.com/garthreckers)) - Valerii Strilets ([@​letstri](https://redirect.github.com/letstri)) - Okuto Oyama ([@​yamanoku](https://redirect.github.com/yamanoku)) - Harlan Wilton ([@​harlan-zw](https://redirect.github.com/harlan-zw)) ### [`v3.12.1`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.12.1) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.12.0...v3.12.1) > 3.12.1 is a hotfix release to address a typo in the nuxt/script stub auto-imports. #### ๐Ÿ‘‰ Changelog [compare changes](https://redirect.github.com/nuxt/nuxt/compare/v3.12.0...v3.12.1) ##### ๐Ÿฉน Fixes - **nuxt:** Update registry list for `@nuxt/scripts` ([0252000d7](https://redirect.github.com/nuxt/nuxt/commit/0252000d7)) ##### ๐Ÿ’… Refactors - **schema:** Use `CompatibilityDateSpec` ([#​27521](https://redirect.github.com/nuxt/nuxt/pull/27521)) ##### ๐Ÿ“– Documentation - Update more references to v3.12 ([1d2eee00d](https://redirect.github.com/nuxt/nuxt/commit/1d2eee00d)) - Mention 3.12 for testing nuxt 4 ([#​27525](https://redirect.github.com/nuxt/nuxt/pull/27525)) ##### ๐Ÿก Chore - Fix release script ([7777f0564](https://redirect.github.com/nuxt/nuxt/commit/7777f0564)) - Lint ([24b8533e7](https://redirect.github.com/nuxt/nuxt/commit/24b8533e7)) - Bump `nuxi` dependency ([#​27526](https://redirect.github.com/nuxt/nuxt/pull/27526)) ##### โœ… Tests - Update scrolling test ([52b85a886](https://redirect.github.com/nuxt/nuxt/commit/52b85a886)) ##### โค๏ธ Contributors - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - Pooya Parsa ([@​pi0](https://redirect.github.com/pi0)) - Alexander Lichter ([@​manniL](https://redirect.github.com/manniL)) ### [`v3.12.0`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.12.0) [Compare Source](https://redirect.github.com/nuxt/nuxt/compare/v3.11.2...v3.12.0) #### ๐Ÿ‘€ Highlights We're on the road to the release of Nuxt 4, but we've not held back in Nuxt v3.12. A huge thank you to the 75+ Nuxt contributors and community members who have been part of this release. โค๏ธ ##### ๐Ÿš€ Testing Nuxt 4 changes Nuxt 4 is on the horizon, and it's now possible to test out the behaviour changes that will be coming in the next major release ([#​26925](https://redirect.github.com/nuxt/nuxt/pull/26925)) by setting an option in your `nuxt.config` file: ```ts export default defineNuxtConfig({ future: { compatibilityVersion: 4, }, }) ``` As we've been merging PRs for Nuxt 4, we've been enabling them behind this flag. As much as possible we're aiming for backwards compatibility - our test matrix is running the same fixtures in both v3 and v4 compatibility mode. There is a lot to say here, with 10+ different PRs and behaviour changes documented and testable, but for full details, including migration steps, see [the v4 upgrade documentation](https://nuxt.com/docs/getting-started/upgrade#testing-nuxt-4). We'd be very grateful for early testing of what's coming in Nuxt 4! ๐Ÿ™ ##### ๐Ÿ“œ Nuxt Scripts auto-install We've been gradually working to release [Nuxt Scripts](https://scripts.nuxt.com/). It's currently in public preview, but we're near a public release, so we've added some stubs for composables that (when used) will prompt installing the `@nuxt/scripts` module. ๐Ÿ‘‰ Watch out for the launch - and an article explaining more! ##### ๐ŸŒˆ Layer auto-registration and bugfixes Just like `~/modules`, any layers within your project in the `~/layers` directory will now be automatically registered as layers in your project ([#​27221](https://redirect.github.com/nuxt/nuxt/pull/27221)). We also now correctly load layer dependencies, which should resolve a range of issues with monorepos and git installations ([#​27338](https://redirect.github.com/nuxt/nuxt/pull/27338)). ##### ๐ŸŒ Built-in accessibility improvements We now have a built-in [``](https://nuxt.com/docs/api/components/nuxt-route-announcer) component and corresponding [`useRouteAnnouncer`](https://nuxt.com/docs/api/composables/use-route-announcer) composable, which will be added by default to new Nuxt templates going forward. For full details, see [the original PR (#​25741)](https://redirect.github.com/nuxt/nuxt/pull/25741) and [documentation](https://nuxt.com/docs/api/components/nuxt-route-announcer). We're continuing to work on `nuxt/a11y` - expect to hear more on that in future! ##### ๐Ÿ”ฅ Performance improvements We've landed some performance improvements as well, many of which are behind the `compatibilityVersion: 4` flag, such as a move away from deeply reactive asyncData payloads. Significant improvements include deduplicating modules ([#​27475](https://redirect.github.com/nuxt/nuxt/pull/27475)) - which will apply mostly to layer users who specify modules in their layers. In one project, we saw 30s+ improvement in starting Nuxt. We've also improved Vite dev server start up time by excluding common ESM dependencies from pre-bundling, and would suggest module authors consider doing the same ([#​27372](https://redirect.github.com/nuxt/nuxt/pull/27372)). We improved chunk determinism, so sequential builds should be less likely to have *completely* different chunk hashes ([#​27258](https://redirect.github.com/nuxt/nuxt/pull/27258)). And we tree shake more client-only composables from your server builds ([#​27044](https://redirect.github.com/nuxt/nuxt/pull/27044)), and have reduced the size of server component payloads ([#​26863](https://redirect.github.com/nuxt/nuxt/pull/26863)). ##### ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Multi-app support We've landed a couple of changes that take us toward a place of supporting multi-app natively in Nuxt, including a `multiApp` experimental flag ([#​27291](https://redirect.github.com/nuxt/nuxt/pull/27291)) and the ability to have multiple Nuxt app instances running in parallel at runtime ([#​27068](https://redirect.github.com/nuxt/nuxt/pull/27068)). While it's not yet ready, please do follow along on [the tracker issue](https://redirect.github.com/nuxt/nuxt/issues/21635), and feel free to pitch in if this is interesting to you. ##### โ›‘๏ธ DX wins We now serialise more things in your dev server logs, including VNodes ([#​27309](https://redirect.github.com/nuxt/nuxt/pull/27309)) and [URLs](https://redirect.github.com/nuxt/nuxt/commit/a549b46e9). We also addressed a bug that could lead to a frozen dev server. When accessing private runtime config in the browser, we now let you know with a more informative error message ([#​26441](https://redirect.github.com/nuxt/nuxt/pull/26441)). ##### ๐Ÿชจ Stabilising features We've removed some experimental options that have been stabilised and which we feel no longer need to be configurable: - `experimental.treeshakeClientOnly` (enabled by default since v3.0.0) - `experimental.configSchema` (enabled by default since v3.3.0) - `experimental.polyfillVueUseHead` (disabled since v3.4.0) - implementable in user-land with [plugin](https://redirect.github.com/nuxt/nuxt/blob/f209158352b09d1986aa320e29ff36353b91c358/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts#L10-L11) - `experimental.respectNoSSRHeader` (disabled since v3.4.0) - implementable in user-land with [server middleware](https://redirect.github.com/nuxt/nuxt/blob/c660b39447f0d5b8790c0826092638d321cd6821/packages/nuxt/src/core/runtime/nitro/no-ssr.ts#L8-L9) We've also enabled `scanPageMeta` by default ([#​27134](https://redirect.github.com/nuxt/nuxt/pull/27134)). This pulls out any page metadata in your `definePageMeta` macro, and makes it available to modules (like `@nuxtjs/i18n`) so they can augment it. This unlocks much better module/typed routing integration, but has a potential performance cost - so please file an issue if you experience any problems. ##### ๐Ÿ’ช Type improvements We now have support for typed `#fallback` slots in server components ([#​27097](https://redirect.github.com/nuxt/nuxt/pull/27097)). We've also improved some defaults in your generated `tsconfig.json`, including setting `module: 'preserve'` if you have a locally installed TypeScript v5.4 version ([see docs](https://www.typescriptlang.org/tsconfig/#preserve)) - see [#​26667](https://redirect.github.com/nuxt/nuxt/26667), [#​27485](https://redirect.github.com/nuxt/nuxt/27485). ###

Configuration

๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

๐Ÿ‘ป Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.



This PR was generated by Mend Renovate. View the repository job log.