Skip to content

release: v12.0.0 major release (approx. Q3 2026) - #16391

Draft
kamilmysliwiec wants to merge 213 commits into
masterfrom
v12.0.0
Draft

release: v12.0.0 major release (approx. Q3 2026)#16391
kamilmysliwiec wants to merge 213 commits into
masterfrom
v12.0.0

Conversation

@kamilmysliwiec

@kamilmysliwiec kamilmysliwiec commented Feb 19, 2026

Copy link
Copy Markdown
Member

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe: v12.0.0 release

Description

Approximate release window: early Q3 2026

Overview

  1. ESM migration

  2. CLI (ESM/CJS)

    • The NestJS CLI will prompt users to choose whether to generate a CJS or ESM project (ESM projects will use vitest + oxlint by default)
    • Webpack -> Rspack ✅ (webpack is now deprecated)
  3. Testing stack changes

  4. Linter

  5. Website redesign

    • A complete redesign of the NestJS websites is coming soon - we're taking them to the next level.
  6. Minor breaking changes

    • There will be a few minor breaking changes across other NestJS packages, but nothing significant.
  7. Schema support in route decorators

    • All route decorators (e.g., @Body, @Query, etc.) will support a new schema option that accepts a Standard Schema–compatible object. https://standardschema.dev/)
    • This enables the use of modern validation libraries such as Zod, Valibot, ArkType, and others, as an alternative to class-validator.
    • The same capability will also be available in the serializer interceptor.

PRs:

Packages will soon (possibly in Q2) be released under the next tag to let everyone play with them before they make it to the official latest tag.

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

glebbash and others added 30 commits March 4, 2025 12:52
feat: standard schema validation pipe, and standard serializer, introduce internal export subpath
sample: migrate all samples to esm and vitest
refactor: migrate from mocha, chai, sinon to vitest
@elselapatha

Copy link
Copy Markdown

I know this question isn't specific to new vision , but for those using the Nestjs: better if we can have a first class support for the otel. is there any plan to give this support?

@rnkdsh

rnkdsh commented Jul 4, 2026

Copy link
Copy Markdown

any plans for the @nestjs/throttler and @nestjs/schedule packages?

@alekseyt

alekseyt commented Jul 4, 2026

Copy link
Copy Markdown

Is it possible to also set tsc as a default compiler? This Rust stuff is actually unwanted. There is no point in using swc when reference compiler is tsc and given the fact that tsgo exists and will be new default in TS7, there are no practical reasons for using a slop-fork of sorts.

@pasha-vuiko

Copy link
Copy Markdown

Is it possible to also set tsc as a default compiler? This Rust stuff is actually unwanted. There is no point in using swc when reference compiler is tsc and given the fact that tsgo exists and will be new default in TS7, there are no practical reasons for using a slop-fork of sorts.

Where did you find something about tsc becoming to be not default?

@alekseyt

alekseyt commented Jul 4, 2026

Copy link
Copy Markdown

Where did you find something about tsc becoming to be not default?

Hmm. I was looking if i can switch new tooling back to what was used before 12 and swc appeared somewhere in Google search results. It wasn't clear what compiler is default, so i looked into nest build --help:

Usage: nest build [options] [apps...]
...
  --webpack              Use webpack for compilation (deprecated option, use --builder instead).
  --tsc                  Use typescript compiler for compilation.

This makes it look like tsc isn't default. But after your question, i can see that documentation for cli/scripts (https://docs.nestjs.com/cli/scripts) is actually saying that nest build is a wrapper around tsc:

nest build is a wrapper on top of the standard tsc compiler or swc compiler (for [standard projects]

I guess i assumed incorrectly. Glad to be wrong if so.

@kamilmysliwiec

Copy link
Copy Markdown
Member Author

tsc is and will remain the default

…allsettled

fix(core): prevent partial resource cleanup when a shutdown hook rejects
@gperdomor

gperdomor commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

@kamilmysliwiec a quick question (maybe a dumb one 🤣), I was reviewing the zod example in the v12 branch, how should the DTOs inferred from the zod schemas be used with the swagger module to have proper models/dto/schemas definitions in the swagger interface?

@ekalkutin

Copy link
Copy Markdown

Any plans to release/publish @nestjs/cqrs package with EMS to match ^next version?

@Shashank-Salian

Copy link
Copy Markdown

@kamilmysliwiec Just curious, if ESLint is being replaced by Oxlint, why not replace prettier with Oxfmt ?
Keeping it in the same family of tools ?

@rezkid3labs

Copy link
Copy Markdown

Is NestJS 12 still on track to be released in Q3? @kamilmysliwiec

@13RTK

13RTK commented Jul 31, 2026

Copy link
Copy Markdown

Is NestJS 12 still on track to be released in Q3? @kamilmysliwiec

https://trilon.io/blog/nestjs-12-is-coming

@kraikov

kraikov commented Jul 31, 2026

Copy link
Copy Markdown

Any plans for TypeScript 7?

@pasha-vuiko

Copy link
Copy Markdown

Any plans for TypeScript 7?

@kraikov currently it is not possible to integrate as TS 7 lacks programmatic API which NestJS CLI relies on, it will be needed to wait till TS 7.1 lands with the new programmatic API support

@kraikov

kraikov commented Jul 31, 2026

Copy link
Copy Markdown

Any plans for TypeScript 7?

@kraikov currently it is not possible to integrate as TS 7 lacks programmatic API which NestJS CLI relies on, it will be needed to wait till TS 7.1 lands with the new programmatic API support

Hm, you could still use NestJS 12 with TS7, however, you won't be able to use the CLI, right?

@wonderbeel

Copy link
Copy Markdown

Any plans for TypeScript 7?

@kraikov currently it is not possible to integrate as TS 7 lacks programmatic API which NestJS CLI relies on, it will be needed to wait till TS 7.1 lands with the new programmatic API support

Hm, you could still use NestJS 12 with TS7, however, you won't be able to use the CLI, right?

You can use tsc instead of nest build to build directly but if you rely on a CLI plugin (eg, swagger to generate the openapi spec) that part will not work; you can already check this today, review your usage of the CLI and if you don't use it too much you can probably find alternative solutions/workaround (eg, you aren't using any CLI plugin, you can probably directly compile with tsc and do tsc + node -w for dev mode) but if you are deep into it your best bet will be to wait for typescript 7.1+.
Typechecking on the other hand should already be possible to do but just be careful that you have the 2 versions of typescript (typescript 7 that you install and typescript 5/6 for nest cli) not clashing by accident, depending on your package manager it could be simple to solve or way more involved.

@kraikov

kraikov commented Jul 31, 2026

Copy link
Copy Markdown

Any plans for TypeScript 7?

@kraikov currently it is not possible to integrate as TS 7 lacks programmatic API which NestJS CLI relies on, it will be needed to wait till TS 7.1 lands with the new programmatic API support

Hm, you could still use NestJS 12 with TS7, however, you won't be able to use the CLI, right?

You can use tsc instead of nest build to build directly but if you rely on a CLI plugin (eg, swagger to generate the openapi spec) that part will not work; you can already check this today, review your usage of the CLI and if you don't use it too much you can probably find alternative solutions/workaround (eg, you aren't using any CLI plugin, you can probably directly compile with tsc and do tsc + node -w for dev mode) but if you are deep into it your best bet will be to wait for typescript 7.1+. Typechecking on the other hand should already be possible to do but just be careful that you have the 2 versions of typescript (typescript 7 that you install and typescript 5/6 for nest cli) not clashing by accident, depending on your package manager it could be simple to solve or way more involved.

Thanks. I'm actually looking to bootstrapping a new project. For swagger I can go with schema-first (zod) so not a problem there.

@gperdomor

Copy link
Copy Markdown
Contributor

Maybe can we use what Nx describe here https://nx.dev/docs/technologies/typescript/guides/typescript-7

feat(microservices): expose transport server getter
Copilot AI review requested due to automatic review settings August 3, 2026 06:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@oxvijay

oxvijay commented Aug 6, 2026

Copy link
Copy Markdown

Can I start new projects using NestJS 12 now?

@vaskouk

vaskouk commented Aug 6, 2026

Copy link
Copy Markdown

Hey. Will we also support bullmq v6 anytime soon ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.