Skip to content

v4.0.0 - #1482

Draft
github-actions[bot] wants to merge 1 commit into
mainfrom
release/v4.0.0
Draft

v4.0.0#1482
github-actions[bot] wants to merge 1 commit into
mainfrom
release/v4.0.0

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

v4.0.0 is the next major release.

Timetable: to be announced.

🎉 Highlights

Nuxt CLI v4 is a performance, feature and DX-focused release.

Watch this space to keep up-to-date on what's coming! 🔥

Breaking changes

We're taking the opportunity to adopt the following breaking changes:

  • we're dropping support for @nuxt/bridge (as Nuxt 2 has been EOL for some time now).
  • we now require Node v22.19+, v24.11+, or v26+

Performance

We're working to reduce the dependency count and total install size. You can track the current progress here.

image

👉 Changelog

compare changes

🚀 Enhancements

🔥 Performance

🩹 Fixes

💅 Refactors

📖 Documentation

🏡 Chore

✅ Tests

  • freeze clock when testing startup logs (eacb946)
  • mark bun websockets as supported + fix animation detection (63b5b7f)
  • stop collecting scaffolded command fixtures as test files (a36ce44)
  • stop the command e2e suite mutating the shared playground (bd19413)
  • cover dev initialize wiring, close ordering and profiling (e32ea88)
  • cover typecheck checker selection, install advice and build mode (1e3e803)
  • cover upgrade preconditions, install failures and the pnpm catalog path (e12e139)
  • cover the interactive init flow and its fallbacks (f8338be)
  • cover the dev command takeover, handover and fork pool paths (8112e50)
  • assert config edits hold their invariants across config shapes (672c101)
  • cover the dev server lifecycle with a stubbed kit (dd68ab8)
  • assert nuxt info reports config keys without their values (0b45675)
  • cover registry auth scoping and dev server responses (3a5aa2c)
  • cover console raw mode, config loading and info box formatting (ff8529a)
  • cover error page rendering, cleanup guards and dev listen options (e991256)
  • give servers under test a realistic startup budget (f1a664b)
  • cover the banner path with a single version to join (a1a4cb9)
  • give each dev fixture its own vite cache (e35dd95)
  • generate: cover build overrides (f850a17)
  • isolate runtime e2e ports in dev tests and fix force-kill (d05718d)
  • give each dev spec its own fixture copy (fcfd1bf)
  • stub provider and environment detection in dev output tests (d5c583e)
  • use file URL when importing loader in subprocess (b6f5b11)
  • fix types (a94b9f5)
  • cover shortcut error paths (0e780ba)
  • assert on rendered terminal output with ansivision (1754688)

🤖 CI

  • update uppt to 0.6.5 and add prerelease trigger (46d0bef)
  • only publish nightly releases from main (45a5d8f)
  • run against 3.x branch as well (f1fcd22)
  • trigger ci/lint jobs on merge group (9a95204)
  • run pr benchmark against main (9dfa22b)
  • set explicit permissions and avoid interpolation (ae1dfc2)
  • set persist-credentials to false (09c49c4)
  • also rename provenance workflow (df44f64)
  • rename bench workflow (3798e0e)
  • improve workflows (ci: improve workflows #1381)

🎉 New Contributors

❤️ Contributors

@danielroe danielroe closed this Aug 24, 2026
@danielroe danielroe reopened this Aug 24, 2026
@pkg-pr-new

pkg-pr-new Bot commented Aug 24, 2026

Copy link
Copy Markdown
  • nuxt-cli-playground

    npm i https://pkg.pr.new/create-nuxt@1482
    
    npm i https://pkg.pr.new/nuxi@1482
    
    npm i https://pkg.pr.new/@nuxt/cli@1482
    

commit: 489c15f

@github-actions

Copy link
Copy Markdown
Contributor Author

CLI benchmark

@nuxt/cli v3.37.0 (baseline) vs v4.0.0 (this PR)

Metric baseline v3.37.0 head v4.0.0 Delta
nuxt --version wall time (median) 66 ms 63 ms -4.9%
nuxt --help wall time (median) 137 ms 137 ms -0.4%
nuxt dev --help wall time (median) 103 ms 102 ms -0.9%
nuxt --version modules loaded 38 38 0.0%
nuxt --help modules loaded 135 135 0.0%
nuxt dev --help modules loaded 80 80 0.0%
Installed node_modules 2.32 MB 2.32 MB -0.0%
Published tarball (packed) 264.7 kB 264.7 kB 0.0%
Full report

@nuxt/cli v3.37.0 (baseline) vs v4.0.0 (head)

Setting Value
Baseline ref:fb86ed4b60b43603c76f6b18ff976b5440a29dbe (v3.37.0)
Head local packages/nuxt-cli at b736794 (v4.0.0)
Node v24.19.0
OS Linux 6.17.0 (kernel 6.17.0-1022-azure)
CPU AMD EPYC 7763 64-Core Processor x 4
Memory 15.6 GB
Load average at start 1.40, 0.44, 0.15
Run started 2026-08-24T07:46:08.010Z

Cold CLI startup

Median of 15 interleaved runs per command, one warmup discarded.

Command baseline v3.37.0 median head v4.0.0 median Delta baseline v3.37.0 min / p95 head v4.0.0 min / p95
nuxt --version 66 ms 63 ms -4.9% 62 ms / 69 ms 61 ms / 66 ms
nuxt --version (first output byte) 62 ms 59 ms -5.2% 58 ms / 65 ms 57 ms / 62 ms
nuxt --help 137 ms 137 ms -0.4% 132 ms / 139 ms 133 ms / 139 ms
nuxt --help (first output byte) 133 ms 132 ms -0.4% 127 ms / 134 ms 128 ms / 133 ms
nuxt dev --help 103 ms 102 ms -0.9% 101 ms / 107 ms 100 ms / 107 ms
nuxt dev --help (first output byte) 99 ms 97 ms -1.2% 96 ms / 102 ms 96 ms / 102 ms
nuxt <unknown-command> (no-op) 147 ms 146 ms -0.3% 144 ms / 150 ms 142 ms / 148 ms
nuxt <unknown-command> (no-op) (first output byte) 142 ms 141 ms -0.6% 139 ms / 145 ms 137 ms / 143 ms

Module load cost

Counted with a module.registerHooks load hook, compile cache disabled. Counts every JS module actually evaluated on that code path (built-ins excluded, native addons excluded).

Command baseline v3.37.0 modules head v4.0.0 modules Delta baseline v3.37.0 source bytes head v4.0.0 source bytes Delta
nuxt --version 38 38 0.0% 291.7 kB 291.7 kB -0.0%
nuxt --help 135 135 0.0% 976.8 kB 976.8 kB -0.0%
nuxt dev --help 80 80 0.0% 586.0 kB 586.0 kB -0.0%

Install footprint and published tarball

Each version installed on its own into an empty project with nothing but @nuxt/cli as a dependency, so the tree is exactly the CLI and its transitive dependencies. npm cache is warm and the registry is only consulted for metadata, so install wall time is indicative, not a network benchmark.

Metric baseline v3.37.0 head v4.0.0 Delta
Direct dependencies of @nuxt/cli 21 21 0.0%
Packages in the installed tree (unique name@version) 34 34 0.0%
Unique package names 34 34 0.0%
Package directories on disk (cross-check) 28 28 0.0%
Installed node_modules on disk 2.32 MB 2.32 MB -0.0%
Installed files 419 419 0.0%
Install wall time (warm npm cache, median of 3) 690 ms 689 ms -0.1%
Published tarball (packed) 264.7 kB 264.7 kB 0.0%
Published tarball (unpacked) 921.5 kB 921.5 kB -0.0%
Files in tarball 131 131 0.0%

Interleaved runs on a shared runner: trust the deltas, not the absolute timings. The dev, restart and build suites run locally via pnpm bench:cli.

@codspeed-hq

codspeed-hq Bot commented Aug 24, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 2 untouched benchmarks


Comparing release/v4.0.0 (489c15f) with main (fb86ed4)

Open in CodSpeed

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