NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3771 most downloaded on npm
Nest - modern, fast, powerful node.js web framework (@cli)
Last release 6 days ago
28 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
277 releases · first in 2017
fix(compiler): preserve CommonJS entry exports in rspack and webpack builds by @KAPUIST in #3599
Full Changelog: 12.0.7...12.0.8
fix(compiler): fork the swc type checker with the application's plugins by @fadiroot in #3596
One column per quarter.
chore(deps): update dependency @rspack/core to v2.2.7 by @renovate [bot] in #3587
Full Changelog: 12.0.5...12.0.6
fix(swc): parse .swcrc with a jsonc parser to match swc by @stefanwaldhauser in #3577
Full Changelog: 12.0.4...12.0.5
Nothing published for this version
chore: flip the default
chore: observe prompt changes
fix(compiler): copy dotfiles when expanding a directory asset by @micalevisk in #3523
Full Changelog: 12.0.0...12.0.1
@nestjs/cli is now a native ES module , and the major version is aligned with the Nest 12 release line. Alongside the ESM move, the CLI no longer bund
@nestjs/cli is now a native ES module, and the major version is aligned with the Nest 12 release line. Alongside the ESM move, the CLI no longer bundles webpack: every bundler-related package is an optional peer dependency now, so a default install is substantially smaller and you pull in only the builder you actually use. There are also two new commands — nest upgrade and nest deploy.
The package is published as pure ESM ("type": "module", compiled with NodeNext). All internal imports carry explicit .js extensions and the build output is ESM-only.
For the common case this is invisible — nest is a binary, and it keeps running your CJS and ESM projects alike. It matters if you import the CLI's internals programmatically (custom builders, plugin harnesses, scripts that drive @nestjs/cli/lib/...): those imports now resolve to ESM.
webpack, fork-ts-checker-webpack-plugin, tsconfig-paths-webpack-plugin, and webpack-node-externals moved from dependencies to optional peer dependencies, joining @swc/cli and @swc/core.
If you build with tsc (the default) or with SWC, nothing changes. If you use --builder webpack (or "webpack": true in nest-cli.json), install the bundler yourself:
npm i -D webpack webpack-node-externals fork-ts-checker-webpack-plugin tsconfig-paths-webpack-pluginWhen a builder's peer dependency is missing, the CLI now reports the actual missing package name instead of surfacing the raw resolution error.
@rspack/core is supported as an optional peer dependency (^1.7.7 || ^2.1.10) and is the builder that nest new scaffolds into nest-cli.json for new projects.
--builder rspack on nest build and nest start--rspackPath [path] to point at a custom Rspack config, mirroring --webpackPathnest upgradeA new command (aliased nest update) that runs the upgrade schematic to migrate a Nest v11 project to v12 — dependency bumps, tsconfig and nest-cli.json migrations, and codemods for @nestjs/config, GraphQL, and NATS. See the @nestjs/schematics release notes for what the migration itself does.
nest upgradeOptions: -d, --dry-run, -s, --skip-install, -t, --tag [tag] (use a dist-tag such as next instead of the default version ranges), -c, --collection [name], and --observe / --no-observe to answer the @nestjs/observe prompt up front.
nest deployDeploy an application to the cloud, powered by Mau. Every option is forwarded verbatim to mau deploy, so the command claims no flags of its own.
nest deployBuild output and clean-up paths are now confined to the project directory by default. Symlinks are resolved before writing, so a dist that is itself a symlink pointing outside the project no longer lets a write escape.
Monorepo layouts that legitimately emit outside the project root can opt back out:
{
"compilerOptions": {
"allowOutsidePaths": true
}
}nest build --all --parallel [concurrency] builds monorepo projects concurrently, with an optional concurrency limit.compilerOptions.includeLibraryAssets pulls assets from libraries into an application build.rootDir.glob is gone. It is replaced by an internal fs-based helper built on minimatch, which is now a direct dependency. Symlink traversal depth matches the previous behaviour.fs watcher replaces chokidar in the SWC watch path.tsconfig excludes — excluded files are skipped both on build and in watch mode, and newly added files no longer inherit watch mode when transpiled.--emit-declarations emits .d.ts files under the SWC builder; --no-type-check overrides the config-level setting.--silent suppresses informational compiler logs.bun.lock / bun.lockb.nest new --skip-tests scaffolds a project without testing files, and --observe / --no-observe answers the @nestjs/observe prompt.nest generate --format formats generated files with Prettier; the resource schematic accepts --type <rest|graphql|microservice> and --crud [value].--builder, a readable error for malformed nest-cli.json, a --parallel value that is validated instead of looping forever, and an explicit message from nest info when no @nestjs/* dependencies are declared.nest info and terminal-width detection prefer process.stdout.columns over shelling out to tput..js extensions on dynamic imports under nodenext resolution..tsbuildinfo is removed when deleteOutDir is set.TypeScript 6 (~6.0.2), @angular-devkit/* 22, commander 15, @inquirer/prompts 8, ora 9, node-emoji 2, and chokidar 5. Internally the CLI moved from Jest to Vitest and from ESLint to oxlint. engines.node stays at >= 20.11.
See the migration guide for the full picture.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
fix(compiler): fail fast when typescript lacks the programmatic api
Revert "fix(compiler): validate delete out dir paths before rm"
fix(cli): resolve Windows path separator bug in plugin loader
* fix: revert #3315 due to #3390
fix: revert #3313 due to #3391 and #3390
fix(types): correct Asset type definition from string literal to string union by @yogeshwaran-c in https://github.com/nestjs/nest-cli/pull/3323
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.18...11.0.19
Full Changelog: 11.0.18...11.0.19
fix(build): delete tsbuildinfo file with out dir ( #3312 ) by @maruthang in #3317
Full Changelog: 11.0.17...11.0.18
fix(deps): update angular-cli monorepo to v19.2.23 by @renovate[bot] in https://github.com/nestjs/nest-cli/pull/3274
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.16...11.0.17
Full Changelog: 11.0.16...11.0.17
Merge pull request #3246 from nestjs/revert-3183-renovate/inquirer-prompts-8.x
chore(deps): update dependency @swc/core to v1.15.8 by @renovate[bot] in https://github.com/nestjs/nest-cli/pull/3230
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.14...11.0.15
Full Changelog: 11.0.14...11.0.15
ci: switch npm ignore to allow list by @bryopsida in https://github.com/nestjs/nest-cli/pull/3203
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.13...11.0.14
chore(deps): update dependency @swc/core to v1.15.3
fix: revert #3128 by @kamilmysliwiec in https://github.com/nestjs/nest-cli/pull/3192
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.11...11.0.12
fix(deps): update angular-cli monorepo to v19.2.19 by @renovate[bot] in https://github.com/nestjs/nest-cli/pull/3148
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.10...11.0.11
Revert "chore: disable shell by default" by @kamilmysliwiec in https://github.com/nestjs/nest-cli/pull/3114
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.9...11.0.10
fix(deps): update angular-cli monorepo to v20
chore(deps): update dependency @swc/core to v1.13.2 by @renovate[bot] in https://github.com/nestjs/nest-cli/pull/3100
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.7...11.0.8
fix(deps): update angular-cli monorepo to v19.2.8 by @renovate in https://github.com/nestjs/nest-cli/pull/2985
--env-file arguments by @micalevisk in https://github.com/nestjs/nest-cli/pull/3000Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.6...11.0.7
fix(deps): update dependency ansis to v3.17.0 by @renovate in https://github.com/nestjs/nest-cli/pull/2936
Full Changelog: https://github.com/nestjs/nest-cli/compare/11.0.5...11.0.6
feat(swc): add reload application when compiling to mjs
chore(deps): allow any schematics package newer or eq to v11
fix(deps): update angular-cli monorepo to v19.1.7
fix: swc compiler does not watch files
fix: pass matched paths to chokidar watcher (watchAssets)
Migration guide: https://docs.nestjs.com/migration-guide
Migration guide: https://docs.nestjs.com/migration-guide
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Merge pull request #2838 from yifanwww/fix/webpack-ignore-lazy-imports
Merge pull request #2792 from nestjs/fix/type-check-error-2791
Merge pull request #2786 from nestjs/revert-2642-renovate/glob-11.x
build: allow js, clean artificats in ci
Merge pull request #2712 from nestjs/renovate/npm-webpack-vulnerability
fix: concat path and outdir as assets cache key
Merge pull request #2647 from nestjs/renovate/webpack-5.x
Merge pull request #2627 from micalevisk/fix-issue-2421
clean not working due to missing dependency (b5dba00d)source-map-support hard dependency (5dafd628)Merge pull request #2622 from nestjs/renovate/typescript-5.x
Your coding agent can read these notes before it upgrades. Set up the MCP server →