Node.js 26.0.0(现已包含 Temporal)
摘要
Node.js 26.0.0 已发布,默认启用 Temporal API,更新了 V8 14.6 和 Undici 8.0,并包含多项弃用和移除。
暂无内容
查看缓存全文
缓存时间: 2026/05/20 20:29
# Node.js — Node.js 26.0.0 (Current)
Source: https://nodejs.org/en/blog/release/v26.0.0 Rafael Gonzaga
## 2026\-05\-05, Version 26\.0\.0 \(Current\), @RafaelGSS (https://nodejs.org/en/blog/release/v26.0.0#2026-05-05-version-2600-current-rafaelgss)
我们很高兴地宣布 Node.js 26 发布了!亮点包括:Temporal API 默认启用,V8 JavaScript 引擎更新至 14.6,Undici 更新至 8.0,以及随着我们持续现代化平台而进行的若干重要弃用和移除。
提醒一下,Node.js 26 将在十月份进入长期支持(LTS)阶段,在此之前,它将在接下来的六个月内作为 "Current" 版本发布。我们鼓励您探索此最新版本提供的新特性和优势,并评估它们对您应用程序的潜在影响。
### 值得注意的变化 (https://nodejs.org/en/blog/release/v26.0.0#notable-changes)
#### Temporal API (https://nodejs.org/en/blog/release/v26.0.0#temporal-api)
Temporal API 现在在 Node.js 26 中默认启用。Temporal 是一个现代的 JavaScript 日期/时间 API,为传统的 `Date` 对象提供了更强大且功能丰富的替代方案。由 Richard Lau 在 #61806 (https://github.com/nodejs/node/pull/61806) 中贡献。
#### V8 14.6 (https://nodejs.org/en/blog/release/v26.0.0#v8-146)
V8 引擎已更新至版本 14.6.202.33,该版本是 Chromium 146 的一部分。此版本还包括:
- Upsert (https://github.com/tc39/proposal-upsert):`[Weak]Map.prototype.getOrInsert()`、`[Weak]Map.prototype.getOrInsertComputed()`
- 迭代器拼接 (https://github.com/tc39/proposal-iterator-sequencing):`Iterator.concat()`
由 Michaël Zasso 在 #61898 (https://github.com/nodejs/node/pull/61898) 中贡献。
#### Undici 8 (https://nodejs.org/en/blog/release/v26.0.0#undici-8)
Undici 已更新至版本 8.0.2,为 Node.js 的 HTTP 客户端实现带来了新特性和改进。
#### 弃用和移除 (https://nodejs.org/en/blog/release/v26.0.0#deprecations-and-removals)
- [`dff46c07c3` (https://github.com/nodejs/node/commit/dff46c07c3)] - **\(SEMVER\-MAJOR\)** **crypto**: 将 DEP0182 移至生命周期结束 (Tobias Nießen) #61084 (https://github.com/nodejs/node/pull/61084)
- [`93c25815ee` (https://github.com/nodejs/node/commit/93c25815ee)] - **\(SEMVER\-MAJOR\)** **http**: 将 writeHeader 移至生命周期结束 (Sebastian Beltran) #60635 (https://github.com/nodejs/node/pull/60635) `http.Server.prototype.writeHeader()` 现已完全移除。请改用 `http.Server.prototype.writeHead()`。
- [`c755b0113c` (https://github.com/nodejs/node/commit/c755b0113c)] - **\(SEMVER\-MAJOR\)** **stream**: 将 \_stream\_\* 移至生命周期结束 (Sebastian Beltran) #60657 (https://github.com/nodejs/node/pull/60657) 原先的 `_stream_wrap`、`_stream_readable`、`_stream_writable`、`_stream_duplex`、`_stream_transform` 和 `_stream_passthrough` 模块现已完全移除。
- [`adac077484` (https://github.com/nodejs/node/commit/adac077484)] - **\(SEMVER\-MAJOR\)** **crypto**: 对 DEP0203 和 DEP0204 进行运行时弃用 (Filip Skokan) #62453 (https://github.com/nodejs/node/pull/62453)
- [`ac6375417a` (https://github.com/nodejs/node/commit/ac6375417a)] - **\(SEMVER\-MAJOR\)** **stream**: 将 DEP0201 提升为运行时弃用 (René) #62173 (https://github.com/nodejs/node/pull/62173)
- [`98907f560f` (https://github.com/nodejs/node/commit/98907f560f)] - **\(SEMVER\-MAJOR\)** **module**: 对 module.register() 进行运行时弃用 (Geoffrey Booth) #62401 (https://github.com/nodejs/node/pull/62401)
- [`89f4b6cddb` (https://github.com/nodejs/node/commit/89f4b6cddb)] - **\(SEMVER\-MAJOR\)** **module**: 移除 \-\-experimental\-transform\-types (Marco Ippolito) #61803 (https://github.com/nodejs/node/pull/61803)
### 语义主版本提交 (https://nodejs.org/en/blog/release/v26.0.0#semver-major-commits)
- [`d3f79aa65d` (https://github.com/nodejs/node/commit/d3f79aa65d)] - **\(SEMVER\-MAJOR\)** **assert**: 允许 printf 风格的消息作为断言错误 (Ruben Bridgewater) #58849 (https://github.com/nodejs/node/pull/58849)
- [`f6ce381fec` (https://github.com/nodejs/node/commit/f6ce381fec)] - **\(SEMVER\-MAJOR\)** **build**: 将 GCC 要求提升至 13.2 (Michaël Zasso) #62555 (https://github.com/nodejs/node/pull/62555)
- [`bff81fca46` (https://github.com/nodejs/node/commit/bff81fca46)] - **\(SEMVER\-MAJOR\)** **build**: 默认启用 Temporal (Richard Lau) #61806 (https://github.com/nodejs/node/pull/61806)
- [`6ddb1643e1` (https://github.com/nodejs/node/commit/6ddb1643e1)] - **\(SEMVER\-MAJOR\)** **build**: 在调试版本中启用 V8\_VERIFY\_WRITE\_BARRIERS (Joyee Cheung) #61898 (https://github.com/nodejs/node/pull/61898)
- [`a8ab08b373` (https://github.com/nodejs/node/commit/a8ab08b373)] - **\(SEMVER\-MAJOR\)** **build**: 将嵌入器字符串重置为 "\-node\.0" (Michaël Zasso) #61898 (https://github.com/nodejs/node/pull/61898)
- [`0998c37eb6` (https://github.com/nodejs/node/commit/0998c37eb6)] - **\(SEMVER\-MAJOR\)** **build**: 针对 AIX/IBM i 以 Power 9 为目标 (Richard Lau) #62296 (https://github.com/nodejs/node/pull/62296)
- [`d73c49e849` (https://github.com/nodejs/node/commit/d73c49e849)] - **\(SEMVER\-MAJOR\)** **build**: 放弃对 Python 3.9 的支持 (Mike McCready) #61177 (https://github.com/nodejs/node/pull/61177)
- [`3c92ee1008` (https://github.com/nodejs/node/commit/3c92ee1008)] - **\(SEMVER\-MAJOR\)** **build**: 在 Linux s390x 上启用 maglev (Richard Lau) #60863 (https://github.com/nodejs/node/pull/60863)
- [`908c468828` (https://github.com/nodejs/node/commit/908c468828)] - **\(SEMVER\-MAJOR\)** **build**: 将嵌入器字符串重置为 "\-node\.0" (Michaël Zasso) #60488 (https://github.com/nodejs/node/pull/60488)
- [`6380fbb5ee` (https://github.com/nodejs/node/commit/6380fbb5ee)] - **\(SEMVER\-MAJOR\)** **build**: 将嵌入器字符串重置为 "\-node\.0" (Michaël Zasso) #60111 (https://github.com/nodejs/node/pull/60111)
- [`089d6c77e7` (https://github.com/nodejs/node/commit/089d6c77e7)] - **\(SEMVER\-MAJOR\)** **(CVE\-2026\-21717)** **build,test**: 测试数组索引哈希碰撞 (Joyee Cheung) #61898 (https://github.com/nodejs/node/pull/61898)
- [`f9bd0165c4` (https://github.com/nodejs/node/commit/f9bd0165c4)] - **\(SEMVER\-MAJOR\)** **build,win**: 修复 Temporal 构建 (StefanStojanovic) #61806 (https://github.com/nodejs/node/pull/61806)
- [`6cc4cf8fe8` (https://github.com/nodejs/node/commit/6cc4cf8fe8)] - **\(SEMVER\-MAJOR\)** **crypto**: 通过 KeyObjectHandle::Init 统一非对称密钥导入 (Filip Skokan) #62499 (https://github.com/nodejs/node/pull/62499)
- [`adac077484` (https://github.com/nodejs/node/commit/adac077484)] - **\(SEMVER\-MAJOR\)** **crypto**: 对 DEP0203 和 DEP0204 进行运行时弃用 (Filip Skokan) #62453 (https://github.com/nodejs/node/pull/62453)
- [`74509b166a` (https://github.com/nodejs/node/commit/74509b166a)] - **\(SEMVER\-MAJOR\)** **crypto**: 使用 OpenSSL 错误详情装饰异步 crypto 作业错误 (Filip Skokan) #62348 (https://github.com/nodejs/node/pull/62348)
- [`da5843b91d` (https://github.com/nodejs/node/commit/da5843b91d)] - **\(SEMVER\-MAJOR\)** **crypto**: 默认将 ML\-KEM 和 ML\-DSA pkcs8 导出为种子仅格式 (Filip Skokan) #62178 (https://github.com/nodejs/node/pull/62178)
- [`dff46c07c3` (https://github.com/nodejs/node/commit/dff46c07c3)] - **\(SEMVER\-MAJOR\)** **crypto**: 将 DEP0182 移至生命周期结束 (Tobias Nießen) #61084 (https://github.com/nodejs/node/pull/61084)
- [`94cd600542` (https://github.com/nodejs/node/commit/94cd600542)] - **\(SEMVER\-MAJOR\)** **crypto**: 修复非可提取密钥错误的 DOMException 名称 (Filip Skokan) #60830 (https://github.com/nodejs/node/pull/60830)
- [`dae2219cca` (https://github.com/nodejs/node/commit/dae2219cca)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick 0f024d4e66e0 (ishabi) #62408 (https://github.com/nodejs/node/pull/62408)
- [`15d406c1b1` (https://github.com/nodejs/node/commit/15d406c1b1)] - **\(SEMVER\-MAJOR\)** **deps**: 修复 AIX 上的 V8 竞态条件 (Abdirahim Musse) #61898 (https://github.com/nodejs/node/pull/61898)
- [`46852d2d7a` (https://github.com/nodejs/node/commit/46852d2d7a)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick cd2c216e7658 (LuYahan) #61898 (https://github.com/nodejs/node/pull/61898)
- [`784431d6fc` (https://github.com/nodejs/node/commit/784431d6fc)] - **\(SEMVER\-MAJOR\)** **deps**: V8: backport 088b7112e7ab (Igor Sheludko) #61898 (https://github.com/nodejs/node/pull/61898)
- [`3839c4a756` (https://github.com/nodejs/node/commit/3839c4a756)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick 00f6e834029f (Joyee Cheung) #61898 (https://github.com/nodejs/node/pull/61898)
- [`44f64f1dd9` (https://github.com/nodejs/node/commit/44f64f1dd9)] - **\(SEMVER\-MAJOR\)** **deps**: V8: backport bef0d9c1bc90 (Joyee Cheung) #61898 (https://github.com/nodejs/node/pull/61898)
- [`1f8f288e22` (https://github.com/nodejs/node/commit/1f8f288e22)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick cf1bce40a5ef (Richard Lau) #61898 (https://github.com/nodejs/node/pull/61898)
- [`d7eccac9ad` (https://github.com/nodejs/node/commit/d7eccac9ad)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick daf4656ba85e (Milad Fa) #61898 (https://github.com/nodejs/node/pull/61898)
- [`3ee1ea7d0b` (https://github.com/nodejs/node/commit/3ee1ea7d0b)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick d83f479604c8 (Joyee Cheung) #61898 (https://github.com/nodejs/node/pull/61898)
- [`80907c0239` (https://github.com/nodejs/node/commit/80907c0239)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick edeb0a4fa181 (Joyee Cheung) #61898 (https://github.com/nodejs/node/pull/61898)
- [`5e0dc169e9` (https://github.com/nodejs/node/commit/5e0dc169e9)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick aa0b288f87cc (Richard Lau) #61898 (https://github.com/nodejs/node/pull/61898)
- [`8c1f7adbcd` (https://github.com/nodejs/node/commit/8c1f7adbcd)] - **\(SEMVER\-MAJOR\)** **deps**: 修补 V8 以修复 Windows 构建 (StefanStojanovic) #61898 (https://github.com/nodejs/node/pull/61898)
- [`3cbd3404d9` (https://github.com/nodejs/node/commit/3cbd3404d9)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick highway@989a498fdf3 (Richard Lau) #61898 (https://github.com/nodejs/node/pull/61898)
- [`9f2b7d4031` (https://github.com/nodejs/node/commit/9f2b7d4031)] - **\(SEMVER\-MAJOR\)** **deps**: 支持所有 illumos 修订版上的 madvise(3C) (Dan McDonald) #61898 (https://github.com/nodejs/node/pull/61898)
- [`947ec32118` (https://github.com/nodejs/node/commit/947ec32118)] - **\(SEMVER\-MAJOR\)** **deps**: 为 illumos 修补 V8 (Dan McDonald) #61898 (https://github.com/nodejs/node/pull/61898)
- [`0660b942b2` (https://github.com/nodejs/node/commit/0660b942b2)] - **\(SEMVER\-MAJOR\)** **deps**: 从 v8\-internal 移除有问题的注释 (Michaël Zasso) #61898 (https://github.com/nodejs/node/pull/61898)
- [`bef7b31a3f` (https://github.com/nodejs/node/commit/bef7b31a3f)] - **\(SEMVER\-MAJOR\)** **deps**: 在 Windows 上将 V8\_PRESERVE\_MOST 定义为空操作 (Stefan Stojanovic) #61898 (https://github.com/nodejs/node/pull/61898)
- [`a10bf1e6ce` (https://github.com/nodejs/node/commit/a10bf1e6ce)] - **\(SEMVER\-MAJOR\)** **deps**: 修补 V8 以避免重复的 zlib 符号 (Michaël Zasso) #61898 (https://github.com/nodejs/node/pull/61898)
- [`cc547428e1` (https://github.com/nodejs/node/commit/cc547428e1)] - **\(SEMVER\-MAJOR\)** **deps**: 更新 V8 至 14.6.202.33 (Michaël Zasso) #61898 (https://github.com/nodejs/node/pull/61898)
- [`b81d2cbcae` (https://github.com/nodejs/node/commit/b81d2cbcae)] - **\(SEMVER\-MAJOR\)** **deps**: 更新 undici 至 8.0.2 (Node.js GitHub Bot) #62384 (https://github.com/nodejs/node/pull/62384)
- [`bf5c6a8bd4` (https://github.com/nodejs/node/commit/bf5c6a8bd4)] - **\(SEMVER\-MAJOR\)** **deps**: V8: backport 151d0a44a1b2 (Abdirahim Musse) #60488 (https://github.com/nodejs/node/pull/60488)
- [`b59af772dc` (https://github.com/nodejs/node/commit/b59af772dc)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick 47800791b35c (Jakob Kummerow) #60488 (https://github.com/nodejs/node/pull/60488)
- [`5e41e5228a` (https://github.com/nodejs/node/commit/5e41e5228a)] - **\(SEMVER\-MAJOR\)** **deps**: 为 illumos 修补 V8 (Dan McDonald) #59805 (https://github.com/nodejs/node/pull/59805)
- [`2243e58e43` (https://github.com/nodejs/node/commit/2243e58e43)] - **\(SEMVER\-MAJOR\)** **deps**: 在 EphemeronRememberedSet 的 MSVC STL 中使用 std::map (Joyee Cheung) #58070 (https://github.com/nodejs/node/pull/58070)
- [`4157964c42` (https://github.com/nodejs/node/commit/4157964c42)] - **\(SEMVER\-MAJOR\)** **deps**: 从 v8\-internal 移除有问题的注释 (Michaël Zasso) #58070 (https://github.com/nodejs/node/pull/58070)
- [`7c8483a4e9` (https://github.com/nodejs/node/commit/7c8483a4e9)] - **\(SEMVER\-MAJOR\)** **deps**: 修补 V8 以避免重复的 zlib 符号 (Michaël Zasso) #54077 (https://github.com/nodejs/node/pull/54077)
- [`53379f3706` (https://github.com/nodejs/node/commit/53379f3706)] - **\(SEMVER\-MAJOR\)** **deps**: 更新 V8 至 14.3.127.12 (Michaël Zasso) #60488 (https://github.com/nodejs/node/pull/60488)
- [`f819aec288` (https://github.com/nodejs/node/commit/f819aec288)] - **\(SEMVER\-MAJOR\)** **deps**: V8: cherry\-pick ff34ae20c8e3 (Chengzhong Wu) #60111 (https://github.com/nodejs/node/pull/60111)
- [`1acd8df36f` (https://github.com/nodejs/node/commit/1acd8df36f)] - **\(SEMVER\-MAJOR\)** **deps**: V8: backport fed47445bbdd (Abdirahim Musse) #60111 (https://github.com/nodejs/node/pull/60111)
- [`46f72577a4` (https://github.com/nodejs/node/commit/46f72577a4)] - **\(SEMVER\-MAJOR\)** **deps**: 为 illumos 修补 V8 (Dan McDonald) #59805 (https://github.com/nodejs/node/pull/59805)
- [`39eb88eaa8` (https://github.com/nodejs/node/commit/39eb88eaa8)] - **\(SEMVER\-MAJOR\)** **deps**: 在 EphemeronRememberedSet 的 MSVC STL 中使用 std::map (Joyee Cheung) #58070 (https://github.com/nodejs/node/pull/58070)
- [`ea3d14eadb` (https://github.com/nodejs/node/commit/ea3d14eadb)] - **\(SEMVER\-MAJOR\)** **deps**: 从 v8\-internal 移除有问题的注释 (Michaël Zasso) #58070 (https://github.com/nodejs/node/pull/58070)
- [`7bc0f245b4` (https://github.com/nodejs/node/commit/7bc0f245b4)] - **\(SEMVER\-MAJOR\)** **deps**: 修补 V8 以避免重复的 zlib 符号 (Michaël Zasso) #54077 (https://github.com/nodejs/node/pull/54077)
- [`c2843b722c` (https://github.com/nodejs/node/commit/c2843b722c)] - **\(SEMVER\-MAJOR\)** **deps**: 更新 V8 至 14.2.231.9 (Michaël Zasso) #60111 (https://github.com/nodejs/node/pull/60111)
- [`b4ea323833` (https://github.com/nodejs/node/commit/b4ea323833)] - **\(SEMVER\-MAJOR\)** **diagnostics\_channel**: 确保 tracePromise 与非 Promise 的一致性 (René) #61766 (https://github.com/nodejs/node/pull/61766)
- [`0c08835f71` (https://github.com/nodejs/node/commit/0c08835f71)] - **\(SEMVER\-MAJOR\)** **doc**: 移除 type:module 包的无扩展名 CJS 例外 (Matteo Collina) #62176 (https://github.com/nodejs/node/pull/62176)
- [`ef0f0b0865` (https://github.com/nodejs/node/commit/ef0f0b0865)] - **\(SEMVER\-MAJOR\)** **doc**: 更新支持的 Windows SDK 版本至 11 (Mike McCready) #61973 (https://github.com/nodejs/node/pull/
相似文章
openai/openai-node v6.36.0
OpenAI 发布了 openai-node 库的 6.36.0 版本,该库提供对 OpenAI REST API 的 TypeScript 和 JavaScript 访问支持,并引入了用于安全云环境的工作负载身份认证功能。
openai/openai-node v6.31.0
OpenAI Node.js SDK v6.31.0 发布 —— 用于调用 OpenAI REST API 的 TypeScript/JavaScript 库,支持 Chat Completions 与 Responses API,并为云环境提供 Workload Identity 认证支持。
openai/openai-node v6.33.0
OpenAI Node.js SDK v6.33.0 发布,提供 TypeScript/JavaScript 接口以访问 OpenAI API,支持新的 Responses API 以及跨 Kubernetes、Azure 和 GCP 的工作负载身份认证。
openai/openai-node v6.37.0
本文宣布了 openai-node v6.37.0 的发布,这是 OpenAI API 官方 TypeScript 和 JavaScript SDK 的一次更新,包含 Responses API 的新示例以及工作负载身份认证功能。
Ember.js 7.0
Ember.js 7.0 已发布,移除了之前版本中弃用的功能,版本 6.12 成为 LTS 版本。此更新延续了 Ember 在次要版本中交付新功能以简化主要升级的策略。