Skip to content

v3.26.0 #900

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 14, 2025
Merged

v3.26.0 #900

merged 1 commit into from
Jul 14, 2025

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jun 4, 2025

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

@danielroe danielroe marked this pull request as ready for review July 13, 2025 21:31
@danielroe danielroe self-requested a review as a code owner July 13, 2025 21:31
@danielroe danielroe merged commit ebf5d01 into main Jul 14, 2025
@danielroe danielroe deleted the v3.26.0 branch July 14, 2025 09:27
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