chore(deps): update dependency nuxt to v3.20.2 #70
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/nuxtjs-monorepo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
3.16.1->3.20.2Release Notes
nuxt/nuxt (nuxt)
v3.20.2Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
page:finishhook (#33707)tsconfig.server.json(#33510)moduleDependenciesby meta name (#33774).d.vue.tsdeclarations (9a6a770ab)callOnceduring HMR (#33810)useAsyncData(#33802)rootDirto cached layer config (#33779)moduleDependencies->installModule(#33689)💅 Refactors
callOncefunction (#33825)📖 Documentation
erroras non-optional prop (#33763)🏡 Chore
✅ Tests
patchPropandnodeOpsto excluded Vue helpers (#33754)🤖 CI
--pnpmflag to correctly publish prerelease (#33688)❤️ Contributors
v3.20.1Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
optimizeDeps.includefor server environment (#33550)ImportPresetWithDeprecation(#33596)<nuxt-error-overlay>iframe border (#33625)moduleEntryPaths(#33628)optimizeDepsconfig is applied before other plugins (#33586)pages:resolved(#33662)💅 Refactors
📖 Documentation
cookieStoreistrueby default (#33572)pendingas alias ofstatus === 'pending'(#33221)useHead/useHydration/useLazy*(#33626)🏡 Chore
verifyDepsBeforeRun: install(#33603)🤖 CI
❤️ Contributors
v3.20.0Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
declarationPath(#33419)extensionsoption forresolveModule(#33328)useAsyncData(#32531)setGlobalHeadutility (#33512)🔥 Performance
🩹 Fixes
routeRules(#33222)loadNuxtConfigin concurrent calls (#33420)hrefin<NuxtLink>(b97ae2f70)mergeModelsfrom auto imports (#33344)shortPathproperty (#33384)declarationPathfrom component dirs (e384ba3cb)isPrerenderedcheck (#33476)h()(#33509)NuxtTimerelative timenumericprop (#33552)NuxtTimerelative timerelativeStyleprop (#33557)💅 Refactors
shortPathproperty (#33384)extend,extendConfig, andconfigResolvedhooks (932a80dc6)@nuxt/nitro-serverpackage (#33462)RouteLocationNormalizedLoadedGenericinternally (aa211fb4f)📖 Documentation
addServerPluginnote (#33409)declarationPathinaddComponent(#33380)getLayerDirectories()instead ofnuxt.options._layers(#33484)moduleDependencies(#33499)🏡 Chore
test:prepare(cbad63c02)test:prepare(672c09423)vue-demifromignoredBuiltDependencies(#33494)@rollup/plugin-commonjs(c2bd323b8)@rollup/plugin-commonjs(a524522ea)✅ Tests
asyncDataDefaults.errorValue(b6f1c9b0d)🤖 CI
@nuxt/nitro-serveron pkg-pr-new (d37ef17b0)❤️ Contributors
v3.19.3Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
🩹 Fixes
h(#33046)headoption onuseHead(#33318)cdnURLis set (#33333)imports.dirs(#33334)<NuxtLink>(#33335)v-slot:fallbacklongform syntax in<DevOnly>(#33368)typeFromwhen generating auto-import type templates (#33373)@nuxt/scripts(057ade490)useAsyncData(#33325)_pathproperty configurable for HMR (#33379)useAsyncDatawith different key on ssr (#33341)💅 Refactors
typed-router.d.tsearly for consistency (#33285)filenameintocomponentsIslandsTemplatedefinition (#33394)📖 Documentation
3.xprefix to all internal links (0fef864d6)useFetchreactivity (#33317)preparecommandNODE_ENVbehavior (#33330)nuxtcommand pages (#33336)🏡 Chore
.npmrc(101682a6b)✅ Tests
gotoPathtimeout in CI (9d336cc76)🤖 CI
❤️ Contributors
v3.19.2Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
dstis present (#33200)hydrate-whenlazy hydration strategy (#33199)🩹 Fixes
pkg-typesto dependencies (a6e5dd756)backgroundSizein loading indicator (#33211)enabledfrom components dir options (#32844)📖 Documentation
🏡 Chore
❤️ Contributors
v3.19.1Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
globalThisoverwindow(#33125)deps.inline(#33133)useRouteusage warning (#33039)imports:sourcesin override warning (#33050)📖 Documentation
--to bun create command (ab6aa8ee5)navigateTo(#21442)🏡 Chore
rou3github url (#33130).tsextension (2c905f864)✅ Tests
app/prefix for tree-shaken composables (06ea91705)🤖 CI
4xtags from releases (e3aa50d11)❤️ Contributors
v3.19.0Compare Source
👀 Highlights
Please see the release notes for Nuxt v4.1 for full details on the features and fixes in Nuxt v3.19.
✅ Upgrading
As usual, our recommendation for upgrading is to run:
This will refresh your lockfile and pull in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
ignoreoption toresolveFiles(#32858)onInstallandonUpgrademodule hooks (#32397)rolldown-vite(#31812)defineRouteRulesto pagerulesproperty (#32897)getLayerDirectoriesutil and refactor to use it (#33098)🔥 Performance
🩹 Fixes
satisfiesin page augmentation (#32902)useFetchhooks (#32891)resolvePathand normalize file extensions (#32857)requestTimeout+ allow configuration (#32874)node_modules/if no customsrcDir(#32987)routeobject (#32899)defineNuxtModule().with()(#33081)nuxtApp._runningTransitionon resolve (#33025)💅 Refactors
async/awaitinafterEach(#32999)📖 Documentation
setupTimeoutand addteardownTimeout(#32868)--nightlycommand (#32907)useRouteand accessing route in middleware (#33004)🏡 Chore
type: 'module'in playground (#33099)✅ Tests
import.meta.dev(#33023)findWorkspaceDirrather than relative paths to repo root (c4c3ada96)expect.poll(f4354203a)expect.pollinstead ofexpectWithPolling(15ca5be95)vi.waitUntilinstead of custom retry logic (4c8c13090)🤖 CI
❤️ Contributors
v3.18.1Compare Source
👉 Changelog
compare changes
🔥 Performance
tinyglobbyinresolveFiles(#32846)🩹 Fixes
errorvariable (#32807)typeCheck(#32835)nullresult from webpack call (65aa17158)reverseResolveAliasfor better errors (#32853)📖 Documentation
🏡 Chore
✅ Tests
defineNuxtComponentout of e2e test (#32848)🤖 CI
❤️ Contributors
v3.18.0Compare Source
👀 Highlights
A huge thank you to everyone who's been a part of this release, which is mostly about backporting features + bugfixes from Nuxt v4.
Over the next six months, we'll continue backporting compatible v4 features and bug fixes, so please keep the feedback coming! ❤️
🧪 Lazy Hydration Macros
Building on the delayed hydration support from v3.16, we now support lazy hydration macros (#31192)! These provide a more ergonomic way to control component hydration:
These macros make it possible to use Nuxt's lazy hydration utilities alongside explicit component imports.
♿️ Accessibility Improvements
We've enhanced accessibility by including
<NuxtRouteAnnouncer>in the built-inapp.vue(#32621). This means page changes will be announced to screen readers, making navigation more accessible for users with visual impairments. (This only applies if you do not have anapp.vuein your project. If you do, please keep<NuxtRouteAnnouncer>in yourapp.vue!)🛠️ Enhanced Development Experience
Chrome DevTools Workspace Integration
We've added Chrome DevTools workspace integration (#32084), allowing you to edit your Nuxt source files directly from Chrome DevTools. This creates a better debugging experience where changes made in DevTools are reflected in your actual source files.
Better Component Type Safety
Component type safety has been improved with:
<ClientOnly>and<DevOnly>(#32707) - better IntelliSense and error checking<NuxtTime>prop types (#32547) - easier to extend and customizeNew Auto-Import:
onWatcherCleanupThe
onWatcherCleanupfunction fromvueis now available as an auto-import (#32396), making it easier to clean up watchers and prevent memory leaks:📊 Observability Enhancements
Page routes are now exposed to Nitro for observability (#32617), enabling better monitoring and analytics integration with supported platforms. This allows observability tools to track page-level metrics more effectively.
🔧 Module Development Improvements
Module authors get several quality-of-life improvements:
Simplified Server Imports
The
addServerImportskit utility now supports single imports (#32289), making it easier to add individual server utilities:TypeScript Configuration
Modules can now add to
typescript.hoist(#32601), giving them more control over TypeScript configuration and type generation.⚡️ Performance Improvements
We've made several performance optimizations:
oxc-walker(#32250) and oxc foronPrehydratetransforms (#32045) for faster code transformations🐛 Bug Fixes
This release also includes several important fixes:
scrollBehaviorTypeis now only used for hash scrolling (#32622)✅ Upgrading
As usual, our recommendation for upgrading is to run:
This refreshes your lockfile and pulls in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
<NuxtTime>prop types (#32547)addServerImports(#32289)onWatcherCleanupto imports presets (#32396)🔥 Performance
🩹 Fixes
typescript.hoist(#32601)scrollBehaviorTypefor hash scrolling (#32622)async(fd312af03)<ClientOnly>and<DevOnly>(#32707)mllyto parse module paths (#32386)💅 Refactors
oxc-walker(#32250)onPrehydratetransform (#32045)installNuxtModule(228e3585e)📖 Documentation
v3template to create nuxt examples (03182202f)useNuxtDatain data fetching composable pages (#32589)noUncheckedIndexedAccessrule change in v4 guide (#32643)npm create nuxt@latest(#32726).with()(#32757)🏡 Chore
unbuildand use absolute path in dev stubs (#32759)✅ Tests
module.exportsexport (ac8b02d09)🤖 CI
pkg.pr.newformain/3.xbranches as well (ca4f0b1da)3xtag to latest v3 release (5e8dfc150)❤️ Contributors
v3.17.7Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
extraPageMetaExtractionKeys(#32510)loadBuildererror cause (8f13ce3c2)nullvalues (c1b83eab5)semver.satisfiesreturns true for pre-release versions (#32574)execute being passed towatch` (#32591)📖 Documentation
NUXT_(#32223)useAsyncDataanduseFetchmigration (#32560)undefinedtonullin v3 docs (#32562)asynckeyword (#32587)✅ Tests
generateTypes(c0855439d)<NuxtTime>test (#32558)❤️ Contributors
v3.17.6Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
🩹 Fixes
nuxt.config(#32324)nuxt:chunk-reload-immediate(#32382)set-cookieheaders in error handler (#32483)asyncDataruns if changing key while fetcher is running (#32466)navigateTo(#32393)<NuxtLink>'s custom on click handler (#32499)inheritAttrs: falseincreateClientOnlyfn (#32323)output.generatedCode.symbolsfor nitro build (#32358)💅 Refactors
📖 Documentation
h3js(#32243)clearfunction description (#32287)defineNuxtPluginfunction documentation (#32328)<NuxtLink>encodes query params (#32361)bun.lockfor lockfile (#32427)🏡 Chore
workspacetoprojects(#32388)✅ Tests
immediate: false(#32473)🤖 CI
❤️ Contributors
v3.17.5Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
globby(#31688)🩹 Fixes
useScriptRybbitAnalyticsfrom script stubs (d275ae1a0)appConfigsources are not duplicated (#32216)h()in ClientOnly (#30664)asyncDatastate from nuxt app instance (#32232)srcDirinbuildCache(#32260)asyncDatawatcher (#32247)📖 Documentation
addRouteMiddlewarepath in example (#32171)--env-file(29f6392cd)nuxtcommand consistently (#32237)alertwithwarningin/guide/pages(#32270)📦 Build
🏡 Chore
✅ Tests
❤️ Contributors
v3.17.4Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
shallowReffor primitive values (#32152)Intl.Collatorinstead oflocaleCompare(#32167)🩹 Fixes
<ClientOnly>(#32101)useLazyAsyncData(#32092)ts-checker-rspack-plugin(#32115)/(#32129)DeepPartial(#31990)<ClientOnly>(#32131)globalwithglobalThis(#32130)<NuxtLayout>first renders (#24673)srcDirto parcel strategy (#32139)📖 Documentation
useNuxtDatadefault return toundefined(#32054)imports.dirswith alias (0dbf314d9)🏡 Chore
✅ Tests
setTimeoutmock (#32142)🤖 CI
❤️ Contributors
v3.17.3Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
🩹 Fixes
FormData(#32013)ignorepatterns (#32020)useFetchwithwatch: false(#32019)getCachedDatais provided (#32003)nuxtAppfor asyncData functions run on server (#32038)💅 Refactors
asyncData(e779d6cd5)📖 Documentation
🤖 CI
bug/enhancementlabels to issue types (3ff743fe0)❤️ Contributors
v3.17.2Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
handleHotUpdatein production (#31971)🩹 Fixes
transition(#31945)useFetch(#31963)scrollToTop(#31914)vfseven if a file exists inbuildDir(#31969)useAsyncDatareactive tokeychanges whenimmediate: false(#31987)WarningFiltertype (2a79dbd68)warningIgnoreFilters(a62e808ac)📖 Documentation
@nuxt/kitdocumentation (#31793)🏡 Chore
✅ Tests
asyncDataDefaults.value(91568c5da)🤖 CI
❤️ Contributors
v3.17.1Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
executewhen non-immediate fetch key changes (#31941)escapeHTMLfrom vue (8e4b8d62f)@vue/shareddependency (7d445c963)📦 Build
🏡 Chore
✅ Tests
❤️ Contributors
v3.17.0Compare Source
👀 Highlights
This release brings a major reworking of the async data layer, a new built-in component, better warnings, and performance improvements!
📊 Data Fetching Improvements
A major reorganization of Nuxt's data fetching layer brings significant improvements to
useAsyncDataanduseFetch.Although we have aimed to maintain backward compatibility and put breaking changes behind the
experimental.granularCachedDataflag (disabled by default), we recommend testing your application thoroughly after upgrading. You can also disableexperimental.purgeCachedDatato revert to the previous behavior if you are relying on cached data being available indefinitely after components usinguseAsyncDataare unmounted.👉 Read the the original PR for full details (#31373), but here are a few highlights.
Consistent Data Across Components
All calls to
useAsyncDataoruseFetchwith the same key now share the underlying refs, ensuring consistency across your application:This solves various issues where components could have inconsistent data states.
Reactive Keys
You can now use computed refs, plain refs, or getter functions as keys:
Optimized Data Refetching
Multiple components watching the same data source will now trigger only a single data fetch when dependencies change:
🎭 Built-In Nuxt Components
<NuxtTime>- A new component for safe time displayWe've added a new
<NuxtTime>component for SSR-safe time display, which resolves hydration mismatches when working with dates (#31876):The component accepts multiple time formats and gracefully handles both client and server rendering.
Enhanced
<NuxtErrorBoundary>The
<NuxtErrorBoundary>component has been converted to a Single File Component and now exposeserrorandclearErrorfrom the component - as well as in the error slot types, giving you greater ability to handle errors in your templates and viauseTemplateRef(#31847):🔗 Router Improvements
<NuxtLink>now accepts atrailingSlashprop, giving you more control over URL formatting (#31820):🔄 Loading Indicator Customization
You can now customize the loading indicator with new props directly on the component (#31532):
hideDelay: Controls how long to wait before hiding the loading barresetDelay: Controls how long to wait before resetting loading indicator state📚 Documentation as a Package
The Nuxt documentation is now available as an npm package! You can install
@nuxt/docsto access the raw markdown and YAML content used to build the documentation website (#31353).💻 Developer Experience Improvements
We've added several warnings to help catch common mistakes:
runtimeConfig.appnamespace #31774definePageMetais used more than once in a file #31634🔌 Enhanced Module Development
Module authors will be happy to know:
experimental.enforceModuleCompatibilityallows Nuxt to throw an error when a module is loaded that isn't compatible with it (#31657). It will be enabled by default in Nuxt v4.addComponentExports#27155🔥 Performance Improvements
Several performance improvements have been made:
tinyglobbyfor faster file globbing #31668.datadirectory from type-checking for faster builds #31738purgeCachedDatacheck #31785✅ Upgrading
Our recommendation for upgrading is to run:
This refreshes your lockfile and pulls in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
hideDelayandresetDelayprops for loading indicator (#31532)@nuxt/docs(#31353)loadNuxtConfigto nitro (#31680)runtimeConfig.appnamespace (#31774)middlewarewhen scanning page metadata (#30708)addComponentExports(#27155)<NuxtErrorBoundary>to SFC + exposeerror/clearError(#31847)<NuxtTime>component for ssr-safe time display (#31876)trailingSlashprop to<NuxtLink>(#31820)🔥 Performance
tinyglobby(#31668).datadirectory from type-checking (#31738)purgeCachedDatacheck to improve tree-shaking (#31785)oxc-parsermanual wasm fallback logic (#31484)🩹 Fixes
modulesDirpaths are added tofs.allow(#31540)/_nuxt/(#31646)useLazyAsyncData(#31676)error.url(#31679)app:renderedis called (#31686)fallbackattribute when stripping<DevOnly>(c1d735c27)noScripts(c9572e953)compatibilityDate(#31725)statusMessagewhen rendering html error (#31761)definePageMetais used more than once (#31634)error.databefore renderingerror.vue(#31571)useAsyncDatain console log (#31801)NuxtErrorBoundaryerror (#31791)preserveModules(#31839)pendingwithstatusvalue for v4 (#25864)nuxt/appin generated middleware and layouts declarations (#31808)withoutBase(f956407bb)vuein vite-node dev server (f3882e004)tsconfig.json(#31882)useNuxtData(#31893)useFetchwatch sources (#31903)modulesDirto store build cache files (#31907)💅 Refactors
shallowReffor primitives as well (#31662)_replaceAppConfigwhen applying hmr (#31786)ConfigSchema(#31894)📖 Documentation
app.vue(#31645)templateParamsto seo docs (#31583)useHydration(#31712)callOncereturning value (#31747)vs.consistently (#31760)addServerHandlerexample (#31769)📦 Build
vue-sfc-transformerto process sfcs (#31691)🏡 Chore
✅ Tests
<NuxtErrorBoundary>(4df92c45f)pendingWhenIdle(08f2224c8)🤖 CI
❤️ Contributors
v3.16.2Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
useRequestEventon client (#31586)🩹 Fixes
<Body>and<Html>(#31513)/indexis the last segment (#31528)page:loading:endhook before navigation (#31504)document.cookie(#31517)resolveComponent(#31526)_nuxt/paths in development (#31543)error.vue(#31573)unheadv2 api in default welcome + error pages (#31584)scanPageMetais disabled (0ba454b21)💅 Refactors
<NuxtPage>(#31561)useServerHeadinonPrehydratewithuseHead(#31585)📖 Documentation
useTemplateRef(#31458)$fetch(#31459)dedupeflag (#31467)refreshNuxtDatadocs (#31448)--before--template(#31469)resolveComponentonly auto-imports components with literal strings (#31511)tsconfig.json(#31473)page:startandpage:finishhooks (#31570)🏡 Chore
✅ Tests
❤️ Contributors
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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.