Change8

Migrating to Nuxt v3.20.0

Version v3.20.0 introduces 2 breaking changes. This guide details how to update your code.

Released: 10/28/2025

2
Breaking Changes
4
Migration Steps
10
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

useAsyncDataresolveModulesetGlobalHeadaddComponentNuxtLinkloadNuxtConfigmergeModelsNuxtTimegetLayerDirectoriesaddServerPlugin

Breaking Changes

Issue #1

The 'mergeModels' utility has been removed from auto-imports. If you were relying on it being globally available, you must now import it explicitly or use an alternative.

Issue #2

The 'shortPath' property was removed and then added back; ensure your logic doesn't depend on its temporary absence in intermediate dev builds.

Migration Steps

  1. 1
    Run 'npx nuxt upgrade --dedupe --channel=v3' to upgrade and clean up dependencies.
  2. 2
    Replace any usage of 'nuxt.options._layers' with the 'getLayerDirectories()' utility.
  3. 3
    Check for usage of 'mergeModels' and add explicit imports if necessary.
  4. 4
    Update any custom modules using 'extend', 'extendConfig', or 'configResolved' hooks to prepare for future removal.

Release Summary

Nuxt 3.20.0 introduces experimental TypeScript plugin support, Vite Environment API compatibility, and enhanced asyncData handling. It also features several developer experience improvements like Youch error pages in dev and new Nuxt Kit utilities.

Need More Details?

View the full release notes and all changes for Nuxt v3.20.0.

View Full Changelog