Node.js 24 (Krypton) 升级为 LTS — V8 13.6、npm 11 和 Windows 工具链的转变
Node.jsRuntimeDevOps
关键更新
Node.js 24(代号 "Krypton")于 2025-10-28 进入长期支持。(nodejs.org) 它整合了几个影响生产构建和 CI 的平台变更:V8 升级到 13.6,npm 升级到 11,URLPattern 全局暴露,AsyncLocalStorage 现在默认使用 AsyncContextFrame,包含 Undici 7,并且实验性的权限标志已简化为 --permission。对于在 Windows 上构建 Node 或本地插件的团队来说,MSVC 支持被移除,现在需要使用 ClangCL 从源代码编译 Node。(nodejs.org) 一个已知的 Buffer.allocUnsafe 行为(零填充缓冲区)出现在 24.x 版本中,但在第一个 LTS 补丁发布(v24.11.1)中修复了。(nodejs.org)
重要性
这是一个实际的迁移里程碑,而不是一个表面上的提升。可操作的影响:
- 依赖 V8 内部的本地模块和任何代码需要重建和验证,因为 V8 13.6 提升了 ABI 并引入了新的全局变量;在暂存环境中进行测试和重建。(nodejs.org)
- 之前假设使用 MSVC 的 Windows CI 镜像必须更新以提供 ClangCL 工具链(或使用官方 Node 二进制文件)——不这样做将会破坏源构建和本地插件编译。(nodejs.org)
- Async 上下文传播和跟踪/监控工具应针对 AsyncContextFrame 默认值进行验证,以检测请求/跟踪关联中的微妙行为变化。(nodejs.org)
- npm 11 和 Undici 7 可能会影响安装性能、锁定文件行为和 CI/monorepo 工作流中的 HTTP 客户端语义——在 Node 24 LTS 镜像上运行 CI 作业,以便及早观察回归。(nodejs.org)
- 由于存在 Buffer.allocUnsafe 回归并已被修复,请将您的暂存/生产镜像固定在第一个修补的 LTS(v24.11.1),并在推出之前运行低级加密/KDF 测试(例如,pbkdf2 路径)。(nodejs.org)
来源
继续阅读
TypeScript 的原生 Go 移植 (项目 Corsa) 实现了 ~10 倍的类型检查速度提升
2025年11月29日微软的 TypeScript 团队已将编译器和语言服务移植到 Go(项目 Corsa),产生了显著的实际速度和内存改进,并发布了原生预览供早期测试。
Node.js 标记内置 TypeScript 类型剥离稳定 (v25.2.0)
2025年11月28日Node.js v25.2.0(2025年11月11日)将运行时 TypeScript '类型剥离' 提升为稳定版本——可以直接使用 node 运行多个 .ts 文件,但有重要的实际注意事项。
Docker 修复嵌套依赖中的关键 RCE,向 LangChain.js 提交上游修复
2025年11月27日Docker 发现并修复了根植于 expr-eval 依赖中的关键 RCE (CVE-2025-12735),用一个受维护的替代品替换了它,并将修复提交给 LangChain.js——影响 Kibana 和许多 LLM 应用。