跳到主内容
精选85Node.js(GitHub Releases)语言与库

Node.js v24.20.0 'Krypton' (LTS):新增 package maps

2026-08-26, Version 24.20.0 'Krypton' (LTS), @aduh95

原文
推荐理由

Node.js 是开发者的核心运行时,本次 LTS 版本带来 package maps、permission.drop、JSPI 等多项新能力,建议升级以使用新特性并获取安全修复。

Notable Changes

显著变化

  • [b12bcc9ae1] - (SEMVER-MINOR) async_hooks: add using scopes to AsyncLocalStorage (Stephen Belanger) #61674
  • [e2eb88b36b] - (SEMVER-MINOR) buffer: add end parameter (Robert Nagy) #62390
  • [1fefdda18e] - crypto: update root certificates to NSS 3.125 (Node.js GitHub Bot) #64746
  • [4a158cf1ab] - doc: add MikeMcC399 as collaborator (Mike McCready) #64656
  • [d4cafce076] - (SEMVER-MINOR) lib,permission: add permission.drop (Rafael Gonzaga) #62672
  • [b3cfb55267] - (SEMVER-MINOR) loader: implement package maps (Maël Nison) #62239
  • [cd1eb3e60b] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) #61869
  • [28dc85d8d2] - (SEMVER-MINOR) stream: add node:stream/iter implementation (James M Snell) #62066
  • [d31c168740] - (SEMVER-MINOR) test_runner: add context.log() and test:log event (Moshe Atlow) #64389
  • [add1edbc42] - (SEMVER-MINOR) test_runner: report entryFile in TestStream events (Moshe Atlow) #64309
  • [d937c8c6cd] - (SEMVER-MINOR) wasm: enable JSPI (Guy Bedford) #59941
  • [b12bcc9ae1] - (SEMVER-MINOR) async_hooks: 为 AsyncLocalStorage 添加 using 作用域 (Stephen Belanger) #61674
  • [e2eb88b36b] - (SEMVER-MINOR) buffer: 添加 end 参数 (Robert Nagy) #62390
  • [1fefdda18e] - crypto: 更新根证书至 NSS 3.125 (Node.js GitHub Bot) #64746
  • [4a158cf1ab] - doc: 添加 MikeMcC399 作为协作者 (Mike McCready) #64656
  • [d4cafce076] - (SEMVER-MINOR) lib,permission: 添加 permission.drop (Rafael Gonzaga) #62672
  • [b3cfb55267] - (SEMVER-MINOR) loader: 实现包映射 (Maël Nison) #62239
  • [cd1eb3e60b] - (SEMVER-MINOR) src,permission: 添加 --permission-audit (RafaelGSS) #61869
  • [28dc85d8d2] - (SEMVER-MINOR) stream: 添加 node:stream/iter 实现 (James M Snell) #62066
  • [d31c168740] - (SEMVER-MINOR) test_runner: 添加 context.log() 和 test:log 事件 (Moshe Atlow) #64389
  • [add1edbc42] - (SEMVER-MINOR) test_runner: 在 TestStream 事件中报告 entryFile (Moshe Atlow) #64309
  • [d937c8c6cd] - (SEMVER-MINOR) wasm: 启用 JSPI (Guy Bedford) #59941

Commits

提交

  • [1822c0f335] - assert,util: fix TypeError on Maps with null keys (Paul Bouchon) #64441
  • [b12bcc9ae1] - (SEMVER-MINOR) async_hooks: add using scopes to AsyncLocalStorage (Stephen Belanger) #61674
  • [984260bf44] - async_hooks: use validateBoolean for trackPromises (Soul Lee) #64731
  • [ba2612cca2] - benchmark: fix calibrate-n option handling (Luan Muniz) #64146
  • [236dc4d2d7] - benchmark: add bytes variant to webstreams async-iterator (Matteo Collina) #64291
  • [b022a1419c] - benchmark: respect stream/iter broadcast backpressure (Trivikram Kamat) #63314
  • [a290f51f15] - (SEMVER-MINOR) benchmark: add benchmarks for experimental stream/iter (James M Snell) #62066
  • [465f2bfb74] - buffer: use Clamp conversion in Blob slice (Donghoon Kang) #64739
  • [74a22cd0c5] - buffer: validate copyArrayBuffer offsets against buffer length (Ilia Alshanetsky) #63904
  • [21e24208dc] - buffer: normalize lone "\r" in Blob native line endings (Daijiro Wachi) #64115
  • [ddacb3ff10] - buffer: fix Blob.stream() leaking source buffer (semimikoh) #63577
  • [49198d2313] - buffer: fix end parameter bugs in indexOf/lastIndexOf (Robert Nagy) #62711
  • [e2eb88b36b] - (SEMVER-MINOR) buffer: add end parameter (Robert Nagy) #62390
  • [e2e5c4fe88] - build: update binary-upload to use correct tarball name (Stewart X Addison) #65282
  • [b78a212553] - build: pin envinfo versions in github actions (Joyee Cheung) #64117
  • [094fb840aa] - build: add QUIC CI job for PRs matching QUIC related paths (Tim Perry) #63875
  • [91f5003cad] - build: fix flags for ngtcp2 on IBM i (SRAVANI GUNDEPALLI) #60073
  • [e83648effd] - build,test: add tests for binary linked with shared libnode (Joyee Cheung) #61463
  • [4a425b41d9] - build,tools: fix shared library cross-compile (Kirill Saied) #63963
  • [fe8fa45ff2] - cli: style node --help output with util.styleText (Adrián Estrada) #64484
  • [3cd1576cb2] - crypto: preserve OpenSSL errors from KDF failures (Filip Skokan) #64776
  • [74b3023565] - crypto: handle XOF output allocation failure (Filip Skokan) #64851
  • [fea0666a1b] - crypto: clarify missing cipher error (Filip Skokan) #64852
  • [33fec91b54] - crypto: reuse X509 issuer result (Filip Skokan) #64852
  • [44c1473348] - crypto: validate key generation options (Filip Skokan) #64852
  • [c2c53a18e5] - crypto: fix Argon2 validation errors (Filip Skokan) #64852
  • [edc1f2126d] - crypto: initialize KeyObjectData mutex eagerly (Filip Skokan) #64851
  • [be8237240c] - crypto: handle DH operation failures (Filip Skokan) #64851
  • [b65a8f3875] - crypto: preserve RSA-PSS legacy pubkey DER (Filip Skokan) #64547
  • [49f2ae204b] - crypto: cleanse provider private key copies (Filip Skokan) #64547
  • [a5d4ac8208] - crypto: handle incomplete RSA private keys (Filip Skokan) #64547
  • [b72c0b9616] - crypto: retain legacy DH validation (Filip Skokan) #64547
  • [24a1be5886] - crypto: limit KangarooTwelveParams customization to 512 bytes (Filip Skokan) #64557
  • [0290e0a61e] - crypto: split OpenSSL 3, BoringSSL, and legacy backends (Filip Skokan) #64211
  • [ba27e72ff8] - crypto: fix Argon2 bypassing FIPS mode (Filip Skokan) #64776
  • [1fefdda18e] - crypto: update root certificates to NSS 3.125 (Node.js GitHub Bot) #64746
  • [c0dd022081] - crypto: use user-facing error for output encoding changes (Archkon) #64692
  • [ff485a9410] - crypto: make --use-system-ca per-env rather than per-process (Aditi) #60678
  • [1329d9b9f1] - debugger: preserve overlapping CDP request state (Trivikram Kamat) #64467
  • [82a02336aa] - deps: V8: backport d259a9e2ead7 (Leszek Swirski) #63865
  • [f0fc82d404] - deps: update ngtcp2 to 1.25.0 (Node.js GitHub Bot) #64944
  • [c4e02f0fbc] - deps: upgrade npm to 11.19.0 (npm team) #64883
  • [d5a57ed4dd] - deps: update nghttp3 to 1.18.0 (Node.js GitHub Bot) #64943
  • [51d413150a] - deps: update minimatch to 10.2.6 (Node.js GitHub Bot) #64945
  • [21f79ce140] - deps: update simdjson to 4.6.6 (Node.js GitHub Bot) #64942
  • [7a4960d6a9] - deps: update acorn to 8.18.0 (Node.js GitHub Bot) #64941
  • [5c423aa113] - deps: update googletest to 1b6f64d659944658a4c685b7bd9f04c1c3b8a39b (Node.js GitHub Bot) #64940
  • [40561e61b0] - deps: update nghttp2 to 1.70.0 (Node.js GitHub Bot) #64939
  • [51090925b0] - deps: update zlib to 1.3.2.1-motley-42c2f19 (Node.js GitHub Bot) #64744
  • [7c534bf8e5] - deps: V8: backport 5177b10891e6 (avivkeller) #64631
  • [7b1898a341] - deps: update ada to 4.0.0 (Node.js GitHub Bot) #64790
  • [9209cc4095] - deps: update sqlite to 3.53.4 (Node.js GitHub Bot) #64745
  • [3833fceff6] - deps: update googletest to fa005b296f90faec4f352d7ab382287bf6548c8d (Node.js GitHub Bot) #64587
  • [bc7ce488d1] - deps: histogram: cherry-pick 62ea52b07ee9b195 (StefanStojanovic) #64296
  • [e3fa05841d] - deps: update histogram to 0.11.10 (Node.js GitHub Bot) #64296
  • [e75bdb9bbe] - deps: update amaro to 1.1.11 (Node.js GitHub Bot) #64586
  • [1e034e6e40] - deps: update timezone to 2026c (Node.js GitHub Bot) #64588
  • [2b8f1f27bd] - deps: update googletest to 8240fa7d62f73e01c7af27d61ed965d6d66698fa (Node.js GitHub Bot) #64439
  • [241ece0417] - deps: enable OpenSSL asm support for riscv64 (Jamie Magee) #62606
  • [215105eb90] - deps: update c-ares to 1.34.8 (Node.js GitHub Bot) #64330
  • [7ac97fc84e] - deps: upgrade npm to 11.18.0 (npm team) #64199
  • [8d4cb9ae46] - deps: update zlib to 1.3.2.1-motley-8b3aa8a (Node.js GitHub Bot) #64295
  • [564c0f4592] - deps: update ngtcp2 to 1.24.0 (Node.js GitHub Bot) #64297
  • [e3304cd31a] - deps: update nghttp3 to 1.17.0 (Node.js GitHub Bot) #64182
  • [345d6ad4eb] - deps: update ngtcp2 to 1.23.0 (Node.js GitHub Bot) #63777
  • [a53db015e6] - deps: update nghttp3 to 1.16.0 (Node.js GitHub Bot) #63776
  • [1f4a5c1c76] - deps: update ngtcp2 to 1.22.1 (Node.js GitHub Bot) #62812
  • [080c4d7cda] - deps: update ngtcp2 to 1.22.0 (Node.js GitHub Bot) #62595
  • [4309e7c82f] - deps: update ngtcp2 to 1.21.0 (Node.js GitHub Bot) #62051
  • [90cf11cfb5] - deps: update nghttp3 to 1.15.0 (Node.js GitHub Bot) #61512
  • [e1f315a554] - deps: update ngtcp2 to 1.20.0 (Node.js GitHub Bot) #61511
  • [9a3f690c9d] - deps: update ngtcp2 to 1.19.0 (Node.js GitHub Bot) #61156
  • [fe88f31764] - deps: add ngtcp2 test binaries (James M Snell) #59946
  • [6d60fce138] - diagnostics_channel: grow native channel storage (Stephen Belanger) #64497
  • [30ae8ab091] - doc: document --permission-audit audit mode behavior (Adrián Estrada) #64791
  • [8cefc6efa8] - doc: fix guaranteed typo (lilianakatrina684-a11y) #62374
  • [2e78e4b120] - doc: add throwIfNoEntry version history to fs.stat (kovan) #62204
  • [c7a04401cb] - doc: fix grammar and punctuation in dgram documentation (Kamal Rawal) #64957
  • [331e5e8f62] - doc: fix grammar and editorial issues in addons documentation (Kamal Rawal) #64952
  • [232287fcc6] - doc: formalize fn/name as part of TestOptions API (Christopher Hiller) #64946
  • [7f9efeb445] - doc: remove references to ca/crl as per-context QuicSession options (René) #64769
  • [1822c0f335] - assert,util: 修复 Maps 中 null 键导致的 TypeError (Paul Bouchon) #64441
  • [b12bcc9ae1] - (SEMVER-MINOR) async_hooks: 为 AsyncLocalStorage 添加 using 作用域 (Stephen Belanger) #61674
  • [984260bf44] - async_hooks: 使用 validateBoolean 验证 trackPromises (Soul Lee) #64731
  • [ba2612cca2] - benchmark: 修复 calibrate-n 选项处理 (Luan Muniz) #64146
  • [236dc4d2d7] - benchmark: 为 webstreams async-iterator 添加字节变体 (Matteo Collina) #64291
  • [b022a1419c] - benchmark: 尊重 stream/iter 广播背压 (Trivikram Kamat) #63314
  • [a290f51f15] - (SEMVER-MINOR) benchmark: 为实验性 stream/iter 添加基准测试 (James M Snell) #62066
  • [465f2bfb74] - buffer: 在 Blob slice 中使用 Clamp 转换 (Donghoon Kang) #64739
  • [74a22cd0c5] - buffer: 验证 copyArrayBuffer 偏移量相对于缓冲区长度 (Ilia Alshanetsky) #63904
  • [21e24208dc] - buffer: 规范化 Blob 原生行尾中的孤立 "\r" (Daijiro Wachi) #64115
  • [ddacb3ff10] - buffer: 修复 Blob.stream() 泄漏源缓冲区的问题 (semimikoh) #63577
  • [49198d2313] - buffer: 修复 indexOf/lastIndexOf 中 end 参数的错误 (Robert Nagy) #62711
  • [e2eb88b36b] - (SEMVER-MINOR) buffer: 添加 end 参数 (Robert Nagy) #62390
  • [e2e5c4fe88] - build: 更新 binary-upload 以使用正确的 tarball 名称 (Stewart X Addison) #65282
  • [b78a212553] - build: 在 GitHub Actions 中固定 envinfo 版本 (Joyee Cheung) #64117
  • [094fb840aa] - build: 为匹配 QUIC 相关路径的 PR 添加 QUIC CI 任务 (Tim Perry) #63875
  • [91f5003cad] - build: 修复 IBM i 上 ngtcp2 的标志 (SRAVANI GUNDEPALLI) #60073
  • [e83648effd] - build,test: 添加与共享 libnode 链接的二进制文件的测试 (Joyee Cheung) #61463
  • [4a425b41d9] - build,tools: 修复共享库交叉编译 (Kirill Saied) #63963
  • [fe8fa45ff2] - cli: 使用 util.styleText 样式化 node --help 输出 (Adrián Estrada) #64484
  • [3cd1576cb2] - crypto: 保留 KDF 失败时的 OpenSSL 错误 (Filip Skokan) #64776
  • [74b3023565] - crypto: 处理 XOF 输出分配失败 (Filip Skokan) #64851
  • [fea0666a1b] - crypto: 澄清缺失密码错误 (Filip Skokan) #64852
  • [33fec91b54] - crypto: 重用 X509 签发者结果 (Filip Skokan) #64852
  • [44c1473348] - crypto: 验证密钥生成选项 (Filip Skokan) #64852
  • [c2c53a18e5] - crypto: 修复 Argon2 验证错误 (Filip Skokan) #64852
  • [edc1f2126d] - crypto: 急切初始化 KeyObjectData 互斥锁 (Filip Skokan) #64851
  • [be8237240c] - crypto: 处理 DH 操作失败 (Filip Skokan) #64851
  • [b65a8f3875] - crypto: 保留 RSA-PSS 遗留公钥 DER (Filip Skokan) #64547
  • [49f2ae204b] - crypto: 清除提供者私钥副本 (Filip Skokan) #64547
  • [a5d4ac8208] - crypto: 处理不完整的 RSA 私钥 (Filip Skokan) #64547
  • [b72c0b9616] - crypto: 保留遗留 DH 验证 (Filip Skokan) #64547
  • [24a1be5886] - crypto: 将 KangarooTwelveParams 自定义限制为 512 字节 (Filip Skokan) #64557
  • [0290e0a61e] - crypto: 拆分 OpenSSL 3、BoringSSL 和遗留后端 (Filip Skokan) #64211
  • [ba27e72ff8] - crypto: 修复 Argon2 绕过 FIPS 模式 (Filip Skokan) #64776
  • [1fefdda18e] - crypto: 更新根证书至 NSS 3.125 (Node.js GitHub Bot) #64746
  • [c0dd022081] - crypto: 对输出编码更改使用面向用户的错误 (Archkon) #64692
  • [ff485a9410] - crypto: 使 --use-system-ca 按环境而非按进程生效 (Aditi) #60678
  • [1329d9b9f1] - debugger: 保留重叠的 CDP 请求状态 (Trivikram Kamat) #64467
  • [82a02336aa] - deps: V8: 反向移植 d259a9e2ead7 (Leszek Swirski) #63865
  • [f0fc82d404] - deps: 更新 ngtcp2 至 1.25.0 (Node.js GitHub Bot) #64944
  • [c4e02f0fbc] - deps: 升级 npm 至 11.19.0 (npm team) #64883
  • [d5a57ed4dd] - deps: 更新 nghttp3 至 1.18.0 (Node.js GitHub Bot) #64943
  • [51d413150a] - deps: 更新 minimatch 至 10.2.6 (Node.js GitHub Bot) #64945
  • [21f79ce140] - deps: 更新 simdjson 至 4.6.6 (Node.js GitHub Bot) #64942
  • [7a4960d6a9] - deps: 更新 acorn 至 8.18.0 (Node.js GitHub Bot) #64941
  • [5c423aa113] - deps: 更新 googletest 至 1b6f64d659944658a4c685b7bd9f04c1c3b8a39b (Node.js GitHub Bot) #64940
  • [40561e61b0] - deps: 更新 nghttp2 至 1.70.0 (Node.js GitHub Bot) #64939
  • [51090925b0] - deps: 更新 zlib 至 1.3.2.1-motley-42c2f19 (Node.js GitHub Bot) #64744
  • [7c534bf8e5] - deps: V8: 反向移植 5177b10891e6 (avivkeller) #64631
  • [7b1898a341] - deps: 更新 ada 至 4.0.0 (Node.js GitHub Bot) #64790
  • [9209cc4095] - deps: 更新 sqlite 至 3.53.4 (Node.js GitHub Bot) #64745
  • [3833fceff6] - deps: 更新 googletest 至 fa005b296f90faec4f352d7ab382287bf6548c8d (Node.js GitHub Bot) #64587
  • [bc7ce488d1] - deps: histogram: 精选 62ea52b07ee9b195 (StefanStojanovic) #64296
  • [e3fa05841d] - deps: 更新 histogram 至 0.11.10 (Node.js GitHub Bot) #64296
  • [e75bdb9bbe] - deps: 更新 amaro 至 1.1.11 (Node.js GitHub Bot) #64586
  • [1e034e6e40] - deps: 更新 timezone 至 2026c (Node.js GitHub Bot) #64588
  • [2b8f1f27bd] - deps: 更新 googletest 至 8240fa7d62f73e01c7af27d61ed965d6d66698fa (Node.js GitHub Bot) #64439
  • [241ece0417] - deps: 为 riscv64 启用 OpenSSL asm 支持 (Jamie Magee) #62606
  • [215105eb90] - 依赖:更新 c-ares 至 1.34.8 (Node.js GitHub Bot) #64330
  • [7ac97fc84e] - 依赖:升级 npm 至 11.18.0 (npm 团队) #64199
  • [8d4cb9ae46] - 依赖:更新 zlib 至 1.3.2.1-motley-8b3aa8a (Node.js GitHub Bot) #64295
  • [564c0f4592] - 依赖:更新 ngtcp2 至 1.24.0 (Node.js GitHub Bot) #64297
  • [e3304cd31a] - 依赖:更新 nghttp3 至 1.17.0 (Node.js GitHub Bot) #64182
  • [345d6ad4eb] - 依赖:更新 ngtcp2 至 1.23.0 (Node.js GitHub Bot) #63777
  • [a53db015e6] - 依赖:更新 nghttp3 至 1.16.0 (Node.js GitHub Bot) #63776
  • [1f4a5c1c76] - 依赖:更新 ngtcp2 至 1.22.1 (Node.js GitHub Bot) #62812
  • [080c4d7cda] - 依赖:更新 ngtcp2 至 1.22.0 (Node.js GitHub Bot) #62595
  • [4309e7c82f] - 依赖:更新 ngtcp2 至 1.21.0 (Node.js GitHub Bot) #62051
  • [90cf11cfb5] - 依赖:更新 nghttp3 至 1.15.0 (Node.js GitHub Bot) #61512
  • [e1f315a554] - 依赖:更新 ngtcp2 至 1.20.0 (Node.js GitHub Bot) #61511
  • [9a3f690c9d] - 依赖:更新 ngtcp2 至 1.19.0 (Node.js GitHub Bot) #61156
  • [fe88f31764] - 依赖:添加 ngtcp2 测试二进制文件 (James M Snell) #59946
  • [6d60fce138] - diagnostics_channel:扩展原生通道存储 (Stephen Belanger) #64497
  • [30ae8ab091] - 文档:记录 --permission-audit 审计模式行为 (Adrián Estrada) #64791
  • [8cefc6efa8] - 文档:修复“guaranteed”拼写错误 (lilianakatrina684-a11y) #62374
  • [2e78e4b120] - 文档:为 fs.stat 添加 throwIfNoEntry 版本历史 (kovan) #62204
  • [c7a04401cb] - 文档:修复 dgram 文档中的语法和标点错误 (Kamal Rawal) #64957
  • [331e5e8f62] - 文档:修复 addons 文档中的语法和编辑问题 (Kamal Rawal) #64952
  • [232287fcc6] - 文档:将 fn/name 正式纳入 TestOptions API (Christopher Hiller) #64946
  • [7f9efeb445] - 文档:移除 QuicSession 选项中关于 ca/crl 的上下文相关引用 (René) #64769

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

另一事件,读法相近