Node.js 26.8.0 (Current)
TL;DR · AI 摘要
Node.js 26.8.0版本引入加密升级、性能优化及SQLite接口改进,开发者可关注NSS 3.126证书更新与net.BlockList性能提升。
核心要点
- crypto模块升级至NSS 3.126根证书,增强安全合规性
- net.BlockList性能优化提升网络过滤效率
- SQLite新增StatementSync.prototype.close()方法增强资源管理
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Node.js 26.8.0更新
- 安全增强
- NSS 3.126证书更新
- 加密模式扩展
- 性能优化
- histogram实现改进
- net.BlockList优化
- API改进
- SQLite接口增强
- 诊断通道稳定化
金句 / Highlights
值得收藏与分享的关键句。
crypto模块新增SIV和GCM-SIV加密模式支持,提升数据加密灵活性
perf_hooks模块添加统计假设检验功能,增强性能分析准确性
构建系统支持Power9和z14架构目标,扩展跨平台兼容性
Node.js — Node.js 26.8.0 (Current)
Node.js 26.8.0 (Current)
ADH
Antoine du Hamel
Node.js 26.8.0 (Current)
2026-08-26, Version 26.8.0 (Current), @aduh95
重要变更
- [ 74234ee30e ] - (SEMVER-MINOR) benchmark : 为 compare.js 添加 --analyze 模式 (James M Snell) #65416
- [ 4232997fa2 ] - crypto : 将根证书更新至 NSS 3.126 (Node.js GitHub Bot) #65495
- [ f0531f1c87 ] - (SEMVER-MINOR) crypto : 在 Cipher/Decipher API 中启用 SIV 和 GCM-SIV 模式 (Filip Skokan) #63411
- [ 3f4b80ebb5 ] - diagnostics_channel : 将 TracingChannel 标记为稳定接口 (Abdelrahman Awad) #64525
- [ 753033c110 ] - (SEMVER-MINOR) lib,src : 改进直方图实现 (James M Snell) #65024
- [ 3d7d277493 ] - (SEMVER-MINOR) net : 优化 net.BlockList 性能 (James M Snell) #64974
- [ 9e8e9080fd ] - (SEMVER-MINOR) perf_hooks : 为直方图添加统计假设检验功能 (James M Snell) #65416
- [ c18b0aa54e ] - repl : 添加基础语法高亮功能 (Aviv Keller) #64591
- [ 58ea88e1d3 ] - (SEMVER-MINOR) sqlite : 添加 StatementSync.prototype.close() 方法 (Guilherme Araújo) #64232
- [ 7c61b08aed ] - (SEMVER-MINOR) sqlite : 添加 StatementSync.prototype[Symbol.dispose]() 方法 (Guilherme Araújo) #64232
- [ 4299cd5897 ] - (SEMVER-MINOR) util : 添加非抛异常的 MIMEType.parse 方法 (James M Snell) #64965
- [ df48191061 ] - (SEMVER-MINOR) zlib : 添加 ZipEntry、ZipFile 和 ZipBuffer 类 (Philipp Dunkel) #64339
提交记录
- [ 162257b403 ] - assert : 改进文档措辞 (Kamal Rawal) #64953
- [ 2cb96dd462 ] - benchmark : 添加仅测试和模拟计时器用例 (Luan Muniz) #64097
- [ 562168f93f ] - benchmark : 在 webstreams pipe-to 中应用 highWaterMark (Matteo Collina) #65138
- [ fbec4eb386 ] - benchmark : 完成 sqlite 事务判断修复 (Edy Silva) #65218
- [ d8acfc45f1 ] - benchmark : 添加测试运行器钩子和选项 (Luan Muniz) #63754
- [ 13e7d54f67 ] - buffer : 防止字符串写入偏移溢出 (Matteo Collina) #65043
- [ 615273deac ] - buffer : 支持对齐分配 (Robert Nagy) #65003
- [ bc6b630e21 ] - buffer : 将分离的 ArrayBuffers 视为空 (Archkon) #64504
- [ ddf9f9d265 ] - build : 针对 Power 9 和 z14 进行构建目标 (Richard Lau) #65439
- [ fda8ee894e ] - build : 使用 build-ci 进行基准测试合并提交重建 (Yagiz Nizipli) #65362
- [ 03692786ef ] - build : 在 GN 构建中添加 simdutf 目录至包含路径 (Shelley Vohr) #65382
- [ 3da555a3ed ] - build : 将目标架构传递给 small-icu genccode (ulofiai) #65095
- [ ffe1e7cbea ] - build : 更新 binary-upload 使用正确的 tarball 名称 (Stewart X Addison) #65282
- [ 50174cb94a ] - build : 废弃始终启用的 --enable-static 选项 (Chengzhong Wu) #65103
- [ 28f662b424 ] - build : 在 node.gyp 中检查 FIPS 选项值 (Filip Skokan) #64982
- [ 29a2ecefeb ] - build : 处理格式错误的 OpenSSL 宏 (Filip Skokan) #64982
- [ 6deeef1801 ] - build : 启用 perfetto 更新器 (Chengzhong Wu) #64966
- [ 312f0c6a7e ] - build : 向 perfetto_sdk 添加主机工具集 (Ryuhei Shima) #64751
- [ 1a4f5e537b ] - build,win : 添加 PGO 工作负载脚本 (Stefan Stojanovic) #63696
- [ 21655dccbc ] - child_process : 防止 SIGWINCH 在 Windows 上终止进程 (Kirill Saied) #64510
- [ 109566a2f7 ] - crypto : 修复 ASN1_STRING_to_UTF8() 缺失错误检查 (Nora Dossche) #65200
- [ 501f81612d ] - crypto : 提高 SubtleCrypto.supports() 准确性 (Filip Skokan) #65222
- [ 137ff67fd3 ] - crypto : 使用可用的 BoringSSL API (Filip Skokan) #65423
- [ 0e87576ed4 ] - crypto : 移除过时的 BoringSSL shim (Filip Skokan) #65423
- [ af867ce3e4 ] - crypto : 为 RSA-OAEP 添加 mgf1Hash (Adam Mcgrath) #65073
- [ 66ee4792bf ] - crypto : 在 FIPS 模式下禁用非 FIPS 的 WebCrypto 路径 (Filip Skokan) #65172
- [ 6a142c03e9 ] - crypto : 通过 primordials 读取 WebCrypto 输入 (Filip Skokan) #65115
- [ 92e3110462 ] - crypto : 修复禁用 FIPS 模式 (Filip Skokan) #64982
- [ d69bed2f49 ] - debugger : 等待目标启动 (Filip Skokan) #65194
- [ 5c7c0b8b15 ] - deps : 将 zlib 更新至 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) #65316
- [ 4cb6b1335e ] - deps : 将 simdjson 更新至 4.6.7 (Node.js GitHub Bot) #65318
- [ a39ad67482 ] - deps : 将 googletest 更新至 49495eacfdbda3f4b6ba219923fedbb2e3f99376 (Node.js GitHub Bot) #65317
- [ 46762dad57 ] - deps : 樱桃挑选 libuv/libuv@e640dc9 (ulofiai) #65118
- [ abb7a15a8d ] - deps : 将 perfetto 更新至 57.2 (Node.js GitHub Bot) #65114
- [ ebd8c6ba52 ] - deps : 为 icu78 添加 ICU-23262 补丁 (René) #64678
- [ f2cc681109 ] - deps : 使用 clang 启用 AVX-512 OpenSSL 汇编 (Daniel Lemire) #65136
- [ f45dc92913 ] - deps : 将 undici 更新至 8.10.0 (Node.js GitHub Bot) #65155
- [ 4160dfdf81 ] - deps : 将 googletest 更新至 d89aac5f0dd4021198d903d39de16f896726de21 (Node.js GitHub Bot) #65153
- [ 631d3aa37b ] - deps : 将 libffi 更新至 3.8.0 (Node.js GitHub Bot) #65154
- [ 788976c626 ] - dgram : 当提供回调时不要吞掉 bind 错误 (armanmikoyan) #62602
- [ d286423043 ] - diagnostics_channel : 在通道激活前进行验证 (Trivikram Kamat) #65313
- [ 152a326f92 ] - dns : 在 lookupService 中验证地址类型 (Lazizbek Ergashev) #64878
- [ 00c71fec93 ] - dns : 在 setServers() 中验证端口范围 (René) #65021
- [ e9327d1422 ] - dns : 修复 setServers 端口 0 时的崩溃 (Lazizbek Ergashev) #65009
- [ 9e227ef20d ] - doc : 更新 AHAFS 参考链接 (Taeuk Ha) #65481
- [ 5fbf6c57af ] - doc : 修复 os.networkInterfaces() 示例中的属性名称 (Jihwan) #65469
- [ 13f16d28d1 ] - doc : 修复 cli.md 中的损坏链接 (Donghoon Kang) #65412
- [ 0f36ee3755 ] - doc : 移除过时的 WASI 版本回退 (이혜미) #65303
- [ 1ad09f712a ] - doc : 修复 n-api.md 中损坏的 GYP 链接 (Donghoon Kang) #65413
- [ 24cd694237 ] - doc : 文档说明空的 OPENSSL_CONF 会跳过配置加载 (Orgad Shaneh) #64949
- [ dae434132e ] - doc : 修复 TLS 安全级别示例中的损坏链接 (soreavis) #65391
- [ 96b91dc987 ] - doc : 明确说明套接字销毁行为 (Dayun) #65395
- [ 9d8d27d444 ] - doc : 更新过时的 nodejs.org 指南链接 (Donghoon Kang) #65394
- [ 65f675086e ] - doc : 明确说明 IPv4 映射到 IPv6 被归类为 IPv6 (Vedant Kulkarni) #62117
- [ 89aba0c311 ] - doc : 明确说明 fs.Dirent 文件类型是如何确定的 (soreavis) #64532
- [ 3ed0492f52 ] - doc : 更新安全发布准备命令 (Rafael Gonzaga) #64699
- [ 63583c4e75 ] - doc : 明确说明 copyFile 的符号链接行为 (T) #62941
- [ abfc51f757 ] - doc : 文档说明 Windows 上 setRawMode 的写入权限 (Erik Demaine) #63856
- [ 4a784cb3e6 ] - doc : 文档说明每架构的快速 FFI 参数限制 (Seongeun Lee) #65207
- [ 262f966155 ] - doc : 在 fs.md 中添加缺失的返回类型 (Chaseton Collins) #65307
- [ 695cd896a7 ] - doc : 在 buffer.md 中添加缺失的返回类型 (Yuya Inoue) #65308
- [ 676a1228cd ] - doc : 修复 lint 清理命令 (greenhead) #65274
- [ 9ea318d4e3 ] - doc : 修复 onboarding.md 中的拼写错误 (서울민트초코) #65295
- [ 3b6a918ab4 ] - doc : 为 fs.lchmod 添加缺失的 added: 标签 (Lazizbek Ergashev) #65283
- [ a77b1e61df ] - doc : 修复 SQLite 更改集常量描述 (greenhead) #65265
- [ ab50ae60e4 ] - doc : 记录 open 拉取请求限制 (Matteo Collina) #65250
- [ e2f4ea03a3 ] - doc : 记录 http2 头常量 (Harjoth Khara) #64548
- [ 5b5509d0d3 ] - doc : 创建 ai-guidelines 并包含到 CONTRIBUTING 中 (Rafael Gonzaga) #62105
- [ c63e873073 ] - doc : 修复 vfs.md 中 fs.BigIntStats 的损坏链接 (greenhead) #65045
- [ d6059e84c0 ] - doc : 更新概要 (Augustin Mauroy) #65171
- [ 43f1dc03e7 ] - doc : 记录在 sqlite 回调中 close() 的错误 (Trivikram Kamat) #65090
- [ 8f5f48ad96 ] - doc : 修复损坏的内部链接 (greenhead) #64901
- [ 5b64b37739 ] - doc : 在 urlPattern.test 上报告正确的返回类型 (Brian Muenzenmeyer) #64831
- [ 9633bb0f29 ] - doc : 修复权限文档示例 (greenhead) #64897
- [ e52e573fd7 ] - doc : 记录 sqlite 参数绑定 (Guilherme Araújo) #65089
- [ fa52f11d3b ] - doc : 完善 sqlite 示例中的语句 (Guilherme Araújo) #65088
- [ 0157c45012 ] - doc : 记录 quic stopSending() 和 resetStream() (Issac) #64888
- [ 003a913799 ] - doc : 明确 sqlite 裸参数默认值 (Sumit Kumar Das) #62009
- [ c5588d71ad ] - doc : 移除 util.inherits 的用法 (Augustin Mauroy) #60817
- [ 673db40fbf ] - doc : 修复 worker_threads.md 中的语法 (이혜미) #64913
- [ ee5f72cf16 ] - doc : 修复损坏链接 (Antoine du Hamel) #65078
- [ 0450ab6c6a ] - doc : 更新 node.1 以修复 linter (Antoine du Hamel) #65053
- [ 9a256b0693 ] - doc : 明确 OpenSSL FIPS 配置 (Filip Skokan) #64982
- [ c321752dcb ] - doc : 从 CLI 文档中移除 --expose-gc 标志 (Dario Piotrowicz) #58909
- [ 0cf79931bb ] - doc : 记录 pbkd2Sync 中的 ArrayBuffer 支持 (kyungrae2002) #64976
- [ 3b8a0bacaa ] - doc : 修正默认 highWaterMark 值 (Yilong Li) #64617
- [ be313012e4 ] - doc : 在权限示例中使用 ffi.suffix (agape1225) #64914
- [ 4a1c9a7ee0 ] - esm : 避免超线性数据 URL MIME 正则表达式 (Sumit Kumar Das) #61951
- [ b1770bc196 ] - esm : 仅在启用时注册文本格式 (Efe Karasakal) #64992
- [ f48927fe5b ] - esm : 修复 wasm 导入名称在错误信息中的显示 (이혜미) #64950
- [ 8d48adf688 ] - events : 内联 iterationCondition 混合调度闭包 (Szymon Łągiewka) #64473
- [ b827c0047e ] - events : 内联 createEvent 混合调度闭包 (Szymon Łągiewka) #64473
- [ 7670c81d99 ] - ffi : 优先使用规范类型名称 (Trivikram Kamat) #65417
- [ 1fe7a1c33d ] - ffi : 验证传递给浮点设置器的值 (Soul Lee) #65342
- [ 537feecd0b ] - ffi : 拒绝直接 SharedArrayBuffer 指针 (Trivikram Kamat) #65233
- [ 0002f0a718 ] - ffi : 移除回调参数中的死代码 null 检查 (Trivikram Kamat) #64998
- [ 9024ec27b6 ] - ffi : 保持 FFI 函数不可构造 (Trivikram Kamat) #65184
- [ 9b4f349b01 ] - ffi : 在每次调用时刷新缓存的字符串缓冲区 (Trivikram Kamat) #65051
- [ eacd65e9c2 ] - ffi : 拒绝分离的 ArrayBufferViews (Trivikram Kamat) #65086
- [ be2ab89730 ] - ffi : 拒绝分离的 ArrayBuffers 作为指针 (Trivikram Kamat) #65083
- [ 6f9e0846ea ] - ffi : 验证快速指针 BigInt 参数范围 (Trivikram Kamat) #65032
- [ 3e6688c5e3 ] - ffi : 每个符号重用创建的可调用对象 (Trivikram Kamat) #64971
- [ 8b0bdd931c ] - ffi : 缩小 trampoline 放置探测窗口 (Trivikram Kamat) #64969
- [ 9c282c4532 ] - ffi:在多参数快速调用中接受指针 BigInt(Trivikram Kamat)#64964
- [ b98294b57d ] - ffi:在 getRawPointer 中支持 SharedArrayBuffer(Junsoo Ha)#64864
- [ 5cac7c2c55 ] - ffi:复用 libffi 调用计划(Yilong Li)#64958
- [ 262f0ec82a ] - fs:避免在递归 readdir 中对每个条目执行 stat()(Shelley Vohr)#65487
- [ e3ae912e9a ] - fs:在 readFileUtf8 中对大文件使用固定大小读取(Shelley Vohr)#65328
- [ bc1e19b4b7 ] - fs:修复命名空间驱动路径的 realpath(Jason Zhang)#65378
- [ 6673ebadf2 ] - fs:中止正在进行的 stat 操作(Mert Can Altin)#63143
- [ 74dcdbb5f1 ] - fs:修复 glob 早期返回跳过同级条目问题(Srinu desetti)#64895
- [ 6305a744df ] - fs:在提供 filter 时传递 symlink 类型到 cp(Jerry Zhao)#62654
- [ c5cb6bc7e2 ] - fs:延迟分配 FSReqPromise stat 数组(Samuel Attard)#63886
- [ 992af05719 ] - fs:修复 mkdtemp 在长前缀时的越界写入问题(Hierax_Umbra)#64770
- [ 2de845b2dd ] - fs:将 std::errc::permission_denied 视为 EPERM 错误(Kirill Saied)#64698
- [ 77fedbd350 ] - fs:通过单线程池往返读取小文件(Shelley Vohr)#65327
- [ 810929b6dd ] - 撤销 "fs:修复 FileHandle 流中的 close 监听器泄漏"(Mike McCready)#65387
- [ 8873b91fce ] - fs:修复 FileHandle 流中的 close 监听器泄漏(Y1D7NG)#64227
- [ 656cfaeb2d ] - fs:为文件流添加 windowsHandle 选项(Kirill Saied)#63851
- [ c2c31d69fd ] - http:在已知长度的 end() 调用中提升性能(Tim Perry)#65466
- [ 7e9204f4b3 ] - http:在 ConnectionsList 中使用侵入式链表(Matteo Collina)#65296
- [ 98e6272c70 ] - http:按头部区域缓存 maxHeaderPairs(GetThatCookie)#64988
- [ 6c3516f179 ] - http:修复现有 agent 套接字上 keylog 监听器设置问题(Shani Singh)#65066
- [ dad9548fbc ] - http:在套接字接管时触发 drain 事件并避免 HWM 重复使用(Naman Trivedi)#64991
- [ 563cab119b ] - http2:在接收和发送 rst_stream 时避免使用已释放内存(esgor)#64166
- [ 099801641b ] - inspector:避免在 V8 中断时调用 JS(Joyee Cheung)#65028
- [ b71d5de0b8 ] - lib:对单字符使用方括号表示法替代 startsWith/endsWith(Taejin Kim)#61500
- [ e8e2abcc8d ] - lib:在无快照引导时加载更少的内置模块(Shelley Vohr)#65329
- [ 3619dc0601 ] - lib:修复 --enable-source-maps 下的 ERR_INVALID_ARG_TYPE(June)#63215
- [ ad7c67026b ] - lib:强化 webidl 字典成员读取安全性(Filip Skokan)#65115
- [ b5182f0a1c ] - lib:对数组参数使用 validateArray(greenhead)#64959
- [ 7f7df06821 ] - lib:在 webcrypto 字典中添加并测试 [EnforceRange](Filip Skokan)#65091
- [ 8d39d0d660 ] - meta:添加根目录级别 AGENTS.md(James M Snell)#65493
- [ 3770f9baea ] - meta:将 targos 移至荣誉成员(Michaël Zasso)#65393
- [ a9b31dfe30 ] - meta:添加统一 http api 初始化计划(James M Snell)#65139
- [ 6bffc306aa ] - meta:将一个或多个协作者移至荣誉成员(Node.js GitHub Bot)#65182
- [ 4abd1c8100 ] - meta:添加对 alpha 预发布标签的支持(Antoine du Hamel)#63135
- [ 132c578e97 ] - meta:将 Aviv Keller 添加到 .mailmap(Aviv Keller)#65048
- [ 7aff78d231 ] - meta:将 sccache 升级到 0.17.0(René)#64985
- [ 97a437e7ea ] - module:为编译缓存添加只读模式(Shelley Vohr)#65302
- [ 5821362819 ] - module:避免按 uid 拆分便携式编译缓存(Shelley Vohr)#65293
- [ eb5d66e856 ] - 模块:报告无法读取的 package.json (Paul Bouchon) #65223
- [ 43757d07c1 ] - 模块:按目录缓存最近的父级 package.json (Shelley Vohr) #65326
- [ d7805e00dc ] - 模块:修复对模糊 ESM 文件的 --check 操作 (Paul Bouchon) #65203
- [ 646221a495 ] - 网络:在 _unrefTimer 和 _destroy 中处理未定义的父级 (Shivay-98) #64644
- [ 01a8ae0ce6 ] - 权限:保护 UDP 句柄采用过程 (Rafael Gonzaga) #65358
- [ ac3c412aaf ] - 权限:在 GetLinkedBinding 中强制执行插件权限 (Rafael Gonzaga) #65432
- [ 8765afd4c2 ] - 进程:验证资源统计数组偏移量 (Archkon) #65098
- [ d0447c93f6 ] - QUIC:针对 nghttp3_conn_close_stream2 的修改 (Marten Richter) #64574
- [ 91393898b5 ] - QUIC:标记 drain promise 已处理 (James M Snell) #65319
- [ 5c9576bf50 ] - QUIC:使用 H3_REQUEST_REJECTED 重置被拒绝的 HTTP/3 请求流 (trivenay) #65442
- [ ec956f2abc ] - QUIC:在 maxstream 上更新 desired size 写入操作 (Marten Richter) #64768
- [ 41c510803d ] - QUIC:不要销毁具有消费者的传入流 (trivenay) #65335
- [ 009e376581 ] - QUIC:修复 wake up blob (Marten Richter) #64044
- [ 4674a10368 ] - QUIC:将传入的 :status 头转换为数字 (Hallison Pereira Melo) #63589
- [ 5953165f53 ] - QUIC:修复在缓冲流上收到 STOP_SENDING 时的无限循环 (Tim Perry) #64715
- [ bb499c312e ] - REPL:在加载历史文件时保留新增条目 (Mhayk Whandson) #64513
- [ 825fcfe4d5 ] - REPL:添加基准测试 (Aviv Keller) #64590
- [ f32a8631ad ] - SEA:避免悬挂的 CLI 选项指针 (Archkon) #64755
- [ 3126ce5779 ] - SEA:处理资产键中的 NUL 字节 (Archkon) #64773
- [ 64a8843ff2 ] - SEA:拒绝配置 JSON 中的尾随内容 (Archkon) #64774
- [ 1d9dd252f1 ] - SEA:拒绝格式错误的 --node-options 值 (Archkon) #64803
- [ 6ec735c910 ] - SQLite:在绑定参数时拒绝递归调用 (Trevor Burnham) #65294
- [ 60cb384c15 ] - SQLite:移除未使用的列名辅助函数 (Trivikram Kamat) #65401
- [ fce6754a83 ] - SQLite:在授权器中拒绝繁忙语句最终化 (Trivikram Kamat) #65369
- [ e2f952f2ff ] - SQLite:防止 session.close() 的递归调用 (Trivikram Kamat) #65349
- [ 0e8af3378a ] - SQLite:在 statement all() 和 get() 中重用缓存的列名 (Edy Silva) #65276
- [ e6bfec91be ] - SQLite:验证 StatementSync.run() 的整数参数 (Trivikram Kamat) #65178
- [ bbb1226dbe ] - SQLite:添加诊断通道 (Guilherme Araújo) #62241
- [ 6302168de8 ] - SQLite:添加 stmt 持久标志 (Guilherme Araújo) #62757
- [ 2989311d81 ] - SQLite:在授权器回调中拒绝连接访问 (Trevor Burnham) #65156
- [ 72c37b133e ] - SQLite:公开预处理语句统计信息 (Edy Silva) #64541
- [ 3e50a2f1e9 ] - SQLite:使用 RAII 管理 sqlite3_stmt 生命周期 (Guilherme Araújo) #62419
- [ 3ab7e72555 ] - SQLite:检查 sqlite3_step() 和 sqlite3_reset() 的结果 (semimikoh) #63319
- [ 5e387ce979 ] - SQLite:拒绝 prepare() 中无语句的 SQL (Trevor Burnham) #65157
- [ 83169e58f3 ] - SQLite:拒绝 SQLTagStore 中无语句的 SQL (Trevor Burnham) #65157
- [ 7f31f6226e ] - SQLite:隔离 applyChangeset 过滤器错误 (Trivikram Kamat) #64823
- [ c89878c3c8 ] - SQLite:在回调期间拒绝 deserialize() (Trivikram Kamat) #64796
- [ 5a852b22d4 ] - SQLite:检查 sqlite 值函数的空返回 (Nora Dossche) #63288
- [ 5cb78ed300 ] - sqlite : 在 createTagStore() 中验证 maxSize 参数 (Anshika Jain) #63792
- [ ca885876f6 ] - sqlite : 重构错误辅助函数和用户函数指针 (Ali Hassan) #62794
- [ 06b1758dcd ] - sqlite : 拒绝非正数的备份速率 (Trivikram Kamat) #64893
- [ ce0ca47023 ] - sqlite : 清除 SQLTagStore 绑定 (Matteo Collina) #65041
- [ 49fb028714 ] - sqlite : 绑定布尔值 (mike-git374) #62001
- [ 09d0da99e9 ] - sqlite : 修复 Session::Changeset() 中的未定义行为 (Nora Dossche) #63637
- [ 9167ebd32b ] - sqlite : 绑定 ArrayBuffer (mike-git374) #62061
- [ 5da6eaa8af ] - sqlite : 防止在回调期间关闭数据库 (Matteo Collina) #64743
- [ 29d794bc84 ] - src : 修复嵌入器图中的堆值去重 (Ilyas Shabi) #64801
- [ b405e9b039 ] - src : 修复转码奇数长度 ucs2 时的越界写入 (nashit hayat) #64512
- [ 101a215472 ] - src : 使用 simdutf 进行两字节 utf8 转换 (Mert Can Altin) #62248
- [ 340b98346f ] - src : 按发布顺序运行同优先级平台任务 (Shelley Vohr) #65353
- [ 83a7949c18 ] - src : 在 Windows 上定义 O_SYNC、O_DSYNC 和 O_DIRECT (Kirill Saied) #64707
- [ 32bb197f2a ] - src : 使用 simdutf 进行 UTF-8 写入中的两字节字符串处理 (Shelley Vohr) #65324
- [ 613be79cf4 ] - src : 为 MaybeStackBuffer 添加 v8::Local 特化 (James M Snell) #65159
- [ 922d47cbd7 ] - src : 在任务运行器中转义 Windows 环境变量 (Antoine du Hamel) #65217
- [ 3a47f1f282 ] - src : 在权限模块中应用小的命名空间格式调整 (James M Snell) #65158
- [ 981cfa537d ] - src : 使用 BooleanPermissions 简化权限 (James M Snell) #65158
- [ 5954b13f88 ] - src : 简化权限模块中的包含 (James M Snell) #65158
- [ d4ced88c09 ] - src : 对权限模块应用适度的性能优化 (James M Snell) #65158
- [ efb649ec26 ] - src : 使权限存储更高效 (James M Snell) #65158
- [ 521aaf10fc ] - src : 对权限模块进行多项通用清理 (James M Snell) #65158
- [ ac920e0d2b ] - src : 简化 C++ 诊断通道 API (James M Snell) #65158
- [ ec8fe275a1 ] - src : 对权限检查进行小规模清理 (James M Snell) #65158
- [ 968bdd0135 ] - src : 使用 DictionaryTemplate 用于权限诊断通道消息 (James M Snell) #65158
- [ f77aa2f703 ] - src : 缓存权限字符串 (James M Snell) #65158
- [ 4018f3a776 ] - src : 为每个 TLSWrap 实例减少约 20 字节内存占用 (James M Snell) #65144
- [ b7a23426d9 ] - src : 添加 SetAbortHandler (Max H Fisher) #64684
- [ 3cfe19489c ] - src : 在适当位置使用概念 (James M Snell) #65148
- [ d8a0f288ab ] - src : 在任务运行器中不区分大小写匹配 cmd.exe (Archkon) #64907
- [ 262d88e6c2 ] - src : 在剩余文件中重用缓存的环境变量字符串 (Seongeun Lee) #65039
- [ ad35fe97f0 ] - src : 暴露 Windows 专用的文件系统打开标志 (Kirill Saied) #64775
- [ 8c4531bbc9 ] - src : 报告 --enable-fips 失败的原因 (Filip Skokan) #64979
- [ a293dbf0e1 ] - src : 将重复使用的字符串更新为环境变量 (James M Snell) #64760
- [ 044402cf0e ] - src : 在任务运行器文件系统路径中使用 UTF-8 (Archkon) #64868
- [ 5b7d02e401 ] - stream : 规范化无状态转换结果 (Trivikram Kamat) #65367
- [ 1d6ec2ddc5 ] - stream : 在 TextEncoderStream 中对整块数据进行编码 (Matteo Collina) #65414
- [ 0afda47ca4 ] - stream : 防止 share 过早耗尽源数据 (Trivikram Kamat) #65338
- [ dc51c7926e ] - 流:在广播结束前排空待处理写入(Trivikram Kamat) #65334
- [ a77f9f7a32 ] - 流:复用未公开的管理读取缓冲区(GetThatCookie) #64990
- [ c42fbcc0d1 ] - 流:避免重复调度 endReadableNT(Matteo Collina) #65310
- [ 9ec9383d1d ] - 流:解耦转换背压变更(Matteo Collina) #65143
- [ a9dc50d275 ] - 流:在刷新期间信号中止时拒绝拉取(Trivikram Kamat) #65346
- [ 815424db74 ] - 流:在信号失败时避免消费者泄漏(Trivikram Kamat) #65299
- [ 6a2e0561e8 ] - 流:使用 validateObject 验证 zlib/iter 参数(greenhead) #65015
- [ 4f6f2cfffa ] - 流:使用 validateNumber 验证 BYOB 读取器 options.min(greenhead) #65014
- [ 4d297428e6 ] - 流:合并非操作算法回调(Matteo Collina) #65138
- [ f7e0c81be4 ] - 流:在 WebStreams 热路径中减少 Promise 创建(Matteo Collina) #65138
- [ 5edffb544f ] - 流:加速 Readable 的异步迭代(Matteo Collina) #64447
- [ 0876a29bb6 ] - 流:保留虚假的取消原因(Trivikram Kamat) #64705
- [ 374f7e214d ] - 流:使用 validateBuffer 验证 BYOB 读取器视图(greenhead) #65046
- [ 6bd15b2ac9 ] - 流:修复可写流的递归中止(Jeong SeokChan) #64825
- [ f33dba704d ] - 字符串解码器:通过 StringBytes::Encode 解码 UTF-8(Shelley Vohr) #65324
- [ 6409983a6c ] - 测试:更新 WebCryptoAPI 的 WPT 至 e235e089b4(Node.js GitHub Bot) #65478
- [ 01cb4f99a0 ] - 测试:将 forEach 转换为 for of 测试-messageevent-brandcheck 文件(Nachiketa Pathak) #65279
- [ 359369e24e ] - 测试:在 windowsHide 测试中使用 spawnSyncAndAssert(Junsoo Ha) #65351
- [ 9304dee833 ] - 测试:移除在 macOS 上易失败的 test-debugger-run-after-quit-restart(Yuya Inoue) #65424
- [ 30f1a19eec ] - 测试:简化 test-timers-interval-promisified.js(Donghoon Kang) #65322
- [ acaf986ad5 ] - 测试:添加 Headers 覆盖和基准测试(Yagiz Nizipli) #65365
- [ b6852e2b96 ] - 测试:修复 test-net-listen-ipv6only 的不稳定问题(sangwook) #64173
- [ 235a0baf8b ] - 测试:使用 common/child_process 的 spawnSync 辅助函数(Junsoo Ha) #65377
- [ 29f010fbb0 ] - 测试:修复 Linux 调试在 SEA 测试防护中的跳过(구현우) #63751
- [ 33d7b4c6b3 ] - 测试:为 getFunctions 和 getSymbols 添加 closed-library 断言(Anshika Jain) #63769
- [ 24a76e18ec ] - 测试:在事件循环延迟测试中避免定时器竞争(Trivikram Kamat) #64728
- [ fdc1e78595 ] - 测试:在 test-http-server-stale-close 中强制退出码(Antoine du Hamel) #65198
- [ c644f2e07c ] - 测试:将 test-async-local-storage-bind 转换为异步循环(freida-code) #65270
- [ 1d5e5e8f43 ] - 测试:在并行测试中将 forEach() 替换为 for...of(Phillip Markert) #65272
- [ 9346570fed ] - 测试:将 test-constant.js 文件中的 forEach 转换为 for in(NIxxy25) #65271
- [ 7af0a96090 ] - 测试:使用 for-of 替代 forEach(Felix P.) #65268
- [ 63e6f2edc3 ] - 测试:等待 FFI 背景优化完成(Trivikram Kamat) #65300
- [ bca3367583 ] - 测试:为 CJS 模块的 import defer 添加简单测试(Maya Lekova) #64694
- [ 00b687bc4a ] - 测试:覆盖 ZIP 文件描述符生命周期并添加回滚(Philipp Dunkel) #65016
- [ 31742f2f42 ] - 测试:覆盖 ZIP 头混淆和 DoS 防护(Philipp Dunkel) #65016
- [ 87ee7bff38 ] - 测试:覆盖 realpathSync 在 FIFO 统计后解析符号链接(Hendrik Liebau) #65113
- [ fd7e904433 ] - 测试:更新测试以支持 OpenSSL >= 3.0 FIPS 模式(Filip Skokan) #64960
- [ 219495fe2c ] - 测试:在 test-webcrypto-prototype-pollution 中考虑 [EnforceRange](Filip Skokan)#65173
- [ bf86fab458 ] - 测试:添加权限快速 API 测试(James M Snell)#65158
- [ cc19107e5d ] - 测试:将 WebCryptoAPI 的 WPT 更新至 4c2fd05ed5(Node.js GitHub Bot)#65150
- [ 69e4fabb29 ] - 测试:将 urlpattern 的 WPT 更新至 4832db4761(Node.js GitHub Bot)#65151
- [ b1aa78a57e ] - 测试:修复 test-http-server-stale-close.js 中的隐藏错误(Meghan Denny)#59357
- [ 59d7e22a12 ] - 测试:通过避免流水线 HTTP/2 测试中的死锁问题来修复不稳定性(Tim Perry)#65079
- [ 7074ae30fa ] - 测试:允许半开 CONNECT 隧道套接字(Trivikram Kamat)#64973
- [ 82b2d9c08d ] - 测试:更新密码短语以符合 OpenSSL 下一版 FIPS 模式要求(Filip Skokan)#65077
- [ 7f3a42035c ] - 测试:在立即队列测试中使用 libuv 时钟(Trivikram Kamat)#64889
- [ 7ddd853d8c ] - 测试:在 probe-failure-hang-during-evaluate 中增加超时时间(Joyee Cheung)#64719
- [ 28cad47cef ] - 测试:将 WebCryptoAPI 的 WPT 更新至 82c3d9069c(Node.js GitHub Bot)#64977
- [ 74a3e91bb7 ] - 测试:在 SQLite 测试中优先使用内存数据库(Paul Bouchon)#64701
- [ 7fc8a3ad8c ] - 测试,文档:覆盖并记录 randomFill 中的多字节偏移量/大小(kyungrae2002)#64834
- [ 4de7e63883 ] - test_runner:在默认覆盖率排除项中匹配隐藏文件(semimikoh)#63401
- [ 79c39c217d ] - test_runner:使用点报告器打印覆盖率和诊断信息(mag123c)#61423
- [ cce803b174 ] - test_runner:使用 run 选项时设置 isolation="none"(Sylvester Keil)#62269
- [ 797ef40d23 ] - test_runner:模拟具有条件导出的双包(Maruthan G)#62943
- [ 1ad7ca310a ] - test_runner:为 --test 恢复目录搜索功能(Paul Bouchon)#64637
- [ 400d598b3c ] - test_runner:为 JUnit 报告器添加类名层级(mag123c)#60220
- [ 9572a0b15f ] - test_runner:修复空诊断信息的 JUnit 报告(Lazizbek Ergashev)#65357
- [ e3fda695fe ] - test_runner:通过布尔表达式 DSL 扩展标签过滤功能(Chemi Atlow)#63054
- [ 4e06739c7b ] - test_runner:不要对测试文件包装器进行标签过滤(Chemi Atlow)#65170
- [ e73f74738d ] - test_runner:修复 env 选项验证(Jihwan)#64865
- [ 2a0b1ec4cc ] - tls:在无效 ALPNProtocols 时抛出异常而非中止(Sankalp Thakur)#65076
- [ 15da4a190b ] - tls:修复 TLS 1.3 客户端证书恢复时无证书的授权状态(Tim Perry)#64677
- [ 1864175435 ] - tls:不要从 TLS 库栈触发 SNICallback 或 OCSPRequest(Tim Perry)#64827
- [ 8f4ee7eda5 ] - tls:移除 TLS 客户端 hello 解析器(Tim Perry)#64827
- [ a457631496 ] - 工具:改进提交队列失败时的评论(Filip Skokan)#65433
- [ 78175c68f8 ] - 工具:改进 nix-changes 覆盖范围(Antoine du Hamel)#65403
- [ 6f0c08bf80 ] - 工具:将 shell.nix pkcs11 集成重构到独立部分(Antoine du Hamel)#65404
- [ 35b18b4455 ] - 工具:修复 create-release-proposal.sh 中的最大体长度处理程序(Antoine du Hamel)#65455
- [ 88d5f644a2 ] - 工具:将 /tools/clang-format 中的 brace-expansion 升级(dependabot[bot])#64984
- [ 41edd2f214 ] - 工具:使定时任务中的环境变量保持一致(Antoine du Hamel)#65168
- [ 7c09bd5ece ] - 工具:修复 Windows 上的 man-page 生成(James Ross)#64886
- [ 1a20d27118 ] - 工具:将 /tools/doc 中的 undici 从 6.27.0 升级至 6.28.0(dependabot[bot])#65011
- [ ebbe4af869 ] - tools : 修复 permittedInsecurePackages 为空时的代码检查工具问题 (Antoine du Hamel) #65226
- [ 17d2b067bf ] - tools : 更新 v26.x 版本的 BoringSSL 指纹 (Filip Skokan) #65483
- [ be4e7de04c ] - tools : 仅在代码提交队列中包含快速通道和足够旧的 PR (Antoine du Hamel) #65197
- [ 53d52731c9 ] - tools : 修复 update-nixpkgs-pin.sh 中的引号转义问题 (Antoine du Hamel) #65166
- [ 40b1b18839 ] - tools : 移除 commit-queue.sh 中的跳过逻辑 (Antoine du Hamel) #65162
- [ 5506f77924 ] - tools : 将 /tools/lint-md 中的 js-yaml 从 4.2.0 升级到 4.3.1 (dependabot[bot]) #65129
- [ fc038a0ef5 ] - tools : 将 /tools/eslint 中的 js-yaml 从 4.2.0 升级到 4.3.1 (dependabot[bot]) #65130
- [ 10b2c8a873 ] - tools : 修复代码提交队列工作流中 GITHUB_TOKEN 权限问题 (Antoine du Hamel) #65192
- [ 73de450845 ] - tools : 在代码提交队列中过滤 PR 时使用只读令牌 (Antoine du Hamel) #65169
- [ 31c1bcb627 ] - tools : 延迟移除代码提交队列标签 (Antoine du Hamel) #65101
- [ 89d3905595 ] - tools : 将 ncu 配置移至全局用于代码提交队列 (Filip Skokan) #65132
- [ aa3b598e2e ] - tools : 预过滤代码提交队列元数据 (Filip Skokan) #64343
- [ 4f2c634258 ] - tools : 在代码提交队列中延迟中止失败的 PR 合并 (Antoine du Hamel) #65004
- [ 8657497521 ] - tools : 修复 pkcs11-store-test 检查 (Antoine du Hamel) #65023
- [ 0e1a99ac24 ] - tools : 在 test-shared.yml 中添加 OpenSSL FIPS 构建 (Filip Skokan) #64960
- [ b6fa9c1819 ] - tools : 将 mk-ca-bundle.pl 与 curl 同步 (Archkon) #64753
- [ f0140d7ebd ] - tools : 在 openssl-matrix.nix 中存储 "default" OpenSSL 版本 (Antoine du Hamel) #64962
- [ 4c8d8afa99 ] - tools : 为自动更新自动化移除分支名称中的 true (Antoine du Hamel) #64961
- [ 2dd7d4c56f ] - tools : 将 ./tools/nix/pkcs11.nix 添加到 nix-changes.yml (Filip Skokan) #64967
- [ cf395004ed ] - tty : 添加 raw-vt 和 io raw 模式 (Samuel Williams) #64140
- [ a5e5c7f756 ] - typings : 添加 signal_wrap 内部绑定类型 (Seongeun Lee) #65229
- [ 5219e53dd6 ] - typings : 添加 diagnostics_channel 类型定义 (Seongeun Lee) #65227
- [ 215223dff1 ] - typings : 添加 watchdog 内部绑定类型 (Seongeun Lee) #65228
- [ eb095a94bd ] - typings : 添加 internal_only_v8 绑定类型 (Donghoon Kang) #65071
- [ 9fc811a0f2 ] - typings : 添加 credentials 内部绑定类型 (Donghoon Kang) #65036
- [ f032c22430 ] - url : 跳过未使用的 href 重复比较 (Yagiz Nizipli) #65361
- [ 2a64032141 ] - url : 加速 WHATWG URL 解析 (Yagiz Nizipli) #65361
- [ c4dbe14ec6 ] - url : 加速 URLSearchParams (Yagiz Nizipli) #65363
- [ 001c37c0a2 ] - url : 对 Windows 文件 URL 路径进行边界检查 (Archkon) #64788
- [ 1a63416b1a ] - url : 在 setter 中处理不可解析的序列化 URL (Matteo Collina) #64651
- [ cb4b89c018 ] - util : 当换行长度无限时允许单行格式 (Hamid Reza Ghavami) #64238
- [ f644853680 ] - util : 修复 stripVTControlCharacters 中的 OSC 8 超链接剥离问题 (Dushyant Singh Hada) #64319
- [ eb1ebbb39d ] - util : 修复从 getter 返回的函数格式化问题 (Richard Gibson) #64839
- [ f373dab724 ] - util : 在 comparisons.js 中使用更多原生对象 (Ayoub Mabrouk) #61198
- [ 6ca9c1e078 ] - util : 在没有源映射名称时保留函数名称 (Hiroki Osame) #65108
- [ 1aafd19813 ] - zlib : 回滚失败的 add() 目录重写 (Philipp Dunkel) #65016
- [ d29cc0926a ] - zlib : 在 close() 之前完成 ZipFile 读取 (Philipp Dunkel) #65016
- [ 2bda6db916 ] - zlib : 在归档 FIFO 或设备时不再挂起 (Philipp Dunkel) #65016
- [ 55b04957c9 ] - zlib : 拒绝本地/中央 ZIP 头不匹配 (Philipp Dunkel) #65016
- [ 575260d3b4 ] - zlib : 验证中央目录记录数量 (Matteo Collina) #65002
- [ 8e848d9be3 ] - zlib : 拒绝模糊的 ZIP 归档结束标记 (Matteo Collina) #65007
- [ ee7bf09090 ] - zlib : 验证同步 zstd 的 pledgedSrcSize (Archkon) #64601
Windows 64 位安装程序: https://nodejs.org/dist/v26.8.0/node-v26.8.0-x64.msi Windows ARM 64 位安装程序: https://nodejs.org/dist/v26.8.0/node-v26.8.0-arm64.msi Windows 64 位二进制文件: https://nodejs.org/dist/v26.8.0/win-x64/node.exe Windows ARM 64 位二进制文件: https://nodejs.org/dist/v26.8.0/win-arm64/node.exe macOS 64 位安装程序: https://nodejs.org/dist/v26.8.0/node-v26.8.0.pkg macOS 苹果硅 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-darwin-arm64.tar.gz macOS 英特尔 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-darwin-x64.tar.gz Linux 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-x64.tar.xz Linux PPC LE 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-ppc64le.tar.xz Linux s390x 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-s390x.tar.xz AIX 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-aix-ppc64.tar.gz ARMv8 64 位二进制文件: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-arm64.tar.xz 源代码: https://nodejs.org/dist/v26.8.0/node-v26.8.0.tar.gz 其他发布文件: https://nodejs.org/dist/v26.8.0/ 文档: https://nodejs.org/docs/v26.8.0/api/
SHASUMS
-----BEGIN
PGP
SIGNED
MESSAGE-----
Hash:
SHA256
37703c35d7acbe0a9a15e99fbc2beed2f46b7bb9bcaa3521ba9965abd5027055
node-v26.8.0-aix-ppc64.tar.gz
ddede7d279871c9ce0fb787c665ee80ddddd57c35e22849a4b19c2003df07529
node-v26.8.0-arm64.msi
d6516f067a433cd979b27dfdb0bad88ce97f47be33b713d04c8361b1502f19c6
node-v26.8.0-darwin-arm64.tar.gz
be8d1c71b3d42ce8e976b2f0165c099f638351024be2da0ed7f816439c8326e9
node-v26.8.0-darwin-arm64.tar.xz
58e0866e3b4355c1e3140fdc0c1b1b2a55616f4e5a37fda12123e98114a05138
node-v26.8.0-darwin-x64.tar.gz
0737d450ea5a150e8a73c385a76aa0590ce38bca6b494b82e3077e0b402de6a8
node-v26.8.0-darwin-x64.tar.xz
1e59dbae77777821009407c1220a3f301110e80141ef18f0ddea22eff2c5c62b
node-v26.8.0-headers.tar.gz
921bff506d5bd4624efe57348c49fa6684c79eb3732c5114640ddac002b27eab
node-v26.8.0-headers.tar.xz
c358e4c9bd4cd1a4521fa2ae140c88637a3679fc3e99cd1aa6bca1ec5131f13f
node-v26.8.0-linux-arm64.tar.gz
7810e03acad8a592bb565e7875ccdb8b426d159888d462666a3130df64bde3e8
node-v26.8.0-linux-arm64.tar.xz
e010d9f62562c43029fc799411a3a21e49c88cb2c54f4fd356c94b2f94163a91
node-v26.8.0-linux-ppc64le.tar.gz
02f7ea289ae8a4dfa9175617daca3cc73fa078bc5fef4bc1d690bf0e624cc021
node-v26.8.0-linux-ppc64le.tar.xz
72182492e063347b527b515e9d2abe33b4dec63e61c15a6347ed629ec47c5a12
node-v26.8.0-linux-x64.tar.gz
234b2991f624333989690203d7513f31339a790453171c6f1375954e2929e081
node-v26.8.0-linux-x64.tar.xz
d75834305f89b550e48e082f6f6955853623693959005104c828554338325975
node-v26.8.0-macos-arm64.tar.gz
421862553d645110980153f35a3e6551f83b5739f65895155017955501106390
node-v26.8.0-macos-arm64.tar.xz
491995895022575425872784224785292684750645715645455825972557555
node-v26.8.0-macos-x64.tar.gz
520154667346358537365265345535852653455358526534553585265345535
node-v26.8.0-macos-x64.tar.xz
520154667346358537365265345535852653455358526534553585265345535
node-v26.8.0-sunos-x64.tar.gz
520154667346358537365265345535852653455358526534553585265345535
node-v26.8.0-sunos-x64.tar.xz
520154667346358537365265345535852653455358526534553585265345535
node-v26.8.0-win-x64.zip
520154667346358537365265345535852653455358526534553585265345535
win-arm64/node.exe
f8ff31e0a817991e31c7fcc1cc6123a28eca06e3dbf0a47afe633dfef056a39d
win-arm64/node.lib
a541cb41e42cb9b7555125e705eded2750b078bc5fef4bc1d690bf0e624cc021
win-arm64/node_pdb.7z
08e8969224c65b701dd8dfbc55309202ea00ebe474fe28781988aa977c19cb21
win-arm64/node_pdb.zip
f75c008f6231c8d77c0bc5277e495e88447b65015fdb63ac966f11cf0e1106e5
win-x64/node.exe
5432dceeac196ef89ec001939cc3801cfa131036a05f5fabf5e07b6c5a0895a4
win-x64/node.lib
c20361ac528d8f5199a7de9048c5285a6aa8e4529d4a1a8dd58aaecc5ec2f3aa
win-x64/node_pdb.7z
41310e0aacec64c73a68de2075f60389192f719fa73cdb964c9ace58f9283277
win-x64/node_pdb.zip
-----BEGIN
PGP
SIGNATURE-----
iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCao738gAKCRAgsaOQsWjT
VmczAQD8GE84hP6s9dMIBvOVUFprgf5nLwi2dvk7b00OwSbZ2QEAx2myTLtGnrCF
ck8GKPUTpWWQ2FkUX8id6KaJE4T0SAM=
=C8Dy
-----END
PGP
SIGNATURE-----上一版本
Node.js 26.8.1 (Current)
下一版本
Node.js 24.20.0 (LTS)