Node.js 24.16.0 (LTS)
TL;DR · AI 摘要
Node.js 24.16.0 LTS 版本引入了多项功能增强与安全修复,包括新增 UUID v7 支持、调试器改进及文件系统 API 扩展,对开发者工具链具有实用价值。
核心要点
- 新增 randomUUIDv7() 方法支持 RFC 4122 v7 UUID 生成
- 调试器增加 edit-free runtime expression probes 功能提升调试效率
- fs.stat() 增加 signal 选项并暴露 frsize 字段增强文件系统操作控制
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Node.js 24.16.0 LTS
- Core Modules
- Crypto
- FS
- HTTP
- Stream
- Testing Tools
- Test Runner
- Mock Timers
- Build & Security
- Build Optimization
- Crypto Fixes
金句 / Highlights
值得收藏与分享的关键句。
在 crypto 模块中实现 randomUUIDv7() 以支持 RFC 4122 v7 UUID 生成。
为 node inspect 添加无需编辑的运行时表达式探针以提升调试体验。
在 fs.stat() 中增加 signal 选项并暴露 frsize 字段以增强文件系统控制能力。
标题:Node.js — Node.js 24.16.0 (LTS)
URL 来源:https://nodejs.org/en/blog/release/v24.16.0
Markdown 内容: 跳转到内容
[](https://nodejs.org/en)
[](https://github.com/nodejs/node)
Antoine du Hamel
[2026-05-21,版本 24.16.0 'Krypton' (LTS),@aduh95](https://nodejs.org/en/blog/release/v24.16.0#2026-05-21-version-24160-krypton-lts-aduh95)
[主要变更](https://nodejs.org/en/blog/release/v24.16.0#notable-changes)
- [`b267f6bca3`] - (SEMVER-MINOR) crypto:实现
randomUUIDv7()(nabeel378) #62553 - [`ec2451b9cd`] - (SEMVER-MINOR) debugger:在
node inspect中添加无编辑运行时表达式探针 (Joyee Cheung) #62713 - [`9705f628d9`] - (SEMVER-MINOR) fs:为
fs.stat()添加 signal 选项 (Mert Can Altin) #57775 - [`40ccfdecf9`] - (SEMVER-MINOR) fs:在
statfs中暴露frsize字段 (Jinho Jang) #62277 - [`d7188af5c9`] - (SEMVER-MINOR) http:强化
ClientRequest选项合并 (Matteo Collina) #63082 - [`aa1d8a9afc`] - (SEMVER-MINOR) http:为
IncomingMessage添加req.signal(Akshat) #62541 - [`6f37f7e240`] - (SEMVER-MINOR) stream:在
duplexPair中传播销毁操作 (Ahmed Elhor) #61098 - [`d14029be7f`] - (SEMVER-MINOR) test_runner:支持测试顺序随机化 (Pietro Marchini) #61747
- [`d142c584cd`] - (SEMVER-MINOR) test_runner:对齐 mock 超时 API (sangwook) #62820
- [`01a9552585`] - (SEMVER-MINOR) test_runner:为
AbortSignal.timeout添加 mock-timers 支持 (DeveloperViraj) #60751 - [`00705a459a`] - (SEMVER-MINOR) util:使用十六进制颜色着色文本 (Guilherme Araújo) #61556
[提交记录](https://nodejs.org/en/blog/release/v24.16.0#commits)
- [`dd72df060d`] - assert,util: 修复过时的嵌套循环缓存条目 (Ruben Bridgewater) #62509
- [`add94f4bc3`] - build: 在 inspector GN 构建中将 PDL 文件作为输入进行跟踪 (Robo) #62888
- [`1b1eb9e334`] - build: 从 GCC LTO 标志中移除冗余的 -fuse-linker-plugin (Daniel Lando) #62667
- [`8752b604ec`] - crypto: 去重并规范化 CryptoKey 的使用 (Filip Skokan) #62902
- [`341947e7fd`] - crypto: 拒绝意外的原始密钥格式字符串输入 (Filip Skokan) #62974
- [`28a78747fc`] - crypto: 从其作业设置中移除 Argon2 KDF 派生 (Filip Skokan) #62863
- [`16e8c2b54d`] - crypto: 修复 4 字节 RSA publicExponent 的无符号转换 (DeepView Autofix) #62839
- [`eeae754a87`] - crypto: 拒绝继承的密钥类型名称 (Jonathan Lopes) #62875
- [`9dd5540325`] - crypto: 为 secureContext openssl 对象添加内存跟踪 (Mert Can Altin) #59051
- [`b267f6bca3`] - (SEMVER-MINOR)crypto: 实现 randomUUIDv7() (nabeel378) #62553
- [`7597d204c1`] - crypto: 添加对 Ed25519 上下文参数的支持 (Filip Skokan) #62474
- [`4bf85845da`] - debugger: 将 ProbeInspectorSession 和辅助函数移到单独文件 (Joyee Cheung) #63013
- [`ec2451b9cd`] - (SEMVER-MINOR)debugger: 向
node inspect添加无需编辑的运行时表达式探针 (Joyee Cheung) #62713 - [`83e98f77b7`] - deps: 更新 corepack 到 0.35.0 (Node.js GitHub Bot) #63375
- [`ec8c6b939a`] - deps: V8: cherry-pick 657d8de27427 (Guy Bedford) #62784
- [`722c0c3274`] - deps: 更新 nghttp3 到 1.14.0 (Node.js GitHub Bot) #61187
- [`5304db93d3`] - deps: 更新 nghttp3 到 1.13.1 (Node.js GitHub Bot) #60046
- [`e073b3811d`] - deps: 更新 nghttp3 到 1.11.0 (James M Snell) #59249
- [`1d00313fb2`] - deps: 更新 ngtcp2 到 1.14.0 (James M Snell) #59249
- [`8b3a4fc18f`] - deps: 更新 amaro 到 1.1.9 (Node.js GitHub Bot) #63090
- [`62fe0cfcd1`] - deps: 更新 llhttp 到 9.4.1 (Node.js GitHub Bot) #63045
- [`137e09c8e9`] - deps: 更新 corepack 到 0.34.7 (Node.js GitHub Bot) #62810
- [`14a4cb8fbc`] - deps: 更新 timezone 到 2026b (Node.js GitHub Bot) #62962
- [`3e1036583a`] - deps: 升级 npm 到 11.13.0 (npm team) #62898
- [`01dfe5961c`] - deps: cherry-pick libuv/libuv@439a54b (skooch) #62881
- [`6cd368b10c`] - deps: 更新 sqlite 到 3.53.0 (Node.js GitHub Bot) #62699
- [`f218a4f553`] - deps: 更新 nbytes 到 0.1.4 (Node.js GitHub Bot) #62698
- [`b47688524a`] - deps: 更新 openssl-3.5.6 的 archs 文件 (Node.js GitHub Bot) #62629
- [`d202e2d343`] - deps: 升级 openssl 源码到 openssl-3.5.6 (Node.js GitHub Bot) #62629
- [`2faba66341`] - deps: 更新 minimatch 到 10.2.5 (Node.js GitHub Bot) #62594
- [`fa46c90c5d`] - deps: 更新 googletest 到 d72f9c8aea6817cdf1ca0ac10887f328de7f3da2 (Node.js GitHub Bot) #62593
- [`099ded5713`] - deps: 将 simdjson 更新至 4.6.1 (Node.js GitHub Bot) #62592
- [`7ce95afe96`] - deps: libuv: cherry-pick aabb7651de (Santiago Gimeno) #62561
- [`57ef845623`] - deps: 将 icu 更新至 78.3 (Node.js GitHub Bot) #62324
- [`493ac40e12`] - deps: 将 libuv 更新至 1.52.1 (Node.js GitHub Bot) #61829
- [`b39508b368`] - deps: 将 undici 更新至 7.25.0 (Node.js GitHub Bot) #63011
- [`cb67a925e9`] - deps: 在
update-undici.sh中使用 npm undici@seven 标签 (Matteo Collina) #62739 - [`aa1e0bc28b`] - doc: 修复 crypto.md 和 webcrypto.md 中的拼写错误和不一致性 (Filip Skokan) #62828
- [`f2a1735ed9`] - doc: 修复 util.styleText 中重复的词“to to” (Daijiro Wachi) #62917
- [`b6378e215c`] - doc: 修复 node-config-schema (Сковорода Никита Андреевич) #61596
- [`233894a9ce`] - doc: 修复 TypeScript Execute (tsx) 项目链接 (David Thornton) #63093
- [`5d97919f8f`] - doc: 更正 diagnostics_channel 内置通道名称 (Bryan English) #62995
- [`2a9ccc927e`] - doc: 在 callbackify null reason 示例中使用 mjs/cjs 块 (Daijiro Wachi) #62884
- [`ef413b5358`] - doc: 修复 test.md 中的拼写错误 (Rich Trott) #62960
- [`76f21c5070`] - doc: 修正 PR 贡献说明中的拼写错误 (Mike McCready) #62738
- [`ca02af1f7d`] - doc: 修复 postMessageToThread 中重复的词“of of” (Daijiro Wachi) #62917
- [`46c99ed526`] - doc: 修复 compile cache 中重复的词“for for” (Daijiro Wachi) #62917
- [`1a60851734`] - doc: 修复 dns.lookup 选项描述中的拼写错误 (Daijiro Wachi) #62882
- [`169b5ea2ed`] - doc: 修复 Argon2 参数边界 (Tobias Nießen) #62868
- [`9a3a190f4e`] - doc: 明确 diffieHellman.generateKeys 会重新计算相同的密钥 (Kit Dallege) #62205
- [`0fba9e87d6`] - doc: 从 triagger 团队中移除 Ayase-252 和 meixg (Antoine du Hamel) #62841
- [`9c700f3446`] - doc: 当 all 为 true 时,澄清 dns.lookup() 回调签名 (eungi) #62800
- [`6b7280bc17`] - doc: 添加实验性模块生命周期策略 (Paolo Insogna) #62753
- [`ce47ea31c9`] - doc: 在权限模型中澄清 process._debugProcess() (Fahad Khan) #62537
- [`ba01633757`] - doc: 修复 devcontainer 指南中的拼写错误 (Rohan Santhosh Kumar) #62687
- [`70b4d5839b`] - doc: 明确 Backport-PR-URL 元数据是自动添加的 (Mike McCready) #62668
- [`8126d1c3eb`] - doc: 更新 WPT 测试运行器 README.md (Filip Skokan) #62680
- [`978afea4b5`] - doc: 修复发布公告指南中的拼写错误 (Rohan Santhosh Kumar) #62663
- [`1684ab8ff8`] - doc: 注意 crypto.randomUUIDv7 中非单调时钟 (nabeel378) #62600
- [`86d4f07930`] - doc: 更新漏洞赏金计划 (Rafael Gonzaga) #62590
- [`736ed8a08f`] - doc: 记录 TransformStream transformer.cancel 选项 (Tom Pereira) #62566
- [`938af9be01`] - doc: 提及测试运行器重试次数是从零开始的 (Moshe Atlow) #62504
- [`94433e450f`] - doc,src,test: 修复死掉的 inspector 帮助 URL (semimikoh) #62745
- [`ddf1f01659`] - esm: 添加
ERR_REQUIRE_ESM_RACE_CONDITION(Antoine du Hamel) #62462 - [`4a506acd16`] - fs: 为 glob 添加 followSymlinks 选项 (Matteo Collina) #62695
- [`f4ea495f9b`] - fs: 在 ESM 加载器中恢复 fs 的可 patch 性 (Joyee Cheung) #62835
- [`63c111cd60`] - fs: 在早期返回前验证 position 参数 (Edy Silva) #62674
- [`9705f628d9`] - (SEMVER-MINOR)fs: 为 fs.stat() 添加 signal 选项 (Mert Can Altin) #57775
- [`40ccfdecf9`] - (SEMVER-MINOR)fs: 在 statfs 中暴露 frsize 字段 (Jinho Jang) #62277
- [`717476a24e`] - http: 仅在缓冲区排空后才在 OutgoingMessage 上触发 'drain' (Robert Nagy) #62936
- [`d7188af5c9`] - (SEMVER-MINOR)http: 强化 ClientRequest 选项合并 (Matteo Collina) #63082
- [`64f15c274a`] - http: 修复同步 HTTP 请求创建与销毁时的泄漏错误监听器 (Tim Perry) #62872
- [`5c4798d799`] - http: 修复 no_proxy 前导点后缀匹配问题 (Daijiro Wachi) #62333
- [`9f3bc70ae5`] - http: 清理 pipeline 队列 (Robert Nagy) #62534
- [`aa1d8a9afc`] - (SEMVER-MINOR)http: 在 IncomingMessage 中添加 req.signal (Akshat) #62541
- [`900dc758ff`] - http2: 在兼容响应中暴露可写流状态 (T) #63003
- [`b3bfe35912`] - inspector: 在 webstorage 事件中将键和值强制转换为字符串 (Ali Hassan) #62616
- [`3dc3fb6ad8`] - inspector: 当 CDP 协议事件发射失败时返回错误 (Ryuhei Shima) #62162
- [`4f3f21bd7c`] - inspector: 自动收集 webstorage 数据 (Ryuhei Shima) #62145
- [`36cc04189d`] - inspector: 初始支持存储检查 (Ryuhei Shima) #61139
- [`1718bc3b9b`] - inspector: 修复网络 HTTP 中的绝对 URL (bugyaluwang) #62955
- [`97e32c7a74`] - lib: 避免启动快照回调中的二次方 shift() (Daijiro Wachi) #62914
- [`25d2e999de`] - lib: 使用 null 原型强化 kKeyOps 查找 (Filip Skokan) #62877
- [`37d3913c8f`] - lib: 短路 WebIDL BufferSource SAB 检查 (Filip Skokan) #62833
- [`430c69d25f`] - lib: 使用纯 JavaScript 实现
isDataView()(René) #62780 - [`3ba0add6a0`] - lib: 修复 internal/webstreams/util.js 中的 lint 问题 (Filip Skokan) #62806
- [`9b95c41398`] - lib: 修复 Blob 构造函数中的序列参数处理 (Ms2ger) #62179
- [`314dacdbee`] - lib: 改进 Web Cryptography 密钥验证顺序 (Filip Skokan) #62749
- [`3d18162430`] - lib: 根据规范拒绝在 Web APIs 中使用 SharedArrayBuffer (Ali Hassan) #62632
- [`ada3ce879d`] - lib: 推迟 AbortSignal.any() 的执行 (sangwook) #62367
- [`b2981ec7eb`] - meta: 将 actions/download-artifact 从 8.0.0 升级到 8.0.1 (dependabot[bot]) #62549
- [`7cd20667b5`] - meta: 将 github/codeql-action 从 4.35.1 升级到 4.35.3 (dependabot[bot]) #63074
- [`91a07cfe9f`] - meta: 将 Mozilla-Actions/sccache-action 从 0.0.9 升级到 0.0.10 (dependabot[bot]) #63073
- [`09e17fe47c`] - meta: 添加自动化策略 (Chengzhong Wu) #62871
- [`59e7fb7986`] - meta: 将 VoltrexKeyva 移至荣誉成员 (Matteo Collina) #62895
- [`1e2915cfa6`] - meta: 将 peter-evans/create-pull-request 从 8.1.0 升级到 8.1.1 (dependabot[bot]) #62845
- [`0253c6e2be`] - meta: 将 step-security/harden-runner 从 2.16.1 升级到 2.19.0 (dependabot[bot]) #62844
- [`f503675b86`] - meta: 将 actions/setup-node 从 6.3.0 升级到 6.4.0 (dependabot[bot]) #62842
- [`5e14e4d26e`] - meta: 扩展 stale bot 的规则 (Aviv Keller) #62658
- [`795db76f87`] - meta: 向 release worker 传递发布版本 (flakey5) #62777
- [`ef384fe39f`] - meta: 在 CODEOWNERS 中添加 QUIC (Tim Perry) #62652
- [`67e0ac568d`] - meta: 将 Michael 移至荣誉成员 (Michael Dawson) #62536
- [`5dad616393`] - meta: 在 update-openssl 工作流中为 slim runner 填充 apt 列表 (René) #62628
- [`a869d25d8a`] - meta: 将 step-security/harden-runner 从 2.15.0 升级到 2.16.1 (dependabot[bot]) #62550
- [`769efc0403`] - meta: 将 actions/setup-node 从 6.2.0 升级到 6.3.0 (dependabot[bot]) #62548
- [`73fcc2b055`] - meta: 将 github/codeql-action 从 4.32.4 升级到 4.35.1 (dependabot[bot]) #62547
- [`6c001246fe`] - meta: 将 codecov/codecov-action 从 5.5.2 升级到 6.0.0 (dependabot[bot]) #62545
- [`5ee40d6a03`] - meta: 将 actions/cache 从 5.0.3 升级到 5.0.4 (dependabot[bot]) #62543
- [`ca16ad8a05`] - meta: 在提交消息指南中要求 DCO 签名 (James M Snell) #62510
- [`db9497fc41`] - meta: 将内存泄漏 DoS 标准扩展到所有 DoS 类型 (Joyee Cheung) #62505
- [`13b7d08b8d`] - module: 从
_resolveFilename中移除重复检查 (Antoine du Hamel) #62729 - [`6b53efb53a`] - module,win: 修复长子路径导入问题 (Stefan Stojanovic) #62101
- [`841dfbf6fc`] - node-api: 更新 libuv ABI 稳定性说明 (Chengzhong Wu) #62789
- [`01090f2aa1`] - node-api: 添加 napi_create_external_sharedarraybuffer (Ben Noordhuis) #62623
- [`87443b4355`] - node-api: 在中止时,在队列清空后执行 tsfn 终结器 (Kevin Eady) #61956
- [`e95570c054`] - process: 仅在需要时处理拒绝 (Gürgün Dayıoğlu) #62919
- [`37d49f3219`] - process: 使用 FixedQueue 优化 asyncHandledRejections (Gürgün Dayıoğlu) #60854
- [`f697c55e38`] - quic: 添加 QuicEndpoint.listening 和 QuicStream.destroy() 及其测试 (Tim Perry) #62648
- [`c128942b69`] - quic: 修复令牌验证以处理零过期情况 (James M Snell) #62620
- [`abb881ec92`] - quic: 支持多 ALPN 协商 (James M Snell) #62620
- [`476926c2ad`] - quic: 应用多个 TLS 上下文改进和 SNI 支持 (James M Snell) #62620
- [`76d9c24b95`] - quic: 实现 rapidhash 以提升哈希性能 (James M Snell) #62620
- [`08726cd43d`] - quic: 将 quic 移动到编译时标志后(Matteo Collina)#61444
- [`ea4f19aaa7`] - quic: 对数据包使用 arena 分配(James M Snell)#62589
- [`21e9239e2a`] - quic: 修复 linting/格式问题(James M Snell)#62387
- [`edeed4303b`] - quic: 更新 http3 实现细节(James M Snell)#62387
- [`7f3a85e6aa`] - quic: 修复若干 bug 和缺失功能(James M Snell)#62387
- [`45c1ebddf8`] - quic: 复制 options.certs 缓冲区而不是分离它(Chengzhong Wu)#61403
- [`a31a8ee680`] - quic: 减少样板代码和其他小清理(James M Snell)#59342
- [`3be70ff43a`] - quic: 多项修复和更新(James M Snell)#59342
- [`b91a93444c`] - quic: 更新更多 quic 以使用新的编译保护(James M Snell)#59342
- [`ca0080c164`] - quic: 在 cid.h 中对少量注释进行了编辑(James M Snell)#59342
- [`6553202d83`] - quic: 修复 Windows 上的 NO_ERROR 宏冲突(James M Snell)#59381
- [`6df1508ac2`] - quic: 修复 Windows 覆盖率编译错误(James M Snell)#59381
- [`b2b0bf8b04`] - quic: 更新保护机制以检查 OpenSSL 版本(James M Snell)#59249
- [`5556b154bd`] - quic: 开始重新启用支持 OpenSSL 3.5 的 quic(James M Snell)#59249
- [`2ca42c8263`] - repl: 为
process.on('newListener')保持引用计数(Anna Henningsen)#61895 - [`2f37f9177f`] - sqlite: 对 ASCII 文本使用 OneByte 并内部化列名(Ali Hassan)#61954
- [`3c96ae1b2f`] - sqlite: 添加 serialize() 和 deserialize() 方法(Ali Hassan)#62579
- [`be4d2f3a4c`] - sqlite: 启用 Percentile 扩展(Jurj Andrei George)#61295
- [`dafed453b2`] - src: 清理实验性标志变量(Antoine du Hamel)#62759
- [`dca1e6aeea`] - src: 将帮助文本暴露到 node-config-schema.json(Pietro Marchini)#58680
- [`28c4f44eb1`] - src: 为配置文件添加权限支持(Marco Ippolito)#60746
- [`f49175b220`] - src: 修复 quic/streams.cc 中的小编译警告(James M Snell)#60118
- [`c9d4a446d8`] - src: 清理 quic TransportParams 类(James M Snell)#59884
- [`99bb02fd9e`] - src: 交换 dotenv 和配置文件解析顺序(Marco Ippolito)#63035
- [`ecb4d49b7b`] - src: 为 abort() 声明添加缺失的 <cstdlib>(Charles Kerr)#63001
- [`b6219b6362`] - src: 修复无效 using 语法导致的 GetErrorSource() 崩溃(semimikoh)#62770
- [`b5ca5ad4c5`] - src: 简化
TCPWrap::Connect签名(Anna Henningsen)#62929 - [`ef7ffce7cf`] - src: 在 AsyncWrap::MakeCallback 中使用 DCHECK 替代发出警告(Gerhard Stöbich)#62795
- [`cd9890a5ab`] - src: 修复 MaybeStackBuffer char_traits 弃用警告(om-ghante)#62507
- [`c70ff44aee`] - src: 使用上下文无关的 V8 消息列获取器(René)#62778
- [`06c405f1d7`] - src: 一次性将
spawnSync参数转换为字符串(Antoine du Hamel)#62633
- [`6151999ad6`] - src: 对小字符串编码使用栈分配 (Ali Hassan) #62431
- [`a71a4ac7a3`] - src: 添加 contextify 拦截器调试日志 (Chengzhong Wu) #62460
- [`ad9a2909c2`] - src: 修复 AIX libc++ std::filesystem 的 bug (Richard Lau) #62788
- [`7792f1ae47`] - stream: 校对
webstreams/adapter.js(Antoine du Hamel) #63034 - [`1397d8ce5c`] - stream: 移除重复的工具函数 (Antoine du Hamel) #63031
- [`ff86b1d64f`] - stream: 简化
setPromiseHandled工具函数 (Antoine du Hamel) #63032 - [`24a078149a`] - stream: 验证 ReadableStream.from 迭代器对象 (Daeyeon Jeong) #62911
- [`cfb1fa9680`] - stream: 拒绝重复的嵌套 transferables (Daeyeon Jeong) #62831
- [`d0c913758a`] - stream: 在 _duplexify 中确保跨销毁以防止内存泄漏 (Daijiro Wachi) #62824
- [`978f5c15d7`] - stream: 简化
readableStreamFromIterable(Antoine du Hamel) #62651 - [`3527646ba5`] - stream: 修复嵌套 compose 错误传播 (Matteo Collina) #62556
- [`dfb9edef4f`] - stream: 在可写 WebStream 适配器中允许共享 ArrayBuffer 源 (René) #62163
- [`f00cdab627`] - stream: 简化
createPromiseCallback(Antoine du Hamel) #62650 - [`3ed783535f`] - stream: 修复 fromWeb 中 writev 未处理的拒绝 (sangwook) #62297
- [`29b196694c`] - stream: 在已销毁的流上无操作地暂停/恢复 (Robert Nagy) #62557
- [`d73dbb9fc8`] - stream: 重构 duplexify 使其不易受原型污染影响 (Antoine du Hamel) #62559
- [`6f37f7e240`] - (SEMVER-MINOR)stream: 在 duplexPair 中传播销毁 (Ahmed Elhor) #61098
- [`b8816580e9`] - test: 在临时目录生成
localstorage.db(Chengzhong Wu) #62660 - [`31a863fd29`] - test: 更新 WPT 的 url 至 258f285de0 (Node.js GitHub Bot) #63087
- [`d0d19bd8e3`] - test: 更新 WPT 的 streams 至 f8f26a372f (Node.js GitHub Bot) #62864
- [`f50ac5bc78`] - test: 提高配置文件权限测试覆盖率 (Rafael Gonzaga) #60929
- [`a0f90000f4`] - test: 从 common 模块导出 isRiscv64 (Jamie Magee) #62609
- [`da4dd8646f`] - test: 将已知的 inspector 崩溃视为完成状态 (Joyee Cheung) #62851
- [`b7fdd94a4c`] - test: 考虑 OpenSSL 4.0 中 RFC 7919 FFDHE 协商 (Filip Skokan) #62805
- [`375a993aaf`] - test: 在 OpenSSL 4.0 上跳过已弃用的 tls-deprecated secp256k1 (Filip Skokan) #62805
- [`698d8287d1`] - test: 使用始终无效的密码并覆盖 OpenSSL 4.0 行为 (Filip Skokan) #62805
- [`036bc6f300`] - test: 使用有效的 DER OCSP 响应 (Filip Skokan) #62805
- [`3aa9938da8`] - test: 当引擎不受支持时跳过 test-tls-error-stack (Filip Skokan) #62805
- [`947f1ae246`] - test: 接受重命名的 OpenSSL 4.0 错误代码和原因 (Filip Skokan) #62805
- [`afdd355622`] - test: 更新 test/addons/openssl-binding 以适配 OpenSSL 4.0 (Filip Skokan) #62805
- [`8637524a99`] - test:标记 test-snapshot-reproducible 测试为易变的 (Filip Skokan) #62808
- [`c22d34134b`] - test:在严格模式下检查 contextify 上下文存储行为 (René) #62571
- [`0b4e0d3c94`] - test:更新 TLS 垃圾数据错误预期 (Filip Skokan) #62629
- [`85d83c2cdb`] - test:确保 WPT 报告位于 out/wpt 中 (Filip Skokan) #62637
- [`9e21711c60`] - test:改进 WPT 运行器摘要 (Filip Skokan) #62636
- [`e04e2c9ac1`] - test:跳过 url WPT 子测试而不是修改测试脚本 (Filip Skokan) #62635
- [`7b1211f88c`] - test:在调用时捕获负数 utimes mtime (Yuya Inoue) #62490
- [`f1a6e9fcc7`] - test:允许跳过单个 WPT 子测试 (Filip Skokan) #62517
- [`23f927542e`] - test:对 test-npm-install 使用磁盘上的 fixture (Joyee Cheung) #62584
- [`4739c45879`] - test:为 url 更新 WPT 至 7a3645b79a (Node.js GitHub Bot) #62591
- [`f68189b839`] - test_runner:向测试事件添加
testId(Moshe Atlow) #62772 - [`5c2770446e`] - test_runner:发布到 TracingChannel 用于 OTel 仪器化 (Moshe Atlow) #62502
- [`d14029be7f`] - (SEMVER-MINOR) test_runner:支持测试顺序随机化 (Pietro Marchini) #61747
- [`3f74a58979`] - test_runner:更新 node-config-schema (Pietro Marchini) #58680
- [`60c83f6199`] - test_runner:修复标记为
todo的失败套件钩子 (Moshe Atlow) #63097 - [`d142c584cd`] - (SEMVER-MINOR) test_runner:对齐 mock 超时 API (sangwook) #62820
- [`3e72065ed6`] - test_runner:修复套件重新运行的边缘情况 (Moshe Atlow) #62860
- [`01a9552585`] - (SEMVER-MINOR) test_runner:为 AbortSignal.timeout 添加 mock-timers 支持 (DeveloperViraj) #60751
- [`dd43efffa6`] - test_runner:向 SuiteContext 添加 passed、attempt 和 diagnostic (Moshe Atlow) #62504
- [`a12dc445cc`] - tools:在测试后添加检查干净的 git 树 (Antoine du Hamel) #62661
- [`5b49178375`] - tools:在 notify-on-push 工作流中使用 LTS Node.js (Nenad Spasenic) #63084
- [`5a93bde5bb`] - tools:将 gr2m/create-or-update-pull-request-action 更新至 v1.10.1 (Mike McCready) #63065
- [`b133019d19`] - tools:简化
update-undici.sh(Antoine du Hamel) #63044 - [`04d3538074`] - tools:不在无关工具更改上运行
test-linux(Antoine du Hamel) #63037 - [`4d396ac4a5`] - tools:更新 /tools/eslint 中的 eslint 组,包含 4 个更新 (dependabot[bot]) #62848
- [`9354bf40e7`] - tools:更新 gyp-next 到 0.22.1 (Node.js GitHub Bot) #62961
- [`c23db1ca85`] - tools:修复用于 semver-major 发布提案的提交 linting (Antoine du Hamel) #62993
- [`6e097ee3f1`] - tools:合并并简化 .editorconfig 的依赖部分 (Daijiro Wachi) #62887
- [`a47ea6d6ea`] - tools:将 bot 设置为 tools-deps-update PR 的作者 (Antoine du Hamel) #62856
- [`00e86f0471`] - tools:将 /tools/eslint 中的 brace-expansion 从 5.0.4 升级到 5.0.5 (dependabot[bot]) #62458
- [`cd7e262e75`] - tools: 在 /tools/clang-format 中升级 brace-expansion (dependabot[bot]) #62467
- [`bfc1319bc8`] - tools: 将 @node-core/doc-kit 排除在 dependabot 冷却期之外 (Levi Zim) #62775
- [`a932fbd10b`] - tools: 在每日 wpt.fyi 任务中重新启用 undici WPTs (Filip Skokan) #62677
- [`f7bd9e3055`] - tools: 更新 gyp-next 到 0.22.0 (Node.js GitHub Bot) #62697
- [`c400d46d87`] - tools: 改进 backport 审查脚本 (Antoine du Hamel) #62573
- [`be23b75814`] - tools: 改进 WTP 测试中意外通过的输出 (Antoine du Hamel) #62587
- [`609c013ece`] - tools: 将 OpenSSL 更新工作流回退到 ubuntu-latest (Richard Lau) #62627
- [`81bac1ebfd`] - tools: 在 /tools/eslint 中更新 eslint 组,包含 2 个更新 (dependabot[bot]) #62552
- [`1fee26522d`] - tools: 允许 triagers 将 PR 加入 CI 队列直到其被审查 (Antoine du Hamel) #62524
- [`332088f929`] - tools: 在发布提案上不运行
commit-lint(Antoine du Hamel) #62523 - [`9a25fc8a4d`] - url: 通过 pathToFileURL() 中格式错误的 UNC 主机名导致进程崩溃 (Nicola Del Gobbo) #62574
- [`7bd08ff60a`] - url: 优化 URLSearchParams 的 set/delete 重复处理 (Gürgün Dayıoğlu) #62266
- [`2d636388fa`] - url: 使 URLPattern 默认参数处理与 webidl 对齐 (Filip Skokan) #62719
- [`00705a459a`] - (SEMVER-MINOR)util: 使用十六进制颜色对文本着色 (Guilherme Araújo) #61556
- [`0e2adb3e45`] - watch: 在监视模式下跟踪 worker 入口文件 (SudhansuBandha) #62368
- [`c58fe38211`] - watch: 修复在 Linux 上缺少文件时
--env-file-if-exists崩溃的问题 (Efe) #61870
Windows 64 位安装程序:https://nodejs.org/dist/v24.16.0/node-v24.16.0-x64.msi
Windows ARM 64 位安装程序:https://nodejs.org/dist/v24.16.0/node-v24.16.0-arm64.msi
Windows 64 位二进制文件:https://nodejs.org/dist/v24.16.0/win-x64/node.exe
Windows ARM 64 位二进制文件:https://nodejs.org/dist/v24.16.0/win-arm64/node.exe
macOS 64 位安装程序:https://nodejs.org/dist/v24.16.0/node-v24.16.0.pkg
macOS Apple Silicon 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-darwin-arm64.tar.gz
macOS Intel 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-darwin-x64.tar.gz
Linux 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-x64.tar.xz
Linux PPC LE 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-ppc64le.tar.xz
Linux s390x 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-s390x.tar.xz
AIX 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-aix-ppc64.tar.gz
ARMv8 64 位二进制文件:https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-arm64.tar.xz
源代码:https://nodejs.org/dist/v24.16.0/node-v24.16.0.tar.gz
其他发布文件:https://nodejs.org/dist/v24.16.0/
文档:https://nodejs.org/docs/v24.16.0/api/
[SHASUMS](https://nodejs.org/en/blog/release/v24.16.0#shasums)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
30dfd8e44322c2712813f25e163c253cad53be43e098907b8b5348bf174a4968 node-v24.16.0-aix-ppc64.tar.gz
beac2056574ebc523d5feaad7cdc434cb1d752eba076db7ebb4b62bc13ec70b9 node-v24.16.0-arm64.msi
39189dab4eeb15706c424af0ac08a3044c9e48f7db12a7d77f6b7aafc7dd5df6 node-v24.16.0-darwin-arm64.tar.gz
e28ad5531b2aafe0ea555a51b2412c42fdc0f91a6a53fbd03ac93e3847e91389 node-v24.16.0-darwin-arm64.tar.xz
298b4c7b3cb80765c8703e42b90324a4ece3b6634947b89e769c3c980ab55185 node-v24.16.0-darwin-x64.tar.gz
6b144acbcfdbca75a1366100ff96e6bf6a4fe666b88a4bda7bfbd0299c82cca2 node-v24.16.0-darwin-x64.tar.xz
ee3466c7ed5101cdc82978a5164148204bfffae0ddacda24ef6d9805bdf4fc07 node-v24.16.0-headers.tar.gz
ea9d6006feabea5f73022968ee943d55474dd1589fe3f1118f1ed5492d688a45 node-v24.16.0-headers.tar.xz
589f5b6dd4fcfee4dfda73013903c966abaa8abd93dbc9d436544e472b4f0e74 node-v24.16.0-linux-arm64.tar.gz
524659219d6a207a7400f2bde15d19ba060ffbe0d32a8643319ad67e3bb64c78 node-v24.16.0-linux-arm64.tar.xz
252b5820534dc0304a28541c9a44437cfa7202e7f20225d28d493932c58e97aa node-v24.16.0-linux-ppc64le.tar.gz
d3d9f688f22c0293d3f72d6d0c541a41c90c3c6d4f3dd6d0acff3a90656d2c51 node-v24.16.0-linux-ppc64le.tar.xz
567af0975b3405516b9b1ddc64429a23ec8c5a2fa6cf01391261a4cc774e3edd node-v24.16.0-linux-s390x.tar.gz
b03477fddc8775ba73d74a3c5fce8582eb183741f6f55b7a992ccd252cffad91 node-v24.16.0-linux-s390x.tar.xz
2faf6a387e9b62b888e21c54f01249fb27537ffecf1842f29f4c919d0a59a0ff node-v24.16.0-linux-x64.tar.gz
d804845d34eddc21dc1092b519d643ef40b1f58ec5dec5c22b1f4bd8fabde6c9 node-v24.16.0-linux-x64.tar.xz
65843aafbab48999c9d5f072746836965340c9ef2fbf17a377d3f919dcb0cb7a node-v24.16.0.pkg
f511d32e3876cb54fa6ddccaa8dd46649ae6ebe9e499c57531c5ca56e7ad4548 node-v24.16.0.tar.gz
2ff84a6de70b6165290111b0fc656ded1ad207a799816fe720cc7c31232df30f node-v24.16.0.tar.xz
e4357cd1ef3b6c67fb99547c4b736aa6732e2b4abd38ece252e119332fb49621 node-v24.16.0-win-arm64.7z
14834611d4c6b3c06054e7007732b90474c16e0b32f395e05b55a571ef71c6d2 node-v24.16.0-win-arm64.zip
9f0ad977a75a1ca1a2ebe1294caf64e6c6b4de89d3b6dff218455de3fa0a3211 node-v24.16.0-win-x64.7z
edaca9bd58ec8e92037dac4e877d52f6b8f430b81c18b57e264b4e2fb111cd56 node-v24.16.0-win-x64.zip
43749d78a28ff11a36cb279407bc13e79bcfb8670e7926e469018d31c2ec6453 node-v24.16.0-x64.msi
6694c2553f41d6b7cd6e396536e9ad5a9f4e1b898d59e4e0ec5de127096eb6db win-arm64/node.exe
d32c3ff35f34b9593e5fcddc23ca779f4b40abfb9aa5a031d620f1ecb44ca935 win-arm64/node.lib
445c1f8fd832815ec168581153c4d6b9b631eefdab37774eb3856064b0a231de win-arm64/node_pdb.7z
798a58c15ba26972cbfcbe3b89ec5069e76652c1da9d6eb92cc6c4baef7f14a6 win-arm64/node_pdb.zip
b3094d0b49f9ad602262a9921551737bb97637c05dd357a06ae98188d7290aa3 win-x64/node.exe
4ab42af597bc4f0957e9e2dcd5db18bdf223406a0c8e0b6be0f28e57977b808b win-x64/node.lib
1f130dae5d59ea47c556b23460b891264d363c2f1a206ababd4e73ca4d2faaeb win-x64/node_pdb.7z
21dad3725d11505288cb93c0cffdc7a7f28ab09aee9e7981e03967ea50cbfd7d win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCag8GZwAKCRAgsaOQsWjT
VtNGAP9bmtHKXwhC4/zRS9dH1rg29N4rkewTC/JYLU6kVnwRMQD9FrvhnV0OiQzN
KAz6viuqtPt/jun0JHEw1AcKCmIVOQY=
=oONv
-----END PGP SIGNATURE-----