NestJS 10 月连发:Fastify 错误响应与 CORS 修复,SSE/WebSocket 加上资源上限

NestJS 在 2026 年 10 月持续放出多个版本。截至 2026 年 10 月 28 日,主线最新标签为 v12.3.0(说明日期写 2026-10-27);同月还能看到 v12.2.0、v12.1.3,以及 v11 维护线上的 v11.2.8。后端若卡在 Fastify 适配器、跨域或长连接,这几版说明值得对着看。[1]

对 Fastify 用户,v12.3.0 的补丁很具体:对象型错误体按 JSON 内容类型返回;4xx 的 http-errors 映射成 Nest HTTP 异常;5xx 留给 Fastify 自己打日志,避免「异常被映射没了、线上却看不到」。另有一处改动让 CORS 跑在 Nest 中间件前面,减少预检请求被业务中间件误伤。同版本还修了 listen 文件描述符、与旧 core 混用适配器加载等问题。[1]

再往前看 v12.2.0(2026 年 10 月 19 日),重点是默认加上资源闸门。@Sse({ maxPendingDataLength }) 限制客户端不读事件时积压的字符数,默认约 400 万;IoAdapter / WsAdapter 增加 maxConcurrentMessages,默认单客户端并发处理 1000 条。Express 与 Fastify 的上传字段嵌套深度、数组下标也有了默认上限(32 与 1000),需要「完全不限制」要显式设成 Infinity。ValidationPipe、文件类型匹配等行为也有收紧,升级后要回归自己的 DTO 与上传接口。[1]

核心与 SSE 方向同期修了一长串:无调优方法的 socket、中途失败的 StreamableFile、仅 URI 版本不同的路由重复执行中间件、请求作用域 forwardRef 并发解析等。v12.3.0 还带上原生 Node HTTP 平台适配器(platform-node),给不想绑 Express/Fastify 的部署多一条路。[1]

仍停在 v11 的项目,可看 2026 年 10 月 23 日的 v11.2.8:回移了 Fastify CORS 顺序、路由排除匹配方式,以及 SSE 挂起数据可配置上限等。升级建议:先读对应 tag 的完整 release notes,再在预发环境打一遍 CORS、multipart、SSE 和 WebSocket 压测场景。[1]

说明:以上据 nestjs/nest 官方 Releases 与各标签说明整理,行为以对应版本源码为准。

来源

[1] nestjs/nest Releases(含 v12.3.0、v12.2.0、v11.2.8 等),查询日 2026-10-29。

#NestJS #Fastify #Node.js #后端 #SSE #WebSocket

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.