gurvancampion / turborepo-nuxt-boilerplate

Nuxt.js 3 x Histoire x Vitest x VitePress x Turbo (pnpm)
MIT License
102 stars 15 forks source link

chore(deps): update devdependency nuxt to v3.8.2 (main) #348

Closed renovate[bot] closed 11 months ago

renovate[bot] commented 11 months ago

Mend Renovate logo banner

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
nuxt (source) 3.5.1 -> 3.8.2 age adoption passing confidence

Release Notes

nuxt/nuxt (nuxt) ### [`v3.8.2`](https://togithub.com/nuxt/nuxt/releases/tag/v3.8.2) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.8.1...v3.8.2) > 3.8.2 is a patch release focusing on bug fixes #### 👀 Highlights 3.8.2 is a patch release and we've deferred some exciting features in our next release (3.9.0, expected in December) but it does bring a significant [Nitro minor release: v2.8.0](https://togithub.com/unjs/nitro/releases/tag/v2.8.0). It's well worth checking out the release notes. 👉 Note that as Nitro has updated to rollup v4, but as Nuxt's vite dependency is still on rollup v3 until v3.9, you may experience type mismatches in modules or your projects if you are dependent on particular rollup plugins or plugin types. #### ✅ Upgrading As usual, our recommendation for upgrading is to run: ```sh nuxi 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://togithub.com/nuxt/nuxt/compare/v3.8.1...v3.8.2) ##### 🩹 Fixes - **vite:** Skip warming up node builtins ([#​24162](https://togithub.com/nuxt/nuxt/pull/24162)) - **vite:** Provide default values for `transformAssetUrls` ([#​24173](https://togithub.com/nuxt/nuxt/pull/24173)) - **nuxt:** Wrap caught asyncData error in `createError` ([#​24093](https://togithub.com/nuxt/nuxt/pull/24093)) - **nuxt:** Include plugin templates in `plugins.d.ts` if they will be written ([#​23943](https://togithub.com/nuxt/nuxt/pull/23943)) - **nuxt:** Handle multi-line slots in islands ([#​24212](https://togithub.com/nuxt/nuxt/pull/24212)) - **nuxt:** Fix replace regex used for slots in islands SSR ([#​24255](https://togithub.com/nuxt/nuxt/pull/24255)) - **vite:** Use rollup replace plugin for `typeof` optimisations ([#​23903](https://togithub.com/nuxt/nuxt/pull/23903)) - **nuxt:** Provide route component names to `KeepAlive` cache ([#​24024](https://togithub.com/nuxt/nuxt/pull/24024)) - **schema:** Use scule types for `runtimeConfig` type hints ([#​23696](https://togithub.com/nuxt/nuxt/pull/23696)) - **nuxt:** Deeply unwrap headers/query for `useFetch` key ([#​24307](https://togithub.com/nuxt/nuxt/pull/24307)) - **nuxt:** Split component name case in each segment ([#​24318](https://togithub.com/nuxt/nuxt/pull/24318)) - **nuxt:** Do not compute `useFetch` key from headers ([#​23462](https://togithub.com/nuxt/nuxt/pull/23462), [#​24333](https://togithub.com/nuxt/nuxt/pull/24333)) - **nuxt:** Set framework info for nitro ([#​24340](https://togithub.com/nuxt/nuxt/pull/24340)) - **schema:** Add type for `ignoreOptions` ([#​24337](https://togithub.com/nuxt/nuxt/pull/24337)) - **nuxt:** Log errors rendering islands ([#​24356](https://togithub.com/nuxt/nuxt/pull/24356)) - **nuxt:** Respect custom timeout in `useFetch` ([#​24364](https://togithub.com/nuxt/nuxt/pull/24364)) - **nuxt:** Use max length + iterations for `useCookie` timeout ([#​24253](https://togithub.com/nuxt/nuxt/pull/24253)) - **nuxt:** Handle errors when booting app with `app:error` ([#​24376](https://togithub.com/nuxt/nuxt/pull/24376)) ##### 📖 Documentation - Remove unused import from example ([#​24168](https://togithub.com/nuxt/nuxt/pull/24168)) - Create a page explaining `import.meta` ([#​24186](https://togithub.com/nuxt/nuxt/pull/24186)) - Remove link to `.nuxtrc` in `nuxt/starter` ([56147b4a8](https://togithub.com/nuxt/nuxt/commit/56147b4a8)) - Correct spelling from "opiniated" to "opinionated" ([#​24248](https://togithub.com/nuxt/nuxt/pull/24248)) - Mention new `defineNuxtPlugin` syntax in bridge migration ([#​23036](https://togithub.com/nuxt/nuxt/pull/23036)) - Mention `nuxt3-vuex-module` in migration guide ([#​24260](https://togithub.com/nuxt/nuxt/pull/24260)) - Fix links to other auto-imports pages ([#​24269](https://togithub.com/nuxt/nuxt/pull/24269)) - Remove only ([#​24295](https://togithub.com/nuxt/nuxt/pull/24295)) - Update link to deno deploy provider docs ([88ee7b7ea](https://togithub.com/nuxt/nuxt/commit/88ee7b7ea)) - Typos and wording tweaks for getting started section ([#​24319](https://togithub.com/nuxt/nuxt/pull/24319)) - Update `.gitignore` in directory structure ([#​24338](https://togithub.com/nuxt/nuxt/pull/24338)) - Add hint about `app.config` placement with custom `srcDir` ([#​24252](https://togithub.com/nuxt/nuxt/pull/24252)) - Typos and wording tweaks for guide section ([#​24323](https://togithub.com/nuxt/nuxt/pull/24323)) - Remove path for `` in example ([#​24244](https://togithub.com/nuxt/nuxt/pull/24244)) - Mention changing directory in installation guide ([#​23680](https://togithub.com/nuxt/nuxt/pull/23680)) - Use `@nuxt/kit-nightly` in example ([bdedc3207](https://togithub.com/nuxt/nuxt/commit/bdedc3207)) - Update `nuxi-edge` to `nuxi-nightly` ([#​24347](https://togithub.com/nuxt/nuxt/pull/24347)) - Minor wording & formatting tweaks ([#​24349](https://togithub.com/nuxt/nuxt/pull/24349)) - Add AWS Amplify Hosting to hosting providers ([#​24371](https://togithub.com/nuxt/nuxt/pull/24371)) - Fix typo ([#​24375](https://togithub.com/nuxt/nuxt/pull/24375)) - Simplify to deployments page ([13b93237e](https://togithub.com/nuxt/nuxt/commit/13b93237e)) - Update to /deploy url ([751dad7d7](https://togithub.com/nuxt/nuxt/commit/751dad7d7)) - Improve readme ([07ab072bc](https://togithub.com/nuxt/nuxt/commit/07ab072bc)) ##### 🏡 Chore - Extract `@nuxt/test-utils` to separate repo ([#​24146](https://togithub.com/nuxt/nuxt/pull/24146)) - Remove stray router.options file ([7fbcaf290](https://togithub.com/nuxt/nuxt/commit/7fbcaf290)) - Fix `repository` fields in `package.json` ([54529c17d](https://togithub.com/nuxt/nuxt/commit/54529c17d)) - Add homepage and repo directory to `package.json`s ([#​24189](https://togithub.com/nuxt/nuxt/pull/24189)) - Update to use `@nuxt/eslint-config` ([#​24209](https://togithub.com/nuxt/nuxt/pull/24209)) - Revert coverage provider version ([b90b631df](https://togithub.com/nuxt/nuxt/commit/b90b631df)) ##### ✅ Tests - Add route-provider e2e test ([#​24195](https://togithub.com/nuxt/nuxt/pull/24195)) - **nuxt:** Add additional unit tests for composables ([#​24289](https://togithub.com/nuxt/nuxt/pull/24289)) ##### ❤️ Contributors - Anthony Fu ([@​antfu](https://togithub.com/antfu)) - Sébastien Chopin ([@​Atinux](https://togithub.com/Atinux)) - Christian Gil ([@​ChrisGV04](https://togithub.com/ChrisGV04)) - Clément Ollivier ([@​clemcode](https://togithub.com/clemcode)) - Luke Nelson ([@​luc122c](https://togithub.com/luc122c)) - Siegerts ([@​siegerts](https://togithub.com/siegerts)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Joe Hawes ([@​morehawes](https://togithub.com/morehawes)) - Alexander Lichter ([@​manniL](https://togithub.com/manniL)) - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Damian Głowala ([@​DamianGlowala](https://togithub.com/DamianGlowala)) - Pooya Parsa ([@​pi0](https://togithub.com/pi0)) - Boby Tiwari ([@​Boby900](https://togithub.com/Boby900)) - Sita ([@​Pitabread8](https://togithub.com/Pitabread8)) - Nils Wiesinger ([@​warflash](https://togithub.com/warflash)) - Webfansplz ([@​webfansplz](https://togithub.com/webfansplz)) - Aaron_Zhou ([@​Clarkkkk](https://togithub.com/Clarkkkk)) - 56 ([@​Nationalcat](https://togithub.com/Nationalcat)) - Adrien Zaganelli ([@​adrienZ](https://togithub.com/adrienZ)) - Alonge Akintomide ([@​tomidealonge](https://togithub.com/tomidealonge)) - Nasser BOUKEHIL ([@​nasrob](https://togithub.com/nasrob)) - Passionate-bram ([@​passionate-bram](https://togithub.com/passionate-bram)) - Maxime Pauvert ([@​maximepvrt](https://togithub.com/maximepvrt)) - Dario Ferderber ([@​darioferderber](https://togithub.com/darioferderber)) - Brendan Mulholland ([@​bmulholland](https://togithub.com/bmulholland)) ### [`v3.8.1`](https://togithub.com/nuxt/nuxt/releases/tag/v3.8.1) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.8.0...v3.8.1) > 3.8.1 is a patch release focused on bug fixes and performance improvements. #### 👉 Changelog [compare changes](https://togithub.com/nuxt/nuxt/compare/v3.8.0...v3.8.1) ##### 🔥 Performance - **nuxt:** Set `pages` on nuxt app and deduplicate calls ([#​24032](https://togithub.com/nuxt/nuxt/pull/24032)) - **nuxt:** Remove pure annotations plugin ([#​24033](https://togithub.com/nuxt/nuxt/pull/24033)) - **nuxt:** Use granular imports for auto-importing composables ([#​23951](https://togithub.com/nuxt/nuxt/pull/23951)) ##### 🩹 Fixes - **nuxt:** Ensure we add prerender hints to correct event ([#​23799](https://togithub.com/nuxt/nuxt/pull/23799)) - **nuxt:** Close payload object ([#​23817](https://togithub.com/nuxt/nuxt/pull/23817)) - **schema:** Accept single string for `extends` ([#​23795](https://togithub.com/nuxt/nuxt/pull/23795)) - **nuxt:** Resolve internal `target: blank` links with base ([#​23751](https://togithub.com/nuxt/nuxt/pull/23751)) - **nuxt,schema:** Use `std-env` to detect whether app is being tested ([#​23830](https://togithub.com/nuxt/nuxt/pull/23830)) - **nuxt:** Use `.json` extension for server components ([#​23802](https://togithub.com/nuxt/nuxt/pull/23802)) - **nuxt:** Handle relative baseURL in nitro runtime config ([#​23841](https://togithub.com/nuxt/nuxt/pull/23841)) - **nuxt:** Improve watcher logs slightly ([#​23857](https://togithub.com/nuxt/nuxt/pull/23857)) - **nuxt:** Resolve `@unhead/vue` in template code ([#​23858](https://togithub.com/nuxt/nuxt/pull/23858)) - **kit:** Resolve module tsconfig paths relative to dirs ([#​23860](https://togithub.com/nuxt/nuxt/pull/23860)) - **nuxt,schema,vite,webpack:** Analyze w/o overriding config ([#​23856](https://togithub.com/nuxt/nuxt/pull/23856)) - **nuxt:** Don't use local fetch with an external `baseURL` ([#​23884](https://togithub.com/nuxt/nuxt/pull/23884)) - **nuxt:** Only skip refetching errors when hydrating ([#​23889](https://togithub.com/nuxt/nuxt/pull/23889)) - **webpack:** Use lodash `cloneDeep` again ([#​23888](https://togithub.com/nuxt/nuxt/pull/23888)) - **nuxt:** Init `$fetch` at entry start ([#​23906](https://togithub.com/nuxt/nuxt/pull/23906)) - **nuxt:** Render a div when client-only hydrates w/o element ([#​23899](https://togithub.com/nuxt/nuxt/pull/23899)) - **vite:** Remove `postcss-url` and duplicate `postcss-import` ([#​23861](https://togithub.com/nuxt/nuxt/pull/23861)) - **nuxt:** Use route key for loading indicator/view transition ([#​23868](https://togithub.com/nuxt/nuxt/pull/23868)) - **nuxt:** Unset `useCookie` value when it expires ([#​23549](https://togithub.com/nuxt/nuxt/pull/23549)) - **vite:** Use `h3` cors handler for vite routes only ([#​23995](https://togithub.com/nuxt/nuxt/pull/23995)) - **schema:** Correctly set default cssnano config ([#​23980](https://togithub.com/nuxt/nuxt/pull/23980)) - **nuxt:** Use payload url for isPrerendered, not current route ([#​24031](https://togithub.com/nuxt/nuxt/pull/24031)) - **vite:** Don't warm up css deps and normalise urls correctly ([#​23975](https://togithub.com/nuxt/nuxt/pull/23975)) - **kit:** Fix `addServerImportsDir` implementation ([#​24000](https://togithub.com/nuxt/nuxt/pull/24000)) - **nuxt:** Preserve hyphens in component/layout kebab names ([#​23902](https://togithub.com/nuxt/nuxt/pull/23902)) - **nuxt:** Do not register loading indicator hooks on server ([#​24052](https://togithub.com/nuxt/nuxt/pull/24052)) - **nuxt:** Reload nitro when spa loading template updates ([#​24036](https://togithub.com/nuxt/nuxt/pull/24036)) - **nuxt:** Resolve imports from virtual files ([#​24022](https://togithub.com/nuxt/nuxt/pull/24022)) - **vite:** Include more of warmup within try/catch ([#​24072](https://togithub.com/nuxt/nuxt/pull/24072)) - **nuxt:** Use shared `isChangingPage` util in scrollBehavior ([#​24091](https://togithub.com/nuxt/nuxt/pull/24091)) - **nuxt:** Account for delay ≤ 0 in `useCookie` ([#​24043](https://togithub.com/nuxt/nuxt/pull/24043)) - **nuxt:** Handle async children in `ClientFallback` ([#​24086](https://togithub.com/nuxt/nuxt/pull/24086)) - **vite:** Normalise entry id for `typeCheck` plugin ([#​24114](https://togithub.com/nuxt/nuxt/pull/24114)) ##### 💅 Refactors - **nuxt:** Use `useRequestEvent()` internally ([#​23916](https://togithub.com/nuxt/nuxt/pull/23916)) ##### 📖 Documentation - Add example of auto-importing components from npm package ([#​23792](https://togithub.com/nuxt/nuxt/pull/23792)) - Update minimum required Node version ([#​23821](https://togithub.com/nuxt/nuxt/pull/23821)) - **getting-started:** Add schema for server ([6d0f45469](https://togithub.com/nuxt/nuxt/commit/6d0f45469)) - Fix typo in pnpm install command ([#​23851](https://togithub.com/nuxt/nuxt/pull/23851)) - Add missing comma ([#​23870](https://togithub.com/nuxt/nuxt/pull/23870)) - Add missing nitro hooks ([#​23865](https://togithub.com/nuxt/nuxt/pull/23865)) - Fix typo in layout description ([#​23862](https://togithub.com/nuxt/nuxt/pull/23862)) - Fix typo in runtime-config page ([#​23882](https://togithub.com/nuxt/nuxt/pull/23882)) - Fix typo ([#​23912](https://togithub.com/nuxt/nuxt/pull/23912)) - Fix typos ([#​23921](https://togithub.com/nuxt/nuxt/pull/23921)) - Rename 3.nuxt.config.md to 3.nuxt-config.md ([#​23819](https://togithub.com/nuxt/nuxt/pull/23819)) - **composables:** Avoid double read-more in useAppConfig ([5fea17288](https://togithub.com/nuxt/nuxt/commit/5fea17288)) - Skip View Transitions API route middleware on server ([#​23935](https://togithub.com/nuxt/nuxt/pull/23935)) - Clarify that bridge supports definePageMeta ([#​23944](https://togithub.com/nuxt/nuxt/pull/23944)) - Fix small typo in nuxt.config.ts documentation ([#​23961](https://togithub.com/nuxt/nuxt/pull/23961)) - Update link to composables doc ([#​23989](https://togithub.com/nuxt/nuxt/pull/23989)) - Add a more helpful comment ([#​23999](https://togithub.com/nuxt/nuxt/pull/23999)) - Fix `useFetch` key generation logic ([#​24082](https://togithub.com/nuxt/nuxt/pull/24082)) - Fix typo ([#​24099](https://togithub.com/nuxt/nuxt/pull/24099)) - Fix imported `addPrerenderRoutes` name ([#​24102](https://togithub.com/nuxt/nuxt/pull/24102)) - Improve router docs on nuxt-injected options ([#​24126](https://togithub.com/nuxt/nuxt/pull/24126)) ##### 🏡 Chore - Revert pnpm upgrade ([e297368ee](https://togithub.com/nuxt/nuxt/commit/e297368ee)) ##### ✅ Tests - **nuxt:** Test remote islands for `NuxtIsland` ([#​23801](https://togithub.com/nuxt/nuxt/pull/23801)) - Update basic fixture config for vite 5 ([#​23859](https://togithub.com/nuxt/nuxt/pull/23859)) - Await before asserting console logs ([#​24051](https://togithub.com/nuxt/nuxt/pull/24051)) ##### 🤖 CI - Add doc deploy webhook trigger ([#​23828](https://togithub.com/nuxt/nuxt/pull/23828)) - Run nuxt 2 edge release on node 18 ([5b96049d9](https://togithub.com/nuxt/nuxt/commit/5b96049d9)) ##### ❤️ Contributors - Fabian B ([@​madebyfabian](https://togithub.com/madebyfabian)) - Mehdi Lahlou ([@​medfreeman](https://togithub.com/medfreeman)) - Webfansplz ([@​Webfansplz](https://togithub.com/Webfansplz)) - Damian Głowala ([@​DamianGlowala](https://togithub.com/DamianGlowala)) - Andrey Yolkin ([@​AndreyYolkin](https://togithub.com/AndreyYolkin)) - Vasilis Souvatzis ([@​vasisouv](https://togithub.com/vasisouv)) - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Marco Solazzi ([@​dwightjack](https://togithub.com/dwightjack)) - NiJia Lin ([@​louis70109](https://togithub.com/louis70109)) - Hugo Torzuoli ([@​HZooly](https://togithub.com/HZooly)) - Mathieu ALBIN ([@​jaegar-wolf](https://togithub.com/jaegar-wolf)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Jaap Roes ([@​jaap3](https://togithub.com/jaap3)) - Ryota Watanabe ([@​wattanx](https://togithub.com/wattanx)) - Sébastien Chopin ([@​Atinux](https://togithub.com/Atinux)) - Hossein-moghadam ([@​hosseinmoghaddam](https://togithub.com/hosseinmoghaddam)) - Bastien Rossi ([@​bastienrossi](https://togithub.com/bastienrossi)) - Ordago ([@​ordago](https://togithub.com/ordago)) - Jeffrey GONZALES ([@​jgonz3](https://togithub.com/jgonz3)) - Anthony Fu ([@​antfu](https://togithub.com/antfu)) - Leonard Mihalcea ([@​LeVoMihalcea](https://togithub.com/LeVoMihalcea)) - Paulo Pertierra ([@​paulo-pertierra](https://togithub.com/paulo-pertierra)) - Conner ([@​connerblanton](https://togithub.com/connerblanton)) - KeJun ([@​KeJunMao](https://togithub.com/KeJunMao)) - Bjorn Lu ([@​bluwy](https://togithub.com/bluwy)) - Salman Khattak ([@​khattaksd](https://togithub.com/khattaksd)) - Luke Nelson ([@​luc122c](https://togithub.com/luc122c)) - Jianqi Pan ([@​Jannchie](https://togithub.com/Jannchie)) - Matej Černý ([@​CernyMatej](https://togithub.com/CernyMatej)) ### [`v3.8.0`](https://togithub.com/nuxt/nuxt/releases/tag/v3.8.0) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.7.4...v3.8.0) #### 👀 Highlights We have a lot of exciting features in v3.8, and can't wait for you to try it out. ##### 💻 Nuxi improvements Just to remind you, we're now using [the new Nuxt CLI](https://togithub.com/nuxt/cli) which is now versioned separately. There are some exciting improvements there to follow, so do check out the latest releases. (For example, we now share the same port with the Vite websocket, meaning better support for docker containers in development.) ##### 🚨 Built-in Nuxt DevTools Nuxt DevTools v1.0.0 is out and we now think it's ready to be shipped as a direct dependency of Nuxt. 👉 You can check out [the release notes](https://togithub.com/nuxt/devtools/releases/tag/v1.0.0) for more information - and stay tuned for an article detailing our roadmap for the future. ##### 📸 Nuxt Image auto-install We've now made `` and `` first-class built-in components, [documenting them](https://togithub.com/nuxt/nuxt/pull/23741) and auto-installing `@nuxt/image` the first time that they are used ([#​23717](https://togithub.com/nuxt/nuxt/pull/23717)). https://github.com/nuxt/nuxt/assets/28706372/597c9307-5741-4d9c-8eab-aad5bfef2ef2 We would definitely advise using `@nuxt/image` if you're using images in your site; it can apply optimisations to make your site more performant. ##### 📂 Deeper layout scanning 🚨 **This is a behaviour change so do take care with this one:** 🚨 We now support scanning layouts within subfolders in `~/layouts` in the same way as we do with `~/components`. File | Layout name \-- | -- \~/layouts/desktop/default.vue | 'desktop-default' \~/layouts/desktop-base/base.vue | 'desktop-base' \~/layouts/desktop/index.vue | 'desktop' See [#​20190](https://togithub.com/nuxt/nuxt/pull/20190) for more information ##### 📊 App Manifest We now support a built-in app manifest (see [#​21641](https://togithub.com/nuxt/nuxt/pull/21641)), which generates a manifest at `/_nuxt/builds/meta/.json`. Initially this enables loading payloads only for prerendered routes, if a site is static (preventing 404s). It also enables *client-side* route rules. To begin with, only `redirect` route rules will have an effect; they will now redirect when performing client-side navigation. (More coming soon...!) The app manifest also enables future enhancements including detection of outdated deployments by checking `/_nuxt/builds/latest.json`. You can switch off this behaviour if you need to (but do let us know if you have any issues): ```ts export default defineNuxtConfig({ experimental: { appManifest: false } }) ``` ##### 🤝 Scope and context improvements We now define a 'scope' for Nuxt composables executed in plugins ([#​23667](https://togithub.com/nuxt/nuxt/pull/23667)), which allows running synchronous cleanup before navigating away from your site, using the Vue `onScopeDispose` lifecycle method. This should fix an edge case with cookies ([#​23697](https://togithub.com/nuxt/nuxt/pull/23697)) and also improves memory management, for example in Pinia stores ([#​23650](https://togithub.com/nuxt/nuxt/issues/23650)). You can [read more about Vue effect scopes](https://vuejs.org/api/reactivity-advanced.html#effectscope). We also now support **native async context** for the *Vue composition API* ([#​23526](https://togithub.com/nuxt/nuxt/pull/23526)). In case you're unaware, we support native async context on Node and Bun, enabled with `experimental.asyncContext`. This can help address issues with missing a Nuxt instance. But it didn't previously affect missing *Vue* instances. If you experience issues with 'Nuxt instance unavailable', enabling this option may solve your issues, and once we have cross-runtime support we are likely to enable it by default. ```ts export default defineNuxtConfig({ experimental: { asyncContext: true } }) ``` ##### 🔗 NuxtLink defaults We've supported defining your own `NuxtLink` components with the `defineNuxtLink` utility. We now support customising the options for the built-in ``, directly in your `nuxt.config` file ([#​23724](https://togithub.com/nuxt/nuxt/pull/23724)). This can enable you to enforce trailing slash behaviour across your entire site, for example. ```ts export default defineNuxtConfig({ experimental: { defaults: { nuxtLink: { activeClass: 'nuxt-link-active', trailingSlash: 'append' } } } }) ``` ##### ⚡️ Data fetching improvements: deep and caching We have two very significant new features for `useAsyncData` and `useFetch`: 1. You can now set `deep: false` to prevent deep reactivity on the `data` object returned from these composables ([#​23600](https://togithub.com/nuxt/nuxt/pull/23600)). It should be a performance improvement if you are returning large arrays or objects. The object will still update when refetched; it just won't trigger reactive effects if you change a property deep within the `data`. 2. You can now use the `getCachedData` option to handle custom caching for these composables ([#​20747](https://togithub.com/nuxt/nuxt/pull/20747)) ```ts const nuxtApp = useNuxtApp() const { data } = await useAsyncData(() => { /* fetcher */ }, { // this will not refetch if the key exists in the payload getCachedData: key => nuxtApp.payload.static[key] ?? nuxtApp.payload.data[key] }) ``` We also support configuring some default values for these composables in an app-wide way ([#​23725](https://togithub.com/nuxt/nuxt/pull/20747)): ```ts export default defineNuxtConfig({ experimental: { defaults: { useAsyncData: { deep: false }, useFetch: { retry: false, retryDelay: 100, retryStatusCodes: [500], timeout: 100 } } } }) ``` ##### 🔢 Layer improvements We now more carefully load layer plugins ([#​22889](https://togithub.com/nuxt/nuxt/pull/22889) and [#​23148](https://togithub.com/nuxt/nuxt/pull/23148)) and middleware ([#​22925](https://togithub.com/nuxt/nuxt/pull/22925) and [#​23552](https://togithub.com/nuxt/nuxt/pull/23552)) in the order of the layers, always loading your own plugins and middleware last. This should mean you can rely on utilities that layers may inject. We've also added a test suite to cover these layer resolution changes. And probably one of the most significant changes - if you are using remote layers we now clone these within your `node_modules/` folder ([#​109](https://togithub.com/unjs/c12/pull/109)) so layers can use dependencies with your project. See [`c12` release notes](https://togithub.com/unjs/c12/releases/tag/v1.5.1) for full details. ##### 😴 Nightly release channel Every commit to the `main` branch of Nuxt is automatically deployed to a new release, for easier testing before releases. We've renamed this from the 'edge release channel' to the 'nightly release channel' to avoid confusion with *edge deployments*. And probably also with Microsoft Edge (though I haven't heard that anyone was confused with that one!) ➡️ `nuxt3` is now `nuxt-nightly` ➡️ `nuxi-edge` is now `nuxi-nightly` ➡️ `@​nuxt/kit-edge` is now `@​nuxt/kit-nightly` ... and so on. You can read more about [how it works](https://nuxt.com/docs/guide/going-further/nightly-release-channel#nightly-release-channel). ##### ⚗️ Nitro v2.7 Nitro v2.7 has been released with lots of improvements and bug fixes - do check out [the full changelog](https://togithub.com/unjs/nitro/releases/tag/v2.7.0). 🔥 One of the most significant is that we now save ~40% of bundle size in production by using native `fetch` (which is supported in Node 18+) ([#​1724](https://togithub.com/unjs/nitro/pull/1724)). So if possible, we'd recommend you update your Node version to at least 18. ##### 💪 Type import changes 🚨 **This is likely to need code changes in your project** 🚨 Vue requires that type imports be explicit (so that the Vue compiler can correctly optimise and resolve type imports for props and so on). See [core Vue `tsconfig.json`](https://togithub.com/vuejs/tsconfig/blob/main/tsconfig.json#L30-L33). We've therefore taken the decision to turn on `verbatimModuleSyntax` by default in Nuxt projects, which will throw a type error if types are imported without an explicit `type` import. To resolve it you will need to update your imports: ```diff - import { someFunction, SomeOptions } from 'some-library' + import { someFunction } from 'some-library' + import type { SomeOptions } from 'some-library' ``` You may also encounter modules in the Nuxt ecosystem that need to be updated; please open an issue for those modules. I'm also very happy to help if you're encountering any problems with this, if you're a module author. Just tag me and I'll take a look. If for whatever reason you need to undo this change in your project you can set the following configuration: ```ts export default defineNuxtConfig({ typescript: { tsConfig: { compilerOptions: { verbatimModuleSyntax: false } } } }) ``` However, we'd recommend only doing that temporarily, as Vue does need this option to be set for best results. #### ✅ Upgrading As usual, our recommendation for upgrading is to run: ```sh nuxi upgrade ``` #### 👉 Changelog [compare changes](https://togithub.com/nuxt/nuxt/compare/v3.7.4...v3.8.0) ##### 🚀 Enhancements - **kit:** Add `addServerImports` and `addServerImportsDir` ([#​23288](https://togithub.com/nuxt/nuxt/pull/23288)) - **nuxt:** Warn when nesting nuxt links when SSR on dev ([#​23286](https://togithub.com/nuxt/nuxt/pull/23286)) - **nuxt:** Add `prerenderRoutes` ssr composable ([#​22863](https://togithub.com/nuxt/nuxt/pull/22863)) - **nuxt:** Enable `appManifest` by default ([#​23448](https://togithub.com/nuxt/nuxt/pull/23448)) - **nuxt:** Native async-context in vue's `withAsyncContext` ([#​23526](https://togithub.com/nuxt/nuxt/pull/23526)) - **nuxt:** Auto-install optional features on StackBlitz ([#​23607](https://togithub.com/nuxt/nuxt/pull/23607)) - **kit,nuxt,vite,webpack:** Support `-nightly` extension ([#​23508](https://togithub.com/nuxt/nuxt/pull/23508)) - **nuxt:** Add `@nuxt/devtools` as dependency and enable ([#​23576](https://togithub.com/nuxt/nuxt/pull/23576)) - **nuxt:** Support `deep: false` for data composables ([#​23600](https://togithub.com/nuxt/nuxt/pull/23600)) - **nuxt:** Custom cache support for data fetching composables ([#​20747](https://togithub.com/nuxt/nuxt/pull/20747)) - **nuxt:** Scan and register layouts in nested folders ([#​20190](https://togithub.com/nuxt/nuxt/pull/20190)) - **nuxt:** Prompt to autoinstall `@nuxt/image` when it is used ([#​23717](https://togithub.com/nuxt/nuxt/pull/23717)) - **nuxt:** Allow configuring default `` options ([#​23724](https://togithub.com/nuxt/nuxt/pull/23724)) - **nuxt:** Allow customising defaults for data composables ([#​23725](https://togithub.com/nuxt/nuxt/pull/23725)) ##### 🔥 Performance - **vite:** Don't print server compressed size after vite build ([#​23359](https://togithub.com/nuxt/nuxt/pull/23359)) - **nuxt:** Verbatim module syntax + restrict type discovery ([#​23447](https://togithub.com/nuxt/nuxt/pull/23447)) ##### 🩹 Fixes - **nuxt:** Initialise `asyncData` errors with `null` ([#​23428](https://togithub.com/nuxt/nuxt/pull/23428)) - **nuxt:** Apply scoped styles to islands ([#​23386](https://togithub.com/nuxt/nuxt/pull/23386)) - **nuxt:** Rename stub to avoid shadowing `vue-router` ([#​23440](https://togithub.com/nuxt/nuxt/pull/23440)) - **nuxt:** Stringify cookie values before broadcasting them ([#​23449](https://togithub.com/nuxt/nuxt/pull/23449)) - **kit:** Don't force `config.autoImport` in `addServerImports` ([#​23472](https://togithub.com/nuxt/nuxt/pull/23472)) - **nuxt:** Ignore prefix if `clearNuxtState` called w/o keys ([#​23483](https://togithub.com/nuxt/nuxt/pull/23483)) - **nuxt:** Decrement hydration count when rendering no route ([#​23476](https://togithub.com/nuxt/nuxt/pull/23476)) - **nuxt:** Compute fetch cache key with headers ([#​23462](https://togithub.com/nuxt/nuxt/pull/23462)) - **nuxt:** Mock hookable methods on nuxt 2 ([#​23502](https://togithub.com/nuxt/nuxt/pull/23502)) - **kit:** Revert accidental change to `addPrerenderRoutes` name ([#​23509](https://togithub.com/nuxt/nuxt/pull/23509)) - **nuxt:** Use `test`/`dev` as manifest buildId when appropriate ([#​23512](https://togithub.com/nuxt/nuxt/pull/23512)) - **nuxt:** Don't print warnings for unresolved ids ([#​23604](https://togithub.com/nuxt/nuxt/pull/23604)) - **nuxt:** Use import alias when checking if plugin is wrapped ([#​23617](https://togithub.com/nuxt/nuxt/pull/23617)) - **nuxt:** Tree shake all occurrences of `` ([#​23466](https://togithub.com/nuxt/nuxt/pull/23466)) - **nuxt:** Give priority to later middleware when deduping ([#​23552](https://togithub.com/nuxt/nuxt/pull/23552)) - **nuxt:** Clear cookie BroadcastChannel when scope is disposed ([#​23664](https://togithub.com/nuxt/nuxt/pull/23664)) - **nuxt:** Provide global scope for nuxt plugin context ([#​23667](https://togithub.com/nuxt/nuxt/pull/23667)) - **nuxt:** Resolve type error in options of `useFetch` ([#​23693](https://togithub.com/nuxt/nuxt/pull/23693)) - **webpack:** Remove `lodash-es` + simplify postcss resolution ([#​23692](https://togithub.com/nuxt/nuxt/pull/23692)) - **nuxt:** Skip hydration mismatches with client components ([#​19231](https://togithub.com/nuxt/nuxt/pull/19231)) - **nuxt:** Write cookie values before navigating away ([#​23697](https://togithub.com/nuxt/nuxt/pull/23697)) - **nuxt:** Refetch both undefined/null values in `useAsyncData` ([#​23351](https://togithub.com/nuxt/nuxt/pull/23351)) - **nuxt:** Don't mark redirected routes as prerendered ([#​23707](https://togithub.com/nuxt/nuxt/pull/23707)) - **nuxt:** Respect custom export in component transform ([#​23715](https://togithub.com/nuxt/nuxt/pull/23715)) - **nuxt:** Don't use `prerenderedAt` to override app manifest ([#​23781](https://togithub.com/nuxt/nuxt/pull/23781)) - **nuxt:** Restore `prerenderedAt` behaviour pending next patch ([108b1bdf7](https://togithub.com/nuxt/nuxt/commit/108b1bdf7)) ##### 📖 Documentation - Mention `listhen` options on nuxi dev page ([#​23415](https://togithub.com/nuxt/nuxt/pull/23415)) - Add examples for index.ts files on server routes ([#​23390](https://togithub.com/nuxt/nuxt/pull/23390)) - Improve data fetching section ([#​23420](https://togithub.com/nuxt/nuxt/pull/23420)) - Remove duplicated arrows ([#​23436](https://togithub.com/nuxt/nuxt/pull/23436)) - Extend description of `handler` for `useAsyncData` ([#​23389](https://togithub.com/nuxt/nuxt/pull/23389)) - Clarify bridge needs `nitro` to use `runtimeConfig` ([#​23454](https://togithub.com/nuxt/nuxt/pull/23454)) - Fix typo in README ([#​23500](https://togithub.com/nuxt/nuxt/pull/23500)) - Clarify that `bridge.typescript` option must be set. ([#​23503](https://togithub.com/nuxt/nuxt/pull/23503)) - Use html instead of xml for highlight ([45c1e7f51](https://togithub.com/nuxt/nuxt/commit/45c1e7f51)) - Fix component library example in docs ([#​23596](https://togithub.com/nuxt/nuxt/pull/23596)) - Typo in modules ([#​23602](https://togithub.com/nuxt/nuxt/pull/23602)) - Reword local module info ([#​23557](https://togithub.com/nuxt/nuxt/pull/23557)) - Add server concept ([#​23372](https://togithub.com/nuxt/nuxt/pull/23372)) - Improve `nuxt kit` section ([#​22375](https://togithub.com/nuxt/nuxt/pull/22375)) - Update additional mentions to nightly release channel ([c63f9a95d](https://togithub.com/nuxt/nuxt/commit/c63f9a95d)) - Rename `/edge-channel` page to `/nightly-release-channel` ([#​23648](https://togithub.com/nuxt/nuxt/pull/23648)) - Add section about computed url for data fetching ([#​23605](https://togithub.com/nuxt/nuxt/pull/23605)) - Fix typo ([#​23656](https://togithub.com/nuxt/nuxt/pull/23656)) - Remove extraneous brace ([b9cb08cda](https://togithub.com/nuxt/nuxt/commit/b9cb08cda)) - Fix other issues with `routeRules` example ([818dc626c](https://togithub.com/nuxt/nuxt/commit/818dc626c)) - Fix typo ([#​23716](https://togithub.com/nuxt/nuxt/pull/23716)) - Update types for useFetch/useAsyncData ([#​23730](https://togithub.com/nuxt/nuxt/pull/23730)) - Add info about `` and `` ([#​23741](https://togithub.com/nuxt/nuxt/pull/23741)) - Update to new website ([#​23743](https://togithub.com/nuxt/nuxt/pull/23743)) - Remove redundant trailing slashes from links ([#​23744](https://togithub.com/nuxt/nuxt/pull/23744)) - Fix broken link ([#​23750](https://togithub.com/nuxt/nuxt/pull/23750)) ##### 🏡 Chore - Fix various typos and update to US English ([#​23580](https://togithub.com/nuxt/nuxt/pull/23580)) - Add description field for packages ([#​23734](https://togithub.com/nuxt/nuxt/pull/23734)) - Bump nuxt devtools to 1.0 ([#​23752](https://togithub.com/nuxt/nuxt/pull/23752)) - Allow markdownlint upgrades ([3d779fcf3](https://togithub.com/nuxt/nuxt/commit/3d779fcf3)) - Remove huntr + encourage GitHub vulnerability reporting ([#​23754](https://togithub.com/nuxt/nuxt/pull/23754)) - Refresh lockfile ([#​23755](https://togithub.com/nuxt/nuxt/pull/23755)) - Update to nitropack 2.7.0 ([#​23780](https://togithub.com/nuxt/nuxt/pull/23780)) - Upgrade to c12 1.5 with configurable layers ([#​23782](https://togithub.com/nuxt/nuxt/pull/23782)) ##### ✅ Tests - **nuxt:** Add test suite for app resolution behaviour ([#​23520](https://togithub.com/nuxt/nuxt/pull/23520)) - Update prerender test ([8d62c2add](https://togithub.com/nuxt/nuxt/commit/8d62c2add)) ##### 🤖 CI - Retry failing links 6 times ([ad2a900fd](https://togithub.com/nuxt/nuxt/commit/ad2a900fd)) - Only dedupe dependencies if they affect bundle size ([#​23736](https://togithub.com/nuxt/nuxt/pull/23736)) ##### ❤️ Contributors - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Pooya Parsa ([@​pi0](https://togithub.com/pi0)) - Anthony Fu ([@​antfu](https://togithub.com/antfu)) - Jianqi Pan ([@​Jannchie](https://togithub.com/Jannchie)) - Damian Głowala ([@​DamianGlowala](https://togithub.com/DamianGlowala)) - Sébastien Chopin ([@​Atinux](https://togithub.com/Atinux)) - Alexander Lichter ([@​manniL](https://togithub.com/manniL)) - [@​boc-the-git](https://togithub.com/boc-the-git) - Aleksandar Trpkovski ([@​Suv4o](https://togithub.com/Suv4o)) - Dario Ferderber ([@​darioferderber](https://togithub.com/darioferderber)) - Warflash ([@​warflash](https://togithub.com/warflash)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Sacha Stafyniak ([@​stafyniaksacha](https://togithub.com/stafyniaksacha)) - Alex Liu ([@​Mini-ghost](https://togithub.com/Mini-ghost)) - Orocane ([@​S1RANN](https://togithub.com/S1RANN)) - Italo ([@​DarkGhostHunter](https://togithub.com/DarkGhostHunter)) - [@​maritaria](https://togithub.com/maritaria) - Andrey Yolkin ([@​Andrey](https://togithub.com/Andrey) Yolkin) - Aaron_Zhou ([@​Clarkkkk](https://togithub.com/Clarkkkk)) - Estéban ([@​Barbapapazes](https://togithub.com/Barbapapazes)) - [@​sheriffderek](https://togithub.com/sheriffderek) - Eugen Istoc ([@​genu](https://togithub.com/genu)) - Mostafa Said ([@​i-Said-Code](https://togithub.com/i-Said-Code)) - Ezra Adeyinka ([@​adeyinkaezra123](https://togithub.com/adeyinkaezra123)) - Ryota Watanabe ([@​wattanx](https://togithub.com/wattanx)) - Hendrik Heil ([@​hendrikheil](https://togithub.com/hendrikheil)) - [@​0xflotus](https://togithub.com/0xflotus) - Albert Brand ([@​AlbertBrand](https://togithub.com/AlbertBrand)) - Arsen Goian ([@​arsengoian](https://togithub.com/arsengoian)) - Maxim ([@​MaxKostenko](https://togithub.com/MaxKostenko)) - Filip Weidemann ([@​filipweidemann](https://togithub.com/filipweidemann)) - Toni Engelhardt ([@​toniengelhardt](https://togithub.com/toniengelhardt)) ### [`v3.7.4`](https://togithub.com/nuxt/nuxt/releases/tag/v3.7.4) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.7.3...v3.7.4) > 3.7.4 is a regularly scheduled patch release. #### ✅ Upgrading As usual, our recommendation for upgrading is to run: ```sh nuxi upgrade ``` #### 👉 Changelog [compare changes](https://togithub.com/nuxt/nuxt/compare/v3.7.3...v3.7.4) ##### 🩹 Fixes - **nuxt:** Use original escapes/quotes in page re-exports ([#​23191](https://togithub.com/nuxt/nuxt/pull/23191)) - **schema:** Default devServer host to undefined ([#​23206](https://togithub.com/nuxt/nuxt/pull/23206)) - **nuxt:** Correct islandsTransform slot regex ([#​23226](https://togithub.com/nuxt/nuxt/pull/23226)) - **nuxt:** Handle vite preload-helper id with extension ([#​23230](https://togithub.com/nuxt/nuxt/pull/23230)) - **nuxt:** Load layer middlewares before project middlewares ([#​22925](https://togithub.com/nuxt/nuxt/pull/22925)) - **nuxt:** Don't incl overridden layer pages as nested children ([#​23238](https://togithub.com/nuxt/nuxt/pull/23238)) - **vite:** Explicitly set vite manifest path ([#​23276](https://togithub.com/nuxt/nuxt/pull/23276)) - **nuxt:** Experimental build manifest + client route rules ([#​21641](https://togithub.com/nuxt/nuxt/pull/21641)) - **nuxt:** Generate empty file when shim is disabled ([#​23333](https://togithub.com/nuxt/nuxt/pull/23333)) - **nuxt:** Apply right types to modules and their runtime files ([#​23240](https://togithub.com/nuxt/nuxt/pull/23240)) - **nuxt:** Add import protection for `nuxt/*` exports ([#​23357](https://togithub.com/nuxt/nuxt/pull/23357)) - **nuxt:** Detect nested pages with /index segments ([#​23404](https://togithub.com/nuxt/nuxt/pull/23404)) - **schema:** Ignore pnpm store directory ([3510cedc3](https://togithub.com/nuxt/nuxt/commit/3510cedc3)) ##### 💅 Refactors - **nuxt:** Use built-in consola prompts ([#​23205](https://togithub.com/nuxt/nuxt/pull/23205)) - **kit,nuxt,schema:** Use `consola` and improve test dx ([#​23302](https://togithub.com/nuxt/nuxt/pull/23302)) ##### 📖 Documentation - Add documentation on `nuxt2` command ([#​23211](https://togithub.com/nuxt/nuxt/pull/23211)) - Clarify nuxi start command usage ([#​23215](https://togithub.com/nuxt/nuxt/pull/23215)) - Close `code-block` in migration guide ([#​23224](https://togithub.com/nuxt/nuxt/pull/23224)) - Typo on `callHook` method ([#​23231](https://togithub.com/nuxt/nuxt/pull/23231)) - **nuxt:** Remove hanging word in modules docs ([#​23242](https://togithub.com/nuxt/nuxt/pull/23242)) - Update latest node.js version to 20.x ([#​23252](https://togithub.com/nuxt/nuxt/pull/23252)) - Add more files to `srcDir` JSDoc ([#​23250](https://togithub.com/nuxt/nuxt/pull/23250)) - Add steps for contributing to docs locally ([#​23270](https://togithub.com/nuxt/nuxt/pull/23270)) - Add support details and update roadmap ([#​21867](https://togithub.com/nuxt/nuxt/pull/21867), [#​21893](https://togithub.com/nuxt/nuxt/pull/21893)) - Add `nuxtApp.runWithContext` ([#​23258](https://togithub.com/nuxt/nuxt/pull/23258)) - Update 'scheduled' status name ([#​23307](https://togithub.com/nuxt/nuxt/pull/23307)) - Fix links to configuration options ([#​23324](https://togithub.com/nuxt/nuxt/pull/23324)) - Update link to `devtools.nuxt.com` ([#​23350](https://togithub.com/nuxt/nuxt/pull/23350)) - Add explicit `await` to clarify `sendRedirect` is async ([#​23345](https://togithub.com/nuxt/nuxt/pull/23345)) - Remove version from npm links to redirect to latest ([#​23371](https://togithub.com/nuxt/nuxt/pull/23371)) - Add `tryUseNuxt` to kit context utils list ([#​23373](https://togithub.com/nuxt/nuxt/pull/23373)) ##### 🏡 Chore - Add `.devcontainer` ([#​22810](https://togithub.com/nuxt/nuxt/pull/22810)) - Remove previous e2e crawler script ([5d36e5c93](https://togithub.com/nuxt/nuxt/commit/5d36e5c93)) ##### 🤖 CI - Add lychee link checker ([#​23254](https://togithub.com/nuxt/nuxt/pull/23254)) - Rename `linkChecker` job to `link-checker` ([#​23319](https://togithub.com/nuxt/nuxt/pull/23319)) - Don't run link checker on pushes to main ([e0ddcfa9e](https://togithub.com/nuxt/nuxt/commit/e0ddcfa9e)) ##### ❤️ Contributors - Damian Głowala ([@​DamianGlowala](https://togithub.com/DamianGlowala)) - Tech Genius ([@​TechGenius7777](https://togithub.com/TechGenius7777)) - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Percy Ma ([@​kecrily](https://togithub.com/kecrily)) - Josh Deltener ([@​hecktarzuli](https://togithub.com/hecktarzuli)) - Arash ([@​arashsheyda](https://togithub.com/arashsheyda)) - Abdul Al-Hasany ([@​abdul-alhasany](https://togithub.com/abdul-alhasany)) - Muhammad Mahmoud ([@​MuhammadM1998](https://togithub.com/MuhammadM1998)) - Pooya Parsa ([@​pi0](https://togithub.com/pi0)) - Alex Riviere ([@​fimion](https://togithub.com/fimion)) - Default-kaas ([@​default-kaas](https://togithub.com/default-kaas)) - Michel EDIGHOFFER ([@​edimitchel](https://togithub.com/edimitchel)) - Arkadiusz Sygulski ([@​Aareksio](https://togithub.com/Aareksio)) - Joaquín Sánchez ([@​userquin](https://togithub.com/userquin)) - Josh Jancourtz ([@​jcolpal](https://togithub.com/jcolpal)) - 翠 / Green ([@​sapphi-red](https://togithub.com/sapphi-red)) - Jeremy Graziani ([@​AcelisWeaven](https://togithub.com/AcelisWeaven)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Andrey Yolkin ([@​AndreyYolkin](https://togithub.com/AndreyYolkin)) - Petro Silenius ([@​PetroSilenius](https://togithub.com/PetroSilenius)) - Ryota Watanabe ([@​wattanx](https://togithub.com/wattanx)) ### [`v3.7.3`](https://togithub.com/nuxt/nuxt/releases/tag/v3.7.3) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.7.2...v3.7.3) > 3.7.3 is a hotfix release to address a regression introduced in 3.7.2. #### 👉 Changelog [compare changes](https://togithub.com/nuxt/nuxt/compare/v3.7.2...v3.7.3) ##### 🩹 Fixes - **nuxt:** Ensure plugins retain original order ([#​23174](https://togithub.com/nuxt/nuxt/pull/23174)) - **nuxt:** Allow importing server components from `#components` ([#​23188](https://togithub.com/nuxt/nuxt/pull/23188)) ##### 💅 Refactors - **nuxt:** Don't wrap server placeholders/client fallbacks ([#​21980](https://togithub.com/nuxt/nuxt/pull/21980)) ##### 📖 Documentation - Added missing leading slash ([#​23169](https://togithub.com/nuxt/nuxt/pull/23169)) - Update internal issue decision making flowchart link ([#​23162](https://togithub.com/nuxt/nuxt/pull/23162)) ##### ❤️ Contributors - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Daniel Rivers ([@​DanielRivers](https://togithub.com/DanielRivers)) - Tech Genius ([@​TechGenius7777](https://togithub.com/TechGenius7777)) ### [`v3.7.2`](https://togithub.com/nuxt/nuxt/releases/tag/v3.7.2) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.7.1...v3.7.2) > 3.7.2 is a regularly scheduled patch release. #### ✅ Upgrading As usual, our recommendation for upgrading is to run: ```sh nuxi upgrade ``` #### 👉 Changelog [compare changes](https://togithub.com/nuxt/nuxt/compare/v3.7.1...v3.7.2) ##### 🩹 Fixes - **nuxt:** Scroll to top by default on dynamic routes ([#​22403](https://togithub.com/nuxt/nuxt/pull/22403)) - **nuxt:** Don't `joinURL` with remote sources on NuxtIsland ([#​23093](https://togithub.com/nuxt/nuxt/pull/23093)) - **nuxt:** Exclude `data-v` attrs from server component props ([#​23095](https://togithub.com/nuxt/nuxt/pull/23095)) - **nuxt:** Handle optional params within a path segment ([#​23070](https://togithub.com/nuxt/nuxt/pull/23070)) - **nuxt:** Include method when creating `useFetch` auto key ([#​23086](https://togithub.com/nuxt/nuxt/pull/23086)) - **vite:** Add css to manifest without `cssCodeSplit` ([#​23049](https://togithub.com/nuxt/nuxt/pull/23049)) - **nuxt:** Find parent routes by exact path match ([#​23040](https://togithub.com/nuxt/nuxt/pull/23040)) - **nuxt:** Load `spaLoadingTemplate` if file exists ([#​23048](https://togithub.com/nuxt/nuxt/pull/23048)) - **nuxt:** Handle unset spa-loading fallback ([#​23120](https://togithub.com/nuxt/nuxt/pull/23120)) - **kit:** Improve generated `tsconfig.json` defaults ([#​23121](https://togithub.com/nuxt/nuxt/pull/23121)) - **vite:** Remove dev styles injected via absolute path ([#​23126](https://togithub.com/nuxt/nuxt/pull/23126)) - **nuxt:** Default scanned layer components to priority `0` ([#​23127](https://togithub.com/nuxt/nuxt/pull/23127)) - **nuxt:** Allow granularly overriding pages in layers ([#​23134](https://togithub.com/nuxt/nuxt/pull/23134)) - **nuxt:** Respect layer order for other layer plugins ([#​23148](https://togithub.com/nuxt/nuxt/pull/23148)) - **nuxt:** Allow changing dirs within modules ([#​23133](https://togithub.com/nuxt/nuxt/pull/23133)) - **nuxt:** Allow overriding components + only warn if clash ([#​23156](https://togithub.com/nuxt/nuxt/pull/23156)) ##### 📖 Documentation - Remove 'caching' section from data fetching ([fe29948fe](https://togithub.com/nuxt/nuxt/commit/fe29948fe)) - Fix broken links on experimental features ([#​23052](https://togithub.com/nuxt/nuxt/pull/23052)) - Fix typo ([#​23060](https://togithub.com/nuxt/nuxt/pull/23060)) - Add `name` param to `PageMeta` interface description ([#​23107](https://togithub.com/nuxt/nuxt/pull/23107)) - Fix typo for `experimental.componentIslands` ([#​23138](https://togithub.com/nuxt/nuxt/pull/23138)) - Change NuxtLabs UI to Nuxt UI ([#​23150](https://togithub.com/nuxt/nuxt/pull/23150)) - Fix typo in `nuxi init` command ([#​23155](https://togithub.com/nuxt/nuxt/pull/23155)) ##### 🏡 Chore - **nuxt:** Update nuxi ([#​23145](https://togithub.com/nuxt/nuxt/pull/23145)) ##### 🤖 CI - Test on node 20.5 rather than 20.6 ([#​23041](https://togithub.com/nuxt/nuxt/pull/23041)) - Update fixtures to node 18 ([#​23122](https://togithub.com/nuxt/nuxt/pull/23122)) - Unpin node 20 actions runners ([#​23135](https://togithub.com/nuxt/nuxt/pull/23135)) ##### ❤️ Contributors - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - ML ([@​ijkml](https://togithub.com/ijkml)) - Tech Genius ([@​TechGenius7777](https://togithub.com/TechGenius7777)) - Manthankumar Satani ([@​itsmnthn](https://togithub.com/itsmnthn)) - David Gonzalez ([@​davidglezz](https://togithub.com/davidglezz)) - Maxime Pauvert ([@​maximepvrt](https://togithub.com/maximepvrt)) - Dmitry Istomin ([@​tirojal](https://togithub.com/tirojal)) - Maxim ([@​MaxKostenko](https://togithub.com/MaxKostenko)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Sma11X ([@​Sma11X](https://togithub.com/Sma11X)) - Michel EDIGHOFFER ([@​edimitchel](https://togithub.com/edimitchel)) ### [`v3.7.1`](https://togithub.com/nuxt/nuxt/releases/tag/v3.7.1) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.7.0...v3.7.1) > 3.7.1 is a regularly scheduled patch release. #### ✅ Upgrading As usual, our recommendation for upgrading is to run: ```sh nuxi 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://togithub.com/nuxt/nuxt/compare/v3.7.0...v3.7.1) ##### 🔥 Performance - **nuxt:** Prevent head dom from rendering twice ([#​22974](https://togithub.com/nuxt/nuxt/pull/22974)) - **nuxt:** Decrease default bundle size ([#​22999](https://togithub.com/nuxt/nuxt/pull/22999)) ##### 🩹 Fixes - **nuxt:** Exclude resolved vite virtual modules prefix ([#​22834](https://togithub.com/nuxt/nuxt/pull/22834)) - **nuxt:** Ensure typed layout prop persists through build ([#​22855](https://togithub.com/nuxt/nuxt/pull/22855)) - **nuxt:** Render server components when `ssr: false` ([#​22869](https://togithub.com/nuxt/nuxt/pull/22869)) - **kit:** Respect `priority` when registering components dirs ([#​22882](https://togithub.com/nuxt/nuxt/pull/22882)) - **kit:** Allow passing a string to `addLayout` ([#​22902](https://togithub.com/nuxt/nuxt/pull/22902)) - **nuxt:** Ensure middleware is processed when returning `true` ([#​22905](https://togithub.com/nuxt/nuxt/pull/22905)) - **nuxt:** Unpause dom updates on error ([#​22945](https://togithub.com/nuxt/nuxt/pull/22945)) - **nuxt:** Disallow `write: false` for type templates ([#​22972](https://togithub.com/nuxt/nuxt/pull/22972)) - **vite:** Don't set explicit conditions in `shouldExternalize` ([#​22991](https://togithub.com/nuxt/nuxt/pull/22991)) - **nuxt:** Render inlined ssr styles before stylesheets ([#​22986](https://togithub.com/nuxt/nuxt/pull/22986)) - **nuxt:** Improve types within plugin templates ([#​22998](https://togithub.com/nuxt/nuxt/pull/22998)) - **nuxt:** Load layer plugins before project plugins ([#​22889](https://togithub.com/nuxt/nuxt/pull/22889)) - **nuxt:** Use `destr` in more places over `JSON.parse` ([#​22997](https://togithub.com/nuxt/nuxt/pull/22997)) - **nuxt:** Resolve head instance from Nuxt app ([#​22973](https://togithub.com/nuxt/nuxt/pull/22973)) - **nuxt:** Always use increment for id with client side islands ([#​22975](https://togithub.com/nuxt/nuxt/pull/22975)) ##### 📖 Documentation - Add info about dynamic nested routes ([#​22862](https://togithub.com/nuxt/nuxt/pull/22862)) - Update nuxt bridge migration guide ([#​22815](https://togithub.com/nuxt/nuxt/pull/22815)) - Rename nuxt-community to nuxt-modules ([9991da634](https://togithub.com/nuxt/nuxt/commit/9991da634)) - Add banner for readme ([e92d99db3](https://togithub.com/nuxt/nuxt/commit/e92d99db3)) - Simplify readme ([681f92915](https://togithub.com/nuxt/nuxt/commit/681f92915)) - Text center on banner ([ea5142176](https://togithub.com/nuxt/nuxt/commit/ea5142176)) - Clarify that 'it' is `` ([#​22912](https://togithub.com/nuxt/nuxt/pull/22912)) - Update examples of dynamic `pageKey` ([#​22920](https://togithub.com/nuxt/nuxt/pull/22920)) - Fix types in 'server utilities' example ([#​22978](https://togithub.com/nuxt/nuxt/pull/22978)) - Describe `env` object for nuxt plugins ([#​22963](https://togithub.com/nuxt/nuxt/pull/22963)) - Docs/3.api/3.utils/define-page-meta.md ([#​23006](https://togithub.com/nuxt/nuxt/pull/23006)) - Accessing custom props for `NuxtLayout` ([#​22989](https://togithub.com/nuxt/nuxt/pull/22989)) - Add information about server component context ([#​22964](https://togithub.com/nuxt/nuxt/pull/22964)) ##### 🏡 Chore - Fix variable name in release scripts ([adb6ec674](https://togithub.com/nuxt/nuxt/commit/adb6ec674)) - Track `nuxi-edge` rather than `nuxi-ng` ([9610cf03d](https://togithub.com/nuxt/nuxt/commit/9610cf03d)) ##### 🤖 CI - Create 2.x release branch as well ([cdf9b5547](https://togithub.com/nuxt/nuxt/commit/cdf9b5547)) - Use `GITHUB_REF_NAME` to get branch for release ([d49ea58de](https://togithub.com/nuxt/nuxt/commit/d49ea58de)) - Use changelogen utility to get current branch ([7431e2258](https://togithub.com/nuxt/nuxt/commit/7431e2258)) ##### ❤️ Contributors - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Saman ([@​bounoable](https://togithub.com/bounoable)) - Harlan Wilton ([@​harlan-zw](https://togithub.com/harlan-zw)) - Kekeocha Justin Chetachukwu ([@​justinkekeocha](https://togithub.com/justinkekeocha)) - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Xjccc ([@​xjccc](https://togithub.com/xjccc)) - Joaquín Sánchez ([@​userquin](https://togithub.com/userquin)) - Andrey Yolkin (AndreyYolkin) - OrlS15 ([@​OrlS15](https://togithub.com/OrlS15)) - Alex Liu ([@​Mini-ghost](https://togithub.com/Mini-ghost)) - Jonas Thelemann ([@​dargmuesli](https://togithub.com/dargmuesli)) - Sébastien Chopin ([@​Atinux](https://togithub.com/Atinux)) - Ryota Watanabe ([@​wattanx](https://togithub.com/wattanx)) - Heb ([@​Hebilicious](https://togithub.com/Hebilicious)) - Maik Kowol ([@​94726](https://togithub.com/94726)) ### [`v3.7.0`](https://togithub.com/nuxt/nuxt/releases/tag/v3.7.0) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.6.5...v3.7.0) #### 👀 Highlights ##### 🐣 A New CLI We've refactored `nuxi` using [unjs/citty](http://github.com/unjs/citty) and this marks the first Nuxt release that depends on the new version, safely in its own repository. We have grand plans for this - check out some of the features + roadmap discussions in [nuxt/cli](https://togithub.com/nuxt/cli) and please feel free to contribute! - Project Goals - Feedbacks and Ideas - The journey of Nuxt CLI Generations Nuxi is now decoupled from the main `nuxt` version - we plan to iterate and release nuxi more quickly in future so you can expect new things coming soon! ##### 🕸️ Native Web Streams and `Response` With improvements in [unjs/h3](https://togithub.com/unjs/h3) and [unjs/nitro](https://togithub.com/unjs/nitro), it's now possible to directly return a `Response` object from server routes, meaning it's *also* possible to return and handle streams natively in Nuxt. 👉 Check out the full detail in the [unjs/h3](https://togithub.com/unjs/h3/releases) and [unjs/nitro](https://togithub.com/unjs/nitro/releases) release notes. ##### 🔥 HTML Rendering Optimisations This release comes with a couple of improvements in rendering HTML responses from the server. We now determine whether to preload/prefetch resources at build time (so you can customise this in the `build:manifest` hook). We also now manage rendering the HTML for them directly in `unhead` ([#​22179](https://togithub.com/nuxt/nuxt/pull/22179)), which means you can configure the *order* for ``, ``, ` Githubissues.
  • Githubissues is a development platform for aggregating issues.