Download Latest Version v12.3.0 source code.zip (3.1 MB) Google Add to Preferred Sources
Home / v12.1.3
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-10-12 16.3 kB
v12.1.3 source code.tar.gz 2026-10-12 1.5 MB
v12.1.3 source code.zip 2026-10-12 2.7 MB
Totals: 3 Items   4.3 MB 3

v12.1.3 (2026-10-12)

Bug fixes

  • core, microservices
  • #18111 fix(core,microservices): flush buffered logs when initialization fails (@thekhegay)
  • #17993 fix(core,microservices): run transient global enhancers on controllers (@johnnyhuirilef)
  • platform-express
  • #18110 fix(express): guard async request hook completion (@GiHoon1123)
  • #17973 fix(express): destroy the StreamableFile source on client disconnect (@maxymlyskov)
  • #17942 fix(express): run wildcard middleware on the bare global prefix path (@Chaoqi31)
  • core
  • #18104 fix(core): fail at startup for request-scoped class global enhancers (@thekhegay)
  • #18066 fix(core): stop silently dropping request-scoped global enhancers (@OmBhandwaldar)
  • #18072 fix(core): resolve uri versioned exclusions for the not-found handler (@basteez)
  • #18075 fix(core): normalize slashes when mapping controllers for middleware (@basteez)
  • #18086 fix(core): do not mutate the message when assigning an sse event id (@Metehan-Bicer)
  • #18025 fix(core): end sse streams whose event data cannot be serialized (@OmBhandwaldar)
  • #18011 fix(core): send status and headers set by handlers on sse responses (@johnnyhuirilef)
  • #18021 fix(core): honor a shutdown signal received while close() is in flight (@maxymlyskov)
  • #17987 fix(core): settle SSE lifecycle on early disconnect (@jackie-cqz)
  • #17986 fix(core): commit SSE headers for empty streams (@jackie-cqz)
  • #17978 fix(core): preserve explicit null values in reflectable decorators (@gophersg)
  • #17966 fix(core): run the shutdown sequence after a failed init (@kamilmysliwiec)
  • #17963 fix(core): send the expires header on sse responses (@Mohamed-Elshesheny)
  • #17953 fix(core): honor global prefix exclusions for overlapping versions (@Chaoqi31)
  • #17950 fix(core): let a GET middleware exclusion cover HEAD requests (@Chaoqi31)
  • #17951 fix(core): reset the listening state when the application closes (@Chaoqi31)
  • #17945 fix(core): hash Map, Set and RegExp options in deep-hash tokens (@Chaoqi31)
  • #17947 fix(core): treat VERSION_NEUTRAL in middleware routes as no version (@Chaoqi31)
  • #17941 fix(core): turn off express x-powered-by in useSecurityHeaders() (@Chaoqi31)
  • #17939 fix(core): name dynamic host modules in import error messages (@Chaoqi31)
  • #17940 fix(core): isolate nested transient providers injected into properties (@Chaoqi31)
  • microservices
  • #18108 fix(microservices): keep nats status updates alive when a listener throws (@kamilmysliwiec)
  • #18100 fix(microservices): default server options like the client factory does (@thekhegay)
  • #18083 fix(microservices): match rmq '#' wildcards in any position (@thekhegay)
  • #18095 fix(microservices): fail mqtt requests whose publish fails (@izg0820)
  • #18085 fix(microservices): preserve null payloads in kafka tombstone records (@Hangell)
  • #18081 fix(microservices): close the connection when the channel close fails (@hktitof)
  • #18071 fix(microservices): return the rmq reply publish so failures are handled (@maxymlyskov)
  • #18060 fix(microservices): fail redis listen on rejected subscriptions (@kamilmysliwiec)
  • #18056 fix(microservices): clone the kafka record before serializing (@Mihir-Rabari)
  • #18054 fix(microservices): do not crash when the redis connection drops (@maxymlyskov)
  • #18043 fix(microservices): fail pending kafka request on deserializer error (@hktitof)
  • #18002 fix(microservices): wait for the TCP TLS handshake (@jackie-cqz)
  • #17995 fix(microservices): survive custom deserializer errors in clients (@johnnyhuirilef)
  • #18027 fix(microservices): close both kafka client connections when one fails (@izg0820)
  • #18008 fix(microservices): unwrap records returned by message handlers (@johnnyhuirilef)
  • #18001 fix(microservices): wait for both Redis clients to be ready (@jackie-cqz)
  • #18000 fix(microservices): ignore stale NATS status events (@jackie-cqz)
  • #17996 fix(microservices): preserve MQTT payload options (@jackie-cqz)
  • #17989 fix(microservices): suspend incomplete packet timers during backpressure (@jackie-cqz)
  • #17988 fix(microservices): cancel pending TCP retries on close (@jackie-cqz)
  • #17972 fix(microservices): keep grpc response errors out of the request stream (@drakeo338)
  • #17957 fix(microservices): fail rmq connect and listen on channel setup errors (@johnnyhuirilef)
  • #17961 fix(microservices): run every event handler when a sibling completes empty (@johnnyhuirilef)
  • #17959 fix(microservices): fail nats requests on undecodable replies (@johnnyhuirilef)
  • #17955 fix(microservices): stop rmq client opening two channels on connect (@johnnyhuirilef)
  • #17946 fix(microservices): answer client-streaming calls that return nothing (@Chaoqi31)
  • #17943 fix(microservices): resolve grpc stream calls that complete empty (@hktitof)
  • platform-fastify
  • #18109 fix(fastify): answer the shutdown hooks 503 with fastify's json body (@kamilmysliwiec)
  • #18101 fix(fastify): honor return503OnClosing during the shutdown hooks (@thekhegay)
  • #18059 fix(fastify): reject listen() on an invalid port (@kamilmysliwiec)
  • #18053 fix(fastify): listen on a socket path (@johnnyhuirilef)
  • #17997 fix(fastify): settle async lifecycle hooks once (@jackie-cqz)
  • #17998 fix(fastify): preserve custom router constraints (@jackie-cqz)
  • #17938 fix(fastify): keep the default body parsers after useBodyParser() (@Chaoqi31)
  • #17937 fix(fastify): count headers flushed on reply.raw in isHeadersSent (@Chaoqi31)
  • common
  • #18090 fix(common): keep custom decorator data that has schema or pipes keys (@Ahmad-Mosha)
  • #18073 fix(common): reject arrays nested in ParseArrayPipe items (@KAPUIST)
  • #17999 fix(common): collect configurable module alias dependencies (@jackie-cqz)
  • #17983 fix(common): isolate file type regexp state (@jackie-cqz)
  • #17982 fix(common): preserve parent validation constraints (@jackie-cqz)
  • #17949 fix(common): let a redeclared @Inject() property replace the parent's (@Chaoqi31)
  • #17944 fix(common): keep inherited @Optional() properties optional (@Chaoqi31)
  • microservices, websockets
  • #18084 fix(websockets, microservices): fallback to 'Error' for minified exception class names (@korrayt)
  • websockets
  • #18088 fix(websockets): copy the options object in the base ws exception filter (@Mihir-Rabari)
  • #18089 fix(websockets): log scoped gateway resolution errors without a hook (@basteez)
  • #18048 fix(websockets): pass gateway lifecycle hook errors to exception filters (@kamilmysliwiec)
  • #18046 fix(websockets): pass the pattern when a scoped handler fails to resolve (@kamilmysliwiec)
  • #18044 fix(websockets): use the hook name as pattern for request-scoped hooks (@OmBhandwaldar)
  • #17985 fix(websockets): retain shared contexts during disconnect hooks (@jackie-cqz)
  • common, core, platform-express
  • #17923 fix(common,core,express): answer method miss on an excluded route (@thekhegay)
  • platform-ws
  • #18003 fix(ws): default omitted adapter creation options (@jackie-cqz)
  • core, websockets
  • #17979 fix(websockets): resolve global scoped enhancers per connection (@jackie-cqz)
  • core, testing
  • #17952 fix(core): take the scope of the class in useClass() overrides (@Chaoqi31)

Enhancements

  • platform-express, platform-fastify
  • #18074 feat(express,fastify): add field nesting and array index upload limits (@KAPUIST)

Docs

Dependencies

Committers: 23

Source: README.md, updated 2026-10-12