Traceary

Catalog / Node.js

24.20.0

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

todaysecurityaddedfixedOriginal notes

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

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
  • [b54aa83cc6] - doc: fix typo in maintaining-dependencies.md (greenhead) #64896
  • [f4e427803c] - doc: add RafaelGSS as last security release stewards (Rafael Gonzaga) #64843
  • [f2cd6df3f3] - doc: fix typos in documentation (greenhead) #64900
  • [d5627162bd] - doc: improve TestContext hook descriptions (Kamal Rawal) #64899
  • [72ee03bd2e] - doc: document stream.isDestroyed() (YspritanHyzygy) #64789
  • [995141eb81] - doc: add contributing detail for git Signed-off-by trailer (Mike McCready) #64862
  • [dc30379310] - doc: fix duplicated word in test snapshot docs (Kamal Rawal) #64837
  • [205d4d0472] - doc: remove obsolete cctest node.gyp instructions (Soul Lee) #64814
  • [108b883d0b] - doc: report proper return type on url.format (Brian Muenzenmeyer) #64806
  • [b03bd3a8ed] - doc: clarify tlsSocket.authorized on resumption (soreavis) #64584
  • [093098ad7f] - doc: stabilize --disable-warning (Jean Michelet) #64742
  • [2de1d76d80] - doc: add MDN links for explicit resource management in fs (lluisemper) #59557
  • [2e0f36a891] - doc: mention constructor check in deepStrictEqual (Sumit Kumar Das) #62010
  • [1c9d354d09] - doc: update technical priorities (Jacob Smith) #64505
  • [30c99bf08f] - doc: deprecation add more codemod (Augustin Mauroy) #63175
  • [8a971a09eb] - doc: run license-builder (Node.js GitHub Bot) #63918
  • [707f6eacfc] - doc: clarify rules for adding new built-in modules (Antoine du Hamel) #64648
  • [928208cffc] - doc: mention DEPENDENCY custom field for H1 reports (Rafael Gonzaga) #64634
  • [ee593cadf5] - doc: fix dnsPromises.lookup verbatim default (Shivam S) #64658
  • [9c228b32d1] - doc: fix typo in releases guide (Jihwan) #64621
  • [4a158cf1ab] - doc: add MikeMcC399 as collaborator (Mike McCready) #64656
  • [8125809853] - doc: use promote wording in release guide (Md Muhtasim Munif Fahim) #64371
  • [2a2effadf6] - doc: fix import.meta example for vm.SourceTextModule (Muhammad Zeeshan) #64112
  • [c879f912bf] - doc: mention crypto.hash() for better perf (Steven) #63420
  • [634afda904] - doc: update sea example by fixing wrong code example (Maxence Robinet) #64025
  • [bced1433a3] - doc: fix socket.readyState state descriptions (YuSheng Chen) #64468
  • [4b2c18938f] - doc: replace large tables in crypto.md and webcrypto.md with lists (Filip Skokan) #64582
  • [5207231996] - doc: note --env-file is not applied to --run (Paul Bouchon) #64442
  • [329a2884fd] - doc: fix typo in embedding.md (greenhead) #64425
  • [fab3f56aa1] - doc: fix typos in contributing docs (Donghoon Kang) #64520
  • [cbc2bed4e8] - doc: document TLS alpnProtocol and servername fields (Tim Perry) #64362
  • [dada3ae60e] - doc: fix spelling in devcontainer guide (한만욱) #64459
  • [71343b28aa] - doc: clarify PEM format for signing keys (Harjoth Khara) #64404
  • [0544ec1c78] - doc: fix typo in tls.md (Daijiro Wachi) #64458
  • [8fe58078e7] - doc: document net Socket server property (Efe Karasakal) #64364
  • [d54fd03fa4] - doc: update a Dispatcher undici doc link (Filip Skokan) #64358
  • [1bdebecd41] - doc: fix typos in documentation (Jungwon Sohn) #64466
  • [86bca58641] - doc: clarify fixes and refs trailer guidance (Trivikram Kamat) #64421
  • [b5b84c9394] - doc: add scope overview tables for TestsStream events (Moshe Atlow) #64386
  • [004238d77c] - doc: clarify proxy threat model (Matteo Collina) #64366
  • [6851b8d55f] - doc: add note about restricted CI to pull-requests.md (Stewart X Addison) #64321
  • [662e33714a] - doc: various updates to releases.md (Stewart X Addison) #64198
  • [949bc3cfd3] - doc: remove obsolete --napi-modules doc entry (Chengzhong Wu) #64220
  • [830d16067f] - doc: clarify QUIC stream state wording (EduardF1) #63660
  • [79b6704630] - doc: fix typo in node-config-schema.json (Hamid Reza Ghavami) #64188
  • [9f5bf554db] - doc: fix broken link (Antoine du Hamel) #65078
  • [42b27ed428] - doc: remove unsupported syntax from stream_iter.md (Antoine du Hamel) #64649
  • [f1a9df7f22] - doc: clarify fromReadable() duck-typed contract (Trivikram Kamat) #63682
  • [c7a3d450ac] - doc: improve quic documentation (James M Snell) #63157
  • [cc425bc659] - doc: fix promise nomenclature in stream_iter.md (Antoine du Hamel) #63406
  • [859a02da96] - doc: minor structural stream/iter edits (René) #63089
  • [630b15eb20] - doc: fix doubled word typo in stream_iter.md (Daijiro Wachi) #62916
  • [50791fa8fa] - doc,test: widen fsPromises.appendFile()'s data type, add missing tests (Jimmy Leung) #64279
  • [9e39360a09] - esm: improve ERR_REQUIRE_ASYNC_MODULE (Joyee Cheung) #64260
  • [d2b02e443a] - esm: print required top-level await locations without evaluating (Joyee Cheung) #64154
  • [e8c153f3f4] - events: avoid retaining removed event names (Matteo Collina) #64475
  • [73e1701bad] - events: optimize once() and removeListener() (Matteo Collina) #64373
  • [12f7fc0558] - fs: key glob matcher cache by platform (Archkon) #64571
  • [e5af022302] - fs: add pattern cache for matchGlobPattern() (bq) #63915
  • [63321eeb11] - fs: fix cp symlink and EEXIST handling on Windows (Kirill Saied) #64353
  • [0ad55e5618] - http: fix writableFinished and 'finish' after write errors (Tim Perry) #64847
  • [ee54d9d4d2] - http: avoid aborting IncomingMessage signal on normal close (Archkon) #64392
  • [14cb8b0a06] - http: guard invalid timeout values in checkConnections (Efe Karasakal) #64506
  • [f24177ccc6] - http: propagate highWaterMark to ClientRequest OutgoingMessage (trivenay) #64653
  • [55e2c2da8c] - http: fix perf_hooks detail.req.url port and proxied path (Stefano Baghino) #64311
  • [b57350fe27] - http: remove unused n arg from IncomingMessage._read (Efe Karasakal) #64370
  • [af3a17e0b3] - http2: avoid copying the options in respond() (Matteo Collina) #64265
  • [f11ac0da37] - http2: avoid per-write closures in kWriteGeneric (Matteo Collina) #64265
  • [157bd07b6e] - http2: reduce per-request allocations (Matteo Collina) #64265
  • [b075b33429] - http2: don't throw when destroying socket proxy (Matteo Collina) #64427
  • [445bcce079] - inspector: add --cond to node inspect probe mode (Joyee Cheung) #64328
  • [06b54fe7d3] - lib: fix AbortSignal.any() observed-composite leak (Paul Bouchon) #64481
  • [

These notes run past the length kept in the archive. The rest is on the publisher’s page.