Skip to content

Releases: nuxt/cli

v3.28.0

10 Aug 20:11
d914887
Compare
Choose a tag to compare

3.28.0 is the next minor release.

👉 Changelog

compare changes

🚀 Enhancements

  • init: Add --nightly flag (#650)

🩹 Fixes

  • dev: Handle array of dotenv file names (73888d3)
  • init: Use amended directory when adding modules (#998)
  • init: Skip modules that are dependencies of the selected template (#910)
  • init: Default nightly install to latest (6b80c59)
  • dev: End websocket connections gracefully (#1001)
  • upgrade: Do not use cache when getting nuxt version (#1002)

🏡 Chore

🤖 CI

  • Run size compare workflow on pull_request_target (#999)

❤️ Contributors

v3.27.0

25 Jul 16:36
174d2c4
Compare
Choose a tag to compare

3.27.0 is the next minor release.

Timetable: to be announced.

👉 Changelog

compare changes

🚀 Enhancements

  • Add -e alias for --extends (#986)

🩹 Fixes

  • upgrade: Update default Nuxt version to v4 (#981)
  • add: Create layers relative to rootDir (67b9dab)

❤️ Contributors

v3.26.4

21 Jul 08:26
473fb0f
Compare
Choose a tag to compare

3.26.4 is the next patch release.

Timetable: to be announced.

👉 Changelog

compare changes

🩹 Fixes

  • dev: Await devServer.close (0d9ab2c)
  • dev: Add exception handlers for initial restart (#975)

❤️ Contributors

v3.26.3

20 Jul 16:50
46e48c5
Compare
Choose a tag to compare

3.26.3 is the next patch release.

👉 Changelog

compare changes

🩹 Fixes

  • dev: Only close config watchers when process exits (#971)
  • dev: Call close watchers when cleaning up init (#972)
  • dev: Work around rollup build bug (ef541a6)
  • dev: Expose port/host to options.devServer (#970)
  • dev: Use get-port-please to handle socket paths (#973)
  • dev: Use 'SIGTERM' to kill process on deno (#974)

🤖 CI

  • Do not fail fast in matrix (fc146d1)

❤️ Contributors

v3.26.2

15 Jul 22:26
6c9a635
Compare
Choose a tag to compare

3.26.2 is the next patch release.

Timetable: to be announced.

👉 Changelog

compare changes

🩹 Fixes

  • Update default template name to v4 (beb7fb4)

❤️ Contributors

v3.26.1

15 Jul 08:25
bf46b4f
Compare
Choose a tag to compare

3.26.1 is the next patch release.

Timetable: to be announced.

👉 Changelog

compare changes

🩹 Fixes

  • dev: Temporarily refactor to use previous socket url handling (#957)

💅 Refactors

  • Simplify formatSocketURL logic (11330aa)

❤️ Contributors

v3.26.0

14 Jul 09:29
ebf5d01
Compare
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
Compare
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
Compare
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
Compare
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