v12.0.2

nestjs/nestv12.0.2Sep 14, 2026by kamilmysliwiec

Upgrading?

AI Summary

A patch release focusing on bug fixes across microservices, websockets, and common utilities, along with dependency updates for the Fastify platform.

Key Highlights

  • Fixed socket.io and websocket message streams when handlers throw exceptions.
  • Fixed microservice signal listeners and MQTT callback execution issues.
  • Updated Fastify dependency to version 5.12.4.
  • Fixed common utilities like `normalizePath` and `ParseArrayPipe`.

New Features

  • Added `maxConnectionAttempts` configuration option to ServerMqtt.

Full Release Notes

## v12.0.2 (2026-09-14)

#### Bug fixes
* `platform-socket.io`, `platform-ws`
  * [#17666](https://github.com/nestjs/nest/pull/17666) fix(socket.io): keep the message stream alive when a handler throws ([@hktitof](https://github.com/hktitof))
* `microservices`
  * [#17728](https://github.com/nestjs/nest/pull/17728) fix(microservices): detach signal listeners of connected microservices ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
  * [#17671](https://github.com/nestjs/nest/pull/17671) fix(microservices): fail requests whose reply subscription is rejected ([@samuelmbabhazi](https://github.com/samuelmbabhazi))
  * [#17670](https://github.com/nestjs/nest/pull/17670) fix(microservices): do not treat foreign JSON as an RPC envelope ([@xia-chao](https://github.com/xia-chao))
  * [#17644](https://github.com/nestjs/nest/pull/17644) fix(microservices): don't flatten plain handler results with pre-request hooks ([@iamolegga](https://github.com/iamolegga))
  * [#17641](https://github.com/nestjs/nest/pull/17641) fix(microservices): run the mqtt listen callback once ([@johnnyhuirilef](https://github.com/johnnyhuirilef))
* `common`
  * [#17710](https://github.com/nestjs/nest/pull/17710) fix(common): collapse duplicate internal slashes in `normalizePath` ([@Asadshah7950](https://github.com/Asadshah7950))
  * [#17655](https://github.com/nestjs/nest/pull/17655) fix(common): validate UUID v3 variant ([@gwagjiug](https://github.com/gwagjiug))
  * [#17702](https://github.com/nestjs/nest/pull/17702) fix(common): treat empty string as array input in ParseArrayPipe ([@xia-chao](https://github.com/xia-chao))
* `core`
  * [#17667](https://github.com/nestjs/nest/pull/17667) fix(core): discover factory providers with discovery decorators ([@hktitof](https://github.com/hktitof))
  * [#17709](https://github.com/nestjs/nest/pull/17709) fix(core): avoid treating error instances with `statusCode` as http errors ([@Asadshah7950](https://github.com/Asadshah7950))
  * [#17625](https://github.com/nestjs/nest/pull/17625) fix(core): clean up repeated shutdown signal listeners ([@Raj4478](https://github.com/Raj4478))
* `platform-fastify`
  * [#17705](https://github.com/nestjs/nest/pull/17705) fix(fastify): derive neutral version when accept header is absent ([@Gaurav1112](https://github.com/Gaurav1112))
  * [#17699](https://github.com/nestjs/nest/pull/17699) fix(fastify): send responses for exceptions thrown from middleware ([@micalevisk](https://github.com/micalevisk))

#### Enhancements
* `microservices`
  * [#17734](https://github.com/nestjs/nest/pull/17734) feat(microservices): add maxConnectionAttempts to ServerMqtt ([@kamilmysliwiec](https://github.com/kamilmysliwiec))

#### Dependencies
* `platform-fastify`
  * [#17729](https://github.com/nestjs/nest/pull/17729) fix(deps): update dependency fastify to v5.12.4 ([@renovate[bot]](https://github.com/apps/renovate))

#### Committers: 16
- Abdellatif Anaflous ([@hktitof](https://github.com/hktitof))
- Alexey Solovyov ([@lyohaplotinka](https://github.com/lyohaplotinka))
- Asad Ali Shah ([@Asadshah7950](https://github.com/Asadshah7950))
- Gyeonghun Park ([@Gyeonghun-Park](https://github.com/Gyeonghun-Park))
- Johnny J. Huirilef Millán ([@johnnyhuirilef](https://github.com/johnnyhuirilef))
- Kamil Mysliwiec ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
- Kumar Gaurav ([@Gaurav1112](https://github.com/Gaurav1112))
- Micael Levi L. Cavalcante ([@micalevisk](https://github.com/micalevisk))
- Ming ([@MingLin1995](https://github.com/MingLin1995))
- Mohammed Said ([@Se3do](https://github.com/Se3do))
- Rajeshwar Singh  ([@Raj4478](https://github.com/Raj4478))
- Xia Chao ([@xia-chao](https://github.com/xia-chao))
- [@iamolegga](https://github.com/iamolegga)
- cui fliter ([@cuishuang](https://github.com/cuishuang))
- samuel mbabhazi ([@samuelmbabhazi](https://github.com/samuelmbabhazi))
- 곽지욱 ([@gwagjiug](https://github.com/gwagjiug))

Related Repositories