note: la síntesis y las notas de la versión están en inglés
pending: síntesis en cola
Detectada el 2026-10-20 a las 02:31 UTC. Las síntesis suelen llegar en unas horas; las notas de la versión completas ya están aquí abajo.
release-notesgithub.com/nestjs/nest · 252 líneas
- ## 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))