Loading
chore(deps): update node.js to v24.20.0
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| node (source) | image | minor | 24.16.0-alpine → 24.20.0-alpine |
Release Notes
nodejs/node (node)
v24.20.0: 2026-08-26, Version 24.20.0 'Krypton' (LTS), @aduh95
Notable Changes
- [
b12bcc9ae1] - (SEMVER-MINOR) async_hooks: addusingscopes toAsyncLocalStorage(Stephen Belanger) #61674 - [
e2eb88b36b] - (SEMVER-MINOR) buffer: addendparameter (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: addpermission.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: addnode:stream/iterimplementation (James M Snell) #62066 - [
d31c168740] - (SEMVER-MINOR) test_runner: addcontext.log()and test:log event (Moshe Atlow) #64389 - [
add1edbc42] - (SEMVER-MINOR) test_runner: reportentryFileinTestStreamevents (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 MRs 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: backportd259a9e(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 to1b6f64d(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: backport5177b10(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 tofa005b2(Node.js GitHub Bot) #64587 - [
bc7ce488d1] - deps: histogram: cherry-pick62ea52b(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 to8240fa7(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 toca/crlas 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 fromstream_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 instream_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 - [
d8fac094d1] - lib: fix typo in comment in _http_client.js (agape1225) #64729 - [
9ce72fd6fb] - lib: useassignFunctionNameutil where it makes sense (Antoine du Hamel) #64515 - [
c40d1473e6] - lib,permission: fix addon permission drop (Martin Wagner) #64007 - [
d4cafce076] - (SEMVER-MINOR) lib,permission: add permission.drop (Rafael Gonzaga) #62672 - [
6b09d30a76] - lib,tools: addnode-core/func-name-matchinglint rule (Livia Medeiros) #57901 - [
d7d4f0e2ac] - loader: enforce path normalization before lookup (Maël Nison) #63917 - [
b3cfb55267] - (SEMVER-MINOR) loader: implement package maps (Maël Nison) #62239 - [
cf425ad935] - meta: bump actions/stale from 10.3.0 to 11.0.0 (dependabot[bot]) #64935 - [
26fa9cc32b] - meta: bump github/codeql-action/analyze from 4.36.2 to 4.37.3 (dependabot[bot]) #64934 - [
c90fa82cd7] - meta: bump github/codeql-action/autobuild from 4.36.2 to 4.37.3 (dependabot[bot]) #64933 - [
314893253a] - meta: bump actions/setup-python from 6.3.0 to 7.0.0 (dependabot[bot]) #64932 - [
6ab711278f] - meta: bump github/codeql-action/init from 4.36.2 to 4.37.3 (dependabot[bot]) #64931 - [
9138f5892a] - meta: bump Mozilla-Actions/sccache-action from 0.0.10 to 0.0.11 (dependabot[bot]) #64930 - [
3ef3f934d4] - meta: bump github/codeql-action/upload-sarif from 4.36.2 to 4.37.3 (dependabot[bot]) #64927 - [
a0a33127ae] - meta: bump step-security/harden-runner from 2.19.4 to 2.20.0 (dependabot[bot]) #64926 - [
4ad2afbf33] - meta: bump ossf/scorecard-action from 2.4.3 to 2.4.4 (dependabot[bot]) #64925 - [
d9b2ee4083] - meta: add @nodejs/url as codeowner for node_url_pattern.* (Efe Karasakal) #64737 - [
2b43b78e82] - meta: lower stale to 3 months (Aviv Keller) #64569 - [
0ffe8352ae] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #64315 - [
afd922cd8a] - meta: bump actions/checkout from 6.0.2 to 7.0.0 (dependabot[bot]) #64245 - [
b6149a2976] - meta: bump actions/setup-python from 6.2.0 to 6.3.0 (dependabot[bot]) #64241 - [
8f4a5c622f] - meta: update sccache version in test-linux-quic (René) #64043 - [
9040b08696] - net: support TCP handle transfer on Windows (Matteo Collina) #64460 - [
1216481a09] - net: support AF_UNIX paths in net.BoundSocket (Guy Bedford) #64399 - [
f6bf3f8a5d] - net: support sync connect for BoundSocket (Guy Bedford) #64375 - [
fb8a7e15ca] - net: make TCP Server and Socket transferable across worker threads (Matteo Collina) #64225 - [
224d2c7886] - path: add benchmarks for path.matchesGlob() (bq) #63915 - [
980c651de5] - permission: add unique warning codes (David Evans) #64414 - [
9f9a96030d] - permission: support v8.setHeapSnapshotNearHeapLimit (Ilyas Shabi) #64808 - [
8a00872183] - quic: fix stop sending behaviour & callback (Tim Perry) #64710 - [
7aab0c3183] - quic: fix coverage comment typo (Jungwon Sohn) #64486 - [
b4ecb3040b] - quic: fix segfault after fragmented client hello (Tim Perry) #64720 - [
6386540dad] - quic: serialize stream reset code as string (한만욱) #64577 - [
82717741c9] - quic: defer server session emit until TLS ClientHello is processed (Tim Perry) #64132 - [
7cb3099907] - quic: preserve session stats after close (한만욱) #64489 - [
50e639b578] - quic: add support for TLS certificate compression (Sebastian Beltran) #64434 - [
e2e28292cc] - quic: extract transport logic from Application to Session (Tim Perry) #64127 - [
2ef4b7ebf2] - quic: correct http3 callback and fix revealed errs (Marten Richter) #64289 - [
a682b53456] - quic: fix no onstream handler crash quic (Efe) #64158 - [
9445e2719a] - quic: fix stall datagrams, if no pending streams (Marten Richter) #64303 - [
2ea9d193bd] - quic: fix potential crash from unobserved closed (Tim Perry) #64134 - [
3b7f4fc1fb] - quic: drop version negotiation packets with oversized CIDs (Mohamed Sayed) #64228 - [
bd477a3202] - quic: fixes undefined handle in QuicStream kInspect (Marten Richter) #64170 - [
3dd04b3ec6] - quic: fix get_reader bug that dropped data on FIN (Tim Perry) #63946 - [
4be8abe8f9] - quic: expose QUIC certificates as JS X509Certificate, not raw handles (Tim Perry) #63191 - [
e264c5c0cb] - quic: fix reader backpressure deadlock on idle connections (Tim Perry) #63950 - [
2f749dde18] - quic: impl. cb for http/3 settings/app. options (Marten Richter) #63558 - [
5ca7ef3202] - quic: fix broken listEndpoints export, test callbacks & nghttp3 include (Tim Perry) #63874 - [
147150cfdd] - quic: add listEndpoints API (James M Snell) #63536 - [
3b59d12f5d] - quic: add proper error codes & messages for QUIC failures (Tim Perry) #63198 - [
b68f8eadb9] - quic: support hostname verification (James M Snell) #63483 - [
7652bd9c6d] - quic: add stream idle timeout (James M Snell) #63483 - [
e493f04214] - quic: add block list support for endpoints (James M Snell) #63483 - [
6d6cd45f8b] - quic: improve peer cert verification (James M Snell) #63483 - [
dbe0b371ee] - quic: handle h3 max header size option (James M Snell) #63483 - [
39dca4150c] - quic: add rate limiting docs (James M Snell) #63483 - [
c726a893d6] - quic: cache timestamp for address lru cache (James M Snell) #63483 - [
11778a7925] - quic: add session creation rate limiting (James M Snell) #63483 - [
8107f1b3ed] - quic: refine rate limiting (James M Snell) #63483 - [
3f0d7371e0] - quic: flip preferred address policy default to 'ignore' (James M Snell) #63483 - [
97c8a96774] - quic: add doc note about certificate size limitations (James M Snell) #63483 - [
42aa3f6612] - quic: add applicationOptions to session (James M Snell) #63267 - [
4c00ab9d29] - quic: add getters for local and remote transport parameters (James M Snell) #63267 - [
858b636576] - quic: improve recv coalescing test sizes (James M Snell) #63267 - [
84d3100256] - quic: add initial RTT option to session options (James M Snell) #63267 - [
a2b6a81c66] - quic: enable recvmmsg batching in Endpoint (James M Snell) #63267 - [
46a0868994] - quic: improve stream header collection performance (James M Snell) #63267 - [
bc7f4efdb7] - quic: coalesce received data into fewer buffers (James M Snell) #63267 - [
f727efb8b2] - quic: apply multiple additional minor improvements (James M Snell) #63267 - [
ee0a0f1540] - quic: fix tests that are missing serverEndpoint close (James M Snell) #63267 - [
f8a1fdad07] - quic: fixup some v8:: qualifiers (James M Snell) #63267 - [
c66605609c] - quic: fix premature unref of endpoint when listening (James M Snell) #63267 - [
9a72949b0b] - quic: fixup UAFs in bindingdata, streams, and app (James M Snell) #63267 - [
a4db12198e] - quic: fix UAF in Application::OnTimeout() (James M Snell) #63267 - [
0a11b2ccde] - quic: improve the quic js structure (James M Snell) #63267 - [
1bc25d2a03] - quic: improve internal structure of QuicStream (James M Snell) #63267 - [
69e48aed02] - quic: add aliased struct arenas (James M Snell) #63267 - [
6b7185351b] - quic: add handshake timeout and default connection limits (James M Snell) #63267 - [
91e3c39097] - quic: fix crash in early handshake failure (James M Snell) #63267 - [
098e3d715d] - quic: eliminate per-received datagram allocation (James M Snell) #63267 - [
53b05e2ab2] - quic: cache the timestamp on send and receive (James M Snell) #63267 - [
1592a11219] - quic: add support for future ECN marking (James M Snell) #63267 - [
80e6bf9539] - quic: improve batching of packet sending (James M Snell) #63267 - [
ff0cd5b95f] - quic: improve backend quic packet processing (James M Snell) #63267 - [
c4eb6a95da] - quic: send correct OpenSSL alert for ALPN mismatches (Tim Perry) #63193 - [
575dc7d100] - quic: fixup quic stream variable chunk len (James M Snell) #63230 - [
2551f9e6dd] - quic: remove unused env_ variable in session_manager.h/cc (James M Snell) #63177 - [
bea62a14b3] - quic: ignore coverage for quic files (James M Snell) #63149 - [
9788bbff97] - quic: complete the internal implementation of QUIC (James M Snell) #62876 - [
54c094d245] - quic: continue working on quic api bits (James M Snell) #60123 - [
ea82bc418d] - readline: reduce createInterface overhead (Matteo Collina) #64585 - [
90a8b23db0] - sqlite: invalidate sessions when closing database (Trivikram Kamat) #64783 - [
6abd00ed65] - sqlite: check database state before calling SQLite (Trivikram Kamat) #64812 - [
c2a52514d6] - sqlite: fix crash when a session outlives its database (Mohamed Sayed) #63797 - [
f9126923ef] - sqlite: fix use-after-free in Exec() and ApplyChangeset() (Matteo Collina) #64535 - [
c010131bc3] - sqlite: read column count after step in StatementSync.all() (Guilherme Araújo) #64219 - [
782ad5d5b0] - src: implement MemoryRetainer protocol for ByteSource (Filip Skokan) #64660 - [
4afc15bf1d] - src: avoid redundant KEM encapsulation copies (Filip Skokan) #64553 - [
37085f850d] - src: fix crash when writing odd-length hex string via Writev (RajeshKumar11) #63658 - [
f58ac8224c] - src: avoid using ToLocalChecked in crypto_hash (James M Snell) #64668 - [
05ec9c4771] - src: fix libuv assertion on windows (liuxingbaoyu) #61999 - [
308a589ee9] - src: avoid redundant DataPointer reallocations (Filip Skokan) #64552 - [
3650fabcb4] - src: fix comment typos (Jungwon Sohn) #64509 - [
06b3441ea2] - src: zero-initialize cap_data in node_credentials.cc (Samuel Kapust) #64347 - [
bb24a88b99] - src: fix some typo errors and rename some variables (Archkon) #64301 - [
ba36ab71fd] - src: make node.config.json throw at unknown fields (Marco Ippolito) #62992 - [
fbb3960189] - src: show original file name in FileHandle GC close errors (Anna Henningsen) #60593 - [
d53d582be7] - src,permission: do not throw on denied access in audit mode (Adrián Estrada) #64426 - [
cd1eb3e60b] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) #61869 - [
b1596c2b65] - stream: cut per-chunk allocations in pipeTo (Matteo Collina) #64890 - [
2cfa96f5cb] - stream: preserve push signal abort reason (Trivikram Kamat) #64798 - [
fc80ff5f7a] - stream: skip zero-byte broadcast writes (Trivikram Kamat) #64772 - [
486cff4c08] - stream: honor AbortSignal in Writer.end() (Trivikram Kamat) #64727 - [
59ef1789f7] - stream: use validateString for consumer encoding (Jungwon Sohn) #64754 - [
8aba47536a] - stream: use the ring buffer for pending BYOB pull-into descriptors (Matteo Collina) #64818 - [
b20217cb56] - stream: fix uncatchable error closing half-open Duplex.toWeb() writable (Mohamed Sayed) #64161 - [
8accb0c4c0] - stream: abort pending single-source merge reads (Trivikram Kamat) #64445 - [
ed5b04027c] - stream: use RangeError for broadcast overflow (Trivikram Kamat) #64420 - [
136d4e7628] - stream: skip null output from stateful transforms (Trivikram Kamat) #64462 - [
193091f1ba] - stream: update iterable streams to use budget backpressure (James M Snell) #64464 - [
e2b32fce77] - stream: remove customCloneableDOMExceptionimplementation (Antoine du Hamel) #64469 - [
d77788eafe] - stream: fix drop-newest behavior in share() (Trivikram Kamat) #64417 - [
de4ca2c962] - stream: fold desired-size check into WHATWG backpressure update (Matteo Collina) #64451 - [
2a3babb8d7] - stream: validate writer options signal (Trivikram Kamat) #64385 - [
0ab8f269b0] - stream: reject push iterator.throw() with error (Trivikram Kamat) #64380 - [
262e6545d1] - stream: simplify nestedPromisePrototypeThens (Antoine du Hamel) #64470 - [
0ddfc6af91] - stream: use the ring buffer for WHATWG stream request queues (Matteo Collina) #64431 - [
a5e7d89f9e] - stream: validate writevSync chunks before queuing (Trivikram Kamat) #64300 - [
8044f895bf] - stream: speed up reads and iteration over default WHATWG streams (Matteo Collina) #64320 - [
d4dfb66bdf] - stream: copy SAB-backed chunks in iter consumers (Trivikram Kamat) #64382 - [
9c9ade337f] - stream: reject nested async streamables in from() (Trivikram Kamat) #64352 - [
271c7454f4] - stream: avoid draining merged iter sources (Trivikram Kamat) #64293 - [
cbb2568a04] - stream: use ring buffer for WHATWG stream queues (Yagiz Nizipli) #64312 - [
67688cc651] - stream: hoist repeated loads in readable paths (Yagiz Nizipli) #64312 - [
3f8b446a67] - stream: prefer sync iterator in fromSync (Trivikram Kamat) #64294 - [
3043b2a68a] - stream: speed up async iteration over WHATWG byte streams (Antoine du Hamel) #64291 - [
870273ccde] - stream: reject iter consumers on abort (Trivikram Kamat) #64066 - [
8a4a997f3e] - stream: fix merge abort for pending sources (Trivikram Kamat) #64013 - [
ac5e5d5dec] - stream: refactor unnecessary optional chaining away (Antoine du Hamel) #64253 - [
cb298cfb15] - stream: normalize Broadcast.from() byte inputs (Trivikram Kamat) #64082 - [
bbbb4aadef] - stream: observe abort while awaiting pipeTo source (Trivikram Kamat) #64015 - [
4387ad412f] - stream: respect iter consumer abort signals (Trivikram Kamat) #63997 - [
4ba1fa0062] - stream: handle falsy push writer fail reasons (Trivikram Kamat) #63569 - [
3b8c30c096] - stream: handle setEncoding after buffered data (Matteo Collina) #63973 - [
97ef13c84e] - stream: keep overlapping broadcast reads pending (Trivikram Kamat) #63500 - [
a46ddad9fa] - stream: refine the stream/iter backpressure (James M Snell) #63697 - [
557bf99245] - stream: remove transform-writer handling in pipeTo (Trivikram Kamat) #63684 - [
24b7831a1a] - stream: fix pipeToSync byte accounting (Trivikram Kamat) #63564 - [
3b5f1b56bc] - stream: reject pull() reads on abort (Trivikram Kamat) #63498 - [
e48e287633] - stream: fast-path stateless transform flush results (Trivikram Kamat) #63605 - [
f0ee316f45] - stream: handle sync writev completion in pipeTo (Trivikram Kamat) #63561 - [
fbed90b2fb] - stream: settle pending broadcast reads on return (Trivikram Kamat) #63603 - [
568dcc250f] - stream: serialize concurrent share consumer reads (Trivikram Kamat) #63478 - [
5e2b4c4ade] - stream: fix lint error (Antoine du Hamel) #63598 - [
74bd0cd35a] - stream: reject pending reads on iterator throw (Trivikram Kamat) #63555 - [
45780df841] - stream: wait for push writer end fallback to drain (Trivikram Kamat) #63503 - [
217b495e0a] - stream: flush each fused stateless transform (Trivikram Kamat) #63468 - [
2e8685592e] - stream: avoid duplicate writes in toWritable (Trivikram Kamat) #63360 - [
88a3392a78] - stream: propagate abort reason in share and broadcast (Trivikram Kamat) #63358 - [
fce3df74e9] - stream: disallow writing string chunk with 'buffer' encoding (René) #63062 - [
5658c631fa] - stream: alignReadable.toWebtermination with eos (ikeyan) #62394 - [
02a51a746b] - stream: add sync iterable fast path to pipeTo (Trivikram Kamat) #63318 - [
4c9f3edb64] - stream: fix merge handling for object-like sources (Trivikram Kamat) #63356 - [
c50d8e49cc] - stream: limit iter from sync iterable batches (Trivikram Kamat) #63324 - [
1d7c86d577] - stream: cache minimum cursor count in broadcast (Trivikram Kamat) #63322 - [
ec2666edbe] - stream: avoid retrying accepted pipeTo writes (Trivikram Kamat) #63297 - [
f63143fd83] - stream: validate broadcast writer writev chunks (Trivikram Kamat) #63300 - [
944470b08a] - stream: uncork fromWritable writev on chunk error (Trivikram Kamat) #63295 - [
ae79f2b67a] - stream: validate fromWritable() options before cache (Trivikram Kamat) #63278 - [
c98cc67f33] - stream: optimize single-slot push queue drain (Trivikram Kamat) #63274 - [
9a45ff5d8f] - stream: preserve toReadableSync batch after backpressure (Trivikram Kamat) #63276 - [
eb72fe94fc] - stream: cache minimum cursor count in share (Trivikram Kamat) #63262 - [
b57b51eeed] - stream: minor stream/iter implementation edits (René) #63132 - [
274b3a2ea1] - stream: remove redundant method check from iter.pipeToSync (René) #63099 - [
baf98faa06] - stream: add stream/iter to classic stream adapters (James M Snell) #62469 - [
28dc85d8d2] - (SEMVER-MINOR) stream: add stream/iter Implementation (James M Snell) #62066 - [
125c19da43] - stream, quic: update iterable streams backpressure (James M Snell) #64464 - [
11d1bd3ba7] - test: split test-embedding.js and run tests in parallel (Joyee Cheung) #61571 - [
e59346b704] - test: ensure assertions are reached on all tests (Antoine du Hamel) #64716 - [
42a967d7ed] - test: unflake debugger and REPL tests (Matteo Collina) #64718 - [
d80a45fdc4] - test: update WPT for url to4832db4(Node.js GitHub Bot) #64829 - [
7264efb21b] - test: update WPT for url tob63305b(Node.js GitHub Bot) #64790 - [
539f5dc8f9] - test: cover worker throwing primitive values (varshitha) #64365 - [
087d9e8dd0] - test: mark test-repl-user-error-handler as flaky (Aviv Keller) #64612 - [
dd1e7139a5] - test: update quic tests for stream/iter update (James M Snell) #64464 - [
eee0e84537] - test: fix flaky http2 socket proxy test (Tim Perry) #64673 - [
a5ce44dd75] - test: apply correction to comment (Rich Trott) #64524 - [
da8508c5a0] - test: keep finalization before-exit ref alive (Tim Perry) #64521 - [
14b710c415] - test: copyedittest-tls-psk-alpn-callback-exception-handling(Antoine du Hamel) #63485 - [
99b7382c6a] - test: fix stale async-context-frame status entries (Kirill Saied) #64141 - [
6da6ca730d] - test: update WPT for urlpattern to5847ee5(Node.js GitHub Bot) #64436 - [
73bf0f07f1] - test: update WPT for WebCryptoAPI toec2fee3(Node.js GitHub Bot) #64435 - [
9a7ec52e6f] - test: fix flaky http2 maxOriginSetSize test (Tim Perry) #64407 - [
59af7e0ed9] - test: fix 2nd flaky blob test case (Tim Perry) #64391 - [
7fd5f66376] - test: fix flaky watch + cwd + argv test-runner test (Tim Perry) #64372 - [
d5b47d2fae] - test: normalize Windows crash in debugger test normalization (Joyee Cheung) #64332 - [
a8ae44096d] - test: unmark flaky http2-large-file for Win (Kirill Saied) #64255 - [
8461d18597] - test: increase timeout in consumed-timeout test (Trivikram Kamat) #64204 - [
af52410d70] - test: handle null stdio streams in spawnSyncAndAssert helper (Joyee Cheung) #64273 - [
0ea079be7b] - test: remove impact of tier-up changes in worker stack size test (Joyee Cheung) #64271 - [
1bde0ef053] - test: update WPT for WebCryptoAPI to0c413fb(Node.js GitHub Bot) #63647 - [
f32b412867] - test: get rid of unnecessaryAbortControllerinstanciations (Antoine du Hamel) #63489 - [
8cbd90161b] - test: update WPT for wasm/jsapi to288c467(Node.js GitHub Bot) #63136 - [
f200aaccf0] - test: fixup quic tests (James M Snell) #63267 - [
14c547351b] - (SEMVER-MINOR) test: add tests for experimental stream/iter implementation (James M Snell) #62066 - [
2cc54e1793] - test: skip quic tests that IBM i does not support (SRAVANI GUNDEPALLI) #60160 - [
8ec80b311b] - test_runner: wait for filtered suite build (semimikoh) #64208 - [
9ed7146851] - test_runner: convert to uint during deserialization (Aviv Keller) #64706 - [
d31c168740] - (SEMVER-MINOR) test_runner: add context.log() and test:log event (Moshe Atlow) #64389 - [
add1edbc42] - (SEMVER-MINOR) test_runner: reportentryFileinTestStreamevents (Moshe Atlow) #64309 - [
8d97dee696] - tests: start adding quic test server utilities (James M Snell) #59946 - [
e5278b7f7d] - timers: do not retain a reference to the async store after firing (Matteo Collina) #53443 - [
e277bc4608] - tls: fix SNICallback certificate selection (Matteo Collina) #64700 - [
b9104decc3] - tls: match IPv6 hosts against IP-Address SANs (Pascal Garber) #64145 - [
b50139e89f] - tools: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) #64928 - [
5460c464a0] - tools: bump brace-expansion from 5.0.7 to 5.0.9 in /tools/eslint (dependabot[bot]) #64904 - [
f8a13811cd] - tools: use 'readonly' for EventSource global (Honey Tyagi) #64787 - [
6e10012c0d] - tools: bump brace-expansion from 5.0.6 to 5.0.7 in /tools/eslint (dependabot[bot]) #64636 - [
d66b7588ac] - tools: reference 'git node land' in MR-URL: error message in merge.sh (Stewart X Addison) #64495 - [
5d90e48175] - tools: disable zipping tarballs on GHA (Antoine du Hamel) #64423 - [
8a909f4540] - tools: fix redundant conditions in v8.gyp for riscv64 and loong64 (Jamie Magee) #62608 - [
9e171710fa] - tools: removeenvinfofrom our workflows (Antoine du Hamel) #64259 - [
3fb722054f] - tools: avoid test/fixtures/wpt/README.md conflicts (Filip Skokan) #63938 - [
5755712920] - tools: add lint rule for aborted AbortController (Trivikram Kamat) #63541 - [
e88d5b78bc] - typings: add heap_utils internalBinding types (Donghoon Kang) #64816 - [
ae93bc8ad1] - typings: remove isDataView from types binding (Archkon) #64738 - [
c00bd1427d] - url: create URLPattern result properties in WebIDL order (Archkon) #64733 - [
8a07969e28] - util: make MIMEParams accessors case-insensitive (Daijiro Wachi) #64123 - [
bf86741167] - v8: report minor mark-sweep in GCProfiler (Archkon) #64688 - [
d937c8c6cd] - (SEMVER-MINOR) wasm: enable JSPI (Guy Bedford) #59941 - [
9016ddabb9] - wasm: register missing SetURL function (Archkon) #64679 - [
e599b9428b] - zlib: validate pledgedSrcSize as a safe integer (Archkon) #64604 - [
1f1adc89da] - zlib: accept ArrayBuffer dictionary in Zstd (Ryuhei Shima) #64599 - [
0ee91ead8b] - zlib: reject truncated zstd input (Archkon) #64593
v24.19.0: 2026-08-03, Version 24.19.0 'Krypton' (LTS), @aduh95
Notable Changes
- [
d08872b530] - (SEMVER-MINOR) buffer: implementblob.textStream()(Matthew Aitken) #64036 - [
35222948be] - (SEMVER-MINOR) deps: update OpenSSL build config to support compression (Tim Perry) #62217 - [
d6ab039f24] - (SEMVER-MINOR) doc: updateblockListstability status to release candidate (alphaleadership) #63050 - [
1da05fb79d] - doc: markstream.composestable (Matteo Collina) #62562 - [
3c1636dabf] - (SEMVER-MINOR) esm: add--experimental-import-textflag (Efe) #62300 - [
e323e877be] - (SEMVER-MINOR) fs: support caller-suppliedreadFile()buffers (Matteo Collina) #63634 - [
c1248c9544] - (SEMVER-MINOR) http: addhttpValidationoption to configure header value validation (RajeshKumar11) #61597 - [
a534b65815] - (SEMVER-MINOR) net: supportTCP_KEEPINTVLandTCP_KEEPCNTinsetKeepAlive(Guy Bedford) #63825 - [
a23cdec683] - (SEMVER-MINOR) perf_hooks: sample delay per event loop iteration (Pablo Erhard) #62935 - [
7428b57a37] - (SEMVER-MINOR) src: allow empty--experimental-config-file(Marco Ippolito) #61610 - [
e57597173c] - (SEMVER-MINOR) stream: exposeReadableStreamTee(Matteo Collina) #64195 - [
5396235993] - (SEMVER-MINOR) tls: report negotiated TLS groups (Filip Skokan) #64119 - [
5e901b5cd9] - (SEMVER-MINOR) tls: addcertificateCompressionoption (Tim Perry) #62217
Commits
- [
676467fa9f] - benchmark: trim down the argon2 sets (Filip Skokan) #64218 - [
a77a2000b7] - benchmark: add child_process async path baselines (Yagiz Nizipli) #63929 - [
dd4482e915] - buffer: remove unreachable overflow check in atob (haramjeong) #60161 - [
081c41eb86] - buffer: add fast api for isUtf8 and isAscii (Gürgün Dayıoğlu) #64169 - [
d08872b530] - (SEMVER-MINOR) buffer: implement blob.textStream() (Matthew Aitken) #64036 - [
6e2f7e6013] - build: remove redundant intermediate node_aix_shared (Chengzhong Wu) #63747 - [
87e0675f51] - build: build codecache and snapshot with libnode (Chengzhong Wu) #63626 - [
32174a7bae] - build: support setting an emulator from configure script (Ivan Trubach) #53899 - [
69cfb2f240] - build: remove duplicated node_use_sqlite and node_use_ffi conditions (Chengzhong Wu) #63629 - [
37ac6e8cb5] - build: add manually-dispatched stress-test workflow (Joyee Cheung) #64118 - [
2424207191] - build: suppress compiler warnings for histogram (Richard Lau) #63980 - [
63502b7404] - build,win: fix VS2022 arm64 PGO build (Stefan Stojanovic) #63413 - [
fe4e4055d0] - child_process: fix permission model propagation via NODE_OPTIONS (Matteo Collina) #63972 - [
aa2f3c066e] - child_process: pass spawn options to the binding positionally (Yagiz Nizipli) #63930 - [
fcf32cf77a] - child_process: serialize advanced IPC messages natively (Yagiz Nizipli) #63933 - [
7907134734] - crypto: reject small-order EdDSA points during verify (Filip Skokan) #64026 - [
b505cd5465] - crypto: support non-byte WebCrypto lengths and cSHAKE (Filip Skokan) #63988 - [
0f54a872e2] - crypto: share WebCrypto method and usage helpers (Filip Skokan) #63975 - [
824ec11c05] - crypto: refactor keyObject.toCryptoKey() and SubtleCrypto.getPublicKey() (Filip Skokan) #63622 - [
73aba92689] - crypto: coerce -0 to +0 before native calls (Filip Skokan) #63556 - [
c83b79874e] - crypto: reject invalid raw key imports (Filip Skokan) #63134 - [
934fda64b9] - crypto: improve accuracy of SubtleCrypto.supports (Filip Skokan) #63104 - [
e392e1f791] - crypto: fix large DH generator validation (Tobias Nießen) #64092 - [
e75a363e70] - crypto: use EVP_MAC for HMAC on OpenSSL >=3 (Filip Skokan) #63942 - [
adbaf7af9b] - crypto: make webcrypto aliasKeyFormat directional (Filip Skokan) #63910 - [
bb1aea8897] - crypto: fix unhandled error in Hash._transform (Haram Jeong) #63261 - [
12c87732c1] - crypto: handle cipher context allocation failures (Tian Teng) #63542 - [
858496b453] - crypto: deduplicate X509 subject matching logic (Tobias Nießen) #63644 - [
9a29cb0964] - crypto: fix warnings in test_node_crypto.cc (Maya Lekova) #63490 - [
8bb536066d] - crypto: optimize normalizeAlgorithm dispatch hot path (Filip Skokan) #62756 - [
329e5496ff] - crypto,tls: do not ignore BN_get_word error (Tobias Nießen) #63895 - [
97b7a3f9c7] - debugger: add --max-hit option to probe mode (Joyee Cheung) #63704 - [
9098585c5e] - debugger: add more logs to probe mode (Joyee Cheung) #63663 - [
59cca26cd5] - debugger: surface inspector failures in probe mode (Joyee Cheung) #63437 - [
2922290eae] - debugger: disambiguate probe location binding (Joyee Cheung) #63286 - [
6fb2c2c7e2] - debugger: lazily wait for initial break output (Trivikram Kamat) #63969 - [
688e792551] - debugger: defer probe pause handling until startup (Trivikram Kamat) #63608 - [
1ac93cc05a] - debugger: await initialization after run and restart (Trivikram Kamat) #63607 - [
92a909cf72] - debugger,test: deflake resume failure test and add debug logs (Joyee Cheung) #63524 - [
8b37af8b11] - deps: V8: backportbef0d9c(Joyee Cheung) #62132 - [
8832126422] - deps: V8: cherry-pick64b36b4(Dan Carney) #61712 - [
75990c2cd6] - deps: update googletest to8b53336(Node.js GitHub Bot) #64181 - [
8500c7ba86] - deps: update sqlite to 3.53.3 (Node.js GitHub Bot) #64180 - [
dc78091b45] - deps: c-ares: cherry-pick8ba37af(René) #64110 - [
873cc72125] - deps: update googletest to0b1e895(Node.js GitHub Bot) #64039 - [
1d3d166538] - deps: update acorn to 8.17.0 (Node.js GitHub Bot) #63901 - [
35222948be] - (SEMVER-MINOR) deps: update OpenSSL build config to support compression (Tim Perry) #62217 - [
e40cee5f79] - deps: upgrade npm to 11.17.0 (npm team) #63857 - [
85c6d46606] - deps: add ngtcp2_fmt.c to build configuration (ngtcp2.gyp) (沈鸿飞) #63821 - [
d2ea8b7a8c] - deps: update googletest to7140cd4(Node.js GitHub Bot) #63775 - [
25b4d57bb6] - deps: update sqlite to 3.53.2 (Node.js GitHub Bot) #63774 - [
a96368e4c7] - deps: update zlib to 1.3.2.1-motley-3246f1b (Node.js GitHub Bot) #63773 - [
b59f1f5f37] - deps: update amaro to 1.1.10 (Node.js GitHub Bot) #63670 - [
0b3b56ee95] - deps: update googletest to8736d2c(Node.js GitHub Bot) #63669 - [
aa67b5b9c4] - dgram: add synchronous Socket connectSync() (Guy Bedford) #63932 - [
ef38374875] - dgram: add synchronous Socket.prototype.bindSync() (Guy Bedford) #63838 - [
6edc3a9967] - dgram: skip dns.lookup() for literal IP addresses (Ruben Bridgewater) #64133 - [
d4cfe2d8ac] - dns: coerce -0 to +0 in lookup and resolver inputs (Filip Skokan) #63556 - [
91c9ce5a45] - doc: improvefs.StatFsproperties descriptions (aymanxdev) #62578 - [
54e21675fa] - doc: fix inconsistencies in CJS code snippets (Antoine du Hamel) #63199 - [
64c23daa76] - doc: remove typo comma from man page (Vas Sudanagunta) #63080 - [
bc943cd34a] - doc: update Http2SecureServer.on("timeout") default value (YuSheng Chen) #64187 - [
a46bc452a6] - doc: add note on visibility of CI failures to new contributor guide (Stewart X Addison) #64256 - [
c0fb52506c] - doc: clarify HTTP/1.1 response ordering (Matteo Collina) #64213 - [
d3073a7ba6] - doc: recommend node-stress-single-test for flaky tests (Trivikram Kamat) #64223 - [
bb9951ead0] - doc: fix typo in examples (Vas Sudanagunta) #64184 - [
fe674e96fc] - doc: clarify defense-in-depth issues (Matteo Collina) #64215 - [
faad042184] - doc: add guide and answers to FAQs for first-time contributors (Joyee Cheung) #63685 - [
79d685adf3] - doc: updateHttp2Server.close&Http2SecureServer.close(YuSheng Chen) #63298 - [
744e40e05e] - doc: update list of people inSECURITY.md(Richard Lau) #64152 - [
185f57c4a4] - doc: add missing option to man page (Richard Lau) #64156 - [
8933303568] - doc: fix callback example import in fs docs (Kamal Rawal) #63912 - [
3a0549dacb] - doc: fix keepAliveTimeout default in http.createServer options (Jahanzaib iqbal) #63974 - [
5a35e48d08] - doc: add sxa GPG key (ed25519) (Stewart X Addison) #64193 - [
66e7f815f1] - doc: add aduh95 to last security release steward (Antoine du Hamel) #63981 - [
a7e35040dd] - doc: fix typo in util.md (Daijiro Wachi) #63961 - [
d74b3a7e90] - doc: clarify callback exceptions (Matteo Collina) #63939 - [
b7a8f8fabd] - doc: fix incorrect test runner mock examples (Kimaswa Emmanuel Yusufu) #63656 - [
f11aa690cd] - doc: fix typo in cli.md (Daijiro Wachi) #63883 - [
df85f50269] - doc: fix typo in vm.md (Daijiro Wachi) #63881 - [
a00a567175] - doc: fix typo in packages.md (Daijiro Wachi) #63882 - [
206c1b8437] - doc: fix a/an article typos in module, util, and dns (Daijiro Wachi) #63766 - [
e3e5ef1cff] - doc: update npm supported versions link (hojeong park) #63672 - [
e3c4852413] - doc: fix AES-OCB IV length in SubtleCrypto.supports example (Anshika Jain) #63717 - [
0b3fbc82d7] - doc: add webstreams to args forpipelinefromstream/promises(David Sanders) #63628 - [
62078a8328] - doc: fix "used to sent" → "used to send" in http2 (Daijiro Wachi) #63700 - [
fd74eefb23] - doc: clarify tty raw mode applies to input processing only (Muhammad Zeeshan) #63438 - [
42cd7e47de] - doc: add worker_threads history entries (Bob Put) #63545 - [
d6ab039f24] - (SEMVER-MINOR) doc: updateblockListstability status to release candidate (alphaleadership) #63050 - [
56bdd87378] - doc: move hyperlinks outside of text blocks (Aviv Keller) #63493 - [
1da05fb79d] - doc: mark stream.compose stable (Matteo Collina) #62562 - [
7bb6dab70c] - doc,crypto: mark argon2 and encap/decap as stable (Filip Skokan) #63924 - [
1a4edb3c22] - doc,lib: align WebCrypto names with spec (Filip Skokan) #63518 - [
3c1636dabf] - (SEMVER-MINOR) esm: add--experimental-import-textflag (Efe) #62300 - [
e0f211ca79] - events: improveaddAbortListenerperf by caching options object (Raz Luvaton) #52367 - [
a124429b36] - fs: do not treat EPERM as ENOTEMPTY on Windows (Kirill Saied) #63709 - [
e323e877be] - (SEMVER-MINOR) fs: support caller-supplied readFile() buffers (Matteo Collina) #63634 - [
a41b4824d7] - fs: prevent spurious recursive watch events on prefix siblings (Marco) #63095 - [
c63e00e3a5] - fs: ignore deleted dirs in recursive watch scan (Trivikram Kamat) #63686 - [
d3d7cd05e3] - fs: coerce -0 to +0 in mode flags and watch intervals (Filip Skokan) #63556 - [
6f6387ecb3] - gyp: update deps gypfiles (Nad Alaba) #63117 - [
592544af44] - http: document and validate options.path when it's in absolute-form (Joyee Cheung) #64108 - [
c1248c9544] - (SEMVER-MINOR) http: add httpValidation option to configure header value validation (RajeshKumar11) #61597 - [
85a223bf15] - http: fix drain event with cork/uncork (David Evans) #64038 - [
8b060a9628] - inspector: fix crash when writing to closed inspector socket (ympark2011) #64209 - [
e68a3d33ac] - inspector: fix inspector.close() documented behavior (Chengzhong Wu) #63837 - [
d3682930b7] - lib: fix missing lazyDOMException import (Filip Skokan) #64033 - [
af9ea9cfcf] - lib: reject string "0" in validatePort when allowZero is false (Daijiro Wachi) #64174 - [
cd1ea26110] - lib: use__proto__: nullwhen callingObjectDefineProperty(Antoine du Hamel) #64239 - [
5b264398ce] - lib: lazily initialize kEvents and kHandlers maps (Guilherme Araújo) #63702 - [
823efe8c71] - lib: improve control abstraction coverage in frozen intrinsics (Renegade334) #63698 - [
7f4af5568f] - lib: add Iterator global to primordials (Renegade334) #63698 - [
c8f3f5e5a5] - lib: makeNavigator#languagegetter throw on invalidthis(Mohamed Sayed) #63601 - [
1ebbbd59cf] - lib: optimize webidl conversion options (Filip Skokan) #62756 - [
88590d1bb7] - meta: bump actions/checkout from 6.0.2 to 6.0.3 (dependabot[bot]) #63726 - [
0ea9cb9630] - meta: bump actions/upload-artifact from 7.0.0 to 7.0.1 (dependabot[bot]) #62850 - [
f7275a0864] - meta: fix linter warning instale.yml(Antoine du Hamel) #64281 - [
3a77d21d8c] - meta: bump actions/cache from 5.0.5 to 6.1.0 (dependabot[bot]) #64248 - [
84e2836c95] - meta: bump github/codeql-action/autobuild from 4.36.1 to 4.36.2 (dependabot[bot]) #64247 - [
09f800eec6] - meta: bump github/codeql-action/analyze from 4.36.1 to 4.36.2 (dependabot[bot]) #64246 - [
6df1f97e64] - meta: bump codecov/codecov-action from 6.0.1 to 7.0.0 (dependabot[bot]) #64244 - [
737eb89651] - meta: bump rtCamp/action-slack-notify from 2.3.3 to 2.4.0 (dependabot[bot]) #64243 - [
dac3cd8b8f] - meta: bump github/codeql-action/init from 4.36.1 to 4.36.2 (dependabot[bot]) #64242 - [
108a6bc481] - meta: bump github/codeql-action/upload-sarif from 4.36.1 to 4.36.2 (dependabot[bot]) #64240 - [
34d09a725d] - meta: clarify V8 flags are outside threat model (Matteo Collina) #64224 - [
944d9bc25f] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #64057 - [
cc22555402] - meta: update status of past strategic initiatives (Joyee Cheung) #63480 - [
da7a21931e] - meta: speed up stale bot (Aviv Keller) #64075 - [
7bfcf7ca56] - meta: bump github/codeql-action from 4.35.3 to 4.36.1 (dependabot[bot]) #63724 - [
db6c983cdd] - meta: bump actions/cache from 5.0.4 to 5.0.5 (dependabot[bot]) #62847 - [
9e4f1339d1] - meta: bump codecov/codecov-action from 6.0.0 to 6.0.1 (dependabot[bot]) #63725 - [
92c98d3ade] - meta: bump actions/stale from 10.2.0 to 10.3.0 (dependabot[bot]) #63728 - [
bbd3ffde89] - meta: bump step-security/harden-runner from 2.19.0 to 2.19.4 (dependabot[bot]) #63727 - [
a6dd675c82] - module: enable import support for addons by default (Chengzhong Wu) #64221 - [
fb2ccb15a1] - module: use file: URL as sourceURL for type-stripped CommonJS (Joyee Cheung) #63705 - [
b9e17dc424] - net: early TCP binding via synchronous net.BoundSocket (Guy Bedford) #63951 - [
a534b65815] - (SEMVER-MINOR) net: support TCP_KEEPINTVL and TCP_KEEPCNT in setKeepAlive (Guy Bedford) #63825 - [
c55dd030e6] - net: coerce -0 to +0 in BlockList prefixes (Filip Skokan) #63556 - [
a23cdec683] - (SEMVER-MINOR) perf_hooks: sample delay per event loop iteration (Pablo Erhard) #62935 - [
f08b83bc1d] - perf_hooks: add NODE_PERFORMANCE_GC_MINOR_MARK_SWEEP constant (Attila Szegedi) #63877 - [
8d58e1b415] - process: fix finalization cleanup ref tracking (Trivikram Kamat) #64087 - [
c757e3ef59] - sqlite: do not leave database open after failed open (Yagiz Nizipli) #63854 - [
87064a096b] - sqlite: fix stack-use-after-scope with function callback (ndossche) #63640 - [
7428b57a37] - (SEMVER-MINOR) src: allow empty --experimental-config-file (Marco Ippolito) #61610 - [
d7946c9c07] - src: add test flag to config file (Marco Ippolito) #60798 - [
a642657d71] - src: rename config file testRunner to test (Marco Ippolito) #60798 - [
818b43d09e] - src: do not enable wasm trap handler if there's not enough vmem (Joyee Cheung) #62132 - [
af5e1a9729] - src: fix escaping of single quotes in task runner (Antoine du Hamel) #64089 - [
8a5d3bc168] - src: abstract tracing agent for both legacy and perfetto (Chengzhong Wu) #64053 - [
ce6f29e45b] - src: avoid redundant call tostd::get_if<>()(Tobias Nießen) #64094 - [
96478050f2] - src: omit unconvertible names in cjs_lexer::Parse (Yagiz Nizipli) #63943 - [
0147ed746e] - src: guard OpenSSL compression header include (Filip Skokan) #64009 - [
8d2858a9c4] - src: handle empty MaybeLocal in cjs_lexer::Parse (Yagiz Nizipli) #63885 - [
e5289d180f] - src: do not track weakBaseObjects as childrens ofRealms (Anna Henningsen) #63842 - [
e8352ff754] - src: allow tracking children inMemoryTrackerwith weak edges (Anna Henningsen) #63842 - [
a408f279c5] - src: use C++14 deprecated attribute forNODE_DEPRECATED(Anna Henningsen) #63755 - [
4b5eb7b72d] - src: add cleanup hooks tonode::ObjectWrap(Anna Henningsen) #63642 - [
44976c6071] - src: fix edge case when deflateInit2() fails with Z_VERSION_ERROR (Nora Dossche) #63476 - [
5b3bb284f3] - src: add Latin1 fast path in StringBytes::Encode utf8 (Mert Can Altin) #63385 - [
7cdad636c4] - src: fix crash when reading length on Storage.prototype (Mohamed Sayed) #63529 - [
c438250c68] - stream: cut per-chunk overhead in WHATWG streams (Matteo Collina) #64252 - [
291c127947] - stream: reduce allocations on WHATWG streams hot paths (Matteo Collina) #63876 - [
3d91aeb434] - stream: optimize pipeTo promise handling (Matteo Collina) #63572 - [
fcbff00a44] - stream: preserve half-open duplexes in async iteration (Efe) #64275 - [
e57597173c] - (SEMVER-MINOR) stream: expose ReadableStreamTee (Matteo Collina) #64195 - [
a48edf40e8] - stream: proxy first own method in Readable.wrap() (Daijiro Wachi) #64048 - [
f58c5bafcf] - stream: fix Writable.toWeb() desiredSize for non-object-mode (Matteo Collina) #62986 - [
7261276f45] - stream: fix Utf8Stream stall after full write of multi-byte data (Daijiro Wachi) #63964 - [
1558986b78] - stream: only pass the expected number of parameters to callbacks (Antoine du Hamel) #63909 - [
edef89ba6a] - stream: fix dropped first chunk in Utf8Stream buffer mode (Daijiro Wachi) #63833 - [
915e3e2f42] - stream: check done before backpressure in stream reader (Daijiro Wachi) #63699 - [
2d29628b5b] - test: update WPT for WebCryptoAPI to03a1476(Node.js GitHub Bot) #63900 - [
89e23b70c4] - test: deflake test-debugger-probe-timeout (Joyee Cheung) #63547 - [
54ca514414] - test: make blob desiredSize assertion robust (Trivikram Kamat) #64106 - [
01cbe530eb] - test: update WPT for urlpattern to11a459a(Node.js GitHub Bot) #64037 - [
6fcd3cf516] - test: improve lcov reporter snapshot diagnostics (Trivikram Kamat) #64049 - [
f50a55d7e5] - test: keep finalization close fixture ref alive (Trivikram Kamat) #64085 - [
3085714530] - test: fix typo from overriden to overridden (parkhojeong) #63403 - [
9f5347e8df] - test: mark hr-time WPT flaky on macos15-x64 (Trivikram Kamat) #64054 - [
44b4fe4246] - test: use one-off agent in http consumed timeout test (Trivikram Kamat) #64052 - [
2f567edaca] - test: fix flaky test-runner coverage threshold test (Trivikram Kamat) #64051 - [
a56fbb2d36] - test: tolerate duplicate watch change events (Trivikram Kamat) #63937 - [
b636f4769c] - test: mark test-debugger-run-after-quit-restart as flaky on macOS (Matteo Collina) #64006 - [
ba23eb9717] - test: update WPT for url tod4598eb(Node.js GitHub Bot) #63899 - [
bc420f20d8] - test: update WPT for urlpattern to23aac92(Node.js GitHub Bot) #63898 - [
d2c9c07af8] - test: add tests for 3 methods in utils (Daijiro Wachi) #63765 - [
4e00c8ec2e] - test: mark SEA tests flaky on linux arm debug (Trivikram Kamat) #63743 - [
a17cf06d12] - test: validate ERR_INVALID_THIS for scheduler methods (Daijiro Wachi) #63764 - [
d59d7fdd16] - test: add coverage outside SEA (Daijiro Wachi) #63744 - [
71a32d31bf] - test: update WPT for urlpattern to2f28df5(Node.js GitHub Bot) #63771 - [
28c77ab174] - test: make Brotli 16GB test wait for backpressure (Trivikram Kamat) #63389 - [
9a81921d4a] - test: add regression test for usingObjectWrapin worker (Mohamed Akram) #63642 - [
88ab61f2f8] - test: accept SIGILL aborts in async-hooks tests (Trivikram Kamat) #63687 - [
b4f5c86463] - test: add more test cases for pathToFileURL (Rafael Gonzaga) #63293 - [
812a66f0ac] - test: update test426-fixtures to2965987(Node.js GitHub Bot) #63668 - [
2bf0de838d] - test: cover webcrypto prototype pollution systematically (Filip Skokan) #63520 - [
bec6856ae8] - test,debugger: add test for type stripping in debugger probe mode (Joyee Cheung) #63748 - [
a2b9095e03] - test_runner: avoid recompiling coverage globs for every file (sangwook) #63675 - [
02fbff446f] - test_runner: cacheshouldSkipFileCoverageresult per URL (sangwook) #63675 - [
094869354a] - test_runner: ignore erased TS lines in coverage (Matteo Collina) #63510 - [
68edc2b009] - test_runner: fix suite diagnostic chanel end (Moshe Atlow) #63533 - [
659d5bf068] - test_runner: add parentId to test events with testId (Moshe Atlow) #63435 - [
eaebeb8b88] - test_runner: fix hooks test context (Moshe Atlow) #63285 - [
d03d96889b] - test_runner: add tags option and tag-name filter (Chemi Atlow) #63221 - [
e8c3db1364] - test_runner: addgetTestContext()(Moshe Atlow) #62501 - [
345c591d10] - test_runner: filter execArgv fallback for child tests (Trivikram Kamat) #64056 - [
2f47fb23bf] - test_runner: improve coverage failure diagnostics (Trivikram Kamat) #64050 - [
260cf1ac89] - test_runner: add timestamp to JUnit reporter testsuites (sangwook) #64029 - [
24140eafdf] - test_runner: remove unused shuffleArrayWithSeed (Daijiro Wachi) #63847 - [
b7fdb4891a] - test_runner: fix watch cwd with isolation none (Trivikram Kamat) #63690 - [
e48b307e09] - timers: reuse Timeout objects in setStreamTimeout (Matteo Collina) #64254 - [
5396235993] - (SEMVER-MINOR) tls: report negotiated TLS groups (Filip Skokan) #64119 - [
a653e9bb57] - tls: handle large RSA exponents in X.509 cert (Tobias Nießen) #64093 - [
5e901b5cd9] - (SEMVER-MINOR) tls: add certificateCompression option (Tim Perry) #62217 - [
3abcfa723c] - tls: route event listener exceptions through error handlers (Antoine du Hamel) #63822 - [
eaba4cd59d] - tools: bump the eslint group in /tools/eslint with 8 updates (dependabot[bot]) #64249 - [
7d7ea1dbca] - tools: update c-ares updater script (Antoine du Hamel) #64194 - [
976827cd71] - tools: validate version number in release proposal commit message lint (Antoine du Hamel) #64070 - [
cc0c586b52] - tools: update sccache to v0.16.0 (Michaël Zasso) #63078 - [
f0a35fa56a] - tools: bump js-yaml from 4.1.1 to 4.2.0 in /tools/lint-md (dependabot[bot]) #63948 - [
dafbd23240] - tools: bump js-yaml from 4.1.1 to 4.2.0 in /tools/eslint (dependabot[bot]) #63947 - [
0ae1552650] - tools: update the llhttp updater script (Antoine du Hamel) #63819 - [
3623586d1f] - tools: align Bash snippets in GHA withlint-shconventions (Antoine du Hamel) #63829 - [
64b130ce1d] - tools: bump the eslint group in /tools/eslint with 7 updates (dependabot[bot]) #63730 - [
4900cac251] - tools: fix zlib updater script (Antoine du Hamel) #63707 - [
8edf3abafc] - typings: add typing for crypto (Filip Skokan) #64122 - [
d5be94e820] - url: fix URLSearchParams(null) to prudce null= per spec (Marco) #63782 - [
ee66a3851c] - util: fix OOM in inspect color stack formatting (Ijtihed Kilani) #64022 - [
e26f183699] - util: fix scientific notation formatting (Daijiro Wachi) #63823 - [
7993e3e476] - util: fix -0 formatting when numericSeparator is enabled (Daijiro Wachi) #63815 - [
38758a7789] - util: remove style caches from styleText slow path (Guilherme Araújo) #63706 - [
46a0ca256a] - watch: print name of changed file that triggers restart (Marco) #63781 - [
e1582818ad] - watch: cancel pending restart on shutdown (Trivikram Kamat) #63383 - [
9a208668b0] - zlib: validate flush king for all streams (Ic3b3rg) #63746 - [
928981d803] - zlib: validate flush kind for brotli streams (Ic3b3rg) #63746 - [
fd0fb00164] - zlib: expose rejectGarbageAfterEnd option (Filip Skokan) #64023 - [
e334d30b4c] - zlib: reject trailing gzip members in web streams (Filip Skokan) #64023 - [
7433c3df2e] - zlib: coerce -0 to +0 for crc32 seeds (Filip Skokan) #63556
v24.18.1: 2026-07-29, Version 24.18.1 'Krypton' (LTS), @juanarbol
This is a security release.
Notable Changes
- (CVE-2026-56846) http2: retain header memory in session accounting (Matteo Collina) – High
- (CVE-2026-56848) http2: defer rst stream while in scope (Matteo Collina) – High
- (CVE-2026-58043) permission: avoid granting radix split nodes (RafaelGSS) – High
- (CVE-2026-56850) https: distinguish PFX object-array agent keys (RafaelGSS) – Medium
- (CVE-2026-58040) https: bind identity checks to session reuse (Matteo Collina) – Medium
- (CVE-2026-58041) sqlite: invalidate tag store iterators on statement reset (Matteo Collina) – Medium
- (CVE-2026-58042) dns: handle large resolveAny address replies (RafaelGSS) – Medium
- (CVE-2026-58045) zlib: throw on out-of-bounds write buffers (RafaelGSS) – Medium
- (CVE-2026-56847) permission: enforce fs write permission for trace events (RafaelGSS) – Low
- (CVE-2026-58039) permission: check final report output path (RafaelGSS) – Low
- (CVE-2026-58044) http: reject requests exceeding max header count (Matteo Collina) – Low
- deps: update llhttp to 9.4.3 (Paolo Insogna)
- deps: update undici to 7.29.0 (Node.js GitHub Bot)
Commits
- [
6cb0475751] - deps: update llhttp to 9.4.3 (Paolo Insogna) nodejs-private/node-private#935 - [
bcfe21d3dc] - deps: update undici to 7.29.0 (Node.js GitHub Bot) #64713 - [
9d0d36cffd] - (CVE-2026-58042) dns: handle large resolveAny address replies (RafaelGSS) nodejs-private/node-private#929 - [
8a008fb523] - (CVE-2026-58044) http: reject requests exceeding max header count (Matteo Collina) nodejs-private/node-private#922 - [
a77c7f7354] - (CVE-2026-56848) http2: defer rst stream while in scope (Matteo Collina) nodejs-private/node-private#921 - [
34ed88a069] - (CVE-2026-56846) http2: retain header memory in session accounting (Matteo Collina) #63752 - [
95ba2cfde7] - (CVE-2026-58040) https: bind identity checks to session reuse (Matteo Collina) nodejs-private/node-private#904 - [
fcbdbe47ea] - (CVE-2026-56850) https: distinguish PFX object-array agent keys (RafaelGSS) nodejs-private/node-private#930 - [
ea26c12b56] - (CVE-2026-58043) permission: avoid granting radix split nodes (RafaelGSS) nodejs-private/node-private#911 - [
9a6b7e343a] - (CVE-2026-58039) permission: check final report output path (RafaelGSS) nodejs-private/node-private#926 - [
6c0c990880] - (CVE-2026-56847) permission: enforce fs write permission for trace events (RafaelGSS) nodejs-private/node-private#927 - [
af9ff0490c] - (CVE-2026-58041) sqlite: invalidate tag store iterators on statement reset (Matteo Collina) nodejs-private/node-private#896 - [
05f541b5c0] - (CVE-2026-58045) zlib: throw on out-of-bounds write buffers (RafaelGSS) nodejs-private/node-private#931
v24.18.0: 2026-06-23, Version 24.18.0 'Krypton' (LTS), @richardlau prepared by @sxa
Notable Changes
- [
e07e7a31e1] - crypto: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) #63527 - [
44c8ebcbd6] - http: avoid stream listeners on idle agent sockets (Matteo Collina) #64004 - [
d3ef4122ee] - (SEMVER-MINOR) buffer: increase Buffer.poolSize default to 64 KiB (Matteo Collina) #63597 - [
bb2857b85a] - (SEMVER-MINOR) crypto: align key argument names in docs and error messages (Filip Skokan) #62527 - [
b9d5e87880] - (SEMVER-MINOR) crypto: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) #62527 - [
ccd756d61e] - (SEMVER-MINOR) crypto: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) #62183 - [
4c9251fc09] - (SEMVER-MINOR) http: add writeInformation to send arbitrary 1xx status codes (Tim Perry) #63155 - [
8c989ec4a3] - (SEMVER-MINOR) inspector: expose precise coverage start to JS runtime (sangwook) #63079 - [
3f54c8ba32] - Revert "stream: noop pause/resume on destroyed streams" (Stewart X Addison) #63834
Commits
- [
d3ef4122ee] - (SEMVER-MINOR) buffer: increase Buffer.poolSize default to 64 KiB (Matteo Collina) #63597 - [
9ff36e40f0] - build: add --enable-all-experimentals build flag (Paolo Insogna) #62755 - [
7c22ee23aa] - build: defNODE_USE_NODE_CODE_CACHEonly used in node_mksnapshot (Chengzhong Wu) #63588 - [
2551abdb4a] - build,win: enable x64 PGO (Stefan Stojanovic) #62761 - [
e8a55ce9b1] - crypto: strengthen argument CHECKs in TurboSHAKE (Tobias Nießen) #62763 - [
ae61cd68f3] - crypto: harden WebCrypto against prototype pollution (Filip Skokan) #63363 - [
3d05a1d396] - crypto: pass CryptoKey handles to KDF jobs (Filip Skokan) #63363 - [
f9d10a3f6b] - crypto: remove async from WebCrypto methods (Filip Skokan) #63363 - [
e431d93e9e] - crypto: add WebCrypto CryptoJob mode (Filip Skokan) #63363 - [
56e2505e48] - crypto: wire ML-DSA and ML-KEM for use when using BoringSSL (Filip Skokan) #63255 - [
3bac77f2a8] - crypto: wire ChaCha20-Poly1305 in Web Cryptography when using BoringSSL (Filip Skokan) #63255 - [
1bff901b09] - crypto: wire AES-KW in Web Cryptography when using BoringSSL (Filip Skokan) #63255 - [
4433fca3df] - crypto: harden CryptoKey algorithm slots (Filip Skokan) #63111 - [
b5cf01217a] - crypto: harden KeyObject internal slots (Filip Skokan) #63111 - [
ce84aef37d] - crypto: add guards and adjust tests for BoringSSL (Filip Skokan) #62883 - [
26781689b0] - crypto: reject duplicate ML-KEM JWK key_ops (Filip Skokan) #62905 - [
aeea8f4970] - crypto: add JWK support for ML-KEM and SLH-DSA key types (Filip Skokan) #62706 - [
407cf91656] - crypto: guard against size_t overflow on experimental 32-bit arch (Filip Skokan) #62626 - [
bb2857b85a] - (SEMVER-MINOR) crypto: align key argument names in docs and error messages (Filip Skokan) #62527 - [
b9d5e87880] - (SEMVER-MINOR) crypto: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) #62527 - [
b46d52b283] - crypto: unify asymmetric key import through KeyObjectHandle::Init (Filip Skokan) #62499 - [
ccd756d61e] - (SEMVER-MINOR) crypto: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) #62183 - [
e07e7a31e1] - crypto: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) #63527 - [
61826df455] - crypto: coerce -0 keylen to +0 in pbkdf2 and scrypt (Jordan Harband) #63531 - [
16d2fd3c07] - crypto: align verifyOneShot accepted types (Anshika Jain) #63280 - [
3b8330deda] - crypto: improve system certificate enumeration logic on macOS (Robo) #62576 - [
141de35399] - debugger: add --help tonode inspectand improve docs (Joyee Cheung) #63201 - [
b76bfcd4fa] - deps: upgrade npm to 11.16.0 (npm team) #63602 - [
4ec142314c] - deps: SQLite: cherry-pickb869ed6(Junsu Han) #63525 - [
19e8ce1c36] - deps: upgrade npm to 11.15.0 (npm team) #63463 - [
8a264260e2] - deps: update sqlite to 3.53.1 (Node.js GitHub Bot) #63217 - [
50c8ff3f94] - deps: update simdjson to 4.6.4 (Node.js GitHub Bot) #62811 - [
6e56f01c4b] - deps: V8: cherry-pick435a2cd(Matthias Liedtke) #63136 - [
3ba813b242] - deps: cherry-pick libuv/libuv@a43e543(Ali Hassan) #63222 - [
2390e3a5ac] - doc: remove duplicated sentences in large-pull-requests.md (Joyee Cheung) #63650 - [
52a1c18374] - doc: updategit node landinstructions for security releases (Antoine du Hamel) #63586 - [
3e6b4da037] - doc: drop --experimental from --permission (Rafael Gonzaga) #63583 - [
84d05163b9] - doc: explicitly ask for reproducible in JS (Rafael Gonzaga) #63479 - [
7da2a4450e] - doc: fix URL postMessage example in worker_threads (Kit Dallege) #62203 - [
3d79bd8b29] - doc: clarifyfilteroption ofsqlite.database.applyChangeset(Antoine du Hamel) #63515 - [
4f4174aace] - doc: fix double spaces in ERR_TLS_INVALID_PROTOCOL_METHOD (Daijiro Wachi) #63511 - [
388323ca4b] - doc: fix double space in modules.md (Daijiro Wachi) #63512 - [
5258ccc058] - doc: fix "options" to "option" in tls.createServer (Daijiro Wachi) #63453 - [
43e83e6507] - doc: fix typo in deprecations (Daijiro Wachi) #63434 - [
f05a61d54c] - doc: remove unsupported template type from v8.md (René) #63410 - [
c39d5fc820] - doc: fix article usage before vowel-sound acronyms (joao-oliveira-softtor) #62696 - [
398261f911] - doc: remove the bi-monthly contributor spotlight section (Claudio Wunder) #62734 - [
fd9e14c405] - doc: update http2'spushandtrailersevents withrawHeadersparam (YuSheng Chen) #63259 - [
b943ce6933] - doc: remove inactive members from Triagers list (Antoine du Hamel) #63329 - [
4b9cdfc022] - doc: reference correct function in Module docs (Robin Malfait) #63247 - [
bed84b6df2] - doc: replace Visual Studio 2022 Evergreen version reference with 17.14 (Mike McCready) #63211 - [
32ea70569b] - doc: recommend explicitly Tier 1 or 2 for production applications (Mike McCready) #63187 - [
4627bcfd82] - doc: run license-builder (github-actions[bot]) #63232 - [
28eba71845] - doc: add large pull requests contributing guide (Matteo Collina) #62829 - [
2648efd438] - doc: remove unnecessary<!-- eslint-magic comments (Antoine du Hamel) #63200 - [
a95fc1f8fc] - doc: clarify SEA platform support excludes darwin-x64 (MJSHANG) #63181 - [
aaef29e2e1] - doc: update release steps when post-release fails (Rafael Gonzaga) #63131 - [
7d81419cf2] - doc: add Hmac.digest() documentation-only deprecation (DEP0206) (Anshika Jain) #63121 - [
ececd80d81] - doc: document the latest-vX.x schema (Marco Ippolito) #63033 - [
27c1c1d842] - doc: remove list of versions inBUILDING.md(Antoine du Hamel) #63113 - [
e369886a65] - doc,sqlite: document entryPoint argument for loadExtension (Edy Silva) #63152 - [
e4e5137cbd] - errors: handle V8 warnings in DisallowJavascriptExecutionScope (Divyanshu Sharma) #63491 - [
6d1f6048d2] - fs: makeDateproperties onStatsenumerable (LiviaMedeiros) #63328 - [
44c8ebcbd6] - http: avoid stream listeners on idle agent sockets (Matteo Collina) #64004 - [
4c9251fc09] - (SEMVER-MINOR) http: add writeInformation to send arbitrary 1xx status codes (Tim Perry) #63155 - [
39f61fb06c] - http2: emit session close before stream close (Matteo Collina) #63414 - [
8a8f2127d1] - http2: validate non-link headers in writeEarlyHints (Matteo Collina) #62017 - [
8c989ec4a3] - (SEMVER-MINOR) inspector: expose precise coverage start to JS runtime (sangwook) #63079 - [
c05f38229b] - lib: cleanup stateless diffiehellman key handling (Filip Skokan) #62645 - [
1c16b45d35] - lib: refactor internal webidl converters (Filip Skokan) #62979 - [
02f35d6dce] - lib: definekEnumerablePropertyatomically (Antoine du Hamel) #63609 - [
12c51547ba] - lib: fix typos in esm loader comments (RonGamzu) #63465 - [
9b03b84262] - lib: fix typo idenity => identity (Daijiro Wachi) #63112 - [
a84e6b0567] - lib: fixes validator message (Daijiro Wachi) #62823 - [
11734166a8] - lib: narrow ReadableStreamBYOBRequest.view return type to Uint8Array (RoomWithOutRoof) #63017 - [
7cead61d21] - meta: flip mcollina emails in .mailmap (Matteo Collina) #63621 - [
a08cfcfd35] - meta: label "source maps" MRs (Chengzhong Wu) #63591 - [
d56e8d2512] - meta: addvfssubsystem label (René) #62331 - [
6201cfe488] - meta: skip scheduled workflows on forks (Jamie Magee) #63565 - [
f095e2bd31] - meta: add additional gitignore entries (James M Snell) #63267 - [
1ea52c444c] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #63402 - [
b1b2327611] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #63235 - [
7d88e130a9] - meta: ignore AI assistants files (Matteo Collina) #62612 - [
a53b51df38] - module: load ESM helpers eagerly in the snapshot (Joyee Cheung) #63550 - [
69df688fff] - module: fix sync hook short-circuit in require() in imported CJS (Joyee Cheung) #62920 - [
75d9a4ed47] - node-api: support SharedArrayBuffer in napi_create_typedarray (Yilong Li) #62710 - [
c20aa4c47b] - quic: add reusePort option to QuicEndpoint (James M Snell) #63267 - [
26a30d8a7f] - quic: implement rate limiting for version nego and immediate close (James M Snell) #63267 - [
0b534b5770] - quic: fixup linting issue after other changes (James M Snell) #63267 - [
4b367cbe09] - quic: remove unused binding variable in session.cc (James M Snell) #63177 - [
2574bef5a6] - repl: fix dedup comparing normalized line against raw history (Daijiro Wachi) #62886 - [
30e71c7e49] - sqlite: keep source database alive during backup (Matteo Collina) #62673 - [
677ca7e76c] - src: simplify OpenSSL feature gates (Filip Skokan) #63255 - [
c863c75c39] - src: add BoringSSL EVP enumeration fallback (Filip Skokan) #63206 - [
f6b2466921] - src: decouple KeyObject and CryptoKey and move CryptoKey to src (Filip Skokan) #62924 - [
92d4f07dd2] - src: remove license headers for new node_profiling files (Chengzhong Wu) #63066 - [
8ac5d771c8] - src: split profiling helpers from util (Ilyas Shabi) #63008 - [
85d1639495] - src: remove TOCTOU race condition when encoding SAB-backedBuffers (Antoine du Hamel) #63517 - [
9473c5f05c] - src: skip duplicate UTF-8 validation in TextDecoder fatal path (Mert Can Altin) #63231 - [
f35c91ee68] - src: improve token return value check (James M Snell) #63483 - [
26f677c1c5] - src: exposenode::RegisterContextto make a node managed context (Chengzhong Wu) #62322 - [
275cf909b6] - src,sqlite: only passxFilterwhen user provided a callback (Antoine du Hamel) #63516 - [
287e02303f] - src,sqlite: remove dead code (Edy Silva) #63204 - [
58fa2ee189] - stream: switch to internalsleepbinding (Antoine du Hamel) #63611 - [
f954ab3f1a] - stream: use data listener for compose forwarding (Trivikram Kamat) #63593 - [
dc57173003] - stream: fix Writable.toWeb() hang on synchronous drain (sangwook) #61197 - [
3f54c8ba32] - Revert "stream: noop pause/resume on destroyed streams" (Stewart X Addison) #63834 - [
cee279c5d6] - stream: remove unnecessary check (Antoine du Hamel) #63030 - [
61b20f60a3] - test: update tls/crypto behaviour expectations when using BoringSSL (Filip Skokan) #63161 - [
a835363808] - test: update WPT for WebCryptoAPI to97bbc72(Node.js GitHub Bot) #63417 - [
a00297480b] - test: update WPT resources, interfaces and WebCryptoAPI (Node.js GitHub Bot) #62389 - [
5a95a2b055] - test: shorten path in net pipe connect errors (Matteo Collina) #63405 - [
5e8ff22d8f] - test: remove test-node-output-v8-warning (Joyee Cheung) #63469 - [
ee15380950] - test: update test426-fixtures to9b9e225(Node.js GitHub Bot) #63373 - [
9e063d9bea] - test: update WPT for url toe4a4672(Node.js GitHub Bot) #63372 - [
503bee4b43] - test: deflake async-hooks statwatcher test (Trivikram Kamat) #63396 - [
cccc7c32d8] - test: avoid test_runner watch restart in spec snapshot (Trivikram Kamat) #63392 - [
c89489258c] - test: reduce watch mode restart flakiness (Trivikram Kamat) #63390 - [
e4d5e2578e] - test: isolate rerun-failures state file under tmpdir (Chemi Atlow) #63449 - [
362644a9ba] - test: wait for ok before initial break after restart (Yuya Inoue) #62807 - [
c4058d0e05] - test: disable Maglev in near-heap-limit worker test (Trivikram Kamat) #63398 - [
214da630a7] - test: deflake connection refused proxy tests (Trivikram Kamat) #63395 - [
1d61a29876] - test: avoid repeated writes in watch helper (Trivikram Kamat) #63386 - [
2004e25387] - test: deflake watch mode worker test (Trivikram Kamat) #63384 - [
d691cccfc1] - test: relax test-memory-usage arrayBuffers check (inoway46) #63244 - [
0ff6bf853c] - test: reduce flakiness ofdifferent-registry-per-thread(Antoine du Hamel) #63244 - [
d9f4e8e503] - test: fix flaky test-watch-mode-inspect timeout (Matteo Collina) #63361 - [
6d7cd50328] - test: relax min assertion in test-performance-eventloopdelay (Marco) #63100 - [
9dafe1d2d8] - test: avoid flaky restart sync in debugger exceptions test (Yuya Inoue) #62055 - [
989b2de973] - test: avoid initial-break wait in restart-message (inoway46) #62060 - [
a072a25ee7] - test: move FFI tests toNATIVE_SUITES(Antoine du Hamel) #63165 - [
64efbfd878] - test: use ERM to destroy sqlite database handles after tests (René) #63076 - [
7dee66cd94] - test_runner: dont buffer unordered events in process isolation mode (Moshe Atlow) #63432 - [
d257eec1e3] - test_runner: fix --test-rerun-failures swallowing failures on retry (Chemi Atlow) #63431 - [
288c320e2f] - test_runner: show replayed-from-attempt hint in spec reporter (Moshe Atlow) #63429 - [
904bdf5bb4] - test_runner: preserve run duration when using test-rerun (Moshe Atlow) #63429 - [
df183d7bfa] - test_runner: avoid hanging on incomplete v8 frames (Ali Hassan) #62704 - [
ec86c69726] - test_runner: fix diagnostics channel context tracking (Moshe Atlow) #63283 - [
94e5f63b83] - tls: add unsupported renegotiation error (Filip Skokan) #63161 - [
06d308fb61] - tools: prevent lib code from reading KeyObject and CryptoKey accessors (Filip Skokan) #63111 - [
2e4a0d0c91] - tools: bump brace-expansion from 5.0.5 to 5.0.6 in /tools/eslint (dependabot[bot]) #63415 - [
4c9666b366] - tools: skip commit-lint on backport pull requests (Marco) #63378 - [
67d0c490a8] - tools: fix skip oftest-interneton forks (Antoine du Hamel) #63492 - [
02f73c7cac] - tools: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) #63075 - [
5d016d3241] - tools: update gyp-next to 0.22.2 (Node.js GitHub Bot) #63374 - [
55af0f0edb] - tools: fix test426 updater (Antoine du Hamel) #63271 - [
d8475e167a] - tools: use different branch for tool updates on staging branches (Antoine du Hamel) #63110 - [
c605df9e50] - util: remove unused functions (Antoine du Hamel) #63612 - [
fe4540ebdb] - util: create hex style cache and fast path (Guilherme Araújo) #62999
v24.17.0: 2026-06-18, Version 24.17.0 'Krypton' (LTS), @aduh95
This is a security release.
Notable Changes
- (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) – High
- (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) – High
- (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) – Medium
- (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) – Medium
- (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) – Medium
- (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) – Medium
- (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) – Medium
- (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 – Medium
- (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) – Low
- (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) – Low
- (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) – Low
Commits
- [
9e4dfc7bba] - (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) nodejs-private/node-private#878 - [
cb2aed980c] - deps: update llhttp to 9.4.2 (Antoine du Hamel) nodejs-private/node-private#890 - [
a8a0d12875] - (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 (Tim Perry) #62891 - [
66e6203c1c] - (SEMVER-MAJOR) deps: update nghttp2 to 1.69.0 (Node.js GitHub Bot) #62891 - [
dd627ced27] - deps: update archs files for openssl-3.5.7 (Node.js GitHub Bot) #63820 - [
684bae568f] - deps: upgrade openssl sources to openssl-3.5.7 (Node.js GitHub Bot) #63820 - [
3a631e7f83] - deps: fix aix implicit declaration in OpenSSL (Abdirahim Musse) #62656 - [
cf44df3996] - deps: update undici to 7.28.0 (Node.js GitHub Bot) #63703 - [
138c70294b] - (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) nodejs-private/node-private#868 - [
be7e719c3f] - (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) nodejs-private/node-private#846 - [
cc7c11b4d1] - (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) nodejs-private/node-private#855 - [
9224427b92] - (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) nodejs-private/node-private#867 - [
cf85d54839] - (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) nodejs-private/node-private#873 - [
a1bbc24f96] - (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) nodejs-private/node-private#870 - [
e3723ff2d6] - test: add session reuse host verification regressions (Matteo Collina) nodejs-private/node-private#854 - [
a77af4867b] - (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) nodejs-private/node-private#854 - [
31beb4f707] - (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) nodejs-private/node-private#857 - [
8e75c73f91] - (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) nodejs-private/node-private#869
Configuration
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
- If you want to rebase/retry this MR, check this box
This MR has been generated by Mend Renovate CLI.
Edited by Ghost User