Skip to content

chore(deps): bump the production-dependencies group across 1 directory with 23 updates - #580

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/api/production-dependencies-b642eeafac
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/api/production-dependencies-b642eeafac

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 26, 2026

Copy link
Copy Markdown

Bumps the production-dependencies group with 23 updates in the /api directory:

Package From To
@nestjs/cache-manager 2.3.0 12.0.1
@nestjs/common 10.4.22 12.2.0
@nestjs/core 10.4.22 12.2.0
@nestjs/jwt 10.2.0 12.0.3
@nestjs/platform-express 10.4.22 12.2.0
@nestjs/platform-socket.io 10.4.22 12.2.0
@nestjs/schedule 4.1.2 12.0.2
@nestjs/swagger 7.4.2 12.0.3
@nestjs/terminus 10.3.0 12.1.0
@nestjs/throttler 6.5.0 6.7.1
@nestjs/websockets 10.4.22 12.2.0
@opentelemetry/api 1.9.1 1.10.0
@opentelemetry/auto-instrumentations-node 0.54.0 0.82.0
@opentelemetry/exporter-trace-otlp-http 0.57.2 0.300.0
@opentelemetry/sdk-node 0.57.2 0.300.0
cache-manager 5.7.6 7.2.9
compression 1.8.1 1.8.2
helmet 8.1.0 8.3.0
nodemailer 6.10.1 10.2.1
pg 8.21.0 8.23.1
reflect-metadata 0.1.14 0.2.2
sanitize-html 2.17.5 2.18.1
socket.io 4.8.3 4.8.4

Updates @nestjs/cache-manager from 2.3.0 to 12.0.1

Release notes

Sourced from @​nestjs/cache-manager's releases.

Release 12.0.1

What's Changed

New Contributors

Full Changelog: nestjs/cache-manager@12.0.0...12.0.1

Release 12.0.0

What's Changed

@nestjs/cache-manager is now a native ES module, and the major version is aligned with the Nest 12 release line (there is no 4.x — 3.1.3 goes straight to 12.0.0).

ESM migration

The package is published as pure ESM ("type": "module", compiled with NodeNext) behind a proper exports map. The legacy root index.js / index.d.ts / index.ts shims are gone, and deep imports into build internals are no longer resolvable — import from the package root:

import { CacheModule, CacheInterceptor, CacheKey, CacheTTL } from '@nestjs/cache-manager';

require(esm) — CommonJS still works

You do not need to convert your app to ESM. Thanks to Node's require(esm) support, CommonJS consumers can keep using require('@nestjs/cache-manager') unchanged — the exports map points both import and require at the same ESM build, and Node loads it natively.

This is why the supported Node range is now enforced via engines:

"engines": {
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
}

Those are the Node versions where require(esm) is available unflagged. On older Node versions, requiring this package from CommonJS will fail with ERR_REQUIRE_ESM.

Upgrading

npm i @nestjs/cache-manager@12

Checklist:

  • Ensure you're on Node ^20.19.0, ^22.12.0, or >=24.0.0.
  • Replace any deep imports (e.g. @nestjs/cache-manager/dist/...) with root imports.
  • No changes needed to CacheModule.register() / registerAsync(), interceptors, or decorators.

Release 3.1.3

What's Changed

... (truncated)

Commits
  • ba7b70a chore(): release v12.0.1
  • 867c15e chore(deps): update dependency @​types/node to v24.19.1 (#1186)
  • 0cb657c Merge pull request #1185 from nestjs/renovate/vite-8.x
  • 947038e chore(deps): update dependency vite to v8.3.3
  • 0deb091 Merge pull request #1183 from nestjs/renovate/oxlint-monorepo
  • 2ef8516 chore(deps): update dependency oxlint to v1.87.0
  • 872fd03 Merge pull request #1182 from nestjs/renovate/nest-monorepo
  • 4b42dba Merge pull request #1184 from nestjs/renovate/vitest-monorepo
  • 0bcad8a Merge pull request #1189 from nestjs/renovate/supertest-7.x
  • 8c43fc8 Merge pull request #1190 from nestjs/renovate/release-it-21.x
  • Additional commits viewable in compare view

Updates @nestjs/common from 10.4.22 to 12.2.0

Release notes

Sourced from @​nestjs/common's releases.

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
  • IoAdapter and WsAdapter take maxConcurrentMessages, the number of a client's messages handled at once (1000 by default; Infinity lifts it) – 0bd0810ed7
  • ValidationPipe takes maxErrorMessagesLength (1,000,000 characters by default); messages past it are replaced by a "Further validation errors were omitted" entry – 086c1c514f
  • Kafka: parser.maxMessageSize (16 MiB after decompression by default); larger messages are logged and skipped – 9bdf844fca
  • TCP server: drainTimeout (30 s by default, 0 disables) disconnects a peer that leaves its responses unread – 583d6077ad
  • MQTT server: reconnectOnConnackError is now enabled by default, so a refused connection attempt is retried; set it to false for the previous behaviour – a63cea600a
  • HttpServer.getRouteMatchingOptions(), an optional adapter hook that tells core how the router matches paths (see "Middleware exclusions" below) – 08d8677c8d

New defaults and behaviour changes

  • @nestjs/platform-express, @nestjs/platform-fastify: fieldNestingDepth and fieldArrayIndexLimit (#18074) now default to 32 and 1000; set them to Infinity to lift the limits – 94fcc93770
  • 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
  • ValidationPipe answers an array or a primitive sent for a validated class with a 400 – 197371c1f3
  • 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
  • @SerializeOptions({}) on a handler no longer turns off the class schema – d27cb7017f
  • BaseExceptionFilter answers http-errors errors created with expose: false (the default from 500) with the standard reason phrase instead of their message – 9ed572f853
  • A StreamableFile error still gets a 400, but the body no longer carries the error message – 2f28d91afb
  • Files uploaded with a request that a pipe rejected are removed from storage – acb98de89e
  • @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
  • @nestjs/platform-express: object error bodies are sent as application/json on routes with a non-JSON Content-Type – 7dc6e349d5
  • ConsoleLogger in JSON mode cuts a record short past about a million characters – ad4915eaa3
  • A global enhancer that the injector failed to instantiate now fails the application at startup – ae78524ced
  • A request- or transient-scoped APP_FILTER now logs a startup warning, as it only applies to exceptions thrown from controllers – df5275c5e1
  • Microservices: a pattern key longer than 256 characters matches no handler – accd27e66c
  • Kafka: a message may carry up to 10,000 header values (e419ff540b); headers given as a string or array are not sent (312777743f); reply headers are decoded as text (ee94f6aaae)
  • gRPC: request streams are paused while their replies wait to be written – 37e5cf7706
  • 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

Middleware exclusions

  • MiddlewareConsumer.exclude() now compiles excluded routes with the router's case and trailing-slash matching (08d8677c8d). 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), 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
  • @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

Bug fixes

... (truncated)

Commits
  • af37111 chore(release): publish v12.2.0 release
  • 770c6f1 fix(common): match a file type string up to the end of a name
  • 8c5a59b fix(common): stop exposing the validated object on validation errors
  • 086c1c5 fix(common): limit the length of validation error messages by default
  • e77ceba fix(common): stop copying nested validation errors for each level
  • 197371c fix(common): reject arrays and primitives for validated classes
  • b34a359 fix(common): validate parsed array items one at a time
  • 1a7a31f fix(core,common): exclude a version only for requests that ask for it
  • 2f05ad9 fix(core): make the sse pending data limit configurable
  • 2f28d91 fix(common): keep StreamableFile error messages out of responses
  • Additional commits viewable in compare view

Updates @nestjs/core from 10.4.22 to 12.2.0

Release notes

Sourced from @​nestjs/core's releases.

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
  • IoAdapter and WsAdapter take maxConcurrentMessages, the number of a client's messages handled at once (1000 by default; Infinity lifts it) – 0bd0810ed7
  • ValidationPipe takes maxErrorMessagesLength (1,000,000 characters by default); messages past it are replaced by a "Further validation errors were omitted" entry – 086c1c514f
  • Kafka: parser.maxMessageSize (16 MiB after decompression by default); larger messages are logged and skipped – 9bdf844fca
  • TCP server: drainTimeout (30 s by default, 0 disables) disconnects a peer that leaves its responses unread – 583d6077ad
  • MQTT server: reconnectOnConnackError is now enabled by default, so a refused connection attempt is retried; set it to false for the previous behaviour – a63cea600a
  • HttpServer.getRouteMatchingOptions(), an optional adapter hook that tells core how the router matches paths (see "Middleware exclusions" below) – 08d8677c8d

New defaults and behaviour changes

  • @nestjs/platform-express, @nestjs/platform-fastify: fieldNestingDepth and fieldArrayIndexLimit (#18074) now default to 32 and 1000; set them to Infinity to lift the limits – 94fcc93770
  • 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
  • ValidationPipe answers an array or a primitive sent for a validated class with a 400 – 197371c1f3
  • 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
  • @SerializeOptions({}) on a handler no longer turns off the class schema – d27cb7017f
  • BaseExceptionFilter answers http-errors errors created with expose: false (the default from 500) with the standard reason phrase instead of their message – 9ed572f853
  • A StreamableFile error still gets a 400, but the body no longer carries the error message – 2f28d91afb
  • Files uploaded with a request that a pipe rejected are removed from storage – acb98de89e
  • @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
  • @nestjs/platform-express: object error bodies are sent as application/json on routes with a non-JSON Content-Type – 7dc6e349d5
  • ConsoleLogger in JSON mode cuts a record short past about a million characters – ad4915eaa3
  • A global enhancer that the injector failed to instantiate now fails the application at startup – ae78524ced
  • A request- or transient-scoped APP_FILTER now logs a startup warning, as it only applies to exceptions thrown from controllers – df5275c5e1
  • Microservices: a pattern key longer than 256 characters matches no handler – accd27e66c
  • Kafka: a message may carry up to 10,000 header values (e419ff540b); headers given as a string or array are not sent (312777743f); reply headers are decoded as text (ee94f6aaae)
  • gRPC: request streams are paused while their replies wait to be written – 37e5cf7706
  • 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

Middleware exclusions

  • MiddlewareConsumer.exclude() now compiles excluded routes with the router's case and trailing-slash matching (08d8677c8d). 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), 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
  • @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

Bug fixes

... (truncated)

Commits
  • af37111 chore(release): publish v12.2.0 release
  • 85d0a0b fix(core): run interceptor, pipe and filter classes without a name
  • 8a53d08 fix(core): detect cycles in request-scoped forward references (#18186)
  • 92136a6 fix(core): give a module that extends another module its own id (#18180)
  • bafce3b fix(core): answer http requests an rpc exception filter leaves
  • 8f9fbfd fix(core): settle async param decorator values before pipes run
  • 9b77f56 fix(core,microservices): let only the hybrid application bind gateways
  • fec478e fix(core): subscribe to guard observables from other copies of rxjs
  • 034ef09 fix(core): run guards bound as classes without a name
  • a190887 fix(core,websockets): run transient enhancers bound to static gateways
  • Additional commits viewable in compare view

Updates @nestjs/jwt from 10.2.0 to 12.0.3

Release notes

Sourced from @​nestjs/jwt's releases.

Release 12.0.3

What's Changed

New Contributors

Full Changelog: nestjs/jwt@12.0.2...12.0.3

Release 12.0.2

What's Changed

New Contributors

Full Changelog: nestjs/jwt@12.0.1...12.0.2

Release 12.0.1

  • fix: jsonwebtoken esm imports (05d0075)

Release 12.0.0

What's Changed

@nestjs/jwt is now a native ES module, and the major version is aligned with the Nest 12 release line

ESM migration

The package is published as pure ESM ("type": "module", compiled with NodeNext) behind a proper exports map. The legacy root index.js / index.d.ts / index.ts shims are gone, and deep imports into build internals are no longer resolvable — import from the package root.

// ✅
import { JwtModule, JwtService } from '@nestjs/jwt';
// ❌ no longer resolvable
import { JwtService } from '@​nestjs/jwt/dist/jwt.service';

require(esm) — CommonJS still works

You do not need to convert your app to ESM. Thanks to Node's require(esm) support (Node 20.19+, 22.12+, and all of 24.x), a CommonJS Nest application can keep requiring the package exactly as before:

const { JwtModule, JwtService } = require('@nestjs/jwt');

TypeScript users compiling to CommonJS are unaffected as long as their runtime is on a supported Node version. On older Node releases, require() of this package will throw ERR_REQUIRE_ESM — upgrade Node, or switch the consuming code to import.

jsonwebtoken re-exports

... (truncated)

Commits
  • 1b8f652 chore(): release v12.0.3
  • 99ac1f9 fix(jwt): suppress async provider rejection on string payload error (#2295)
  • 96bfd75 chore(deps): update nest monorepo to v12.1.2 (#2289)
  • b74a723 chore(deps): update dependency @​types/node to v24.19.2 (#2290)
  • 41ac94b chore(deps): update dependency oxlint to v1.87.0 (#2291)
  • 19b1466 chore(deps): update dependency release-it to v21.1.1 (#2292)
  • d399c15 chore(deps): update dependency prettier to v3.9.10 (#2293)
  • 61c5e94 ci(): upgrade circleci config to version 2.1 (#2296)
  • 1801d4d Merge pull request #2294 from thekhegay/fix/sign-async-secret-provider-reject
  • d995c2f fix(jwt): reject async sign when the secret provider rejects
  • Additional commits viewable in compare view
Install script changes

This version modifies prepare script that runs during installation. Review the package contents before updating.


Updates @nestjs/platform-express from 10.4.22 to 12.2.0

Release notes

Sourced from @​nestjs/platform-express's releases.

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
  • IoAdapter and WsAdapter take maxConcurrentMessages, the number of a client's messages handled at once (1000 by default; Infinity lifts it) – 0bd0810ed7
  • ValidationPipe takes maxErrorMessagesLength (1,000,000 characters by default); messages past it are replaced by a "Further validation errors were omitted" entry – 086c1c514f
  • Kafka: parser.maxMessageSize (16 MiB after decompression by default); larger messages are logged and skipped – 9bdf844fca
  • TCP server: drainTimeout (30 s by default, 0 disables) disconnects a peer that leaves its responses unread – 583d6077ad
  • MQTT server: reconnectOnConnackError is now enabled by default, so a refused connection attempt is retried; set it to false for the previous behaviour – a63cea600a
  • HttpServer.getRouteMatchingOptions(), an optional adapter hook that tells core how the router matches paths (see "Middleware exclusions" below) – 08d8677c8d

New defaults and behaviour changes

  • @nestjs/platform-express, @nestjs/platform-fastify: fieldNestingDepth and fieldArrayIndexLimit (#18074) now default to 32 and 1000; set them to Infinity to lift the limits – 94fcc93770
  • 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
  • ValidationPipe answers an array or a primitive sent for a validated class with a 400 – 197371c1f3
  • 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
  • @SerializeOptions({}) on a handler no longer turns off the class schema – d27cb7017f
  • BaseExceptionFilter answers http-errors errors created with expose: false (the default from 500) with the standard reason phrase instead of their message – 9ed572f853
  • A StreamableFile error still gets a 400, but the body no longer carries the error message – 2f28d91afb
  • Files uploaded with a request that a pipe rejected are removed from storage – acb98de89e
  • @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
  • @nestjs/platform-express: object error bodies are sent as application/json on routes with a non-JSON Content-Type – 7dc6e349d5
  • ConsoleLogger in JSON mode cuts a record short past about a million characters – ad4915eaa3
  • A global enhancer that the injector failed to instantiate now fails the application at startup – ae78524ced
  • A request- or transient-scoped APP_FILTER now logs a startup warning, as it only applies to exceptions thrown from controllers – df5275c5e1
  • Microservices: a pattern key longer than 256 characters matches no handler – accd27e66c
  • Kafka: a message may carry up to 10,000 header values (e419ff540b); headers given as a string or array are not sent (312777743f); reply headers are decoded as text (ee94f6aaae)
  • gRPC: request streams are paused while their replies wait to be written – 37e5cf7706
  • 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

Middleware exclusions

  • MiddlewareConsumer.exclude() now compiles excluded routes with the router's case and trailing-slash matching (08d8677c8d). 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), 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
  • @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

Bug fixes

... (truncated)

Commits
  • af37111 chore(release): publish v12.2.0 release
  • c8923bd fix(express,fastify): parse quoted media type version parameters (#18178)
  • fb8c2ca fix(core): mount wildcard middleware on every path when "/" is excluded
  • b75244f fix(express): run wildcard middleware on "/api/" for a named wildcard
  • 8b8e839 fix(express): stop reading a streamable file for a head request
  • acb98de fix(core,express,fastify): remove uploads of requests a pipe rejected
  • 1933cc9 fix(express,fastify): handle a StreamableFile that cannot be streamed
  • 7dc6e34 fix(express): send object error bodies with a json content type
  • e075cda fix(express,fastify): let a route's dest replace the module's storage
  • 84a16fe fix(deps): update dependency express to v5.3.0 (#18150)
  • Additional commits viewable in compare view

Updates @nestjs/platform-socket.io from 10.4.22 to 12.2.0

Release notes

Sourced from @​nestjs/platform-socket.io's releases.

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
  • IoAdapter and WsAdapter take maxConcurrentMessages, the number of a client's messages handled at once (1000 by default; Infinity lifts it) – 0bd0810ed7
  • ValidationPipe takes maxErrorMessagesLength (1,000,000 characters by default); messages past it are replaced by a "Further validation errors were omitted" entry – 086c1c514f
  • Kafka: parser.maxMessageSize (16 MiB after decompression by default); larger messages are logged and skipped – 9bdf844fca
  • TCP server: drainTimeout (30 s by default, 0 disables) disconnects a peer that leaves its responses unread – 583d6077ad
  • MQTT server: reconnectOnConnackError is now enabled by default, so a refused connection attempt is retried; set it to false for the previous behaviour – a63cea600a
  • HttpServer.getRouteMatchingOptions(), an optional adapter hook that tells core how the router matches paths (see "Middleware exclusions" below) – 08d8677c8d

New defaults and behaviour changes

  • @nestjs/platform-express, @nestjs/platform-fastify: fieldNestingDepth and fieldArrayIndexLimit (#18074) now default to 32 and 1000; set them to Infinity to lift the limits – 94fcc93770
  • 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
  • ValidationPipe answers an array or a primitive sent for a validated class with a 400 – 197371c1f3
  • 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
  • @SerializeOptions({}) on a handler no longer turns off the class schema – d27cb7017f
  • BaseExceptionFilter answers http-errors errors created with expose: false (the default from 500) with the standard reason phrase instead of their message – 9ed572f853
  • A StreamableFile error still gets a 400, but the body no longer carries the error message – 2f28d91afb
  • Files uploaded with a request that a pipe rejected are removed from storage – acb98de89e
  • @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
  • @nestjs/platform-express: object error bodies are sent as application/json on routes with a non-JSON Content-Type – 7dc6e349d5
  • ConsoleLogger in JSON mode cuts a record short past about a million characters – ad4915eaa3
  • A global enhancer that the injector failed to instantiate now fails the application at startup – ae78524ced
  • A request- or transient-scoped APP_FILTER now logs a startup warning, as it only applies to exceptions thrown from controllers – df5275c5e1
  • Microservices: a pattern key longer than 256 characters matches no handler – accd27e66c
  • Kafka: a message may carry up to 10,000 header values (e419ff540b); headers given as a string or array are not sent (312777743f); reply headers are decoded as text (ee94f6aaae)
  • gRPC: request streams are paused while their replies wait to be written – 37e5cf7706
  • 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

Middleware exclusions

  • MiddlewareConsumer.exclude() now compiles excluded routes with the router's case and trailing-slash matching (08d8677c8d). 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), 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
  • @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

Bug fixes

…y with 23 updates

Bumps the production-dependencies group with 23 updates in the /api directory:

| Package | From | To |
| --- | --- | --- |
| [@nestjs/cache-manager](https://github.com/nestjs/cache-manager) | `2.3.0` | `12.0.1` |
| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `10.4.22` | `12.2.0` |
| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `10.4.22` | `12.2.0` |
| [@nestjs/jwt](https://github.com/nestjs/jwt) | `10.2.0` | `12.0.3` |
| [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) | `10.4.22` | `12.2.0` |
| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io) | `10.4.22` | `12.2.0` |
| [@nestjs/schedule](https://github.com/nestjs/schedule) | `4.1.2` | `12.0.2` |
| [@nestjs/swagger](https://github.com/nestjs/swagger) | `7.4.2` | `12.0.3` |
| [@nestjs/terminus](https://github.com/nestjs/terminus) | `10.3.0` | `12.1.0` |
| [@nestjs/throttler](https://github.com/nestjs/throttler) | `6.5.0` | `6.7.1` |
| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets) | `10.4.22` | `12.2.0` |
| [@opentelemetry/api](https://github.com/open-telemetry/opentelemetry-js) | `1.9.1` | `1.10.0` |
| [@opentelemetry/auto-instrumentations-node](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node) | `0.54.0` | `0.82.0` |
| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.57.2` | `0.300.0` |
| [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js) | `0.57.2` | `0.300.0` |
| [cache-manager](https://github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager) | `5.7.6` | `7.2.9` |
| [compression](https://github.com/expressjs/compression) | `1.8.1` | `1.8.2` |
| [helmet](https://github.com/helmetjs/helmet) | `8.1.0` | `8.3.0` |
| [nodemailer](https://github.com/nodemailer/nodemailer) | `6.10.1` | `10.2.1` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.21.0` | `8.23.1` |
| [reflect-metadata](https://github.com/rbuckton/reflect-metadata) | `0.1.14` | `0.2.2` |
| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `2.17.5` | `2.18.1` |
| [socket.io](https://github.com/socketio/socket.io) | `4.8.3` | `4.8.4` |



Updates `@nestjs/cache-manager` from 2.3.0 to 12.0.1
- [Release notes](https://github.com/nestjs/cache-manager/releases)
- [Commits](nestjs/cache-manager@2.3.0...12.0.1)

Updates `@nestjs/common` from 10.4.22 to 12.2.0
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v12.2.0/packages/common)

Updates `@nestjs/core` from 10.4.22 to 12.2.0
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v12.2.0/packages/core)

Updates `@nestjs/jwt` from 10.2.0 to 12.0.3
- [Release notes](https://github.com/nestjs/jwt/releases)
- [Commits](nestjs/jwt@10.2.0...12.0.3)

Updates `@nestjs/platform-express` from 10.4.22 to 12.2.0
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v12.2.0/packages/platform-express)

Updates `@nestjs/platform-socket.io` from 10.4.22 to 12.2.0
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v12.2.0/packages/platform-socket.io)

Updates `@nestjs/schedule` from 4.1.2 to 12.0.2
- [Release notes](https://github.com/nestjs/schedule/releases)
- [Commits](nestjs/schedule@4.1.2...12.0.2)

Updates `@nestjs/swagger` from 7.4.2 to 12.0.3
- [Release notes](https://github.com/nestjs/swagger/releases)
- [Commits](nestjs/swagger@7.4.2...12.0.3)

Updates `@nestjs/terminus` from 10.3.0 to 12.1.0
- [Release notes](https://github.com/nestjs/terminus/releases)
- [Changelog](https://github.com/nestjs/terminus/blob/master/CHANGELOG.md)
- [Commits](nestjs/terminus@10.3.0...12.1.0)

Updates `@nestjs/throttler` from 6.5.0 to 6.7.1
- [Release notes](https://github.com/nestjs/throttler/releases)
- [Changelog](https://github.com/nestjs/throttler/blob/master/CHANGELOG.md)
- [Commits](nestjs/throttler@v6.5.0...v6.7.1)

Updates `@nestjs/websockets` from 10.4.22 to 12.2.0
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v12.2.0/packages/websockets)

Updates `@opentelemetry/api` from 1.9.1 to 1.10.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-js@v1.9.1...v1.10.0)

Updates `@opentelemetry/auto-instrumentations-node` from 0.54.0 to 0.82.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/auto-instrumentations-node/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-js-contrib/commits/auto-instrumentations-node-v0.82.0/packages/auto-instrumentations-node)

Updates `@opentelemetry/exporter-trace-otlp-http` from 0.57.2 to 0.300.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-js@experimental/v0.57.2...experimental/v0.300.0)

Updates `@opentelemetry/sdk-node` from 0.57.2 to 0.300.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-js@experimental/v0.57.2...experimental/v0.300.0)

Updates `cache-manager` from 5.7.6 to 7.2.9
- [Release notes](https://github.com/jaredwray/cacheable/releases)
- [Commits](https://github.com/jaredwray/cacheable/commits/HEAD/packages/cache-manager)

Updates `compression` from 1.8.1 to 1.8.2
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](expressjs/compression@v1.8.1...v1.8.2)

Updates `helmet` from 8.1.0 to 8.3.0
- [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md)
- [Commits](helmetjs/helmet@v8.1.0...v8.3.0)

Updates `nodemailer` from 6.10.1 to 10.2.1
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](nodemailer/nodemailer@v6.10.1...v10.2.1)

Updates `pg` from 8.21.0 to 8.23.1
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.23.1/packages/pg)

Updates `reflect-metadata` from 0.1.14 to 0.2.2
- [Release notes](https://github.com/rbuckton/reflect-metadata/releases)
- [Commits](https://github.com/rbuckton/reflect-metadata/commits)

Updates `sanitize-html` from 2.17.5 to 2.18.1
- [Changelog](https://github.com/apostrophecms/apostrophe/blob/main/packages/sanitize-html/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/apostrophe/commits/sanitize-html@2.18.1/packages/sanitize-html)

Updates `socket.io` from 4.8.3 to 4.8.4
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/socket.io@4.8.3...socket.io@4.8.4)

---
updated-dependencies:
- dependency-name: "@nestjs/cache-manager"
  dependency-version: 12.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/common"
  dependency-version: 12.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/core"
  dependency-version: 12.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/jwt"
  dependency-version: 12.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-express"
  dependency-version: 12.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-socket.io"
  dependency-version: 12.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/schedule"
  dependency-version: 12.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/swagger"
  dependency-version: 12.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/terminus"
  dependency-version: 12.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@nestjs/throttler"
  dependency-version: 6.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: "@nestjs/websockets"
  dependency-version: 12.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@opentelemetry/api"
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: "@opentelemetry/auto-instrumentations-node"
  dependency-version: 0.82.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: "@opentelemetry/exporter-trace-otlp-http"
  dependency-version: 0.300.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: "@opentelemetry/sdk-node"
  dependency-version: 0.300.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: cache-manager
  dependency-version: 7.2.9
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: compression
  dependency-version: 1.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: helmet
  dependency-version: 8.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: nodemailer
  dependency-version: 10.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: pg
  dependency-version: 8.23.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: reflect-metadata
  dependency-version: 0.2.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: sanitize-html
  dependency-version: 2.18.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: socket.io
  dependency-version: 4.8.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Oct 26, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: area:api, ci, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants