v12.2.0
nestjs/nestv12.2.0Oct 19, 2026by kamilmysliwiec
Upgrading?
AI Summary
NestJS v12.2.0 introduces new configuration options for various adapters to control resource limits and validation behavior, updates middleware exclusions to match router logic, and deprecates event handlers replying to `ClientProxy#send()` in non-Kafka microservices. The release also includes numerous bug fixes for Fastify, microservices, core, and websockets.
Key Highlights
- New options for `@Sse`, adapters, and `ValidationPipe` to control limits (max pending data, concurrent messages, error messages).
- New defaults for validation (stops exposing target) and middleware exclusions (router matching).
- Deprecation warning for event handlers replying to `send()` in TCP, Redis, NATS, MQTT, and RabbitMQ.
- Extensive bug fixes for Fastify, microservices, and websockets.
New Features
- Configurable `maxPendingDataLength` for `@Sse` decorator.
- Configurable `maxConcurrentMessages` for `IoAdapter` and `WsAdapter`.
- Configurable `maxErrorMessagesLength` for `ValidationPipe`.
- Configurable `maxMessageSize` for Kafka parser.
- Configurable `drainTimeout` for TCP server.
- `reconnectOnConnackError` enabled by default for MQTT server.
- `HttpServer.getRouteMatchingOptions()` hook for middleware exclusions.
Full Release Notes
## v12.2.0 (2026-10-19)
#### Notable changes
**New options**
* `@Sse({ maxPendingDataLength })` sets how many characters of event data may wait for a client that is not reading its events (4M by default; `0` or `Infinity` lifts the limit) โ [2f05ad954e](https://github.com/nestjs/nest/commit/2f05ad954e2ca7633d6c90b0e4268e6d9ef0e6d8)
* `IoAdapter` and `WsAdapter` take `maxConcurrentMessages`, the number of a client's messages handled at once (1000 by default; `Infinity` lifts it) โ [0bd0810ed7](https://github.com/nestjs/nest/commit/0bd0810ed7625744f34cf32698f723b8b8e6d024)
* `ValidationPipe` takes `maxErrorMessagesLength` (1,000,000 characters by default); messages past it are replaced by a "Further validation errors were omitted" entry โ [086c1c514f](https://github.com/nestjs/nest/commit/086c1c514faf8e04922c63fb4cd8bca87d90ced3)
* Kafka: `parser.maxMessageSize` (16 MiB after decompression by default); larger messages are logged and skipped โ [9bdf844fca](https://github.com/nestjs/nest/commit/9bdf844fca9f88d659678bb060ad8369c297ab3e)
* TCP server: `drainTimeout` (30 s by default, `0` disables) disconnects a peer that leaves its responses unread โ [583d6077ad](https://github.com/nestjs/nest/commit/583d6077ad3b58aeffb91636d6cded6f8c2f3ee1)
* MQTT server: `reconnectOnConnackError` is now enabled by default, so a refused connection attempt is retried; set it to `false` for the previous behaviour โ [a63cea600a](https://github.com/nestjs/nest/commit/a63cea600a17cfe486f8fe7fcd679325c589615c)
* `HttpServer.getRouteMatchingOptions()`, an optional adapter hook that tells core how the router matches paths (see "Middleware exclusions" below) โ [08d8677c8d](https://github.com/nestjs/nest/commit/08d8677c8d576119669b12e109ee6513319a6c4e)
**New defaults and behaviour changes**
* `@nestjs/platform-express`, `@nestjs/platform-fastify`: `fieldNestingDepth` and `fieldArrayIndexLimit` ([#18074](https://github.com/nestjs/nest/pull/18074)) now default to 32 and 1000; set them to `Infinity` to lift the limits โ [94fcc93770](https://github.com/nestjs/nest/commit/94fcc937706978c9305b2486f38643cfdf37bab9)
* `ValidationPipe` validates with `validationError.target: false` unless the options set it, so an `exceptionFactory` that reads `error.target` gets `undefined`; set `validationError.target` to `true` for the old errors โ [8c5a59bf63](https://github.com/nestjs/nest/commit/8c5a59bf63c0d68a462c085ee2976a7d5b1aba9a)
* `ValidationPipe` answers an array or a primitive sent for a validated class with a 400 โ [197371c1f3](https://github.com/nestjs/nest/commit/197371c1f3902254bcec09e2fa46bd35b889b1be)
* `FileTypeValidator` matches a string `fileType` up to the end of a name (e.g. `font/woff` no longer accepts `font/woff2`; use a RegExp for that) โ [770c6f1a19](https://github.com/nestjs/nest/commit/770c6f1a191830b1c9a19f33b0f0e08cb45f8a8e)
* `@SerializeOptions({})` on a handler no longer turns off the class schema โ [d27cb7017f](https://github.com/nestjs/nest/commit/d27cb7017fd9f21dadfd078791ffe8fe5a25644c)
* `BaseExceptionFilter` answers `http-errors` errors created with `expose: false` (the default from 500) with the standard reason phrase instead of their message โ [9ed572f853](https://github.com/nestjs/nest/commit/9ed572f853bb164feb4f9a5a8ae1f4537ba57118)
* A `StreamableFile` error still gets a 400, but the body no longer carries the error message โ [2f28d91afb](https://github.com/nestjs/nest/commit/2f28d91afb743e9475de72521cb87cf8c5f3892d)
* Files uploaded with a request that a pipe rejected are removed from storage โ [acb98de89e](https://github.com/nestjs/nest/commit/acb98de89ea4b782403329eb76837f7089ad7974)
* `@nestjs/platform-fastify`: a route with `fileSize: undefined` (or `null`) falls back to the plugin's limit; set it to `Infinity` to keep uploads unlimited โ [dd549e1a74](https://github.com/nestjs/nest/commit/dd549e1a741c5a1f5eb6b729b8d2cc664bb8f338)
* `@nestjs/platform-express`: object error bodies are sent as `application/json` on routes with a non-JSON `Content-Type` โ [7dc6e349d5](https://github.com/nestjs/nest/commit/7dc6e349d525d82d73c2576cf57b8297de254a64)
* `ConsoleLogger` in JSON mode cuts a record short past about a million characters โ [ad4915eaa3](https://github.com/nestjs/nest/commit/ad4915eaa357698e004efd8e0fc66aec2651e132)
* A global enhancer that the injector failed to instantiate now fails the application at startup โ [ae78524ced](https://github.com/nestjs/nest/commit/ae78524ced7f4ad4886ab031dd8abc78cf6a6b1e)
* A request- or transient-scoped `APP_FILTER` now logs a startup warning, as it only applies to exceptions thrown from controllers โ [df5275c5e1](https://github.com/nestjs/nest/commit/df5275c5e18c99854efb42119496244082ebec0c)
* Microservices: a pattern key longer than 256 characters matches no handler โ [accd27e66c](https://github.com/nestjs/nest/commit/accd27e66c090f8f78efd8653b0c968286414c0a)
* Kafka: a message may carry up to 10,000 header values ([e419ff540b](https://github.com/nestjs/nest/commit/e419ff540b261ce23dde58e80b19daefa46e89ba)); headers given as a string or array are not sent ([312777743f](https://github.com/nestjs/nest/commit/312777743fce3f553febb69624e97bf624770392)); reply headers are decoded as text ([ee94f6aaae](https://github.com/nestjs/nest/commit/ee94f6aaae19a8654b8455f67e9fe972ff355907))
* gRPC: request streams are paused while their replies wait to be written โ [37e5cf7706](https://github.com/nestjs/nest/commit/37e5cf77062f2f373809dd9ed290e0ed8424a717)
* **Deprecation**: on TCP, Redis, NATS, MQTT and RabbitMQ, an `@EventPattern()` handler that replies to `ClientProxy#send()` now logs a deprecation warning. The reply is unchanged; in the next major version event handlers will not reply to `send()`, as on Kafka already โ [ba3668d36b](https://github.com/nestjs/nest/commit/ba3668d36b6c4e13a2b8617fcfb0a5fe624e04e6)
**Middleware exclusions**
* `MiddlewareConsumer.exclude()` now compiles excluded routes with the router's case and trailing-slash matching ([08d8677c8d](https://github.com/nestjs/nest/commit/08d8677c8d576119669b12e109ee6513319a6c4e)). Update `@nestjs/core` together with `@nestjs/platform-express` / `@nestjs/platform-fastify`: with an adapter that does not implement `getRouteMatchingOptions()`, excluded routes are matched exactly ([f5aa875e40](https://github.com/nestjs/nest/commit/f5aa875e407d186d8cc86cf0ad62cfcbdea490f6)), so on a lenient router other spellings of an excluded path run the middleware.
* With header, media type or custom versioning, `exclude({ path, method, version })` and `enableCsrfProtection({ exclude })` apply only to requests that ask for one of the excluded versions โ [1a7a31fa46](https://github.com/nestjs/nest/commit/1a7a31fa46756875e1dc33de0185edadb06504d9)
* `@nestjs/platform-fastify`: the request hook used by `enableCsrfProtection()` and `useSecurityHeaders()` now runs before Nest and `app.use()` middleware with `NestFactory.create()` too, including middleware registered before either call, as it already did with `Test.createNestApplication()` โ [8351806290](https://github.com/nestjs/nest/commit/8351806290ff90905a0190429e46e290ec0e7494)
#### Bug fixes
* `platform-fastify`
* [614d1ac7ea](https://github.com/nestjs/nest/commit/614d1ac7eacef022da050adba2408810a8a1b408) fix(fastify): send the status of an exception whose body is an error ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [8b420f788f](https://github.com/nestjs/nest/commit/8b420f788f05eb30ee8013529f4c359125e1391c) fix(fastify): apply middleware to plugins registered before init ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18175](https://github.com/nestjs/nest/pull/18175) fix(fastify): keep raw-response cookies in the header helpers ([@johnnyhuirilef](https://github.com/johnnyhuirilef))
* [c215fd9b4f](https://github.com/nestjs/nest/commit/c215fd9b4f583486c6ce39a3c43f257dc67e8329) fix(fastify): match middleware paths like a case-insensitive router ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [43d4420205](https://github.com/nestjs/nest/commit/43d4420205229f5671644186d6ee5f725c53c597) fix(fastify): pass version extractor errors to the error handler ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [1435ed22f4](https://github.com/nestjs/nest/commit/1435ed22f4ce494cf9f95f6601fc8ab1310bf42c) fix(fastify): pass middleware rejections to the error handler ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [84c947faf9](https://github.com/nestjs/nest/commit/84c947faf93d21fb5cc68ef9e87eda3be6e18ff5) fix(fastify): stop reading a streamable file for a head request ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [dd549e1a74](https://github.com/nestjs/nest/commit/dd549e1a741c5a1f5eb6b729b8d2cc664bb8f338) fix(fastify): let undefined upload limits fall back to the defaults ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [4735f8d050](https://github.com/nestjs/nest/commit/4735f8d0500bbc583ab012fe205ddb87ebe7b2fa) fix(fastify): free memory storage chunks once a file is buffered ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [3e3e6eea6f](https://github.com/nestjs/nest/commit/3e3e6eea6f837fbe91189ac93598f4d740f38bd0) fix(fastify): remove uploads cut off after their last chunk ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [c04a9182b9](https://github.com/nestjs/nest/commit/c04a9182b9ae83e22a4c5fc514d704b4b7732c3c) fix(fastify): set the security headers on router error responses ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [a03c7a1db6](https://github.com/nestjs/nest/commit/a03c7a1db603771e9dfc717bfd041fb2bc1a073b) fix(fastify): answer request targets that are not a path with 404 ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18156](https://github.com/nestjs/nest/pull/18156) fix(fastify): apply route options to all-method routes ([@Ahmad-Mosha](https://github.com/Ahmad-Mosha))
* `microservices`
* [#18182](https://github.com/nestjs/nest/pull/18182) fix(microservices): handle malformed kafka reply assigner member metadata ([@SssiiiSssii1](https://github.com/SssiiiSssii1))
* [83a55aa9dc](https://github.com/nestjs/nest/commit/83a55aa9dc55e861d4b14d9b2e4abb18f20a8571) fix(microservices): leave the init hooks to the hybrid application ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ffd27afe10](https://github.com/nestjs/nest/commit/ffd27afe100cae0a37c381ae0fcc2a8b3e63d7a7) fix(microservices): call the init hooks once when init() is called ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18179](https://github.com/nestjs/nest/pull/18179) fix(microservices): preserve request order during deferred replay ([@Benziza](https://github.com/Benziza))
* [e419ff540b](https://github.com/nestjs/nest/commit/e419ff540b261ce23dde58e80b19daefa46e89ba) fix(microservices): limit the number of kafka header values ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [312777743f](https://github.com/nestjs/nest/commit/312777743fce3f553febb69624e97bf624770392) fix(microservices): send no kafka headers given as a string or array ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ee94f6aaae](https://github.com/nestjs/nest/commit/ee94f6aaae19a8654b8455f67e9fe972ff355907) fix(microservices): decode kafka reply headers as text ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [9bdf844fca](https://github.com/nestjs/nest/commit/9bdf844fca9f88d659678bb060ad8369c297ab3e) fix(microservices): limit the size of kafka messages the parser decodes ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [37e5cf7706](https://github.com/nestjs/nest/commit/37e5cf77062f2f373809dd9ed290e0ed8424a717) fix(microservices): pause grpc request streams while replies wait ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [58262f2542](https://github.com/nestjs/nest/commit/58262f254217463c0e4373ca5c14d7b4e8bc3688) fix(microservices): end grpc unary subscriptions with the call ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [c267a2b3c4](https://github.com/nestjs/nest/commit/c267a2b3c4c51a7375bb2cc4257e75e1a6e818b1) fix(microservices): fail grpc calls whose handler promise rejects ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [85bb407537](https://github.com/nestjs/nest/commit/85bb40753741164560893b377220092c95301680) fix(microservices): fail grpc response streams that emit null ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [7568c3c34d](https://github.com/nestjs/nest/commit/7568c3c34df6dd6f1d18b11f2766161e242911bf) fix(microservices): send grpc errors that grpc-js can encode ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [932c4359b4](https://github.com/nestjs/nest/commit/932c4359b4e7de93a3a86f3abeb498e7f36a2303) fix(microservices): error grpc duplex calls on upstream error ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [92b009879b](https://github.com/nestjs/nest/commit/92b009879b58eb3640776bd1ceed6d4adb83a211) fix(microservices): route mqtt messages by the topic they arrived on ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [791bcd335d](https://github.com/nestjs/nest/commit/791bcd335dcc9de40c7892c90dbe7cc98b29ee46) fix(microservices): validate request ids before echoing them ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [8041a55760](https://github.com/nestjs/nest/commit/8041a557606b7e0cc99ef1ef35afbb39c0ea5f4e) fix(microservices): drain streamed replies in linear time ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [accd27e66c](https://github.com/nestjs/nest/commit/accd27e66c090f8f78efd8653b0c968286414c0a) fix(microservices): limit the length of pattern keys ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [747c4f25b9](https://github.com/nestjs/nest/commit/747c4f25b98ad98b0276662cd4341107efa87941) fix(microservices): drop rmq replies that amqp cannot address ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [e088f6d8f9](https://github.com/nestjs/nest/commit/e088f6d8f948efe70fb25d5c8f3851a17d5588c0) fix(microservices): only emit rmq replies that a request waits for ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [b2e8367f36](https://github.com/nestjs/nest/commit/b2e8367f360d6a2b26a245ecb07f8f5f5486c2f6) fix(microservices): reject mqtt topics longer than 65535 bytes ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [47eb92b6b5](https://github.com/nestjs/nest/commit/47eb92b6b5c3abc173ee095d327132148797f47b) fix(microservices): count mqtt requests that wait for the subscription ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [d79db40cee](https://github.com/nestjs/nest/commit/d79db40cee273b62c9c48672d3a6745c599115a6) fix(microservices): drop idle reply channels from subscription counts ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ce7e6a6c36](https://github.com/nestjs/nest/commit/ce7e6a6c36cdf5b374f95885149c8436e7f07c5c) fix(microservices): use unguessable request ids and nats reply inboxes ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ede1693fc4](https://github.com/nestjs/nest/commit/ede1693fc44d1d7abb1b64a7b58a3fee876e0e1a) fix(microservices): emit plain rpc filter results once on stream errors ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [2ab152ee4a](https://github.com/nestjs/nest/commit/2ab152ee4afa16ffd2ad2ef71bd520c5c3675379) fix(microservices): honor falsy results of rpc exception filters ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [a63cea600a](https://github.com/nestjs/nest/commit/a63cea600a17cfe486f8fe7fcd679325c589615c) fix(microservices): keep reconnecting the mqtt server after a refusal ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [c1391c6b50](https://github.com/nestjs/nest/commit/c1391c6b508ed9dac302dc4478e17b0f03635429) fix(microservices): flatten async rpc filter results on stream errors ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [99ee9f88c4](https://github.com/nestjs/nest/commit/99ee9f88c41194785a6a1307cd989c318dcc8059) fix(microservices): stop tcp observable responses when the peer leaves ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [7dd0c49ade](https://github.com/nestjs/nest/commit/7dd0c49ade7dfefab34b9bd6329bedee82947c65) fix(microservices): reply to a request only from its message handler ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [583d6077ad](https://github.com/nestjs/nest/commit/583d6077ad3b58aeffb91636d6cded6f8c2f3ee1) fix(microservices): drop tcp peers that stop reading their responses ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [e0cdd0e01d](https://github.com/nestjs/nest/commit/e0cdd0e01d589b57ac5620f350322acd63c53a8c) fix(microservices): use the right filters for inherited scoped handlers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [29d59c75e5](https://github.com/nestjs/nest/commit/29d59c75e5153a6475adcd56f2d93f72c93f6879) fix(microservices): keep sibling event handlers running on error ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [a8480ec7be](https://github.com/nestjs/nest/commit/a8480ec7be729acd0b7798e92f8cb18f793b0811) fix(microservices): drop the mqtt client when a reconnect is refused ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [05b4dfd1ed](https://github.com/nestjs/nest/commit/05b4dfd1ed4fc969ce5a0eef6e6fa50b5a13275c) fix(microservices): reject tcp data too long to be a content length ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [f3bce4ca90](https://github.com/nestjs/nest/commit/f3bce4ca9081bc7f771485a4495e0f6a413f297f) fix(microservices): consume again after the rmq consumer is cancelled ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [e7e7ea7525](https://github.com/nestjs/nest/commit/e7e7ea75257a250dcbee1353cb8e7d24c7b01b49) fix(microservices): close tls connections still in their handshake ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18165](https://github.com/nestjs/nest/pull/18165) fix(microservices): close rmq server connection when channel close fails ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18159](https://github.com/nestjs/nest/pull/18159) fix(microservices): run other event handlers when a scoped one fails ([@OmBhandwaldar](https://github.com/OmBhandwaldar))
* [#18162](https://github.com/nestjs/nest/pull/18162) fix(microservices): keep reading tcp replies during client backpressure ([@maxymlyskov](https://github.com/maxymlyskov))
* [#18161](https://github.com/nestjs/nest/pull/18161) fix(microservices): close the rmq channel before the connection ([@maxymlyskov](https://github.com/maxymlyskov))
* [#18125](https://github.com/nestjs/nest/pull/18125) fix(microservices): ignore a redis server's own replies under wildcards ([@maxymlyskov](https://github.com/maxymlyskov))
* [#18127](https://github.com/nestjs/nest/pull/18127) fix(microservices): match empty mqtt topic levels ([@ys0v9](https://github.com/ys0v9))
* `core`
* [85d0a0be92](https://github.com/nestjs/nest/commit/85d0a0be92baff22998d17c61cbfeb462970200f) fix(core): run interceptor, pipe and filter classes without a name ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18186](https://github.com/nestjs/nest/pull/18186) fix(core): detect cycles in request-scoped forward references ([@DevAhmadAlkhuja](https://github.com/DevAhmadAlkhuja))
* [#18180](https://github.com/nestjs/nest/pull/18180) fix(core): give a module that extends another module its own id ([@maxymlyskov](https://github.com/maxymlyskov))
* [bafce3bae8](https://github.com/nestjs/nest/commit/bafce3bae8282a145e9af2cdd612e72db51ddeb6) fix(core): answer http requests an rpc exception filter leaves ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [8f9fbfd76f](https://github.com/nestjs/nest/commit/8f9fbfd76ffc86139ea423f858d09bc382c12497) fix(core): settle async param decorator values before pipes run ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [fec478e96b](https://github.com/nestjs/nest/commit/fec478e96b62322a6f6afb5d18a483e5d7c2b71c) fix(core): subscribe to guard observables from other copies of rxjs ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [034ef09b0c](https://github.com/nestjs/nest/commit/034ef09b0c58a3c47e46cf6a09178982c1a15300) fix(core): run guards bound as classes without a name ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [d1a5e0dd31](https://github.com/nestjs/nest/commit/d1a5e0dd317c3fc11206ba9c796032b06d03d1a4) fix(core): find the module of a host registered under another token ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [c8eaf8a4f5](https://github.com/nestjs/nest/commit/c8eaf8a4f59364561f6eba41af6932123de2b00a) fix(core): run middleware on a controller root excluded by a wildcard ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [7b01d0e7a9](https://github.com/nestjs/nest/commit/7b01d0e7a9af6047941ce850d3010b5a19d2d75b) fix(core): stop wildcard exclusions from covering their parent route ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [fffdaf9b22](https://github.com/nestjs/nest/commit/fffdaf9b2245fbfe657b76ee8795490b60b128c5) fix(core): mount middleware paths on routes excluded from the prefix ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [77d28b6336](https://github.com/nestjs/nest/commit/77d28b6336b1836fe75d9785419b7a94008a2cac) fix(core): drop an overlapped middleware route only when it is covered ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [b24d469d60](https://github.com/nestjs/nest/commit/b24d469d601d1ce03dc2df23e3ff732dec898a6c) fix(core): mount unversioned middleware paths under the default version ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [98e3ba4ef2](https://github.com/nestjs/nest/commit/98e3ba4ef2e88c4d82a59ff45b9ffda8e78da0a0) fix(core): map controller middleware under every module declaring it ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [bd19a1fb79](https://github.com/nestjs/nest/commit/bd19a1fb799028f4048db20681bfeee605cf67fe) fix(core): mount transient-scoped middleware instead of skipping it ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [9028243aea](https://github.com/nestjs/nest/commit/9028243aea7463bdaeef523f482f45afc4d610aa) fix(core): never exclude request targets with "#" or in absolute form ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [97ab04494c](https://github.com/nestjs/nest/commit/97ab04494ca00c03d566d3225b7790c5415e36c9) fix(core): hide internal error messages from sse error events ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [f28f00cffa](https://github.com/nestjs/nest/commit/f28f00cffa1b9fabd4ed62e01c7c205282710fea) fix(core): drop sse clients that stop reading their events ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [31d077a7b2](https://github.com/nestjs/nest/commit/31d077a7b29853a493be61528e0fe0437e723b60) fix(core): hand sse header errors to the exception filters ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [a251be75ec](https://github.com/nestjs/nest/commit/a251be75ec58b64b43b78c72c298b596318edf5e) fix(core): leave early sse errors to the exception filters ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [d73acb5142](https://github.com/nestjs/nest/commit/d73acb5142bbfb5e2b084fffdd1a7b0d0f5015cf) fix(core): trim only spaces and tabs around cookie names and values ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [52509a55a9](https://github.com/nestjs/nest/commit/52509a55a929189ddb2e620bfa27054a784df3c1) fix(core): wait for the redirect reply before settling the route ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [609e7cee9e](https://github.com/nestjs/nest/commit/609e7cee9e4b0fed433c29075d6211da166189f5) fix(core): stop reusing durable instances holding a failed placeholder ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [a4c83f062a](https://github.com/nestjs/nest/commit/a4c83f062a6e7cef61fc7e658b395e7b7c2f38b6) fix(core): run transient global enhancers on static entry providers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ae78524ced](https://github.com/nestjs/nest/commit/ae78524ced7f4ad4886ab031dd8abc78cf6a6b1e) fix(core): fail at startup when a global enhancer is not instantiated ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [d6787cd765](https://github.com/nestjs/nest/commit/d6787cd765f7ee5bfd8cd3df9c51963dfb7e7085) fix(core): await deferred loads of forward-referenced providers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [9ee9bdc7fc](https://github.com/nestjs/nest/commit/9ee9bdc7fc2e3501d730fec4ac109624d8863f00) fix(core): inject every property of overlapping first resolutions ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [71de6123da](https://github.com/nestjs/nest/commit/71de6123dafb7bdd15ac70cd74d8a4730d6db9e0) fix(core): keep the root inquirer of transient providers per resolution ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [15a73755c0](https://github.com/nestjs/nest/commit/15a73755c0c7c011553ee4cf1d9de0e1a04e57d9) fix(core): apply the enhancers of class providers under any token ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [93de671c67](https://github.com/nestjs/nest/commit/93de671c67fa1366200f805402e734a23fc982bc) fix(core): recompute scope flags cached inside a circular dependency ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [7ea6ff0665](https://github.com/nestjs/nest/commit/7ea6ff0665725fd8da6bd4a12fb1375c3721f8c1) fix(core): run enhancers that are request-scoped through dependencies ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [cb1c0e8242](https://github.com/nestjs/nest/commit/cb1c0e8242d22b4a4581d8ed616dd58726d5966f) fix(core): destroy a `StreamableFile` that is not sent ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [0b20c89d47](https://github.com/nestjs/nest/commit/0b20c89d470b491711a2db6d56041ee2efde9006) fix(core): destroy a `StreamableFile` dropped by a timed-out handler ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [df5275c5e1](https://github.com/nestjs/nest/commit/df5275c5e18c99854efb42119496244082ebec0c) fix(core): warn that scoped global filters miss non-controller errors ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [9ed572f853](https://github.com/nestjs/nest/commit/9ed572f853bb164feb4f9a5a8ae1f4537ba57118) fix(core): do not send the message of an unexposed http error ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [0692996cb5](https://github.com/nestjs/nest/commit/0692996cb5524ec56262004f4790494f8e205462) fix(core): answer host mismatches on fastify with 404 ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [cbac8c1f5a](https://github.com/nestjs/nest/commit/cbac8c1f5aa6b362bd608f0bb47c443f965aba40) fix(core): use the right filters for inherited request-scoped middleware ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [1828c8d638](https://github.com/nestjs/nest/commit/1828c8d638f7e05fb1ab23512b609b1545dedb28) fix(core): keep exact routes ahead of optional groups by specificity ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [2a818a592c](https://github.com/nestjs/nest/commit/2a818a592ceabf3b16114ecd5ee0da30082e9864) fix(core): end sse responses to head requests once headers are sent ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [816bf48460](https://github.com/nestjs/nest/commit/816bf484604d44a0ad95fb3c4dd88292b16555f3) fix(core): use the right filters for inherited request-scoped routes ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [8ef358804c](https://github.com/nestjs/nest/commit/8ef358804c5714e342106efe13c2e742fb73c1e3) fix(core): honor falsy results of filters in external contexts ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18154](https://github.com/nestjs/nest/pull/18154) fix(core): treat fastify validation errors as http errors ([@OmBhandwaldar](https://github.com/OmBhandwaldar))
* [#18142](https://github.com/nestjs/nest/pull/18142) fix(core): reject create() when a dependency is request-scoped ([@maxymlyskov](https://github.com/maxymlyskov))
* [#18137](https://github.com/nestjs/nest/pull/18137) fix(core): release the throwaway wrapper of each create() call ([@maxymlyskov](https://github.com/maxymlyskov))
* [#18121](https://github.com/nestjs/nest/pull/18121) fix(core): keep route options when the route triggered hook is set ([@OmBhandwaldar](https://github.com/OmBhandwaldar))
* `common`
* [770c6f1a19](https://github.com/nestjs/nest/commit/770c6f1a191830b1c9a19f33b0f0e08cb45f8a8e) fix(common): match a file type string up to the end of a name ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [8c5a59bf63](https://github.com/nestjs/nest/commit/8c5a59bf63c0d68a462c085ee2976a7d5b1aba9a) fix(common): stop exposing the validated object on validation errors ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [086c1c514f](https://github.com/nestjs/nest/commit/086c1c514faf8e04922c63fb4cd8bca87d90ced3) fix(common): limit the length of validation error messages by default ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [e77ceba917](https://github.com/nestjs/nest/commit/e77ceba917066ebd79b507bf7cac222eb34772f4) fix(common): stop copying nested validation errors for each level ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [197371c1f3](https://github.com/nestjs/nest/commit/197371c1f3902254bcec09e2fa46bd35b889b1be) fix(common): reject arrays and primitives for validated classes ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [b34a359be8](https://github.com/nestjs/nest/commit/b34a359be87a5863c8155cfd2a0b015e24dbcc38) fix(common): validate parsed array items one at a time ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [2f28d91afb](https://github.com/nestjs/nest/commit/2f28d91afb743e9475de72521cb87cf8c5f3892d) fix(common): keep `StreamableFile` error messages out of responses ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [21a0462ffd](https://github.com/nestjs/nest/commit/21a0462ffd569aed1c237401e0bb4bd5cff95ec1) fix(common): handle `StreamableFile` errors raised before the reply ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [d27cb7017f](https://github.com/nestjs/nest/commit/d27cb7017fd9f21dadfd078791ffe8fe5a25644c) fix(common): keep the class schema when a handler sets serialize options ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [06853bc555](https://github.com/nestjs/nest/commit/06853bc55581a44de402382fb34b0c7268ea1ab0) fix(common): keep the loaded transformer while serializers are created ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [67761deac7](https://github.com/nestjs/nest/commit/67761deac7171d37806bae8a87e7cc08738d8eb1) fix(common): strip a falsy constructor key from request data ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ad4915eaa3](https://github.com/nestjs/nest/commit/ad4915eaa357698e004efd8e0fc66aec2651e132) fix(common): cut json log records short past a million characters ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [aa1e402ecc](https://github.com/nestjs/nest/commit/aa1e402ecce3147ed26a39a44d64f6d390edb412) fix(common): traverse a shared object once in the logger redactor ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [7aca0438a9](https://github.com/nestjs/nest/commit/7aca0438a983d4803674387aca90c0a63d44b137) fix(common): keep custom decorator options followed by a pipe ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [931007e504](https://github.com/nestjs/nest/commit/931007e504b091dc10529450d0b5f446cca8e8be) fix(common): copy array and object defaults in `DefaultValuePipe` ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [fa0ff8b25a](https://github.com/nestjs/nest/commit/fa0ff8b25af2661a804b554e150b4f941d6012ee) fix(common): skip array holes when stripping prototype keys ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18157](https://github.com/nestjs/nest/pull/18157) fix(common): avoid mutating input arrays during validation ([@dcavalcante](https://github.com/dcavalcante))
* [#18146](https://github.com/nestjs/nest/pull/18146) fix(common): call `stringifyReplacer` with the logger as `this` ([@Chaoqi31](https://github.com/Chaoqi31))
* [#18145](https://github.com/nestjs/nest/pull/18145) fix(common): detect stacks whose error message spans several lines ([@Chaoqi31](https://github.com/Chaoqi31))
* [#18144](https://github.com/nestjs/nest/pull/18144) fix(common): parse `error()` calls with a lone or an undefined stack ([@Chaoqi31](https://github.com/Chaoqi31))
* `platform-express`, `platform-fastify`
* [#18178](https://github.com/nestjs/nest/pull/18178) fix(express,fastify): parse quoted media type version parameters ([@li-jia-nan](https://github.com/li-jia-nan))
* [1933cc9edd](https://github.com/nestjs/nest/commit/1933cc9edd64a30337a4920137fecb2a3e92c124) fix(express,fastify): handle a `StreamableFile` that cannot be streamed ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [e075cda3c3](https://github.com/nestjs/nest/commit/e075cda3c31911abe2143eb4569c9569679dff54) fix(express,fastify): let a route's dest replace the module's storage ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [94fcc93770](https://github.com/nestjs/nest/commit/94fcc937706978c9305b2486f38643cfdf37bab9) fix(express,fastify): limit field nesting and array indexes by default ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `testing`
* [#18170](https://github.com/nestjs/nest/pull/18170) fix(testing): share one auto-mock between providers of the same token ([@jayhemnani9910](https://github.com/jayhemnani9910))
* [#18158](https://github.com/nestjs/nest/pull/18158) fix(testing): resolve auto-mocked dependencies of transient providers ([@jayhemnani9910](https://github.com/jayhemnani9910))
* `core`, `microservices`
* [9b77f565bd](https://github.com/nestjs/nest/commit/9b77f565bd9a404b715e75354a1e33f08c79151a) fix(core,microservices): let only the hybrid application bind gateways ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `websockets`
* [8ec95a8de7](https://github.com/nestjs/nest/commit/8ec95a8de750c541ac388c92c830b3086abca5a0) fix(websockets): await deferred loads of a gateway's scoped enhancers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [ebc545cac9](https://github.com/nestjs/nest/commit/ebc545cac98db6104353dc394cd7d50741575b3c) fix(websockets): create the filters of a gateway that failed to resolve ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [6cef28fee3](https://github.com/nestjs/nest/commit/6cef28fee3a08cbc2f325d3dd7c32305f52256d2) fix(websockets): resolve hook error filters in the connection's context ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [d4aacbc8e6](https://github.com/nestjs/nest/commit/d4aacbc8e6e227f6ff863eb17dc35fc4e5adb2b0) fix(websockets): use the right filters for inherited gateway handlers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [5c055fbf92](https://github.com/nestjs/nest/commit/5c055fbf9243043d88a7fb48876da4428ae0480b) fix(websockets): log and reply when the error cause cannot be sent ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `core`, `websockets`
* [a1908877ae](https://github.com/nestjs/nest/commit/a1908877aecf31001d4387d581a92ac5608eb37a) fix(core,websockets): run transient enhancers bound to static gateways ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18143](https://github.com/nestjs/nest/pull/18143) fix(core): key the handler metadata cache by class, not class name ([@maxymlyskov](https://github.com/maxymlyskov))
* `common`, `core`
* [1a7a31fa46](https://github.com/nestjs/nest/commit/1a7a31fa46756875e1dc33de0185edadb06504d9) fix(core,common): exclude a version only for requests that ask for it ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [2f05ad954e](https://github.com/nestjs/nest/commit/2f05ad954e2ca7633d6c90b0e4268e6d9ef0e6d8) fix(core): make the sse pending data limit configurable ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [f5aa875e40](https://github.com/nestjs/nest/commit/f5aa875e407d186d8cc86cf0ad62cfcbdea490f6) fix(core): match excluded routes exactly when the router is unknown ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `core`, `platform-express`
* [fb8c2cac7f](https://github.com/nestjs/nest/commit/fb8c2cac7ff6a48276cbc378d069a102aebf2e2e) fix(core): mount wildcard middleware on every path when "/" is excluded ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `platform-express`
* [b75244ffd2](https://github.com/nestjs/nest/commit/b75244ffd2e668a5ccf2f790edb521092608f412) fix(express): run wildcard middleware on "/api/" for a named wildcard ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [8b8e8396f7](https://github.com/nestjs/nest/commit/8b8e8396f71d8903debd50f23d389bd7fa93d060) fix(express): stop reading a streamable file for a head request ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [7dc6e349d5](https://github.com/nestjs/nest/commit/7dc6e349d525d82d73c2576cf57b8297de254a64) fix(express): send object error bodies with a json content type ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `platform-ws`, `websockets`
* [db4e586c53](https://github.com/nestjs/nest/commit/db4e586c5390416e61eebb7b962e79d60d20c83e) fix(ws): stop reading from a client that does not read its replies ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [146c5c41b2](https://github.com/nestjs/nest/commit/146c5c41b2756dc1cee65f77578be5da1b6c24b0) fix(ws): drop messages from a client the server is closing ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `platform-socket.io`, `platform-ws`, `websockets`
* [0bd0810ed7](https://github.com/nestjs/nest/commit/0bd0810ed7625744f34cf32698f723b8b8e6d024) fix(websockets): bound how many messages of a client are handled at once ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `core`, `microservices`, `websockets`
* [4048e37790](https://github.com/nestjs/nest/commit/4048e377901e160e2059bb51f68c726da6da90f6) fix(core,microservices,websockets): ignore inherited keys of non-objects ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [e31d925a59](https://github.com/nestjs/nest/commit/e31d925a59d6110707ef8f86f515fc4548fd8205) fix(core): read class-level enhancers from the registered class ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `platform-ws`
* [b00c1ed9ab](https://github.com/nestjs/nest/commit/b00c1ed9ab62a69a67d72b13dc08383d1feb9099) fix(ws): listen on the host of a gateway with its own port and a path ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [300b95c3d6](https://github.com/nestjs/nest/commit/300b95c3d6035b3ec054255b8426e7ad4b3253cd) fix(ws): answer non-upgrade requests on a gateway's own port with 426 ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [59f772babf](https://github.com/nestjs/nest/commit/59f772babffb75b3eed66fa875540f5d2066575b) fix(ws): close the socket of an upgrade request it cannot parse ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `core`, `platform-express`, `platform-fastify`
* [acb98de89e](https://github.com/nestjs/nest/commit/acb98de89ea4b782403329eb76837f7089ad7974) fix(core,express,fastify): remove uploads of requests a pipe rejected ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `core`, `testing`
* [#18166](https://github.com/nestjs/nest/pull/18166) fix(core): fail at bootstrap on missing deps of scoped providers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* [#18164](https://github.com/nestjs/nest/pull/18164) fix(testing): mock dependencies of request-scoped providers ([@johnnyhuirilef](https://github.com/johnnyhuirilef))
* `common`, `platform-fastify`
* [8351806290](https://github.com/nestjs/nest/commit/8351806290ff90905a0190429e46e290ec0e7494) fix(fastify): run the security request hook ahead of middie ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `common`, `core`, `platform-express`, `platform-fastify`
* [08d8677c8d](https://github.com/nestjs/nest/commit/08d8677c8d576119669b12e109ee6513319a6c4e) fix(core,express,fastify): match excluded routes like the router does ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `common`, `core`, `microservices`, `platform-express`, `platform-fastify`, `platform-socket.io`, `platform-ws`, `testing`, `websockets`
* [#18122](https://github.com/nestjs/nest/pull/18122) fix: expose package.json in the exports map of all packages ([@minijus](https://github.com/minijus))
#### Enhancements
* `microservices`
* [ba3668d36b](https://github.com/nestjs/nest/commit/ba3668d36b6c4e13a2b8617fcfb0a5fe624e04e6) feat(microservices): deprecate event handlers replying to send() ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
* `core`
* [#18147](https://github.com/nestjs/nest/pull/18147) perf(core): resolve route params without a promise when no pipe runs ([@thekhegay](https://github.com/thekhegay))
* [#18136](https://github.com/nestjs/nest/pull/18136) perf(core): avoid AsyncResource.bind() per request in the interceptor chain ([@thekhegay](https://github.com/thekhegay))
#### Docs
* [#18185](https://github.com/nestjs/nest/pull/18185) docs(sample): document file upload validation examples ([@li-jia-nan](https://github.com/li-jia-nan))
* `microservices`
* [e9ebd67c2b](https://github.com/nestjs/nest/commit/e9ebd67c2b43780797e2675cd7db99986ea19a3a) docs(microservices): document kafka messages without reply headers ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
#### Dependencies
* `platform-fastify`
* [#18153](https://github.com/nestjs/nest/pull/18153) fix(deps): update dependency light-my-request to v6.8.0 ([@renovate[bot]](https://github.com/apps/renovate))
* [#18152](https://github.com/nestjs/nest/pull/18152) fix(deps): update dependency find-my-way to v9.10.0 ([@renovate[bot]](https://github.com/apps/renovate))
* [#18131](https://github.com/nestjs/nest/pull/18131) fix(deps): update dependency fastify to v5.12.7 ([@renovate[bot]](https://github.com/apps/renovate))
* `platform-express`
* [#18150](https://github.com/nestjs/nest/pull/18150) fix(deps): update dependency express to v5.3.0 ([@renovate[bot]](https://github.com/apps/renovate))
#### Committers: 15
- Ahmed Gamal ([@Ahmad-Mosha](https://github.com/Ahmad-Mosha))
- Chaoqi ([@Chaoqi31](https://github.com/Chaoqi31))
- Daniel Cavalcante ([@dcavalcante](https://github.com/dcavalcante))
- Jay Hemnani ([@jayhemnani9910](https://github.com/jayhemnani9910))
- Johnny J. Huirilef Millรกn ([@johnnyhuirilef](https://github.com/johnnyhuirilef))
- Kamil Mysliwiec ([@kamilmysliwiec](https://github.com/kamilmysliwiec))
- Maksym Lyskov ([@maxymlyskov](https://github.com/maxymlyskov))
- Minijus L ([@minijus](https://github.com/minijus))
- Mohamed A. Abdel Fattah ([@SssiiiSssii1](https://github.com/SssiiiSssii1))
- Om Bhandwaldar ([@OmBhandwaldar](https://github.com/OmBhandwaldar))
- Roman Khegay ([@thekhegay](https://github.com/thekhegay))
- Sua Choi ([@ys0v9](https://github.com/ys0v9))
- [@Benziza](https://github.com/Benziza)
- [@DevAhmadAlkhuja](https://github.com/DevAhmadAlkhuja)
- lijianan ([@li-jia-nan](https://github.com/li-jia-nan))Related Repositories
The AI that really does things. Any OS. Any Platform. The lobster way. ๐ฆ
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Reverse engineer anything with agents, from app behavior down to native binaries.
The open source coding agent.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.