广受欢迎的开源 JavaScript 运行时 Node.js 发布了 Node.js 26 版本。该版本融合了平台现代化升级、新语言特性,以及一系列的功能弃用和移除。
Node.js 26 引入了多项变更,包括默认启用 Temporal API、将 V8 JavaScript 引擎更新至 14.6 版本,以及将 Undici HTTP 客户端升级至 8.0 版本。随着该项目持续推进平台的现代化进程,这次更新还淘汰了多项标记为已过时的旧版 API。
Node.js 26 的其中一个主要新特性是 Temporal API,现在无需实验性标志即可启用。Temporal 是一个现代化的日期和时间 API,为传统的 Date 对象提供了一个更强大的替代方案,能够以一等公民的方式处理时区、日历、时长和时间点。
社区对 Temporal 的反响总体来说比较积极。在 Hacker News 上,有一位评论者表示“非常期待 Temporal API 能全面普及”,并补充说:“合理的日期/时间处理功能本就应该作为平台的默认功能内置其中。”在 Reddit 上,有一位开发者指出,它“绝对比 JS Dates 好得多”,尽管他们“已经不得不为此编写自己的辅助库了”。
V8 引擎已经更新至 14.6.202.33 版本。该版本是 Chromium 146 的一部分。这次更新引入了新的 upsert 辅助方法,例如 Map.prototype.getOrInsert() 和 getOrInsertComputed(),以及用于迭代器排序的 Iterator.concat()。此外,该版本还全面改进了 JIT 和垃圾回收机制。Undici 已经升级至 8.0.2 版,优化了内置的 fetch() 实现,而且无需更改 API。
这次发布还移除了大量旧版 API。http.Server.prototype.writeHeader() 已经被完全移除,取而代之的是 writeHead();旧版的 _stream_* 模块也已经不复存在;module.register() 现在已经被标记为运行时弃用;此外,--experimental-transform-types 标志也已被移除。
社区普遍将这次发布视为一次增量更新,Reddit 上一个广为流传的帖子将其描述为“一大堆小修复和次要弃用”。
进行升级的开发者应注意以下几点迁移事项。NODE_MODULE_VERSION 现在已经更新为 147,因此,任何预编译的原生插件在升级前都需要重新编译。
在未来六个月内,Node.js 26 将作为“当前版本”,随后将于 2026 年 10 月进入长期支持(LTS)阶段,与 Node.js 24 Active LTS 版本线并行。该版本发布之际,作为竞争对手的运行时 Bun 和 Deno 已率先推出了 Temporal 功能;Node.js 维护者 Rafael Gonzaga 在 X 平台上宣布了此次发布,并称其为“平台的现代化升级”。这也是 Node.js 转为每年发布一次之前,按照旧的奇数/偶数版本发布计划推出的最后一个版本。
Node.js 是一个由 OpenJS 基金会维护的开源、跨平台 JavaScript 运行时。开发者可以参照 nodejs.org 上的说明进行升级。





