Repository navigation
chore(deps): update nuxt framework to v3.21.11 - #261
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
July 1, 2025 17:59
c1da2ab to
e70880b
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
July 13, 2025 21:34
e70880b to
8e850ba
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
August 7, 2025 11:14
8e850ba to
a560d31
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
2 times, most recently
from
August 13, 2025 13:49
61fbdb2 to
078d921
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
August 19, 2025 17:39
078d921 to
6729f32
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
2 times, most recently
from
September 6, 2025 18:38
9bc6d08 to
4dcf2e4
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
September 13, 2025 22:55
4dcf2e4 to
6f21ff9
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
September 25, 2025 19:48
6f21ff9 to
1ff094a
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
October 6, 2025 17:33
1ff094a to
344f5f7
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
October 21, 2025 11:46
344f5f7 to
464bf65
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
October 28, 2025 16:05
464bf65 to
29dccb3
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
November 7, 2025 03:46
29dccb3 to
54b280d
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
November 10, 2025 20:00
54b280d to
22f96cd
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
November 18, 2025 17:03
22f96cd to
b8d135a
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
2 times, most recently
from
December 9, 2025 19:28
a52af8e to
394247f
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
December 31, 2025 14:14
394247f to
663f330
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
January 8, 2026 16:36
663f330 to
224fd3e
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
January 19, 2026 19:39
224fd3e to
5b36280
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
March 13, 2026 13:34
cd2acaf to
3b501b5
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
2 times, most recently
from
April 1, 2026 19:08
a161cf4 to
578b860
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
April 8, 2026 17:15
578b860 to
d405e5d
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
2 times, most recently
from
April 30, 2026 05:05
2c180de to
ed234ee
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
May 11, 2026 02:04
ed234ee to
9065cfa
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
2 times, most recently
from
May 18, 2026 12:34
6343015 to
36c24fb
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
3 times, most recently
from
June 2, 2026 16:32
bcd5471 to
d247f3c
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
June 8, 2026 21:05
d247f3c to
e9c4baa
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
June 11, 2026 11:48
e9c4baa to
e41b500
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
3 times, most recently
from
July 18, 2026 21:03
e1b4da0 to
da72b7e
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
3 times, most recently
from
July 27, 2026 15:46
c44a002 to
4d3cf80
Compare
renovate
Bot
force-pushed
the
renovate/nuxt
branch
from
July 30, 2026 17:08
4d3cf80 to
4cc766a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
3.17.4→3.21.113.17.4→3.21.11Release Notes
nuxt/nuxt (@nuxt/schema)
v3.21.11Compare Source
👉 Changelog
compare changes
🩹 Fixes
🏡 Chore
oxc-walker(a6c9dc6d3)❤️ Contributors
v3.21.10Compare Source
It fixes server-side RCE and unauthorized component instantiation via server island props, a route rule authorization bypass, server component DoS, and dev server path disclosure. Refreshing your lockfile also pulls in
@nuxt/devtools@3.3.1, which fixes a separate critical development-only RCE.If you already upgraded for the earlier route rule advisory (CVE-2026-53721), you still need this release: one of the fixes addresses a regression introduced by that fix.
Full details: Nuxt Security Patch Releases and GitHub Security Advisories.
👉 Changelog
compare changes
🩹 Fixes
useRoutein detached effect scope (#35659)nameorpathwhen reusing an existing page inpages:extend(#35661)useFetchmethod inference (#35671)@unhead/vue/*from nuxt's dependency tree (#35690)force-cache(#35672)app.buildAssetsDir(#35833)templateisland prop under runtime compiler (5b60017f7)asprop for islands (00a2b0494)📖 Documentation
runtimeCompilersecurity best practices (b76c1a8bd)✅ Tests
_routein gotoPath (5391e7e6a)❤️ Contributors
v3.21.9Compare Source
👉 Changelog
compare changes
🩹 Fixes
causewhen we re-throw (#35387)#components(#35215)<ClientOnly>fallback tag name (#35325)inlineStylesis disabled (#35209)ssr: false(#35330)NuxtPageduring nav (#35335)useAsyncDatateardown (#35328)definePageMeta(#34526)bodyinuseFetch(#35343)page:startfinishes beforepage:finishstarts (#35408)NODE_ENVand__VUE_PROD_DEVTOOLS__(#35444)rootDirto typed-router context (#35565)navigateToin built-in router (#35631)📖 Documentation
🏡 Chore
✅ Tests
expectNoClientErrors(afffe7f09)🤖 CI
❤️ Contributors
v3.21.8Compare Source
👉 Changelog
compare changes
🩹 Fixes
typeoption infindPath(#35272)📖 Documentation
nulltoundefinedin data-fetching docs to match actual types (#35301)❤️ Contributors
v3.21.7Compare Source
👉 make sure to check https://github.com/nuxt/nuxt/security/advisories to view open advisories resolved by this release.
👉 Changelog
compare changes
🩹 Fixes
noSSRbefore deciding payload extraction (#35108)allowDirs(#35112)pathefor buildCache path boundary check (#35111)isValidin dev clipboard-copy listener (#35109)reloadNuxtApppath before reload (#35115)clientServerwithssr: false(#34959).d.mts/.d.ctsinresolveTypePaths(#35235)<NuxtClientFallback>ssr output (#35199)isScriptProtocolguard tonavigateToopen option (#35206)defuin app config template (40bedf0db)vue-router(3f3e3fa7b)<NoScript>slot content (7fea9fd68)navigateTo(1f2dd5e78)reloadNuxtApp(6497d99dd)<NuxtLink>href (53284043d)defu(d11d7b1b5)📖 Documentation
🏡 Chore
execFileSyncfor safety in release scripts (9a455a658)✅ Tests
🤖 CI
❤️ Contributors
v3.21.6Compare Source
👉 Changelog
compare changes
🩹 Fixes
setPageLayoutprops on same-path navigation (#35055)useLoadingIndicatorproperties as readonly (#35062)statusCodefor nitro v2 compatibility (82dcd6a31)💅 Refactors
📖 Documentation
🏡 Chore
✅ Tests
app/(6d2ac69ff)🤖 CI
test:enginesfails (958abb882)❤️ Contributors
v3.21.5Compare Source
👉 Changelog
compare changes
🔥 Performance
isIgnoredrelative (#35015)🩹 Fixes
/+ overridessr: true(#34990).envbefore resolving nuxt schema (#34958)serverHandlersarray afternitro:config(#34985)📖 Documentation
🏡 Chore
✅ Tests
buildDirper matrix project for shared fixtures (#35007)❤️ Contributors
v3.21.4Compare Source
v3.21.2Compare Source
v3.21.1Compare Source
👉 Changelog
compare changes
🩹 Fixes
server/forbuilder:watchhook (#34208)x-nitro-prerenderheader (#34202)error.messagefor fatal errors (#34226)#appbarrel export in keyed functions (#34199)datetime in` (#33992)nuxt/schema(#34255)meta.name(#34263)#componentsimport mapping conflict for packages outside rootDir (#34139)nuxt/schemaonce more (9f5bb611d)💅 Refactors
genObjectKeyto omit unnecessary quotes (#34245)ComponentPropshelper to extract layout props (#34248)📖 Documentation
keyedComposables(#34201)🏡 Chore
pxfromwidthattribute (e80147f7d)✅ Tests
<NuxtPage>navigation (707a9dc44)❤️ Contributors
v3.21.0Compare Source
Nuxt 4.3 and 3.21 bring powerful new features for layouts, caching, and developer experience – plus significant performance improvements under the hood.
📣 Some News
Extended v3 Support
Early this month, I opened a discussion to find out how the upgrade had gone from v3 to v4. I was really pleased to hear how well it had gone for most people.
Having said that, we're committed to making sure no one gets left behind. And so we will continue to provide security updates and critical bug fix releases beyond the previously announced end-of-life date of January 31, 2026, meaning Nuxt v3 will meet its end-of-life on July 31, 2026.
Preparing for Nuxt 5
We're closer than ever to the releases of Nuxt v5 and Nitro v3. In the coming weeks, the
mainbranch of the Nuxt repository will begin receiving initial commits for Nuxt 5. However, it's still business as usual.mainbranch4.xand3.xbranchesKeep an eye out on the Upgrade Guide – we'll be adding details about how you can already start migrating your projects to prepare for Nuxt v4 with
future.compatibilityVersion: 5.🗂️ Route Rule Layouts
But that's enough about the future. We have a lot of good things for you today!
First, you can now set layouts directly in route rules using the new
appLayoutproperty (#31092). This provides a centralized, declarative way to manage layouts across your application without scatteringdefinePageMetacalls throughout your pages.This might be useful for:
📦 ISR/SWR Payload Extraction
Payload extraction now works with ISR (incremental static regeneration), SWR (stale-while-revalidate) and cache
routeRules(#33467). Previously, only pre-rendered pages could generate_payload.jsonfiles.This means:
🧹 Dev Mode Payload Extraction
Related to the above, payload extraction now also works in development mode (#30784). This makes it easier to test and debug payload behavior without needing to run a production build.
🚫 Disable Modules from Layers
When extending Nuxt layers, you can now disable specific modules that you don't need (#33883). Just pass
falseto the module's options:🏷️ Route Groups in Page Meta
Route groups (folders wrapped in parentheses like
(protected)/) are now exposed in page meta (#33460). This makes it easy to check which groups a route belongs to in middleware or anywhere you have access to the route.This provides a clean, convention-based approach to route-level authorization without needing to add
definePageMetato every protected page.🎨 Layout Props with
setPageLayoutThe
setPageLayoutcomposable now accepts a second parameter to pass props to your layout (#33805):🔧
#serverAliasA new
#serveralias provides clean imports within your server directory (#33870), similar to how#sharedworks:The alias includes import protection – you can't accidentally import
#servercode from client or shared contexts.🪟 Draggable Error Overlay
The development error overlay introduced in Nuxt 4.2 is now draggable and can be minimized (#33695). You can:
This is a quality-of-life improvement when you're iterating on fixes and don't want the overlay blocking your view.
https://github.com/user-attachments/assets/nuxt_4-3_error_demo.mp4
⚙️ Async Plugin Constructors
Module authors can now use async functions when adding build plugins (#33619):
This enables true lazy loading of build plugins, avoiding unnecessary code loading when plugins aren't needed.
🚀 Performance Improvements
This release includes several performance optimizations for faster builds:
nuxt:ssr-stylesplugin is now significantly faster (#33862, #33865)rou3, removing the need forradix3in the client bundle and eliminating app manifest fetches (#33920)🎨 Inline Styles for Webpack/Rspack
The
inlineStylesfeature now works with webpack and rspack builders (#33966), not just Vite. This enables critical CSS inlining for better Core Web Vitals regardless of your bundler choice.statusCode→status,statusMessage→statusTextIn preparation for Nitro v3 and H3 v2, we're moving to use Web API naming conventions (#33912). The old properties still work but are deprecated in advance of v5: