Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 1, 2024

This PR contains the following updates:

Package Change Age Confidence
nuxt (source) ^2.17.2 -> ^4.0.3 age confidence

Release Notes

nuxt/nuxt (nuxt)

v4.0.3

Compare Source

4.0.3 is a regularly scheduled patch release.

👉 Changelog

compare changes

🔥 Performance
  • kit: Get absolute path from tinyglobby in resolveFiles (#​32846)
🩹 Fixes
  • nuxt: Do not throw undefined error variable (#​32807)
  • vite: Include tsconfig references during typeCheck (#​32835)
  • nuxt: Add sourcemap path transformation for client builds (#​32313)
  • nuxt: Add warning for lazy-hydration missing prefix (#​32832)
  • nuxt: Trigger call once navigation even when no suspense (#​32827)
  • webpack: Handle null result from webpack call (84816d8a1)
  • kit,nuxt: Use reverseResolveAlias for better errors (#​32853)
📖 Documentation
  • Fix publicDir alias (#​32841)
  • Mention bun.lock for lockfile (#​32820)
  • Add a section about augmenting types with TS project references (#​32843)
  • Improve explanation of global middleware (#​32855)
🏡 Chore
✅ Tests
  • Move tests for defineNuxtComponent out of e2e test (#​32848)
🤖 CI
  • Move nightly releases into different concurrency group (664041be7)
❤️ Contributors

v4.0.2

Compare Source

4.0.2 is the next patch release.

Timetable: 28 July.

👉 Changelog

compare changes

🩹 Fixes
  • nuxt: Provide typed slots for <ClientOnly> and <DevOnly> (#​32707)
  • kit,nuxt,schema: Add trailing slash to some dir aliases (#​32755)
  • nuxt: Constrain global defineAppConfig type (#​32760)
  • kit: Include module types in app context (#​32758)
  • nuxt: Include source base url for remote islands (#​32772)
  • vite: Use vite node server to transform requests (#​32791)
  • kit: Use mlly to parse module paths (#​32386)
  • nuxt: Execute all plugins after error rendering error.vue (#​32744)
📖 Documentation
  • Update Nuxt installation command to use npm create nuxt@latest (#​32726)
  • Add AI-assisted contribution guidelines (#​32725)
  • Hydration best practice (#​32746)
  • Add example for module .with() (#​32757)
  • Replace dead Vue Router docs links (#​32779)
  • Update nightly version references (#​32776)
🏡 Chore
  • Update reproduction links for bug-report template (#​32722)
  • Update unbuild and use absolute path in dev stubs (#​32759)
✅ Tests
  • Ignore vue module.exports export (c4317e057)
🤖 CI
  • Release pkg.pr.new for main/3.x branches as well (b0f289550)
  • Apply 3x tag to latest v3 release (5f6c27509)
❤️ Contributors

v4.0.1

Compare Source

v4.0.1 is the first regularly scheduled patch release of v4

It will be followed up later this week with v3.18, which will backport a number of the features/fixes from Nuxt v4 to v3.

✅ Upgrading

Our recommendation for upgrading is to run:

npx nuxt upgrade --dedupe

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
  • nuxt: Add nuxt.schema files to node tsconfig context (#​32644)
  • nuxt,vite: Unpin nitropack (ed5ad64ad)
  • nuxt: Expose shared aliases within shared/ dir (#​32676)
💅 Refactors
  • nuxt: Pass file language directly to parser options (#​32665)
📖 Documentation
📦 Build
  • vite: Specify nitropack types as external (39be1b3a9)
🏡 Chore
🤖 CI
  • Trigger website redeploy on main branch (#​32695)
❤️ Contributors

v4.0.0

Compare Source

Nuxt 4.0 is here! 🎉

After a year of real-world testing, we're excited to announce the official release of Nuxt 4. This is a stability-focused major release, introducing a few thoughtful breaking changes in order to improve development experience.

If you've been following along, you'll recognize many of these features and changes — and if you're new to them, we hope you'll welcome them.

🔥 What's new?

Nuxt 4 is all about making your development experience smoother:

  • Cleaner project organization with the new app/ directory structure
  • Smarter data fetching - we've taken the opportunity to address some inconsistencies and improve performance with the data layer
  • Better TypeScript support with project-based separation between the different contexts in your project - app code, server code, shared/ folder, and configuration
  • Faster CLI and development with adoption of internal sockets and a faster CLI

Why these features in particular? Mostly because these kind of improvements have required making changes that are technically breaking.

In general, we aim for a hype-free approach to releases. Rather than save up features for a big release, we've been shipping improvements in Nuxt 3 minor releases.

We've also spent a lot of time figuring out how to implement these changes in a backwards-compatible way, and I hope that means that most Nuxt 3 projects can upgrade with a minimum of effort.

I'd advise reading through the upgrade guide before you start, to understand what areas of your app might be affected.

🗂️ New project structure

The biggest visible change is how projects are organized. Your application code now lives in an app/ directory by default:

my-nuxt-app/
├─ app/
│  ├─ components/
│  ├─ pages/
│  ├─ layouts/
│  └─ app.vue
├─ public/
├─ shared/
├─ server/
└─ nuxt.config.ts

This helps keep your code separate from node_modules/ and .git/, which makes file watchers faster (especially on Windows and Linux). It also gives your IDE better context about whether you're working with client or server code.

[!TIP]
Don't want to migrate? That's totally fine! Nuxt will detect your existing structure and keep working exactly as before.

🎨 Updated UI templates

Nuxt’s starter templates have an all new look, with improved accessibility, default titles, and template polish (#​27843).

🔄 Smarter data fetching

We've made useAsyncData and useFetch work better. Multiple components using the same key now share their data automatically. There's also automatic cleanup when components unmount, and you can use reactive keys to refetch data when needed. Plus, we've given you more control over when cached data gets used.

Some of these features have already been made available in Nuxt v3 minor releases, because we've been rolling this out gradually. Nuxt v4 brings different defaults, and we expect to continue to work on this data layer in the days to come.

🔧 Better TypeScript experience

Nuxt now creates separate TypeScript projects for your app code, server code, shared/ folder, and builder code. This should mean better autocompletion, more accurate type inference and fewer confusing errors when you're working in different contexts.

[!TIP]
With Nuxt 4, you will only need one tsconfig.json file in your project root!

This is probably the single issue that is most likely to cause surprises when upgrading, but it should also make your TypeScript experience much smoother in the long run. Please report any issues you encounter. 🙏

⚡ Faster CLI and development

In parallel with the release of v4, we've been working on speeding up @nuxt/cli.

  • Faster cold starts - Development server startup is noticeably faster
  • Node.js compile cache - Automatic reuse of the v8 compile cache
  • Native file watching - Uses fs.watch APIs for fewer system resources
  • Socket-based communication - The CLI and Vite dev server now communicate via internal sockets instead of network ports, reducing overhead — particularly on Windows

These improvements combined can make a really noticeable difference in your day-to-day development experience, and we have more planned.

🚀 How to upgrade

Although any major release brings breaking changes, one of our main aims for this release is to ensure that the upgrade path is as smooth as possible. Most of the breaking changes have been testable with a compatibility flag for over a year.

Most projects should upgrade smoothly, but there are a few things to be aware of:

  • Nuxt 2 compatibility has been removed from @nuxt/kit. (This will particularly affect module authors.)
  • Some legacy utilities and deprecated features have been cleaned up.
  • The new TypeScript setup might surface some type issues that were hidden before.
  • A few modules might need further updates for full Nuxt 4 compatibility.

Don't worry though — for most breaking changes, there are configuration options to revert to the old behavior while you adjust.

1. Update Nuxt

Our recommendation for upgrading is to run:

npx nuxt upgrade --dedupe

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.

2. Optional: use migration tools

We’ve also partnered with Codemod to automate many, though not all, migration steps:

npx codemod@latest nuxt/4/migration-recipe
3. Test and adjust

Run your tests, check that everything builds correctly, and fix any issues that come up. The upgrade guide has detailed migration steps for specific scenarios.

We'd recommend reading through it in full before starting your upgrade, to understand what areas of your app might be affected.

🗺️ What's next?

We're planning quick patch releases to address any issues that come up. Nuxt 3 will continue to receive maintenance updates (both bug fixes and backports of features from Nuxt 4) until the end of January 2026, so there's no rush if you need time to migrate.

Looking ahead, we plan to release Nuxt 5 on the sooner side, which will bring Nitro v3 and h3 v2 for even better performance, as well as adopting the Vite Environment API for an improved (and faster!) development experience. And there's a lot more in the works too!

And, quite apart from major releases, we have a lot of exciting features planned to make their way into Nuxt 3.x and 4.x release branches, including support for SSR streaming (#​4753), a first-party accessibility module (#​23255), built-in fetch caching strategies (#​26017), more strongly typed fetch calls (landing in Nitro v3), dynamic route discovery (#​32196), multi-app support (#​21635) and more.

❤️ Thank you

This release is credit to so many people, particularly those who have been testing v4 compatibility mode over the past year. I'm really grateful — thank you for all your help!

Happy coding with Nuxt 4! 🚀

👉 Changelog

compare changes

🚀 Enhancements
  • ui-templates: Update template branding for v4 (#​27843)
  • deps: Upgrade to latest versions of c12, jiti and unbuild (#​27995)
  • kit: Reimplement cjs utils using mlly (#​28012)
  • nuxt: Generate basic jsdoc for module config entry (#​27689)
  • schema: Split dev/prod build directories (#​28594)
  • nuxt: Cache vue app build outputs (#​28726)
  • deps: Update dependency vite to v6 (main) (#​30042)
  • nuxt: Add integration with chrome devtools workspaces (#​32084)
  • kit: Support single import in addServerImports (#​32289)
  • nuxt: Add onWatcherCleanup to imports presets (#​32396)
  • kit,nuxt,schema: Separate ts projects for node/app/nitro (#​30665)
  • nuxt: Support lazy hydration macros (#​31192)
  • nuxt: Export <NuxtTime> prop types (#​32547)
  • nuxt: Add route announcer to default app.vue (#​32621)
  • nuxt: Expose page routes to nitro for o11y (#​32617)
🔥 Performance
  • nuxt: ⚠️ Don't call render:html for server islands (#​27889)
  • vite: Don't write stub manifest for legacy bundler (#​27957)
  • kit: Update env expansion regex to match nitro (#​30766)
  • vite: Communicate with vite-node via internal socket (#​32417)
🩹 Fixes
  • schema,vite: ⚠️ Do not allow configuring vite dev bundler (#​27707)
  • schema: ⚠️ Default to compatibilityVersion: 4 (#​27710)
  • nuxt: ⚠️ Emit absolute paths in builder:watch hook (#​27709)
  • nuxt: ⚠️ Improve default asyncData value behaviour (#​27718)
  • nuxt: ⚠️ Remove old experimental options (#​27749)
  • kit: ⚠️ Support loading nuxt 4 and drop support for <=2 (#​27837)
  • nuxt: ⚠️ Remove __NUXT__ after hydration (#​27745)
  • ui-templates: Add default title back (3415241a6)
  • kit: ⚠️ Drop support for building nuxt 2 projects (1beddba6a)
  • nuxt: ⚠️ Bump internal majorVersion to 4 (7aae4033b)
  • kit: Mark resolvePath utils as sync (655e1473d)
  • kit: Revert change to tryResolveModule (2d136e04c)
  • kit: Add back requireModule and tryRequireModule (#​28013)
  • nuxt: Hide unhandled error messages in prod (#​28156)
  • nuxt: Add useScriptCrisp scripts stub (0c3cc4cf3)
  • nuxt: ⚠️ Remove unused globalName property (#​28391)
  • nuxt: Use static import for updateAppConfig in HMR (#​28349)
  • vite: Write dev manifest when ssr: false (#​28488)
  • kit,nuxt,schema: ⚠️ Remove other support for nuxt2/bridge (#​28936)
  • webpack: Only insert dynamic require plugin when building (b619b35e9)
  • nuxt: Guard window access (d874726ff)
  • nuxt: Remove unneeded subpath import (18a6ef1ca)
  • webpack: Handle new webpack chunk format (d293c06d2)
  • kit: ⚠️ Do not check compatibility for nuxt version < 2.13 (f94cda4c8)
  • ui-templates: Fix examples link and add bluesky (#​30866)
  • vite: Use resolveId from vite-node to resolve deps (#​30922)
  • nuxt: Import isEqual from main ohash export (3ec1a1e5e)
  • vite: Don't set output.preserveModules (ce49734aa)
  • nuxt: Ignore #app-manifest import in dev mode (#​31539)
  • nuxt: Ensure layer array-type config is merged in order (#​31507)
  • schema: Turn off purgeCachedData until v4 (7aa3a01ae)
  • schema: Re-enable purgeCachedData by default (06745604c)
  • webpack: Expand dynamic require regexp to match new pattern (62e700daa)
  • nuxt: Add back missing reset of .execute (d79e14612)
  • nuxt,schema: ⚠️ Remove support for compatibilityVersion: 3 (#​32255)
  • kit,nuxt,schema,vite: ⚠️ Remove support for some deprecated options (#​32257)
  • nuxt: ⚠️ Don't rerun asyncdata w/ existing data in useAsyncData (#​32170)
  • nuxt: Scan nitro handlers before writing types (a3698c08b)
  • nuxt: Force asyncData errorValue/value to be undefined (7e4eac655)
  • nuxt: ⚠️ Remove public and assets aliases (#​32119)
  • webpack: Update dynamic require pattern (#​32278)
  • schema: ⚠️ Remove top level generate option (#​32355)
  • ui-templates: Add aria tag on Nuxt logo (#​32429)
  • nuxt: Augment runtime config in server context (#​32482)
  • kit: Do not skip layer with defined srcDir (#​32487)
  • deps: Upgrade to rc version of @nuxt/cli (#​32488)
  • kit: Ensure legacy tsConfig doesn't exclude too many types (#​32528)
  • kit: Ensure types of module entrypoints are in node project (#​32551)
  • kit: Add layer app/ and server/ folders into tsconfigs (#​32592)
  • schema: Disable changing compat version (#​32600)
  • nuxt: Allow modules to add to typescript.hoist (#​32601)
  • nuxt: Include shared declarations in tsconfig.server.json (#​32594)
  • nuxt: Retain old data when computed key changes (#​32616)
  • nuxt: ⚠️ Bump compatibilityDate to 2025-07-15 (e35e1ccb9)
  • nuxt: Only use scrollBehaviorType for hash scrolling (#​32622)
💅 Refactors
  • kit,nuxt: ⚠️ Drop nuxt 2 + ejs template compile support (#​27706)
  • nuxt: ⚠️ Move #app/components/layout -> #app/components/nuxt-layout (209e81b60)
  • kit,nuxt,vite,webpack: ⚠️ Remove legacy require utils (#​28008)
  • nuxt: Simplify check of dedupe option (#​28151)
  • nuxt: Use direct import of installNuxtModule (501ccc375)
  • kit: Remove internal function (#​32189)
  • schema: ⚠️ Remove config.schema.json export + defaults (#​32254)
  • nuxt: Migrate to oxc-walker (#​32250)
  • nuxt,schema: Use oxc for onPrehydrate transform (#​32045)
📖 Documentation
  • Indicate what useAsyncData must return (#​28259)
  • Update deep default for useAsyncData & useFetch (#​28564)
  • Fix link to issue (4d13f1027)
  • Improve wording for deep option (bec85dfcd)
  • Update v4 docs with new folder structure (#​32348)
  • Update .nuxtignore examples for v4 structure (#​32489)
  • Add reference to useNuxtData in data fetching composable pages (#​32589)
  • Temporarily use v4 template for v4 docs (850a879d3)
  • Document the --modules flag in the init command (#​32599)
📦 Build
  • deps: Bump esbuild from 0.23.1 to 0.25.0 (#​31247)
🏡 Chore
✅ Tests
  • Remove unused experimental options (6d971ddc9)
  • Add additional attw test for built packages (#​30206)
  • Add minimal pages fixture (#​30457)
  • Update bundle size assertion (f458153d9)
  • Update bundle size assertion (4cce6bf8d)
  • Benchmark minimal fixture instead (#​31174)
  • Normalise scoped css + pass logger to configResolved (8d3bd4f9f)
  • More precise asyncData tests (023fb13eb)
  • Extend timeout when waiting for hydration (f34c6c240)
  • Also assert status (4f6bdf755)
🤖 CI
⚠️ Breaking Changes
  • nuxt: ⚠️ Don't call render:html for server islands (#​27889)
  • schema,vite: ⚠️ Do not allow configuring vite dev bundler (#​27707)
  • schema: ⚠️ Default to compatibilityVersion: 4 (#​27710)
  • nuxt: ⚠️ Emit absolute paths in builder:watch hook (#​27709)
  • nuxt: ⚠️ Improve default asyncData value behaviour (#​27718)
  • nuxt: ⚠️ Remove old experimental options (#​27749)
  • kit: ⚠️ Support loading nuxt 4 and drop support for <=2 (#​27837)
  • nuxt: ⚠️ Remove __NUXT__ after hydration (#​27745)
  • kit: ⚠️ Drop support for building nuxt 2 projects (1beddba6a)
  • nuxt: ⚠️ Bump internal majorVersion to 4 (7aae4033b)
  • nuxt: ⚠️ Remove unused globalName property (#​28391)
  • kit,nuxt,schema: ⚠️ Remove other support for nuxt2/bridge (#​28936)
  • kit: ⚠️ Do not check compatibility for nuxt version < 2.13 (f94cda4c8)
  • nuxt,schema: ⚠️ Remove support for compatibilityVersion: 3 (#​32255)
  • kit,nuxt,schema,vite: ⚠️ Remove support for some deprecated options (#​32257)
  • nuxt: ⚠️ Don't rerun asyncdata w/ existing data in useAsyncData (#​32170)
  • nuxt: ⚠️ Remove public and assets aliases (#​32119)
  • schema: ⚠️ Remove top level generate option (#​32355)
  • nuxt: ⚠️ Bump compatibilityDate to 2025-07-15 (e35e1ccb9)
  • kit,nuxt: ⚠️ Drop nuxt 2 + ejs template compile support (#​27706)
  • nuxt: ⚠️ Move #app/components/layout -> #app/components/nuxt-layout (209e81b60)
  • kit,nuxt,vite,webpack: ⚠️ Remove legacy require utils (#​28008)
  • schema: ⚠️ Remove config.schema.json export + defaults (#​32254)
❤️ Contributors

v3.18.1

Compare Source

3.18.1 is a regularly scheduled patch release.

👉 Changelog

compare changes

🔥 Performance
  • kit: Get absolute path from tinyglobby in resolveFiles (#​32846)
🩹 Fixes
  • nuxt: Do not throw undefined error variable (#​32807)
  • vite: Include tsconfig references during typeCheck (#​32835)
  • nuxt: Add sourcemap path transformation for client builds (#​32313)
  • nuxt: Add warning for lazy-hydration missing prefix (#​32832)
  • nuxt: Trigger call once navigation even when no suspense (#​32827)
  • webpack: Handle null result from webpack call (65aa17158)
  • kit,nuxt: Use reverseResolveAlias for better errors (#​32853)
📖 Documentation
  • Update nightly version references (#​32776)
  • Improve explanation of global middleware (#​32855)
🏡 Chore
✅ Tests
  • Move tests for defineNuxtComponent out of e2e test (#​32848)
🤖 CI
  • Move nightly releases into different concurrency group (26f9baa6a)
❤️ Contributors

v3.18.0

Compare Source

3.18.0 is the next minor release.

👀 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:

<script setup lang="ts">
const LazyHydrationMyComponent = defineLazyHydrationComponent(
  'visible',
  () => import('./components/MyComponent.vue')
)
</script>
<template>
  <div>
    <!-- 
      Hydration will be triggered when
      the element(s) is 100px away from entering the viewport.
    -->
    <LazyHydrationMyComponent :hydrate-on-visible="{ rootMargin: '100px' }" />
  </div>
</template>

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-in app.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 an app.vue in your project. If you do, please keep <NuxtRouteAnnouncer> in your app.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:

  • Typed slots for <ClientOnly> and <DevOnly> (#​32707) - better IntelliSense and error checking
  • Exported <NuxtTime> prop types (#​32547) - easier to extend and customize
New Auto-Import: onWatcherCleanup

The onWatcherCleanup function from vue is now available as an auto-import (#​32396), making it easier to clean up watchers and prevent memory leaks:

const { data } = useAsyncData('users', fetchUsers)

watch(data, (newData) => {
  const interval = setInterval(() => {
    // Some periodic task
  }, 1000)
  
  // Clean up when the watcher is stopped
  onWatcherCleanup(() => {
    clearInterval(interval)
  })
})
📊 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 addServerImports kit utility now supports single imports (#​32289), making it easier to add individual server utilities:

// Before: had to wrap in array
addServerImports([{ from: 'my-package', name: 'myUtility' }])

// Now: can pass directly
addServerImports({ from: 'my-package', name: 'myUtility' })
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:

  • Improved Vite-node communication via internal socket (#​32417) for faster development builds
  • Migration to oxc-walker (#​32250) and oxc for onPrehydrate transforms (#​32045) for faster code transformations
🐛 Bug Fixes

This release also includes several important fixes:

  • Improved data fetching: When computed keys change, old data is now properly retained (#​32616)
  • Better scroll behavior: scrollBehaviorType is now only used for hash scrolling (#​32622)
  • Fixed directory aliases: Added trailing slashes to some directory aliases for better consistency (#​32755)
✅ Upgrading

As usual, our recommendation for upgrading is to run:

npx nuxi@latest upgrade --dedupe

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: Expose page routes to nitro for o11y (#​32617)
  • nuxt: Export <NuxtTime> prop types (#​32547)
  • nuxt: Add integration with chrome devtools workspaces (#​32084)
  • kit: Support single import in addServerImports (#​32289)
  • nuxt: Add onWatcherCleanup to imports presets (#​32396)
  • nuxt: Add route announcer to default app.vue (#​32621)
  • nuxt: Support lazy hydration macros (#​31192)
🔥 Performance
  • vite: Communicate with vite-node via internal socket (#​32417)
  • kit: Update env expansion regex to match nitro (#​30766)
🩹 Fixes
  • nuxt: Allow modules to add to typescript.hoist (#​32601)
  • nuxt: Retain old data when computed key changes (#​32616)
  • nuxt: Only use scrollBehaviorType for hash scrolling (#​32622)
  • nuxt: Add missing async (fd312af03)
  • nuxt: Fix transform/minify types + bump oxc-transform (d2ba19963)
  • nuxt: Provide typed slots for <ClientOnly> and <DevOnly> (#​32707)
  • kit,nuxt,schema: Add trailing slash to some dir aliases (#​32755)
  • nuxt: Include source base url for remote islands (#​32772)
  • vite: Use vite node server to transform requests (#​32791)
  • kit: Use mlly to parse module paths (#​32386)
  • nuxt: Execute all plugins after error rendering error.vue (#​32744)
💅 Refactors
  • nuxt: Migrate to oxc-walker (#​32250)
  • nuxt,schema: Use oxc for onPrehydrate transform (#​32045)
  • nuxt: Pass file language directly to parser options (#​32665)
  • nuxt: Use direct import of installNuxtModule (228e3585e)
📖 Documentation
  • Pass v3 template to create nuxt examples (03182202f)
  • Add reference to useNuxtData in data fetching composable pages (#​32589)
  • Document the --modules flag in the init command (#​32599)
  • Added new Shared folder to the example of v4 folder structure (#​32630)
  • Improve grammar (#​32640)
  • Typos (#​32567)
  • Fix abbreviation (#​32613)
  • Reference noUncheckedIndexedAccess rule change in v4 guide (#​32643)
  • Fix links to Nitro docs (#​32691)
  • Add best practices section (#​31609)
  • Correct alias for local fonts in styling guide (#​32680)
  • Update nuxt.new links to v4 (#​32639)
  • Set correct default value for deep option in usefetch (#​32724)
  • Fix link to issue (ca03f533f)
  • Add AI-assisted contribution guidelines (#​32725)
  • Update Nuxt installation command to use npm create nuxt@latest (#​32726)
  • Hydration best practice (#​32746)
  • Add example for module .with() (#​32757)
  • Replace dead Vue Router docs links (#​32779)
🏡 Chore
  • Handle missing commit details (0af98763d)
  • Update reproduction links for bug-report template (#​32722)
  • Update unbuild and use absolute path in dev stubs (#​32759)
✅ Tests
🤖 CI
  • Trigger website redeploy on main branch (#​32695)
  • Release pkg.pr.new for main/3.x branches as well (ca4f0b1da)
  • Apply 3x tag to latest v3 release (5e8dfc150)
❤️ Contributors

v3.17.7

Compare Source

3.17.7 is the last patch release before v3.18.

✅ Upgrading

Our recommendation for upgrading is to run:

npx nuxt upgrade --dedupe

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
  • nuxt: Safe-guard extraPageMetaExtractionKeys (#​32510)
  • nuxt: Expose loadBuilder error cause (8f13ce3c2)
  • vite: Handle resolving string vite input (#​32527)
  • nuxt: Wrap only server components with island generic (#​32540)
  • vite: Ignore when client entry cannot be resolved (19a292f34)
  • nuxt: Normalize segment catchall pattern before checking for parent (#​32413)
  • nuxt: Update warning message to warn against null values (c1b83eab5)
  • nuxt: Ensure semver.satisfies returns true for pre-release versions (#​32574)
  • nuxt: Scroll to anchor if present when changing page without saved position (#​32376)
  • nuxt: Handle execute being passed to watch` ([#​32591](https://redirect.github.com/nuxt/n

Configuration

📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), 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.


  • If you want to rebase/retry this PR, check this box

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

@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 384fc7b to eabf836 Compare February 5, 2024 19:37
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from eabf836 to cd27b75 Compare February 14, 2024 13:50
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from cd27b75 to 15410ed Compare February 22, 2024 15:21
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from d572274 to d24f0a1 Compare March 18, 2024 23:41
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from d24f0a1 to a7e9c6b Compare April 4, 2024 20:46
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 3 times, most recently from 2f84788 to d2cc335 Compare June 16, 2024 09:14
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from d2cc335 to 26dc411 Compare July 2, 2024 17:04
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 26dc411 to 3302d6f Compare July 18, 2024 23:01
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 3302d6f to ff0aee1 Compare August 27, 2024 05:50
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from ff0aee1 to 4feff43 Compare September 4, 2024 14:35
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 4feff43 to c14a293 Compare September 15, 2024 22:47
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from 09b5516 to 7e3373b Compare November 6, 2024 12:44
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 7e3373b to b57a5a3 Compare November 19, 2024 22:16
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from b57a5a3 to a9e0f50 Compare December 25, 2024 00:46
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from a9e0f50 to 75fd35b Compare January 5, 2025 14:10
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 75fd35b to 8adf157 Compare January 15, 2025 17:33
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from c32e563 to 518d36b Compare January 29, 2025 10:18
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 518d36b to 8055480 Compare March 7, 2025 18:36
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 8055480 to 72b1549 Compare March 19, 2025 19:54
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 72b1549 to c2b7cca Compare April 1, 2025 13:12
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from 63ae9e7 to 1a7c2c6 Compare April 29, 2025 02:09
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 1a7c2c6 to 48e6ad4 Compare May 5, 2025 11:50
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 48e6ad4 to b7c94d6 Compare May 12, 2025 15:55
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from b7c94d6 to 4851866 Compare May 20, 2025 20:38
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 4851866 to 85d1c51 Compare June 4, 2025 00:40
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 85d1c51 to 391f557 Compare July 1, 2025 17:32
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from 610ed53 to 0d066be Compare July 16, 2025 01:48
@renovate renovate bot changed the title fix(deps): update dependency nuxt to v3 fix(deps): update dependency nuxt to v4 Jul 16, 2025
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from 0d066be to a0dfb6e Compare July 21, 2025 13:51
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from a0dfb6e to ae4be38 Compare July 29, 2025 03:30
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from 8e32bb4 to 6675222 Compare August 10, 2025 14:00
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch 2 times, most recently from b8f60a8 to af188ec Compare August 19, 2025 14:44
@renovate renovate bot force-pushed the renovate/major-nuxtjs-monorepo branch from af188ec to 647bb0c Compare August 31, 2025 09:56
@renovate
Copy link
Contributor Author

renovate bot commented Aug 31, 2025

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 4.x releases. But if you manually upgrade to 4.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/major-nuxtjs-monorepo branch August 31, 2025 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant