Update dependency nuxt to v3.16.0 [SECURITY]#7066
Closed
renovate[bot] wants to merge 1 commit intodevelfrom
Closed
Update dependency nuxt to v3.16.0 [SECURITY]#7066renovate[bot] wants to merge 1 commit intodevelfrom
renovate[bot] wants to merge 1 commit intodevelfrom
Conversation
Contributor
Author
Branch automerge failureThis PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.
|
ad9a16e to
61315ce
Compare
61315ce to
a48e704
Compare
a48e704 to
a2b1e4a
Compare
f1c86f1 to
8294803
Compare
8294803 to
a6ebd9b
Compare
Member
|
Superseded by #7617 |
auto-merge was automatically disabled
June 24, 2025 18:33
Pull request was closed
Contributor
Author
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
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.
This PR contains the following updates:
3.15.4->3.16.0GitHub Vulnerability Alerts
CVE-2025-27415
Summary
By sending a crafted HTTP request to a server behind an CDN, it is possible in some circumstances to poison the CDN cache and highly impacts the availability of a site.
It is possible to craft a request, such as
https://mysite.com/?/_payload.jsonwhich will be rendered as JSON. If the CDN in front of a Nuxt site ignores the query string when determining whether to cache a route, then this JSON response could be served to future visitors to the site.Impact
An attacker can perform this attack to a vulnerable site in order to make a site unavailable indefinitely. It is also possible in the case where the cache will be reset to make a small script to send a request each X seconds (=caching duration) so that the cache is permanently poisoned making the site completely unavailable.
Conclusion :
This is similar to a vulnerability in Next.js that resulted in CVE-2024-46982 (and see this article, in particular the "Internal URL parameter and pageProps" part, the latter being very similar to the one concerning us here.)
Release Notes
nuxt/nuxt (nuxt)
v3.16.0Compare Source
👀 Highlights
There's a lot in this one!
⚡️ A New New Nuxt
Say hello to
create-nuxt, a new tool for starting Nuxt projects (big thanks to @devgar for donating the package name)!It's a streamlined version of
nuxi init- just a sixth of the size and bundled as a single file with all dependencies inlined, to get you going as fast as possible.Starting a new project is as simple as:
Special thanks to @cmang for the beautiful ASCII-art. ❤️
Want to learn more about where we're headed with the Nuxt CLI? Check out our roadmap here, including our plans for an interactive modules selector.
🚀 Unhead v2
We've upgraded to
unheadv2, the engine behind Nuxt's<head>management. This major version removes deprecations and improves how context works:If you're using Unhead directly in your app, keep in mind:
#app/composables/headinstead of@unhead/vue@unhead/vuemight lose async contextDon't worry though - we've maintained backward compatibility in Nuxt 3, so most users won't need to change anything!
If you've opted into
compatibilityVersion: 4, check out our upgrade guide for additional changes.🔧 Devtools v2 Upgrade
Nuxt Devtools has leveled up to v2 (#30889)!
You'll love the new features like custom editor selection, Discovery.js for inspecting resolved configs (perfect for debugging), the return of the schema generator, and slimmer dependencies.
One of our favorite improvements is the ability to track how modules modify your Nuxt configuration - giving you X-ray vision into what's happening under the hood.
👉 Discover all the details in the Nuxt DevTools release notes.
⚡️ Performance Improvements
We're continuing to make Nuxt faster, and there are a number of improvements in v3.16:
exsolvefor module resolution (#31124) along with the rest of the unjs ecosystem (nitro, c12, pkg-types, and more) - which dramatically speeds up module resolutionloadNuxtby skipping unnecessary resolution steps (#31176) - faster startupsoxc-parserfor parsing in Nuxt plugins (#30066)All these speed boosts happen automatically - no configuration needed!
Shout out to CodSpeed with Vitest benchmarking to measure these improvements in CI - it has been really helpful.
To add some anecdotal evidence, my personal site at roe.dev loads 32% faster with v3.16, and nuxt.com is 28% faster. I hope you see similar results! ⚡️
🕰️ Delayed Hydration Support
We're very pleased to bring you native delayed/lazy hydration support (#26468)! This lets you control exactly when components hydrate, which can improve initial load performance and time-to-interactive. We're leveraging Vue's built-in hydration strategies - check them out in the Vue docs.
You can also listen for when hydration happens with the
@hydratedevent:Learn more about lazy hydration in our components documentation.
🧩 Advanced Pages Configuration
You can now fine-tune which files Nuxt scans for pages (#31090), giving you more control over your project structure:
🔍 Enhanced Debugging
We've made debugging with the
debugoption more flexible! Now you can enable just the debug logs you need (#30578):Or keep it simple with
debug: trueto enable all these debugging features.🎨 Decorators Support
For the decorator fans out there (whoever you are!), we've added experimental support (#27672). As with all experimental features, feedback is much appreciated.
📛 Named Layer Aliases
It's been much requested, and it's here! Auto-scanned local layers (from your
~~/layersdirectory) now automatically create aliases. You can access your~~/layers/testlayer via#layers/test(#30948) - no configuration needed.If you want named aliases for other layers, you can add a name to your layer configuration:
This creates the alias
#layers/example-layerpointing to your layer - making imports cleaner and more intuitive.🧪 Error Handling Improvements
We've greatly improved error messages and source tracking (#31144):
useAsyncDatacalls with precise file location informationPlus, we're now using Nitro's beautiful error handling (powered by youch) to provide more helpful error messages in the terminal, complete with stacktrace support.
Nitro now also automatically applies source maps without requiring extra Node options, and we set appropriate security headers when rendering error pages.
📦 Module Development Improvements
For module authors, we've added the ability to augment Nitro types with
addTypeTemplate(#31079):⚙️ Nitro v2.11 Upgrade
We've upgraded to Nitro v2.11. There are so many improvements - more than I can cover in these brief release notes.
👉 Check out all the details in the Nitro v2.11.0 release notes.
📦 New
unjsMajor VersionsThis release includes several major version upgrades from the unjs ecosystem, focused on performance and smaller bundle sizes through ESM-only distributions:
✅ 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
@nuxt/devtoolsto v2 (#30889)NuxtPage(#30704)directoryToURLto normalise paths (#30986)start/setin loading indicator (#30989)pages/(#31090)NuxtLinkslot (#31104)addTypeTemplate(#31079)oxc-parserinstead of esbuild + acorn (#30066)🔥 Performance
exsolvefor module resolution (#31124)loadNuxt(#31176)🩹 Fixes
<NuxtLayout>fallbackprop is typed (#30832)keepalivecache reset (#30807)divwrapper in client-only pages (#30425)nitropack(aba75bd5a)nullfrom resolve functions (d68e8ce57)app.head.metavalues are undefined (#30959)shared/directories available within layers (#30843)<pre>when rendering dev errors (9aab69ec4)page:transition:starttype (#31040)provide/injectwork insetupofdefineNuxtComponent(#30982)_for NuxtIsland name on server pages (#31072)ohashto calculate legacy async data key without hash (#31087)shareddir from config (#31091)nuxt.options.pagesto detected configuration (#31101)definePageMetadoes not receive an object (#31156)no-ssrmiddleware handler (a99c59fbd)navigatewithvue-router(7a1934509)nuxt.options.pages(fa480e0a0)resolveModule(6fb5c9c15)resolveTypePath(a0f9ddfe2)compilerOptions.paths(835e89404)RawVueCompilerOptionsfor unresolvedtsconfig(#31202)navigateTowith replace (#31244)devStorage(#31233)useFetchfunction name on server for warning (#31213)x-nitro-prerenderheader (2476cab9a)💅 Refactors
isEqualfromohash/utils(2e27cd30c)noScriptsroute rule (#31083)runtime/nitrofiles (#31131)📖 Documentation
spaLoadingTemplateexample (#30830)NuxtPage(#30781)navigateTodocs with clearer structure and examples (#30876)rootDir(27e356fe6)vue:setupandapp:data:refreshhooks (#31001)defineNuxtRouteMiddleware(#31005)portoption to preview command (#30999).nuxtrcdocumentation (#31093)$fetchon the server (#31114)create nuxtcommand (fe82af4c9)3x(a243f8fcf)<NuxtPage>during page changes (#31116)typedPagesin unhoisted pnpm setups (#31262)📦 Build
🏡 Chore
errxdependency (566418177)@nuxtjs/mdctypechecking dep (f23683b26)nitro/renderertemplates (b29c0e86b)✅ Tests
#internal/nitro/app(a1b855cc5)❤️ Contributors
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 was generated by Mend Renovate. View the repository job log.