Node.js 24.16 LTS 與 26 Current:Runtime 升級現在需要清單化

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 也需要在真實資料庫索引與查詢中量測。

來源