T
traeai
登录
返回首页
Node.js Blog

Node.js 26.3.0 (Current)

7.5Score

TL;DR · AI 摘要

Node.js 26.3.0 版本发布,主要更新包括将 Buffer.poolSize 默认值提升至 64 KiB、更新根证书至 NSS 3.123.1、新增 httpValidation 配置选项,并对 macOS Universal Binary 的长期支持发出潜在变更警告。

核心要点

  • Buffer.poolSize 默认值从 32 KiB 提升至 64 KiB,优化内存分配效率(SEMVER-MINOR 变更)。
  • crypto 模块更新根证书至 NSS 3.123.1,增强安全性和兼容性。
  • macOS Universal Binary 支持可能因 Apple 停止支持 Intel 架构而受限,项目组将评估长期可行性。

结构提纲

按章节快速跳转。

  1. Node.js 26.3.0 版本于 2026 年 6 月 1 日发布,包含多项 SEMVER-MINOR 级别变更和构建改进。

  2. 由于 Apple 逐步放弃对 Intel 架构的支持,Node.js 项目可能无法长期维护 macOS 通用二进制文件。

  3. Buffer.poolSize 默认值从 32 KiB 增加到 64 KiB,以提升内存分配性能和减少碎片。

  4. crypto 模块更新根证书至 NSS 3.123.1,并增强 WebCrypto 对原型污染的防护。

  5. http 模块新增 httpValidation 选项用于配置头部验证,inspector 暴露精确覆盖率起始点。

  6. Windows 构建系统引入 Thin LTO、Rust 工具链自动化配置及 VS2022 arm64 PGO 修复。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Node.js 26.3.0 更新要点
    • 核心模块更新
      • Buffer.poolSize → 64 KiB
      • crypto 根证书更新至 NSS 3.123.1
      • http 新增 httpValidation 选项
    • 安全增强
      • WebCrypto 抗原型污染加固
      • 移除 async 从 WebCrypto 方法
    • 构建系统改进
      • Windows 使用 Thin LTO
      • Rust 工具链自动化配置
    • 平台兼容性警告
      • macOS Universal Binary 支持可能终止

金句 / Highlights

值得收藏与分享的关键句。

  • Buffer.poolSize 默认值提升至 64 KiB,有助于减少内存分配开销并提高性能。

    Other notable changes

    ⬇︎ 下载 PNG𝕏 分享到 X
  • crypto 模块更新根证书至 NSS 3.123.1,确保 TLS/SSL 连接的安全性和最新标准兼容性。

    Other notable changes

    ⬇︎ 下载 PNG𝕏 分享到 X
  • macOS Universal Binary 的长期支持面临挑战,因 Apple 正逐步淘汰 Intel 架构支持。

    Potential changes to macOS Universal Binary availability

    ⬇︎ 下载 PNG𝕏 分享到 X
  • http 模块新增 httpValidation 选项,允许开发者自定义请求头值的合法性校验逻辑。

    Other notable changes

    ⬇︎ 下载 PNG𝕏 分享到 X
#Node.js#版本更新#安全#性能优化
打开原文

Antoine du Hamel

[2026-06-01, 版本 26.3.0 (当前版本), @aduh95](https://nodejs.org/en/blog/release/v26.3.0#2026-06-01-version-2630-current-aduh95)

[重要变更](https://nodejs.org/en/blog/release/v26.3.0#notable-changes)

#### macOS 通用二进制文件可用性的潜在变更

随着苹果及其生态系统逐步停止对基于 Intel 架构的支持,Node.js 项目可能无法在整个 Node.js 26 生命周期内继续维护我们目前发布的通用二进制文件。此变更旨在传达这一风险。目前,我们的意图仍然是尽可能长时间地继续提供支持 Apple Silicon 和 Intel 基础 Mac 的通用二进制文件。

由 Antoine du Hamel 贡献于 #63055

#### 其他重要变更

[提交记录](https://nodejs.org/en/blog/release/v26.3.0#commits)

  • [`2906fa833d`] - src: 通过 StringBytes::Encode 调用 ToV8Value(string_view)(Mert Can Altin)#63370
  • [`860f9d8d4b`] - src: 修复 ContextifyContext 属性定义拦截结果问题(Chengzhong Wu)#63549
  • [`fcccffcbe6`] - src: 修复在读取 Storage.prototype 长度时崩溃的问题(Mohamed Sayed)#63529
  • [`55f65f9fb6`] - src: 改进令牌返回值检查(James M Snell)#63483
  • [`7a36ca46cd`] - src: 暴露 node::RegisterContext 以创建 Node 管理的上下文(Chengzhong Wu)#62322
  • [`9bda92963c`] - src,sqlite: 仅在用户提供了回调时传递 xFilter(Antoine du Hamel)#63516
  • [`563db50f38`] - stream: 切换到内部 sleep 绑定(Antoine du Hamel)#63611
  • [`a6e2322ee6`] - stream: 使用 data 监听器进行 compose 转发(Trivikram Kamat)#63593
  • [`7198895c6b`] - stream: 序列化并发共享消费者读取操作(Trivikram Kamat)#63478
  • [`70ba8be1d7`] - stream: 修复 lint 错误(Antoine du Hamel)#63598
  • [`1608d905a7`] - stream: 在迭代器抛出异常时拒绝待处理的读取操作(Trivikram Kamat)#63555
  • [`dc12b730d8`] - stream: 等待 push 写入器结束,回退至 drain(Trivikram Kamat)#63503
  • [`4f40a85a1a`] - stream: 对每个无状态融合转换流执行刷新(Trivikram Kamat)#63468
  • [`526e0fc427`] - stream: 在 toWritable 中避免重复写入(Trivikram Kamat)#63360
  • [`0008d01f9c`] - stream: 在共享和广播中传播中止原因(Trivikram Kamat)#63358
  • [`217338e18b`] - stream: 修复 Writable.toWeb() 在同步 drain 时阻塞的问题(sangwook)#61197
  • [`381f4b1b10`] - stream: 禁止使用 'buffer' 编码写入字符串块(René)#63062
  • [`cbee0de1cb`] - stream: 使 Readable.toWeb 的终止与 eos 对齐(ikeyan)#62394
  • [`be91f0a927`] - test: 缩短 net pipe 连接错误中的路径(Matteo Collina)#63405
  • [`83cada8bcc`] - test: 修复 test-debugger-probe-timeout 测试的不稳定性(Joyee Cheung)#63547
  • [`3560b96a10`] - test: 修复 test-webcrypto-crypto-job-mode 测试的不稳定性(Filip Skokan)#63543
  • [`0c9c52373a`] - test: 移除 test-node-output-v8-warning 测试(Joyee Cheung)#63469
  • [`12052dbe14`] - test: 系统性覆盖 webcrypto 原型污染测试(Filip Skokan)#63520
  • [`8c479f274a`] - test: 将 test426-fixtures 更新至 9b9e225b5a63139e9a95cdd1bf874a8f0b9d131(Node.js GitHub Bot)#63373
  • [`2ca32a5ee8`] - test: 将 url 的 WPT 更新至 e4a4672e9e(Node.js GitHub Bot)#63372
  • [`1bf875bd21`] - test: 修复 async-hooks statwatcher 测试的不稳定性(Trivikram Kamat)#63396
  • [`97dbfa09f7`] - test: 在 spec snapshot 中避免 test_runner 的 watch 重启(Trivikram Kamat)#63392
  • [`8b038d7b33`] - test: 减少 watch 模式重启的不稳定性(Trivikram Kamat)#63390
  • [`f504c01d66`] - test: 去除不必要的 AbortController 实例化(Antoine du Hamel)#63489
  • [`170585ff90`] - test: 将 rerun-failures 状态文件隔离在 tmpdir 下(Chemi Atlow)#63449

Windows 64位安装程序:https://nodejs.org/dist/v26.3.0/node-v26.3.0-x64.msi

Windows ARM 64位安装程序:https://nodejs.org/dist/v26.3.0/node-v26.3.0-arm64.msi

Windows 64位二进制文件:https://nodejs.org/dist/v26.3.0/win-x64/node.exe

Windows ARM 64位二进制文件:https://nodejs.org/dist/v26.3.0/win-arm64/node.exe

macOS 64位安装程序:https://nodejs.org/dist/v26.3.0/node-v26.3.0.pkg

macOS Apple Silicon 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-darwin-arm64.tar.gz

macOS Intel 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-darwin-x64.tar.gz

Linux 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-linux-x64.tar.xz

Linux PPC LE 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-linux-ppc64le.tar.xz

Linux s390x 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-linux-s390x.tar.xz

AIX 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-aix-ppc64.tar.gz

ARMv8 64位二进制文件:https://nodejs.org/dist/v26.3.0/node-v26.3.0-linux-arm64.tar.xz

源代码:https://nodejs.org/dist/v26.3.0/node-v26.3.0.tar.gz

其他发布文件:https://nodejs.org/dist/v26.3.0/

文档:https://nodejs.org/docs/v26.3.0/api/

[SHASUMS](https://nodejs.org/en/blog/release/v26.3.0#shasums)

code
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

479341ad9a1030ee39d64d192e7b30c719f680d096f8b48f0cf512f240fc3285  node-v26.3.0-aix-ppc64.tar.gz
77ef7f7a15aa757c2ca19d63cf41c8d9eb3b18590ebc6883871310787d8c6b6c  node-v26.3.0-darwin-arm64.tar.gz
cc1e06417e62351b90c9ed5721c98aeb235cdc0248e292c13975f77fbf61657c  node-v26.3.0-darwin-arm64.tar.xz
7453bd54a17bdc656e2e784d702f6eeb224fb517965e6f8c5a31a88c83d3804c  node-v26.3.0-darwin-x64.tar.gz
2c87425a25ff3e2597a1e6bc2aeb3b3c20ed18dbf58f5f350ad2ed3b8c443b2d  node-v26.3.0-darwin-x64.tar.xz
fca113c5d5add8bfb1aa31129a24acb8d49aa69ab3c22a2cc569aec88960526d  node-v26.3.0-headers.tar.gz
e44c57bdfbc9ec8ece1ae2c8763accb658480276003d7b0d8f1404e990d35f15  node-v26.3.0-headers.tar.xz
b2e01f65905c24cb5dd19c4cfbfefe0118e0504c170cc18beac343a2abbb59bd  node-v26.3.0-linux-arm64.tar.gz
392f291d00c74644f35ec0325cd03d9d4f5a627c926213fbd05167c0cba9f977  node-v26.3.0-linux-arm64.tar.xz
0e6cc9a223539be027378865d959aee55bf8e941c9bf690b2082b78bfcc0e4ef  node-v26.3.0-linux-ppc64le.tar.gz
615c60e210abaaa0f648b76e73b65acbc778189605b182cd6f6b4463357ef2e4  node-v26.3.0-linux-ppc64le.tar.xz
b1880e13a957430f454cb82ba987fcaf82cc4413c742827c04bb5ec20799d426  node-v26.3.0-linux-s390x.tar.gz
5fde5229103a12ede2c80e9f85aae18b91b5f90baa2ad70ef944db17e6f20bc8  node-v26.3.0-linux-s390x.tar.xz
a6e65cc653e40c1653b77742f9185dbce3ff1f99fa2746d211bddb53530ef206  node-v26.3.0-linux-x64.tar.gz
0ce210831380ab75a5fec0d3fb6b5af0958898016b2cae51cc2fa11057d2f77e  node-v26.3.0-linux-x64.tar.xz
3a5193f4b489a4f8e70e74a8021d43219bb156379db33d32e52de2c343fe244a  node-v26.3.0-win-arm64.7z
18c5014722e1debdb3e693501043a087485e6f1277b20c79c5ec86bce6027ee0  node-v26.3.0-win-arm64.zip
7ea5895da86ad776075afe84ad07908ae73a0b9f039514f9d0dedd12e76cfb63  node-v26.3.0-win-x64.7z
ec6d0f6b056c89498a9b26c4d5c77a31fd0b7fe45ba8a45fa87d26f66c3ebce4  node-v26.3.0-win-x64.zip
6281387dd8c022fd3191de23904587815c3fac3e6f91b7d36538d889c4c6f6a2  node-v26.3.0-x64.msi
0eefec8d427dd5d4e282660344ee5b482e8bf5b09d13fd572f456d0da47217e0  node-v26.3.0.pkg
a3350c1adda81e921c1dae03cbdf0547c29b5ec43b5e00ac66f043a5c76bc74c  node-v26.3.0.tar.gz
319ad5d7d20cc622e55eb75b9f1a2546b77a08bd462b67030d0c89316c2c2349  node-v26.3.0.tar.xz
11efc27fb91247b997a095df43548d8fa59f2d1e18dbb00f98bfeb8e5b0945be  win-arm64/node.exe
bd474f1ca8c44b2ab10e908c14447c5d91e1bac3f3a4d3141c78b6dbb5d1a253  win-arm64/node.lib
9dda9a1cd35592d840e16d064d0493e65d7ef8ec1271c259dd6cf2181a5a3e72  win-arm64/node_pdb.7z
80ecd178199b8f8c3f96567877050e076abb56983832d937d182e85920c73e29  win-arm64/node_pdb.zip
35d366f67382f0ba791dcabeded8f6a6d5c77efee4d833f38c1dd3a1e6f160f8  win-x64/node.exe
2f71186cc7649a7406b1616566700e397e9dd52bd7267440d78d78a1725bd312  win-x64/node.lib
4559c8140af9c801b8d7b31e0f3085e716aa9a58ef792336ef15d328aed81cbb  win-x64/node_pdb.7z
3e1e578d2f5d8ae4a099672a82e959eddf1794b5b833218189a266ab210597f0  win-x64/node_pdb.zip

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCah3CpQAKCRAgsaOQsWjT
VoYvAQD851IDZjItzaokWrmw1bjU8kC7jfhGaFz3XhNd/tPwhQEApPGL1cHuSz0o
5bVP/CQ5IlGklE4kwMwi4nLnps4QKww=
=9Vh/
-----END PGP SIGNATURE-----

AI 可能会生成不准确的信息,请核实重要内容