Skip to content

Releases: nuxt/cli

v3.26.0

14 Jul 09:29
ebf5d01

Choose a tag to compare

3.26.0 is the next minor release.

👀 Highlights

Nuxt CLI v3.26 focuses on performance with faster cold starts, intelligent caching, and architectural improvements that prepare the foundation for Nuxt v4. I very much hope it will make your dev workflow noticeably faster and more responsive.

I'm hoping to write up a little bit more about how we did this, but the key changes include:

🚀 Faster Development Server

Starting your Nuxt development server is now significantly faster. We've optimized the initialization sequence to prioritize critical operations and reduce startup time, especially noticeable in larger projects (#902).

🔥 Node.js Compile Cache

The Node.js compile cache is now enabled automatically when supported, providing up to 3x faster startup times for subsequent CLI operations (#911).

# first run: normal CLI load time
nuxt build

# ⚡ cached load
nuxt build 

The CLI automatically detects support and falls back gracefully when not available. (You can also set NODE_DISABLE_COMPILE_CACHE=1 to disable it.)

📁 Native File Watching

File watching now uses native fs.watch APIs for watching configuration files, .env, and the dist directory. This provides faster feedback and uses fewer system resources (#913).

🔌 Socket-Based Development Proxy

The Nuxt dev server uses an internal connection between the host/port that the CLI starts, and the actual dev server. Previously, we used an internal TCP/IP network port, which had extra overhead, particularly on Windows machines. Now, where supported (currently Nuxt v4 only), we use a socket (#921).

You can also test this with Nuxt v3 by setting the NUXT_SOCKET environment variable, but until v3.18 is released, this may actually slow down your dev server as the current Nuxt v3 vite-node dev server does not support sockets and will fall back to the public network interface.

⚡ Faster TypeScript Support

TypeScript resolution now happens in parallel with Nuxt type preparation, reducing nuxt typecheck times. The CLI also supports TypeScript project references, making it easier to work with monorepos (this also prepares for enhanced TypeScript integration in Nuxt v4) (#928).

🛠️ Layer Support with --extends

Create new Nuxt projects that extend existing layers with the new --extends option (#933):

nuxt dev --extends @my-org/nuxt-layer my-project

It's advised instead to include the layer you extend in your nuxt.config file but this can be considered an escape hatch for situations where this is not possible.

🎯 Better Module Management

The nuxt init command now provides a cleaner module selection experience. Modules that are dependencies of other modules are automatically hidden, and you can skip module selection entirely with --no-modules.

We plan to improve this further in the next release with #910.

🔧 Stability Improvements

This release comes with plenty of bug fixes, of course, as well as prioritising the version of @nuxt/kit actually used by the version of Nuxt you have installed. (This should fix some edge cases issues where the CLI was using a different version of @nuxt/kit than Nuxt itself.)

👉 Changelog

compare changes

🚀 Enhancements

  • dev: Add debug timing log (9d4da0b)
  • typecheck: Support ts projects (#928)
  • Add --extends option to allow extending nuxt layers (#933)

🔥 Performance

  • dev: Improve cold start of dev server (#902)
  • Enable node compile cache (#911)
  • dev: Use native fs.watch to watch dist, config and .env (#913)
  • typecheck: Resolve typescript alongside preparing nuxt types (b3229ed)
  • dev: Use socket to proxy connections to dev server (#921)
  • dev: Use exsolve to resolve + import legacy loading template (#936)

🩹 Fixes

  • init: Allow skipping modules prompt with --no-modules (#888)
  • init: Ask before showing modules selector (#895)
  • init: Skip modules that are dependencies of other modules (#879)
  • module: Fix parsing bug for .npmrc files with comments (#881)
  • Correctly polyfill globalThis.crypto (29ddb60)
  • dev: Always create dist dir before watching it (cafc1ad)
  • Prioritise @nuxt/kit from nuxt dependencies (#929)
  • dev: Avoid recursive fs watching (2fc475b)
  • dev: Set xfwd headers (#931)
  • Only set NODE_COMPILE_CACHE if cache can be enabled (a4827d2)
  • dev: Ensure we listen on port if _PORT is set (#940)
  • typecheck: Proxy overrides to loadNuxt (#942)
  • dev: Handle undefined process.title (#946)
  • dev: Don't use sockets if provider is stackblitz (#949)

💅 Refactors

  • dev: Directly emit address (+ type server) (f2e098a)
  • dev: Use get-port-please to produce socket addresses (#952)

🏡 Chore

  • Fix broken lockfile (cbd3cdb)
  • Add script to test nuxt-cli (c307faa)
  • Remove stray symbolic links (78331cb)
  • De-dupe nuxt dependency (#905)
  • Move playground/ to root (#917)
  • Skip non-existent authors (29d45b3)
  • Use fetch api (599c4d2)
  • Update dev container (4fc6d69)

✅ Tests

  • Switch from deprecated vitest syntax (b6553eb)
  • Add dev server benchmarks (#901)
  • Accurately benchmark forked mode (#903)
  • Close servers (#904)
  • Add additional e2e command tests (#935)

🤖 CI

  • Run tests on macos as well (3ff4670)
  • Run tests against node 20 (b77626a)
  • Remove forced corepack installation (7fa1adc)

❤️ Contributors

v3.26.0-rc.3

09 Jul 14:26
50b1fcf

Choose a tag to compare

v3.26.0-rc.3 Pre-release
Pre-release

compare changes

🩹 Fixes

  • dev: Ensure we listen on port if _PORT is set (#940)

❤️ Contributors

v3.26.0-rc.2

09 Jul 14:25
ac2d954

Choose a tag to compare

v3.26.0-rc.2 Pre-release
Pre-release

compare changes

🔥 Performance

  • typecheck: Resolve typescript alongside preparing nuxt types (b3229ed)
  • dev: Use socket to proxy connections to dev server (#921)
  • dev: Use exsolve to resolve + import legacy loading template (#936)

🩹 Fixes

  • dev: Avoid recursive fs watching (2fc475b)
  • dev: Set xfwd headers (#931)
  • Only set NODE_COMPILE_CACHE if cache can be enabled (a4827d2)

🏡 Chore

✅ Tests

  • Add additional e2e command tests (#935)

❤️ Contributors

v3.26.0-rc.1

09 Jul 14:24
810220d

Choose a tag to compare

v3.26.0-rc.1 Pre-release
Pre-release

compare changes

🚀 Enhancements

  • dev: Add debug timing log (9d4da0b)
  • typecheck: Support ts projects (#928)

🔥 Performance

  • dev: Improve cold start of dev server (#902)
  • Enable node compile cache (#911)
  • dev: Use native fs.watch to watch dist, config and .env (#913)

🩹 Fixes

  • init: Allow skipping modules prompt with --no-modules (#888)
  • init: Ask before showing modules selector (#895)
  • init: Skip modules that are dependencies of other modules (#879)
  • module: Fix parsing bug for .npmrc files with comments (#881)
  • Correctly polyfill globalThis.crypto (29ddb60)
  • dev: Always create dist dir before watching it (cafc1ad)
  • Prioritise @nuxt/kit from nuxt dependencies (#929)

💅 Refactors

  • dev: Directly emit address (+ type server) (f2e098a)

🏡 Chore

  • Fix broken lockfile (cbd3cdb)
  • Add script to test nuxt-cli (c307faa)
  • Remove stray symbolic links (78331cb)
  • De-dupe nuxt dependency (#905)
  • Move playground/ to root (#917)

✅ Tests

  • Switch from deprecated vitest syntax (b6553eb)
  • Add dev server benchmarks (#901)
  • Accurately benchmark forked mode (#903)
  • Close servers (#904)

🤖 CI

  • Run tests on macos as well (3ff4670)
  • Run tests against node 20 (b77626a)
  • Remove forced corepack installation (7fa1adc)

❤️ Contributors

v3.25.1

12 May 13:16
b2b42e8

Choose a tag to compare

👉 Changelog

compare changes

🩹 Fixes

  • upgrade: Dedupe packages after update (#872)

❤️ Contributors

v3.25.0

18 Apr 12:18
6a4a8a9

Choose a tag to compare

3.25.0 is the next minor release.

👉 Changelog

compare changes

🚀 Enhancements

  • init: Default to install with current package manager (#838)

🩹 Fixes

  • preview: Don't warn if user hasn't provided dotenv (1d1741c)
  • Remove color/spacing from nuxi tag in logger (#847)
  • dev: Respect devServer.host if set in layer (#855)

❤️ Contributors

v3.24.1

03 Apr 15:37
18fd4d0

Choose a tag to compare

👉 Changelog

compare changes

🩹 Fixes

  • Update command descriptions and defaults (#601)
  • dev,preview,typecheck: Use explicit --dotenv filename (#381)
  • preview: Load nuxt instance to get final nitro output path (#823)

❤️ Contributors

v3.24.0

31 Mar 13:53
fa082c7

Choose a tag to compare

3.24.0 is the next minor release.

Timetable: to be announced.

👉 Changelog

compare changes

🚀 Enhancements

  • dev: Use youch to render loading errors (#818)

🩹 Fixes

  • module: Resolve semver module versions (#803)

❤️ Contributors

v3.23.1

18 Mar 20:08
2147058

Choose a tag to compare

3.23.1 is the next patch release.

Timetable: to be announced.

👉 Changelog

compare changes

🩹 Fixes

  • dev: Use nitro to render errors thrown while loading (#794)
  • dev: Allow overriding inferred cors/allowedHosts config (#795)

🏡 Chore

  • Remove nitropack-nightly resolution (00aa479)

❤️ Contributors

v3.23.0

12 Mar 22:52
692e6a9

Choose a tag to compare

3.23.0 is the next minor release.

Timetable: to be announced.

👉 Changelog

compare changes

🚀 Enhancements

  • init: Add interactive modules selector (#781)

🩹 Fixes

  • init: Improve interactive modules selector (#785)

🏡 Chore

  • Update README (#778)

❤️ Contributors