Node.js 24.16 LTS 与 26 Current:运行时升级现在需要清单化

Dev

Node.js 24.16.0 是近期 LTS 线,Node.js 26.3.0 是 Current 线。对团队来说,这意味着用 LTS 做低风险改进,用 Current 提前发现下一次迁移会破的地方。

Node.js 24.16 LTS and Node.js 26 Current upgrade checklist diagram
Node.js LTS and Current upgrade checklist for engineering teams.

发生了什么

24.16.0 带来 randomUUIDv7()、req.signal 和测试顺序随机化。Node 26 默认启用 Temporal,更新 V8 和 Undici,并移除旧的 HTTP/stream API。

为什么重要

社区对 Temporal 很兴奋,但也讨论 helper、依赖兼容和 benchmark。把这些当作关注点信号,事实仍应以官方 release notes 为准。

社区信号

加入 CI matrix,收集 deprecation warning,在新写入路径测试 UUIDv7,在昂贵请求链路上传递 AbortSignal,并在迁移 Temporal 前封装时间逻辑。

实践清单

  • CI matrix: production Node, Node 24 LTS, Node 26 Current.
  • Deprecation warnings: collect and assign owners.
  • randomUUIDv7(): test on new write paths first.
  • req.signal: propagate cancellation through expensive request paths.
  • Temporal: wrap date/time logic before migration.
  • TypeScript: remember Node type stripping does not type-check and does not honor every tsconfig.json feature.
import { randomUUIDv7 } from 'node:crypto'
const id = randomUUIDv7()
await fetch(url, { signal: req.signal })

风险

Node 26 仍是 Current。Temporal 不是对 Date 的全局替换,UUIDv7 也必须在真实数据库索引和查询中测量。

来源