What's new
- ESM. Core packages ship as ESM; existing CommonJS projects keep working through
require(esm). - Standard Schema.
@Body(),@Query()and other decorators accept a schema — Zod, Valibot and ArkType work. - Tooling. New ESM projects default to Vitest and oxlint, monorepos build with Rspack instead of webpack; CommonJS projects stay on Jest and ESLint.
- Observability and diagnostics: structured logging, machine-readable error codes, route conflict diagnostics and the
@nestjs/observeSDK. - Microservices and GraphQL: NATS v3, GraphiQL as the default IDE, request-scoped WebSocket gateways.
What breaks when upgrading
- Node.js 20.19+ or 22.12+ is required.
subscriptions-transport-wsis removed — move GraphQL subscriptions to a current transport.- NATS microservices move to the v3 client (
@nats-io/transport-node). - See the official migration guide for the full list.
How to upgrade
- Update all
@nestjs/*packages to the same version and check the migration guide. - Check the Node.js version on servers and in CI.
- Run the API unit and e2e tests before rolling out.
We build and maintain NestJS and Node.js backends: we will upgrade the framework and dependencies, cover it with tests and roll out without downtime.
Source: official release announcement.
