Update Node.js to v24.19.0
This MR contains the following updates:
| Package | Update | Change |
|---|---|---|
| node (source) | minor | v24.4.1 → 24.19.0 |
Release Notes
nodejs/node (node)
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
v24.16.0: 2026-05-21, Version 24.16.0 'Krypton' (LTS), @aduh95
Notable Changes
- [
b267f6bca3] - (SEMVER-MINOR) crypto: implementrandomUUIDv7()(nabeel378) #62553 - [
ec2451b9cd] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes tonode inspect(Joyee Cheung) #62713 - [
9705f628d9] - (SEMVER-MINOR) fs: add signal option tofs.stat()(Mert Can Altin) #57775 - [
40ccfdecf9] - (SEMVER-MINOR) fs: exposefrsizefield instatfs(Jinho Jang) #62277 - [
d7188af5c9] - (SEMVER-MINOR) http: hardenClientRequestoptions merge (Matteo Collina) #63082 - [
aa1d8a9afc] - (SEMVER-MINOR) http: addreq.signaltoIncomingMessage(Akshat) #62541 - [
6f37f7e240] - (SEMVER-MINOR) stream: propagate destruction induplexPair(Ahmed Elhor) #61098 - [
d14029be7f] - (SEMVER-MINOR) test_runner: support test order randomization (Pietro Marchini) #61747 - [
d142c584cd] - (SEMVER-MINOR) test_runner: align mock timeout api (sangwook) #62820 - [
01a9552585] - (SEMVER-MINOR) test_runner: add mock-timers support forAbortSignal.timeout(DeveloperViraj) #60751 - [
00705a459a] - (SEMVER-MINOR) util: colorize text with hex colors (Guilherme Araújo) #61556
Commits
- [
dd72df060d] - assert,util: fix stale nested cycle memo entries (Ruben Bridgewater) #62509 - [
add94f4bc3] - build: track PDL files as inputs in inspector GN build (Robo) #62888 - [
1b1eb9e334] - build: remove redundant -fuse-linker-plugin from GCC LTO flags (Daniel Lando) #62667 - [
8752b604ec] - crypto: deduplicate and canonicalize CryptoKey usages (Filip Skokan) #62902 - [
341947e7fd] - crypto: reject unintended raw key format string input (Filip Skokan) #62974 - [
28a78747fc] - crypto: remove Argon2 KDF derivation from its job setup (Filip Skokan) #62863 - [
16e8c2b54d] - crypto: fix unsigned conversion of 4-byte RSA publicExponent (DeepView Autofix) #62839 - [
eeae754a87] - crypto: reject inherited key type names (Jonathan Lopes) #62875 - [
9dd5540325] - crypto: add memory tracking for secureContext openssl objects (Mert Can Altin) #59051 - [
b267f6bca3] - (SEMVER-MINOR) crypto: implement randomUUIDv7() (nabeel378) #62553 - [
7597d204c1] - crypto: add support forEd25519context parameter (Filip Skokan) #62474 - [
4bf85845da] - debugger: move ProbeInspectorSession and helpers to separate files (Joyee Cheung) #63013 - [
ec2451b9cd] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes tonode inspect(Joyee Cheung) #62713 - [
83e98f77b7] - deps: update corepack to 0.35.0 (Node.js GitHub Bot) #63375 - [
ec8c6b939a] - deps: V8: cherry-pick657d8de(Guy Bedford) #62784 - [
722c0c3274] - deps: update nghttp3 to 1.14.0 (Node.js GitHub Bot) #61187 - [
5304db93d3] - deps: update nghttp3 to 1.13.1 (Node.js GitHub Bot) #60046 - [
e073b3811d] - deps: update nghttp3 to 1.11.0 (James M Snell) #59249 - [
1d00313fb2] - deps: update ngtcp2 to 1.14.0 (James M Snell) #59249 - [
8b3a4fc18f] - deps: update amaro to 1.1.9 (Node.js GitHub Bot) #63090 - [
62fe0cfcd1] - deps: update llhttp to 9.4.1 (Node.js GitHub Bot) #63045 - [
137e09c8e9] - deps: update corepack to 0.34.7 (Node.js GitHub Bot) #62810 - [
14a4cb8fbc] - deps: update timezone to 2026b (Node.js GitHub Bot) #62962 - [
3e1036583a] - deps: upgrade npm to 11.13.0 (npm team) #62898 - [
01dfe5961c] - deps: cherry-pick libuv/libuv@439a54b(skooch) #62881 - [
6cd368b10c] - deps: update sqlite to 3.53.0 (Node.js GitHub Bot) #62699 - [
f218a4f553] - deps: update nbytes to 0.1.4 (Node.js GitHub Bot) #62698 - [
b47688524a] - deps: update archs files for openssl-3.5.6 (Node.js GitHub Bot) #62629 - [
d202e2d343] - deps: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) #62629 - [
2faba66341] - deps: update minimatch to 10.2.5 (Node.js GitHub Bot) #62594 - [
fa46c90c5d] - deps: update googletest tod72f9c8(Node.js GitHub Bot) #62593 - [
099ded5713] - deps: update simdjson to 4.6.1 (Node.js GitHub Bot) #62592 - [
7ce95afe96] - deps: libuv: cherry-pickaabb765(Santiago Gimeno) #62561 - [
57ef845623] - deps: update icu to 78.3 (Node.js GitHub Bot) #62324 - [
493ac40e12] - deps: update libuv to 1.52.1 (Node.js GitHub Bot) #61829 - [
b39508b368] - deps: update undici to 7.25.0 (Node.js GitHub Bot) #63011 - [
cb67a925e9] - deps: use npm undici@seven tag inupdate-undici.sh(Matteo Collina) #62739 - [
aa1e0bc28b] - doc: fix typos and inconsistencies in crypto.md and webcrypto.md (Filip Skokan) #62828 - [
f2a1735ed9] - doc: fix duplicate word "to to" in util.styleText (Daijiro Wachi) #62917 - [
b6378e215c] - doc: fix node-config-schema (Сковорода Никита Андреевич) #61596 - [
233894a9ce] - doc: fix the TypeScript Execute (tsx) project link (David Thornton) #63093 - [
5d97919f8f] - doc: correct diagnostics_channel built-in channel names (Bryan English) #62995 - [
2a9ccc927e] - doc: use mjs/cjs blocks for callbackify null reason example (Daijiro Wachi) #62884 - [
ef413b5358] - doc: fix typo in test.md (Rich Trott) #62960 - [
76f21c5070] - doc: correct typo in MR contribution instructions (Mike McCready) #62738 - [
ca02af1f7d] - doc: fix duplicate word "of of" in postMessageToThread (Daijiro Wachi) #62917 - [
46c99ed526] - doc: fix duplicate word "for for" in compile cache (Daijiro Wachi) #62917 - [
1a60851734] - doc: fix typo in dns.lookup options description (Daijiro Wachi) #62882 - [
169b5ea2ed] - doc: fix Argon2 parameter bounds (Tobias Nießen) #62868 - [
9a3a190f4e] - doc: clarify diffieHellman.generateKeys recomputes same key (Kit Dallege) #62205 - [
0fba9e87d6] - doc: remove Ayase-252 and meixg from triagger team (Antoine du Hamel) #62841 - [
9c700f3446] - doc: clarify dns.lookup() callback signature when all is true (eungi) #62800 - [
6b7280bc17] - doc: add experimental modules lifetime policy (Paolo Insogna) #62753 - [
ce47ea31c9] - doc: clarify process._debugProcess() in Permission Model (Fahad Khan) #62537 - [
ba01633757] - doc: fix typo in devcontainer guide (Rohan Santhosh Kumar) #62687 - [
70b4d5839b] - doc: clarify Backport-MR-URL metadata added automatically (Mike McCready) #62668 - [
8126d1c3eb] - doc: update WPT test runner README.md (Filip Skokan) #62680 - [
978afea4b5] - doc: fix spelling in release announcement guidance (Rohan Santhosh Kumar) #62663 - [
1684ab8ff8] - doc: note non-monotonic clock in crypto.randomUUIDv7 (nabeel378) #62600 - [
86d4f07930] - doc: update bug bounty program (Rafael Gonzaga) #62590 - [
736ed8a08f] - doc: document TransformStream transformer.cancel option (Tom Pereira) #62566 - [
938af9be01] - doc: mention test runner retry attemp is zero based (Moshe Atlow) #62504 - [
94433e450f] - doc,src,test: fix dead inspector help URL (semimikoh) #62745 - [
ddf1f01659] - esm: addERR_REQUIRE_ESM_RACE_CONDITION(Antoine du Hamel) #62462 - [
4a506acd16] - fs: add followSymlinks option to glob (Matteo Collina) #62695 - [
f4ea495f9b] - fs: restore fs patchability in ESM loader (Joyee Cheung) #62835 - [
63c111cd60] - fs: validate position argument before length === 0 early return (Edy Silva) #62674 - [
9705f628d9] - (SEMVER-MINOR) fs: add signal option to fs.stat() (Mert Can Altin) #57775 - [
40ccfdecf9] - (SEMVER-MINOR) fs: expose frsize field in statfs (Jinho Jang) #62277 - [
717476a24e] - http: emit 'drain' on OutgoingMessage only after buffers drain (Robert Nagy) #62936 - [
d7188af5c9] - (SEMVER-MINOR) http: harden ClientRequest options merge (Matteo Collina) #63082 - [
64f15c274a] - http: fix leaked error listener on sync HTTP req create + destroy (Tim Perry) #62872 - [
5c4798d799] - http: fix no_proxy leading-dot suffix matching (Daijiro Wachi) #62333 - [
9f3bc70ae5] - http: cleanup pipeline queue (Robert Nagy) #62534 - [
aa1d8a9afc] - (SEMVER-MINOR) http: add req.signal to IncomingMessage (Akshat) #62541 - [
900dc758ff] - http2: expose writable stream state on compat response (T) #63003 - [
b3bfe35912] - inspector: coerce key and value to string in webstorage events (Ali Hassan) #62616 - [
3dc3fb6ad8] - inspector: return errors when CDP protocol event emission fails (Ryuhei Shima) #62162 - [
4f3f21bd7c] - inspector: auto collect webstorage data (Ryuhei Shima) #62145 - [
36cc04189d] - inspector: initial support storage inspection (Ryuhei Shima) #61139 - [
1718bc3b9b] - inspector: fix absolute URLs in network http (bugyaluwang) #62955 - [
97e32c7a74] - lib: avoid quadratic shift() in startup snapshot callback (Daijiro Wachi) #62914 - [
25d2e999de] - lib: harden kKeyOps lookup with null prototype (Filip Skokan) #62877 - [
37d3913c8f] - lib: short-circuit WebIDL BufferSource SAB check (Filip Skokan) #62833 - [
430c69d25f] - lib: use js-only implementation ofisDataView()(René) #62780 - [
3ba0add6a0] - lib: fix lint in internal/webstreams/util.js (Filip Skokan) #62806 - [
9b95c41398] - lib: fix sequence argument handling in Blob constructor (Ms2ger) #62179 - [
314dacdbee] - lib: improve Web Cryptography key validation ordering (Filip Skokan) #62749 - [
3d18162430] - lib: reject SharedArrayBuffer in web APIs per spec (Ali Hassan) #62632 - [
ada3ce879d] - lib: defer AbortSignal.any() following (sangwook) #62367 - [
b2981ec7eb] - meta: bump actions/download-artifact from 8.0.0 to 8.0.1 (dependabot[bot]) #62549 - [
7cd20667b5] - meta: bump github/codeql-action from 4.35.1 to 4.35.3 (dependabot[bot]) #63074 - [
91a07cfe9f] - meta: bump Mozilla-Actions/sccache-action from 0.0.9 to 0.0.10 (dependabot[bot]) #63073 - [
09e17fe47c] - meta: add automation policy (Chengzhong Wu) #62871 - [
59e7fb7986] - meta: move VoltrexKeyva to emeritus (Matteo Collina) #62895 - [
1e2915cfa6] - meta: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (dependabot[bot]) #62845 - [
0253c6e2be] - meta: bump step-security/harden-runner from 2.16.1 to 2.19.0 (dependabot[bot]) #62844 - [
f503675b86] - meta: bump actions/setup-node from 6.3.0 to 6.4.0 (dependabot[bot]) #62842 - [
5e14e4d26e] - meta: broaden stale bot (Aviv Keller) #62658 - [
795db76f87] - meta: pass release version to release worker (flakey5) #62777 - [
ef384fe39f] - meta: add QUIC to CODEOWNERS (Tim Perry) #62652 - [
67e0ac568d] - meta: move Michael to emeritus (Michael Dawson) #62536 - [
5dad616393] - meta: populate apt list for slim runner in update-openssl workflow (René) #62628 - [
a869d25d8a] - meta: bump step-security/harden-runner from 2.15.0 to 2.16.1 (dependabot[bot]) #62550 - [
769efc0403] - meta: bump actions/setup-node from 6.2.0 to 6.3.0 (dependabot[bot]) #62548 - [
73fcc2b055] - meta: bump github/codeql-action from 4.32.4 to 4.35.1 (dependabot[bot]) #62547 - [
6c001246fe] - meta: bump codecov/codecov-action from 5.5.2 to 6.0.0 (dependabot[bot]) #62545 - [
5ee40d6a03] - meta: bump actions/cache from 5.0.3 to 5.0.4 (dependabot[bot]) #62543 - [
ca16ad8a05] - meta: require DCO signoff in commit message guidelines (James M Snell) #62510 - [
db9497fc41] - meta: expand memory leak DoS criteria to all DoS (Joyee Cheung) #62505 - [
13b7d08b8d] - module: remove duplicated checks from_resolveFilename(Antoine du Hamel) #62729 - [
6b53efb53a] - module,win: fix long subpath import (Stefan Stojanovic) #62101 - [
841dfbf6fc] - node-api: update libuv ABI stability note (Chengzhong Wu) #62789 - [
01090f2aa1] - node-api: add napi_create_external_sharedarraybuffer (Ben Noordhuis) #62623 - [
87443b4355] - node-api: execute tsfn finalizer after queue drains when aborted (Kevin Eady) #61956 - [
e95570c054] - process: handle rejections only when needed (Gürgün Dayıoğlu) #62919 - [
37d49f3219] - process: optimize asyncHandledRejections by using FixedQueue (Gürgün Dayıoğlu) #60854 - [
f697c55e38] - quic: add QuicEndpoint.listening & QuicStream.destroy() and tests (Tim Perry) #62648 - [
c128942b69] - quic: fixup token verification to handle zero expiration (James M Snell) #62620 - [
abb881ec92] - quic: support multiple ALPN negotiation (James M Snell) #62620 - [
476926c2ad] - quic: apply multiple TLS context improvements and SNI support (James M Snell) #62620 - [
76d9c24b95] - quic: implement rapidhash for hashing improvements (James M Snell) #62620 - [
08726cd43d] - quic: move quic behind compile time flag (Matteo Collina) #61444 - [
ea4f19aaa7] - quic: use arena allocation for packets (James M Snell) #62589 - [
21e9239e2a] - quic: fixup linting/formatting issues (James M Snell) #62387 - [
edeed4303b] - quic: update http3 impl details (James M Snell) #62387 - [
7f3a85e6aa] - quic: fix a handful of bugs and missing functionality (James M Snell) #62387 - [
45c1ebddf8] - quic: copy options.certs buffer instead of detaching (Chengzhong Wu) #61403 - [
a31a8ee680] - quic: reduce boilerplate and other minor cleanups (James M Snell) #59342 - [
3be70ff43a] - quic: multiple fixups and updates (James M Snell) #59342 - [
b91a93444c] - quic: update more of the quic to the new compile guard (James M Snell) #59342 - [
ca0080c164] - quic: few additional small comment edits in cid.h (James M Snell) #59342 - [
6553202d83] - quic: fixup NO_ERROR macro conflict on windows (James M Snell) #59381 - [
6df1508ac2] - quic: fixup windows coverage compile error (James M Snell) #59381 - [
b2b0bf8b04] - quic: update the guard to check openssl version (James M Snell) #59249 - [
5556b154bd] - quic: start re-enabling quic with openssl 3.5 (James M Snell) #59249 - [
2ca42c8263] - repl: keep reference count forprocess.on('newListener')(Anna Henningsen) #61895 - [
2f37f9177f] - sqlite: use OneByte for ASCII text and internalize col names (Ali Hassan) #61954 - [
3c96ae1b2f] - sqlite: add serialize() and deserialize() (Ali Hassan) #62579 - [
be4d2f3a4c] - sqlite: enable Percentile extension (Jurj Andrei George) #61295 - [
dafed453b2] - src: clean up experimental flag variables (Antoine du Hamel) #62759 - [
dca1e6aeea] - src: expose help texts into node-config-schema.json (Pietro Marchini) #58680 - [
28c4f44eb1] - src: add permission support to config file (Marco Ippolito) #60746 - [
f49175b220] - src: fix small compile warning in quic/streams.cc (James M Snell) #60118 - [
c9d4a446d8] - src: cleanup quic TransportParams class (James M Snell) #59884 - [
99bb02fd9e] - src: swap dotenv and config file parsing order (Marco Ippolito) #63035 - [
ecb4d49b7b] - src: add missing <cstdlib> for abort() declaration (Charles Kerr) #63001 - [
b6219b6362] - src: fix crash in GetErrorSource() for invalid using syntax (semimikoh) #62770 - [
b5ca5ad4c5] - src: simplifyTCPWrap::Connectsignature (Anna Henningsen) #62929 - [
ef7ffce7cf] - src: use DCHECK in AsyncWrap::MakeCallback instead emiting a warning (Gerhard Stöbich) #62795 - [
cd9890a5ab] - src: fix MaybeStackBuffer char_traits deprecation warning (om-ghante) #62507 - [
c70ff44aee] - src: use context-free V8 message column getters (René) #62778 - [
06c405f1d7] - src: coercespawnSyncargs to string once (Antoine du Hamel) #62633 - [
6151999ad6] - src: use stack allocation for small string encoding (Ali Hassan) #62431 - [
a71a4ac7a3] - src: add contextify interceptor debug logs (Chengzhong Wu) #62460 - [
ad9a2909c2] - src: workaround AIX libc++ std::filesystem bug (Richard Lau) #62788 - [
7792f1ae47] - stream: copyeditwebstreams/adapter.js(Antoine du Hamel) #63034 - [
1397d8ce5c] - stream: remove duplicated utility (Antoine du Hamel) #63031 - [
ff86b1d64f] - stream: simplifysetPromiseHandledutility (Antoine du Hamel) #63032 - [
24a078149a] - stream: validate ReadableStream.from iterator objects (Daeyeon Jeong) #62911 - [
cfb1fa9680] - stream: reject duplicate nested transferables (Daeyeon Jeong) #62831 - [
d0c913758a] - stream: ensuring cross-destruction in _duplexify to prevent leaks (Daijiro Wachi) #62824 - [
978f5c15d7] - stream: simplifyreadableStreamFromIterable(Antoine du Hamel) #62651 - [
3527646ba5] - stream: fix nested compose error propagation (Matteo Collina) #62556 - [
dfb9edef4f] - stream: allow shared array buffer sources in writable webstream adapter (René) #62163 - [
f00cdab627] - stream: simplifycreatePromiseCallback(Antoine du Hamel) #62650 - [
3ed783535f] - stream: fix writev unhandled rejection in fromWeb (sangwook) #62297 - [
29b196694c] - stream: noop pause/resume on destroyed streams (Robert Nagy) #62557 - [
d73dbb9fc8] - stream: refactor duplexify to be less suceptible to prototype pollution (Antoine du Hamel) #62559 - [
6f37f7e240] - (SEMVER-MINOR) stream: propagate destruction in duplexPair (Ahmed Elhor) #61098 - [
b8816580e9] - test: generatelocalstorage.dbin a temp dir (Chengzhong Wu) #62660 - [
31a863fd29] - test: update WPT for url to258f285(Node.js GitHub Bot) #63087 - [
d0d19bd8e3] - test: update WPT for streams tof8f26a3(Node.js GitHub Bot) #62864 - [
f50ac5bc78] - test: improve config-file permission test coverage (Rafael Gonzaga) #60929 - [
a0f90000f4] - test: export isRiscv64 from common module (Jamie Magee) #62609 - [
da4dd8646f] - test: normalize known inspector crash as completion (Joyee Cheung) #62851 - [
b7fdd94a4c] - test: account for RFC 7919 FFDHE negotiation in OpenSSL 4.0 (Filip Skokan) #62805 - [
375a993aaf] - test: skip tls-deprecated secp256k1 on OpenSSL 4.0 (Filip Skokan) #62805 - [
698d8287d1] - test: use an always invalid cipher and cover OpenSSL 4.0 behaviours (Filip Skokan) #62805 - [
036bc6f300] - test: use valid DER OCSP responses (Filip Skokan) #62805 - [
3aa9938da8] - test: skip test-tls-error-stack when engines are unsupported (Filip Skokan) #62805 - [
947f1ae246] - test: accept renamed OpenSSL 4.0 error code and reason (Filip Skokan) #62805 - [
afdd355622] - test: update test/addons/openssl-binding for OpenSSL 4.0 (Filip Skokan) #62805 - [
8637524a99] - test: mark test-snapshot-reproducible flaky (Filip Skokan) #62808 - [
c22d34134b] - test: check contextify contextual store behavior in strict mode (René) #62571 - [
0b4e0d3c94] - test: update tls junk data error expectations (Filip Skokan) #62629 - [
85d83c2cdb] - test: ensure WPT report is in out/wpt (Filip Skokan) #62637 - [
9e21711c60] - test: improve WPT runner summary (Filip Skokan) #62636 - [
e04e2c9ac1] - test: skip url WPT subtests instead of modifying test script (Filip Skokan) #62635 - [
7b1211f88c] - test: capture negative utimes mtime at call time (Yuya Inoue) #62490 - [
f1a6e9fcc7] - test: allow skipping individual WPT subtests (Filip Skokan) #62517 - [
23f927542e] - test: use on-disk fixture for test-npm-install (Joyee Cheung) #62584 - [
4739c45879] - test: update WPT for url to7a3645b(Node.js GitHub Bot) #62591 - [
f68189b839] - test_runner: addtestIdto test events (Moshe Atlow) #62772 - [
5c2770446e] - test_runner: publish to TracingChannel for OTel instrumentation (Moshe Atlow) #62502 - [
d14029be7f] - (SEMVER-MINOR) test_runner: support test order randomization (Pietro Marchini) #61747 - [
3f74a58979] - test_runner: update node-config-schema (Pietro Marchini) #58680 - [
60c83f6199] - test_runner: fix failing suite hooks when marked withtodo(Moshe Atlow) #63097 - [
d142c584cd] - (SEMVER-MINOR) test_runner: align mock timeout api (sangwook) #62820 - [
3e72065ed6] - test_runner: fix suite rerun edge case (Moshe Atlow) #62860 - [
01a9552585] - (SEMVER-MINOR) test_runner: add mock-timers support for AbortSignal.timeout (DeveloperViraj) #60751 - [
dd43efffa6] - test_runner: add passed, attempt, and diagnostic to SuiteContext (Moshe Atlow) #62504 - [
a12dc445cc] - tools: add a check for clean git tree after tests (Antoine du Hamel) #62661 - [
5b49178375] - tools: use LTS Node.js in notify-on-push workflow (Nenad Spasenic) #63084 - [
5a93bde5bb] - tools: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) #63065 - [
b133019d19] - tools: simplifyupdate-undici.sh(Antoine du Hamel) #63044 - [
04d3538074] - tools: do not runtest-linuxon unrelated tools changes (Antoine du Hamel) #63037 - [
4d396ac4a5] - tools: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) #62848 - [
9354bf40e7] - tools: update gyp-next to 0.22.1 (Node.js GitHub Bot) #62961 - [
c23db1ca85] - tools: fix commit linter for semver-major release proposals (Antoine du Hamel) #62993 - [
6e097ee3f1] - tools: consolidate and simplify .editorconfig deps section (Daijiro Wachi) #62887 - [
a47ea6d6ea] - tools: set bot as author of tools-deps-update MRs (Antoine du Hamel) #62856 - [
00e86f0471] - tools: bump brace-expansion from 5.0.4 to 5.0.5 in /tools/eslint (dependabot[bot]) #62458 - [
cd7e262e75] - tools: bump brace-expansion in /tools/clang-format (dependabot[bot]) #62467 - [
bfc1319bc8] - tools: exclude @node-core/doc-kit from dependabot cooldown (Levi Zim) #62775 - [
a932fbd10b] - tools: re-enable undici WPTs in daily wpt.fyi job (Filip Skokan) #62677 - [
f7bd9e3055] - tools: update gyp-next to 0.22.0 (Node.js GitHub Bot) #62697 - [
c400d46d87] - tools: improve backport review script (Antoine du Hamel) #62573 - [
be23b75814] - tools: improve output for unexpected passes in WTP tests (Antoine du Hamel) #62587 - [
609c013ece] - tools: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) #62627 - [
81bac1ebfd] - tools: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) #62552 - [
1fee26522d] - tools: allow triagers to queue a MR for CI until it's reviewed (Antoine du Hamel) #62524 - [
332088f929] - tools: do not runcommit-linton release proposals (Antoine du Hamel) #62523 - [
9a25fc8a4d] - url: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) #62574 - [
7bd08ff60a] - url: optimize URLSearchParams set/delete duplicate handling (Gürgün Dayıoğlu) #62266 - [
2d636388fa] - url: align default argument handling for URLPattern with webidl (Filip Skokan) #62719 - [
00705a459a] - (SEMVER-MINOR) util: colorize text with hex colors (Guilherme Araújo) #61556 - [
0e2adb3e45] - watch: track worker entry files in watch mode (SudhansuBandha) #62368 - [
c58fe38211] - watch: fix --env-file-if-exists crashing on linux if the file is missing (Efe) #61870
v24.15.0: 2026-04-15, Version 24.15.0 'Krypton' (LTS), @aduh95
Notable Changes
- [
3d87ecacbc] - (SEMVER-MINOR) cli: add --max-heap-size option (tannal) #58708 - [
83c38672f7] - cli: add --require-module/--no-require-module (Joyee Cheung) #60959 - [
54ef940e01] - (SEMVER-MINOR) crypto: add raw key formats support to the KeyObject APIs (Filip Skokan) #62240 - [
f4a3edc47a] - (SEMVER-MINOR) fs: addthrowIfNoEntryoption for fs.stat and fs.promises.stat (Juan José) #61178 - [
5cdcba17cc] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) #61713 - [
8b6be3fe14] - module: mark require(esm) as stable (Joyee Cheung) #60959 - [
68fbc0c6cc] - module: mark module compile cache as stable (Joyee Cheung) #60971 - [
c851e76f8c] - (SEMVER-MINOR) net: addsetTOSandgetTOStoSocket(Amol Yadav) #61503 - [
6ac4304c87] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298 - [
aaf9af1672] - sqlite: mark as release candidate (Matteo Collina) #61262 - [
eb77a7a297] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869 - [
6834ca13bb] - (SEMVER-MINOR) stream: renameDuplex.toWeb()type option toreadableType(René) #61632 - [
f5f21d36a6] - test_runner: add exports option for module mocks (sangwook) #61727 - [
1f2025fd1e] - (SEMVER-MINOR) test_runner: expose worker ID for concurrent test execution (Ali Hassan) #61394 - [
1ca20fc33d] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676
Commits
- [
148373cea1] - assert,util: improve comparison performance (Ruben Bridgewater) #61176 - [
e5558b0859] - assert,util: fix deep comparing invalid dates skipping properties (Ruben Bridgewater) #61076 - [
83cffd92b5] - async_hooks: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) #61054 - [
2c9436b43d] - benchmark: fix destructuring in dgram/single-buffer (Ali Hassan) #62084 - [
837acd7382] - benchmark: add startup benchmark for ESM entrypoint (Joyee Cheung) #61769 - [
a6ced7d272] - buffer: improve performance of multiple Buffer operations (Ali Hassan) #61871 - [
a82003bf8b] - buffer: optimize buffer.concat performance (Mert Can Altin) #61721 - [
83dfd0be1d] - buffer: disallow ArrayBuffer transfer on pooled buffer (Chengzhong Wu) #61372 - [
ed2d0cb1bf] - build: support empty libname flags inconfigure.py(Antoine du Hamel) #62477 - [
09f7920267] - build: fix timezone-update path references (Chengzhong Wu) #62280 - [
af46b15b91] - build: use path-ignore in GHA coverage-windows.yml (Chengzhong Wu) #61811 - [
2cf77eadd1] - build: generate_config_gypi.py generates valid JSON (Shelley Vohr) #61791 - [
e0220f0c35] - build: build with v8 gdbjit support on supported platform (Joyee Cheung) #61010 - [
5505511dcb] - build: enable -DV8_ENABLE_CHECKS flag (Ryuhei Shima) #61327 - [
5f8ecf3940] - build: add --debug-symbols to build with -g without enabling DCHECKs (Joyee Cheung) #61100 - [
ab18c0867b] - build: fix --node-builtin-modules-path (Filip Skokan) #62115 - [
bfa60d5782] - build: fix GN for new merve dep (Shelley Vohr) #61984 - [
0d1975fe3a] - build,win: add WinGet Visual Studio 2022 Build Tools Edition config (Mike McCready) #61652 - [
10b2bb5fa6] - child_process: add tracing channel for spawn (Marco) #61836 - [
3d87ecacbc] - (SEMVER-MINOR) cli: add --max-heap-size option (tannal) #58708 - [
83c38672f7] - cli: add --require-module/--no-require-module (Joyee Cheung) #60959 - [
9d37233824] - crypto: update root certificates to NSS 3.121 (Node.js GitHub Bot) #62485 - [
b0cbfe38a4] - crypto: add crypto::GetSSLCtx API for addon access to OpenSSL contexts (Tim Perry) #62254 - [
dc034a4ac9] - crypto: reject ML-KEM/ML-DSA PKCS#8 import without seed in SubtleCrypto (Filip Skokan) #62218 - [
8aa6e706df] - crypto: refactor WebCrypto AEAD algorithms auth tag handling (Filip Skokan) #62169 - [
20cb932bcf] - crypto: read algorithm name property only once in normalizeAlgorithm (Filip Skokan) #62170 - [
e2934162b4] - crypto: add missing AES dictionaries (Filip Skokan) #62099 - [
8b8db52f65] - crypto: fix importKey required argument count check (Filip Skokan) #62099 - [
bd5458db29] - crypto: fix missing nullptr check on RSA_new() (ndossche) #61888 - [
7302c7ed22] - crypto: fix handling of null BUF_MEM* in ToV8Value() (Nora Dossche) #61885 - [
8d0c22ea20] - crypto: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) #61788 - [
72aad8b40f] - crypto: always return certificate serial numbers as uppercase (Anna Henningsen) #61752 - [
2395fc0f4d] - crypto: rename CShakeParams and KmacParams length to outputLength (Filip Skokan) #61875 - [
541be3aaf2] - crypto: recognize raw formats in keygen (Filip Skokan) #62480 - [
54ef940e01] - (SEMVER-MINOR) crypto: add raw key formats support to the KeyObject APIs (Filip Skokan) #62240 - [
bef1949823] - deps: V8: cherry-pick33e7739(Thibaud Michaud) #62567 - [
2e1a565a55] - deps: update ada to 3.4.4 (Node.js GitHub Bot) #62414 - [
d0418bad10] - deps: update timezone to 2026a (Node.js GitHub Bot) #62164 - [
53aad66415] - deps: update googletest to2461743(Node.js GitHub Bot) #62484 - [
90fab71a84] - deps: update simdjson to 4.5.0 (Node.js GitHub Bot) #62382 - [
a416ddf6d9] - deps: V8: cherry-pickcf1bce4(Richard Lau) #62449 - [
4d9123e57d] - deps: upgrade npm to 11.12.1 (npm team) #62448 - [
952d715028] - deps: update sqlite to 3.51.3 (Node.js GitHub Bot) #62256 - [
f3fd7ed426] - deps: update googletest to73a63ea(Node.js GitHub Bot) #61927 - [
71a2f82d7c] - deps: upgrade npm to 11.11.1 (npm team) #62216 - [
84f60c26f7] - deps: update amaro to 1.1.8 (Node.js GitHub Bot) #62151 - [
43159d0e5f] - deps: update sqlite to 3.52.0 (Node.js GitHub Bot) #62150 - [
b887657b38] - deps: V8: cherry-pickaa0b288(Richard Lau) #62136 - [
7ab885b323] - deps: update ada to 3.4.3 (Node.js GitHub Bot) #62049 - [
671ddec2b9] - deps: update minimatch to 10.2.4 (Node.js GitHub Bot) #62016 - [
290fe37d4d] - deps: update simdjson to 4.3.1 (Node.js GitHub Bot) #61930 - [
a13bee76b5] - deps: update acorn-walk to 8.3.5 (Node.js GitHub Bot) #61928 - [
f0e40b35b9] - deps: update acorn to 8.16.0 (Node.js GitHub Bot) #61925 - [
463dfa023a] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) #61830 - [
4b2e4bb108] - deps: update nbytes to 0.1.3 (Node.js GitHub Bot) #61879 - [
5626cb83d0] - deps: remove stale OpenSSL arch configs (René) #61834 - [
52668874fd] - deps: update llhttp to 9.3.1 (Node.js GitHub Bot) #61827 - [
b3387b07b1] - deps: update googletest to5a9c3f9(Node.js GitHub Bot) #61731 - [
196268cb4c] - deps: V8: cherry-pickc5ff7c4(Chengzhong Wu) #61372 - [
36869b52de] - deps: update merve to 1.2.2 (Node.js GitHub Bot) #62213 - [
3cbac055de] - deps: update merve to 1.2.0 (Node.js GitHub Bot) #62149 - [
7757cc3495] - deps: V8: backport6a0a25a(Vivian Wang) #61670 - [
359797c2fb] - deps,src: prepare for cpplint update (Michaël Zasso) #60901 - [
ace802e59b] - diagnostics_channel: add diagnostics channels for web locks (Ilyas Shabi) #62123 - [
a072411b03] - doc: remove spawn with shell example from bat/cmd section (Kit Dallege) #62243 - [
0b152449af] - doc: fix typo in --disable-wasm-trap-handler description (Dmytro Semchuk) #61820 - [
73ea387ad7] - doc: remove obsolete Boxstarter automated install (Mike McCready) #61785 - [
7f234add8e] - doc: deprecatemodule.register()(DEP0205) (Geoffrey Booth) #62395 - [
12fc3c6a30] - doc: clarify that features cannot be both experimental and deprecated (Antoine du Hamel) #62456 - [
1ecc5962a2] - doc: fix 'transfered' typo in quic.md (lilianakatrina684-a11y) #62492 - [
56741a1303] - doc: move sqlite type conversion section to correct level (René) #62482 - [
12b04d17d5] - doc: add Rafael to last security release steward (Rafael Gonzaga) #62423 - [
c4567e4a8d] - doc: fix overstated Date header requirement in response.sendDate (Kit Dallege) #62206 - [
384a41047f] - doc: enhance clarification about the main field (Mowafak Almahaini) #62302 - [
93d19b1a1c] - doc: minor typo fix (Jeff Matson) #62358 - [
3db35d2c59] - doc: add path to vulnerabilities.json mention (Rafael Gonzaga) #62355 - [
57b105c9d5] - doc: deprecate CryptoKey use in node:crypto (Filip Skokan) #62321 - [
490168c993] - doc: fix small environment_variables typo (chris) #62279 - [
0291be584b] - doc: test and test-only targets do not run linter (Xavier Stouder) #62120 - [
ba0a82a1e1] - doc: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) #62208 - [
125bdbf504] - doc: clarify that any truthy value ofshellis part of DEP0190 (Antoine du Hamel) #62249 - [
a141ad0aeb] - doc: remove outdated Chrome 66 and ndb references from debugger (Kit Dallege) #62202 - [
44bde8e573] - doc: add note (and caveat) formock.moduleabout customization hooks (Jacob Smith) #62075 - [
8c46a1ca1a] - doc: copyeditaddons.md(Antoine du Hamel) #62071 - [
7f989f02f7] - doc: correctutil.convertProcessSignalToExitCodevalidation behavior (René) #62134 - [
a4466ebdac] - doc: add efekrskl as triager (Efe) #61876 - [
db516eca3a] - doc: fix markdown forexpectFailurevalues (Jacob Smith) #62100 - [
ad97045125] - doc: include url.resolve() in DEP0169 application deprecation (Mike McCready) #62002 - [
309f37ba42] - doc: expand SECURITY.md with non-vulnerability examples (Rafael Gonzaga) #61972 - [
dbb3551b7b] - doc: separate in-types and out-types in SQLite conversion docs (René) #62034 - [
191c433db8] - doc: fix small logic error in DETECT_MODULE_SYNTAX (René) #62025 - [
8511b1c784] - doc: fix module.stripTypeScriptTypes indentation (René) #61992 - [
dd1139f52c] - doc: update DEP0040 (punycode) to application type deprecation (Mike McCready) #61916 - [
54009e9c62] - doc: explicitly mention Slack handle (Rafael Gonzaga) #61986 - [
78fa1a1a49] - doc: support toolchain Visual Studio 2022 & 2026 + Windows 11 SDK (Mike McCready) #61864 - [
d8204d3cdb] - doc: rename invalidfunctionparameter (René) #61942 - [
a5a14482fb] - doc: clarify status of feature request issues (Antoine du Hamel) #61505 - [
bd0688feb6] - doc: add esm and cjs examples to node:vm (Alfredo González) #61498 - [
240b512f9f] - doc: clarify build environment is trusted in threat model (Matteo Collina) #61865 - [
5dd48e3456] - doc: remove incorrect mention ofmoduleintypescript.md(Rob Palmer) #61839 - [
9502c22055] - doc: simplify addAbortListener example (Chemi Atlow) #61842 - [
6fec397828] - doc: clean up globals.md (René) #61822 - [
a810f5ccef] - doc: clarify async caveats forevents.once()(René) #61572 - [
2bf990bb1a] - doc: update Juan's security steward info (Juan José) #61754 - [
0312db948d] - doc: fix methods being documented as properties inprocess.md(Antoine du Hamel) #61765 - [
e558b26e7f] - doc: add riscv64 info into platform list (Lu Yahan) #42251 - [
49254e3dc0] - doc: fix dropdown menu being obscured at <600px due to stacking context (Jeff) #61735 - [
4ff01b5c10] - doc: fix spacing in process message event (Aviv Keller) #61756 - [
94097a79d6] - doc: move describe/it aliases section before expectFailure (Luca Raveri) #61567 - [
b7cd31acbe] - doc: fix broken links of net.md (YuSheng Chen) #61673 - [
ae5e353fe2] - doc: clean up Windows code snippet inchild_process.md(reillylm) #61422 - [
ea9beb6a3c] - doc: update to Visual Studio 2026 manual install (Mike McCready) #61655 - [
42057c84e2] - doc,module: add missing doc for syncHooks.deregister() (Joyee Cheung) #61959 - [
a035bd5235] - doc,test: clarify --eval syntax for leading '-' scripts (kovan) #62244 - [
deb0b78460] - esm: fix typo in worker loader hook comment (jakecastelli) #62475 - [
b93bf7dbfc] - esm: fix source phase identity bug in loadCache eviction (Guy Bedford) #62415 - [
679d18b57f] - esm: fix path normalization infinalizeResolution(Antoine du Hamel) #62080 - [
171e9fc268] - esm: update outdated FIXME comment in translators.js (Karan Mangtani) #61715 - [
cc19728228] - events: avoid cloning listeners array on every emit (Gürgün Dayıoğlu) #62261 - [
458c92be52] - events: don't call resume after close (Сковорода Никита Андреевич) #60548 - [
4691f3e7fb] - fs: fix cpSync to handle non-ASCII characters (Stefan Stojanovic) #61950 - [
f4a3edc47a] - (SEMVER-MINOR) fs: addthrowIfNoEntryoption for fs.stat and fs.promises.stat (Juan José) #61178 - [
58e4d50cd0] - http: fix use-after-free when freeParser is called during llhttp_execute (Gerhard Stöbich) #62095 - [
0a4ad85ab0] - http: validate ClientRequest path on set (Matteo Collina) #62030 - [
f8178ac3e6] - http: validate headers in writeEarlyHints (Richard Clarke) #61897 - [
899884d0ed] - http: remove redundant keepAliveTimeoutBuffer assignment (Efe) #61743 - [
08d2e40694] - http: attach error handler to socket synchronously in onSocket (RajeshKumar11) #61770 - [
1c2064c1f8] - http: fix keep-alive socket reuse race in requestOnFinish (Martin Slota) #61710 - [
38e9c66e0f] - http2: add strictSingleValueFields option to relax header validation (Tim Perry) #59917 - [
5cdcba17cc] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) #61713 - [
687c0acd00] - http2: fix FileHandle leak in respondWithFile (sangwook) #61707 - [
0c8f802ec2] - inspector: add Target.getTargets and extract TargetManager (Kohei) #62487 - [
7de8a303c1] - inspector: unwrap internal/debugger/inspect imports (René) #61974 - [
59ac10a4fd] - lib: make SubtleCrypto.supports enumerable (Filip Skokan) #62307 - [
9dc102ba90] - lib: prefer primordials in SubtleCrypto (Filip Skokan) #62226 - [
78a9aa8f32] - lib: fix source map url parse in dynamic imports (Chengzhong Wu) #61990 - [
16b8cc6643] - lib: improve argument handling in Blob constructor (Ms2ger) #61980 - [
a03b5d39b8] - lib: reduce cycles in esm loader and load it in snapshot (Joyee Cheung) #61769 - [
1017bf5f86] - lib: remove top-level getOptionValue() calls in lib/internal/modules (Joyee Cheung) #61769 - [
d79984b41b] - lib: optimize styleText when validateStream is false (Rafael Gonzaga) #61792 - [
6462b89d10] - meta: bump actions/download-artifact from 7.0.0 to 8.0.0 (dependabot[bot]) #62063 - [
5bb89916ea] - meta: bump actions/upload-artifact from 6.0.0 to 7.0.0 (dependabot[bot]) #62062 - [
b067d74d94] - meta: bump step-security/harden-runner from 2.14.2 to 2.15.0 (dependabot[bot]) #62064 - [
830e5cd125] - meta: bump github/codeql-action from 4.32.0 to 4.32.4 (dependabot[bot]) #61911 - [
16c839a3dd] - meta: bump step-security/harden-runner from 2.14.1 to 2.14.2 (dependabot[bot]) #61909 - [
498abf661e] - meta: bump actions/stale from 10.1.1 to 10.2.0 (dependabot[bot]) #61908 - [
78ac17f426] - module: fix coverage of mocked CJS modules imported from ESM (Marco) #62133 - [
46cfad4138] - module: run require.resolve through module.registerHooks() (Joyee Cheung) #62028 - [
8b6be3fe14] - module: mark require(esm) as stable (Joyee Cheung) #60959 - [
68fbc0c6cc] - module: mark module compile cache as stable (Joyee Cheung) #60971 - [
c851e76f8c] - (SEMVER-MINOR) net: addsetTOSandgetTOStoSocket(Amol Yadav) #61503 - [
4c206ecb31] - quic: remove CryptoKey support from session keys option (Filip Skokan) #62335 - [
2f9c085cf5] - sqlite: handle stmt invalidation (Guilherme Araújo) #61877 - [
6ac4304c87] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298 - [
aaf9af1672] - sqlite: mark as release candidate (Matteo Collina) #61262 - [
7d67e5d693] - src: convert context_frame field in AsyncWrap to internal field (Anna Henningsen) #62103 - [
d8ea1aaa8a] - src: make AsyncWrap subclass internal field counts explicit (Anna Henningsen) #62103 - [
1dbf3bedbe] - src: improve EC JWK import performance (Filip Skokan) #62396 - [
cd84af747b] - src: handle null backing store in ArrayBufferViewContents::Read (Mert Can Altin) #62343 - [
4f553cdc01] - src: enable compilation/linking with OpenSSL 4.0 (Filip Skokan) #62410 - [
70f8057258] - src: use stack allocation in indexOf latin1 path (Mert Can Altin) #62268 - [
d788467b6a] - src: expose async context frame debugging helper to JS (Anna Henningsen) #62103 - [
4213f893ec] - src: release context frame in AsyncWrap::EmitDestroy (Gerhard Stöbich) #61995 - [
79fb8cbcf5] - src: use validate_ascii_with_errors instead of validate_ascii (Сковорода Никита Андреевич) #61122 - [
2df328d59e] - src: fix flags argument offset in JSUdpWrap (Weixie Cui) #61948 - [
eb77a7a297] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869 - [
6cda3d30c0] - src: remove unnecessaryc_str()conversions in diagnostic messages (Anna Henningsen) #61786 - [
26c6045363] - src: use bool literals in TraceEnvVarOptions (Tobias Nießen) #61425 - [
3c8f700fd7] - src: track allocations made by zstd streams (Anna Henningsen) #61717 - [
94dbb36d4d] - src: do not store compression methods on Brotli classes (Anna Henningsen) #61717 - [
bef661f182] - src: extract zlib allocation tracking into its own class (Anna Henningsen) #61717 - [
e8079a8297] - src: release memory for zstd contexts inClose()(Anna Henningsen) #61717 - [
6e1197a3cc] - src: add more checks and clarify docs for external references (Joyee Cheung) #61719 - [
c28a22c4be] - src: fix cjs_lexer external reference registration (Joyee Cheung) #61718 - [
9e2c5fd7c9] - src: simply uint32 to string as it must not fail (Chengzhong Wu) #60846 - [
df435d32b8] - src: build v8 tick processor as built-in source text modules (Joyee Cheung) #60518 - [
2cb3573735] - src,sqlite: fix filterFunc dangling reference (Edy Silva) #62281 - [
c44f53b544] - stream: preserve error over AbortError in pipeline (Marco) #62113 - [
dc541370b4] - stream: replace bind with arrow function for onwrite callback (Ali Hassan) #62087 - [
f6cdfbfaa7] - stream: optimize webstreams pipeTo (Mattias Buelens) #62079 - [
fcf2a9f788] - stream: fix brotli error handling in web compression streams (Filip Skokan) #62107 - [
cdec579c6b] - stream: improve Web Compression spec compliance (Filip Skokan) #62107 - [
dbe5898379] - stream: fix UTF-8 character corruption in fast-utf8-stream (Matteo Collina) #61745 - [
531e62cd74] - stream: fix TransformStream race on cancel with pending write (Marco) #62040 - [
a3751f2249] - stream: accept ArrayBuffer in CompressionStream and DecompressionStream (조수민) #61913 - [
65aa8f68d0] - stream: fix pipeTo to defer writes per WHATWG spec (Matteo Collina) #61800 - [
15f32b4935] - stream: fix decoded fromList chunk boundary check (Thomas Watson) #61884 - [
569767e52e] - stream: add fast paths for webstreams read and pipeTo (Matteo Collina) #61807 - [
6834ca13bb] - (SEMVER-MINOR) stream: renameDuplex.toWeb()type option toreadableType(René) #61632 - [
5ed5474437] - test: update WPT for WebCryptoAPI to2cb332d(Node.js GitHub Bot) #62483 - [
3c9c0f8577] - test: fix test-buffer-zero-fill-cli to be effective (Сковорода Никита Андреевич) #60623 - [
19a52a1abe] - test: update WPT for url tofc3e651(Node.js GitHub Bot) #62379 - [
111ba9bd5b] - test: wait for reattach before initial break on restart (Yuya Inoue) #62471 - [
0897c6cc08] - test: disable flaky WPT Blob test on AIX (James M Snell) #62470 - [
1c3d93bfab] - test: avoid flaky run wait in debugger restart test (Yuya Inoue) #62112 - [
83416a640a] - test: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) #62238 - [
af8d0922dd] - test: add WebCrypto Promise.prototype.then pollution regression tests (Filip Skokan) #62226 - [
fc9a60ec74] - test: update WPT for WebCryptoAPI to6a1c545(Node.js GitHub Bot) #62187 - [
12ba2d74fe] - test: update WPT for url toc928b19(Node.js GitHub Bot) #62148 - [
4e15e5b647] - test: update WPT for WebCryptoAPI toc9e9558(Node.js GitHub Bot) #62147 - [
dc66a05558] - test: improve WPT report runner (Filip Skokan) #62107 - [
9536e5621b] - test: update WPT compression toae05f5c(Filip Skokan) #62107 - [
fb1c0bda0a] - test: update WPT for WebCryptoAPI to42e4732(Node.js GitHub Bot) #62048 - [
d886f27485] - test: fix skipping behavior fortest-runner-run-files-undefined(Antoine du Hamel) #62026 - [
f79df03e0b] - test: remove unnecessaryprocess.exitcalls from test files (Antoine du Hamel) #62020 - [
1319295467] - test: skiptest-urlon--shared-adabuilds (Antoine du Hamel) #62019 - [
2ea06727c6] - test: skip strace test with shared openssl (Richard Lau) #61987 - [
c0680d5df7] - test: avoid flaky debugger restart waits (Yuya Inoue) #61773 - [
22b748ef72] - test: fix typos in test files (Daijiro Wachi) #61408 - [
a20bf9a84d] - test: allow filtering async internal frames in assertSnapshot (Joyee Cheung) #61769 - [
ec2913f036] - test: unify assertSnapshot stacktrace transform (Chengzhong Wu) #61665 - [
460f41233d] - test: check stability block position in API markdown (René) #58590 - [
9ad02065d5] - test: adapt buffer test for v8 sandbox (Shelley Vohr) #61772 - [
5cf001736e] - test: update FileAPI tests from WPT (Ms2ger) #61750 - [
84c7a23223] - test: update WPT for WebCryptoAPI to7cbe7e8(Node.js GitHub Bot) #61729 - [
276a32fd10] - test: update WPT for url toefb889e(Node.js GitHub Bot) #61728 - [
f5f21d36a6] - test_runner: add exports option for module mocks (sangwook) #61727 - [
bfc8a12977] - test_runner: make it compatible with fake timers (Matteo Collina) #59272 - [
e0cde40e1d] - test_runner: set non-zero exit code when suite errors occur (Edy Silva) #62282 - [
d74efd6834] - test_runner: run afterEach on runtime skip (Igor Shevelenkov) #61525 - [
8287ca749e] - test_runner: expose expectFailure message (sangwook) #61563 - [
1f2025fd1e] - (SEMVER-MINOR) test_runner: expose worker ID for concurrent test execution (Ali Hassan) #61394 - [
b1199c7bb4] - test_runner: replace native methods with primordials (Ayoub Mabrouk) #61219 - [
1ca20fc33d] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676 - [
207ba4f89f] - test_runner: fix suite rerun (Moshe Atlow) #61775 - [
9927335c11] - tls: forward keepAlive, keepAliveInitialDelay, noDelay to socket (Sergey Zelenov) #62004 - [
a1c3c901c0] - tools: bump picomatch from 4.0.3 to 4.0.4 in /tools/eslint (dependabot[bot]) #62439 - [
1c6f5ed7c2] - tools: adopt the--check-for-duplicatesNCU flag (Antoine du Hamel) #62478 - [
b53377e8fe] - tools: bump flatted from 3.4.1 to 3.4.2 in /tools/eslint (dependabot[bot]) #62375 - [
f102e79b80] - tools: bump eslint deps (Huáng Jùnliàng) #62356 - [
f5d74f8216] - tools: add eslint-plugin-regexp (Huáng Jùnliàng) #62093 - [
bc5b9a04ad] - tools: bump flatted from 3.3.3 to 3.4.1 in /tools/eslint (dependabot[bot]) #62255 - [
bad48b9700] - tools: validate all commits that are pushed tomain(Antoine du Hamel) #62246 - [
795d663ff4] - tools: keep GN files when updating Merve (Antoine du Hamel) #62167 - [
0b6fa913f1] - tools: revert timezone update GHA workflow to ubuntu-latest (Richard Lau) #62140 - [
840e098e99] - tools: improve error handling in test426 update script (Rich Trott) #62121 - [
bd34e53a8e] - tools: bump the eslint group across 1 directory with 2 updates (dependabot[bot]) #62092 - [
54dc797644] - tools: fix daily wpt workflow nighly release version lookup (Filip Skokan) #62076 - [
30476ddff7] - tools: fix example in release proposal linter (Richard Lau) #62074 - [
5245900c05] - tools: bump minimatch from 3.1.3 to 3.1.5 in /tools/clang-format (dependabot[bot]) #62013 - [
59ad1e4503] - tools: bump eslint to v10, babel to v8.0.0-rc.2 (Huáng Jùnliàng) #61905 - [
6f93c4b287] - tools: fix parsing of commit trailers inlint-release-proposalGHA (Antoine du Hamel) #62077 - [
de1bcfd54c] - tools: bump minimatch from 3.1.2 to 3.1.3 in/tools/clang-format(dependabot[bot]) #61977 - [
492868a7aa] - tools: fix permissions for merve update script (Richard Lau) #62023 - [
774d0be1b3] - tools: revert tools GHA workflow to ubuntu-latest (Richard Lau) #62024 - [
d91a689d6f] - tools: bump minimatch from 3.1.2 to 3.1.3 in /tools/eslint (dependabot[bot]) #61976 - [
34b6305933] - tools: roll back to x86 runner onscorecard.yml(Antoine du Hamel) #61944 - [
937cd97a63] - tools: fix auto-start-ci (Antoine du Hamel) #61900 - [
0958f9a9c7] - tools: do not checkout repo inauto-start-ci.yml(Antoine du Hamel) #61874 - [
c7607b9208] - tools: automate updates for test/fixtures/test426 (Rich Trott) #60978 - [
00df3c1273] - tools: bump unist-util-visit in /tools/doc in the doc group (dependabot[bot]) #61646 - [
fe15b0d65e] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #61628 - [
bc38db51fc] - tools: fix small inconsistencies in JSON doc output (Antoine du Hamel) #61757 - [
3e7010d47f] - tools: refloat 10 Node.js patches to cpplint.py (Michaël Zasso) #60901 - [
583e6c67ea] - tools: update cpplint to 2.0.2 (Michaël Zasso) #60901 - [
4c12ab8abc] - typings: rationalise TypedArray types (René) #62174 - [
8357ebfe54] - url: suppress warnings from url.format/url.resolve inside node_modules (René) #62005 - [
aad7b3cfca] - url: enable simdutf for ada (Yagiz Nizipli) #61477 - [
7b28fb9812] - util: allow color aliases in styleText (sangwook) #62180 - [
8bbe0138ce] - util: add fast path to stripVTControlCharacters (Hiroki Osame) #61833 - [
f7a408d6f7] - wasm: support js string constant esm import (Guy Bedford) #62198 - [
a0316d33b5] - watch: get flags from execArgv (Efe) #61779 - [
eee96f7f5d] - worker: heap profile optimizations (Ilyas Shabi) #62201 - [
deeeb22e1a] - worker: eliminate race condition in process.cwd() (giulioAZ) #61664 - [
b15ea64ed9] - zlib: fix use-after-free when reset() is called during write (Matteo Collina) #62325 - [
a9c5bd29c9] - zlib: add support for brotli compression dictionary (Andy Weiss) #61763
v24.14.1: 2026-03-24, Version 24.14.1 'Krypton' (LTS), @RafaelGSS prepared by @juanarbol
This is a security release.
Notable Changes
- (CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High
- (CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina) - High
- (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
- (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium
- (CVE-2026-21714) handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) - Medium
- (CVE-2026-21712) handle url crash on different url formats (RafaelGSS) - Medium
- (CVE-2026-21716) include permission check on lib/fs/promises (RafaelGSS) - Low
- (CVE-2026-21715) add permission check to realpath.native (RafaelGSS) - Low
Commits
- [
6fae244080] - (CVE-2026-21717) build,test: test array index hash collision (Joyee Cheung) nodejs-private/node-private#828 - [
cc0910c62e] - (CVE-2026-21713) crypto: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) nodejs-private/node-private#822 - [
80cb042cf3] - deps: update undici to 7.24.4 (Node.js GitHub Bot) #62271 - [
f5b8667dc2] - deps: update undici to 7.24.3 (Node.js GitHub Bot) #62233 - [
08852637d9] - deps: update undici to 7.22.0 (Node.js GitHub Bot) #62035 - [
61097db9fb] - deps: upgrade npm to 11.11.0 (npm team) #61994 - [
9ac0f9f81e] - deps: upgrade npm to 11.10.1 (npm team) #61892 - [
3dab3c4698] - deps: V8: overridedepot_toolsversion (Richard Lau) #62344 - [
87521e99d1] - deps: V8: backport1361b2a(Joyee Cheung) nodejs-private/node-private#828 - [
045013366f] - deps: V8: backport185f0fe(Joyee Cheung) nodejs-private/node-private#828 - [
af22629ea8] - deps: V8: backport0a8b1cd(snek) nodejs-private/node-private#828 - [
380ea72eef] - (CVE-2026-21710) http: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) nodejs-private/node-private#821 - [
d6b6051e08] - (CVE-2026-21716) permission: include permission check on lib/fs/promises (RafaelGSS) nodejs-private/node-private#795 - [
bfdecef9da] - (CVE-2026-21715) permission: add permission check to realpath.native (RafaelGSS) nodejs-private/node-private#794 - [
c015edf313] - (CVE-2026-21714) src: handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) nodejs-private/node-private#832 - [
cba66c48a5] - (CVE-2026-21712) src: handle url crash on different url formats (RafaelGSS) nodejs-private/node-private#816 - [
df8fbfb93d] - (CVE-2026-21637) tls: wrap SNICallback invocation in try/catch (Matteo Collina) nodejs-private/node-private#819
v24.14.0: 2026-02-24, Version 24.14.0 'Krypton' (LTS), @ruyadorno prepared by @aduh95
Notable Changes
- [
8b6d31d379] - (SEMVER-MINOR) async_hooks: addtrackPromisesoption tocreateHook()(Joyee Cheung) #61415 - [
68da144b4e] - build,deps: replace cjs-module-lexer with merve (Yagiz Nizipli) #61456 - [
f3a24c76e4] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167 - [
1948861d23] - (SEMVER-MINOR) events: repurposeevents.listenerCount()to accept EventTargets (René) #60214 - [
d6f7c8d06f] - (SEMVER-MINOR) fs: addignoreoption tofs.watch(Matteo Collina) #61433 - [
cb54b3ca6e] - (SEMVER-MINOR) http: addhttp.setGlobalProxyFromEnv()(Joyee Cheung) #60953 - [
35b1759d06] - (SEMVER-MINOR) module: allow subpath imports that start with#/(Jan Martin) #60864 - [
2d72ea66f2] - (SEMVER-MINOR) process: preserveAsyncLocalStorageinqueueMicrotaskonly when needed (Gürgün Dayıoğlu) #60913 - [
6f4a4f6c8e] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167 - [
c0ceb9b065] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266 - [
33d8e8303b] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311 - [
563ab699eb] - (SEMVER-MINOR) src: add initial support for ESM in embedder API (Joyee Cheung) #61548 - [
4c80031000] - (SEMVER-MINOR) stream: addbytes()method tonode:stream/consumers(wantaek) #60426 - [
f5233df4ff] - (SEMVER-MINOR) stream: do not passreadable.compose()output viaReadable.from()(René) #60907 - [
345a40fda3] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167 - [
972f82411d] - (SEMVER-MINOR) test_runner: addenvoption torunfunction (Ethan Arrowood) #61367 - [
d77f98c4b6] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669 - [
8e900af6ba] - (SEMVER-MINOR) util: addconvertProcessSignalToExitCodeutility (Erick Wendel) #60963
Commits
- [
180778fb9a] - assert: fix loose deepEqual arrays with undefined and null failing (Ruben Bridgewater) #61587 - [
8b6d31d379] - (SEMVER-MINOR) async_hooks: add trackPromises option to createHook() (Joyee Cheung) #61415 - [
83bcd38d35] - benchmark: add streaming TextDecoder benchmark (Сковорода Никита Андреевич) #61549 - [
4c105844c5] - build: add support for Visual Studio 2026 (Michaël Zasso) #60727 - [
1f84fd91d9] - build: skip sscache action on non-main branches (Joyee Cheung) #61790 - [
30601b680f] - build: add--shared-nbytesconfigure flag (Antoine du Hamel) #61341 - [
c6253eda49] - build: add--shared-hdr-histogramconfigure flag (Antoine du Hamel) #61280 - [
584c189037] - build: add--shared-gtestconfigure flag (Antoine du Hamel) #61279 - [
5998987881] - build: aix: deoptimize implementation-visitor.cc with --shared (Stewart X Addison) #61550 - [
68da144b4e] - build,deps: replace cjs-module-lexer with merve (Yagiz Nizipli) #61456 - [
6a4511bafb] - build,win: fix vs2022 compilation (Stefan Stojanovic) #61530 - [
2d6735db8a] - deps: upgrade npm to 11.9.0 (npm team) #61685 - [
699e2f8f81] - deps: update amaro to 1.1.7 (Node.js GitHub Bot) #61730 - [
7be76316d6] - deps: update minimatch to 10.1.2 (Node.js GitHub Bot) #61732 - [
97e5a65013] - deps: update undici to 7.21.0 (Node.js GitHub Bot) #61683 - [
74e4710ee7] - deps: update googletest to56efe39(Node.js GitHub Bot) #61605 - [
b5113e2a2a] - deps: update amaro to 1.1.6 (Node.js GitHub Bot) #61603 - [
f3a24c76e4] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167 - [
c370c3dc06] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) #61167 - [
e54975e17d] - deps: V8: cherry-pick highway@dcc0ca1(Richard Lau) #61008 - [
625b90b76b] - deps: update undici to 7.19.2 (Node.js GitHub Bot) #61566 - [
05e9a9fb5e] - deps: update undici to 7.19.1 (Node.js GitHub Bot) #61514 - [
3d41643e38] - deps: update undici to 7.19.0 (Node.js GitHub Bot) #61470 - [
17b363a66c] - dns: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) #61453 - [
33d0a8c22d] - doc: clarify EventEmitter error handling in threat model (Matteo Collina) #61701 - [
5b8e72cf85] - doc: mention default option for test runner env (Steven) #61659 - [
f44e67fac2] - doc: fix --inspect security warning section (Tim Perry) #61675 - [
a0e09c9043] - doc: documenturl.format(urlString)as deprecated under DEP0169 (René) #61644 - [
5e719248fe] - doc: deprecation add more codemod (Augustin Mauroy) #61642 - [
8f5a3e5df4] - doc: fix grammatical error in README.md (ayj8201) #61653 - [
d52b535163] - doc: correct tools README Boxstarter link (Mike McCready) #61638 - [
4889dc4f59] - doc: updateserver.dropMaxConnectionlink (YuSheng Chen) #61584 - [
8e48e72f2a] - doc: clean up writing-and-running-benchmarks.md (Hardanish Singh) #61345 - [
1948861d23] - (SEMVER-MINOR) events: repurposeevents.listenerCount()to accept EventTargets (René) #60214 - [
d6f7c8d06f] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433 - [
2d7e5f9581] - http: implement slab allocation for HTTP header parsing (Mert Can Altin) #61375 - [
cb54b3ca6e] - (SEMVER-MINOR) http: add http.setGlobalProxyFromEnv() (Joyee Cheung) #60953 - [
6df8be48ce] - lib: use utf8 fast path for streaming TextDecoder (Сковорода Никита Андреевич) #61549 - [
830fff0aca] - lib: recycle queues (Robert Nagy) #61461 - [
069874bdbd] - lib: use StringPrototypeStartsWith from primordials in locks (Taejin Kim) #61492 - [
7824c7589e] - lib: unify ICU and no-ICU TextDecoder (Сковорода Никита Андреевич) #61409 - [
f81430702a] - lib: prefercall()overapply()if argument list is not array (Livia Medeiros) #60796 - [
a723f72e1e] - lib: add support for readable byte streams to .toWeb() (Hans Klunder) #58664 - [
b78d814b3d] - meta: persist sccache daemon until end of build workflows (René) #61639 - [
40a872a4b9] - meta: bump github/codeql-action from 4.31.9 to 4.32.0 (dependabot[bot]) #61622 - [
0637bdb3be] - meta: bump step-security/harden-runner from 2.14.0 to 2.14.1 (dependabot[bot]) #61621 - [
e8d9bd9fc5] - meta: bump actions/setup-python from 6.1.0 to 6.2.0 (dependabot[bot]) #61627 - [
c517df2b65] - meta: bump actions/setup-node from 6.1.0 to 6.2.0 (dependabot[bot]) #61625 - [
9a64f2f25d] - meta: bump actions/cache from 5.0.1 to 5.0.3 (dependabot[bot]) #61624 - [
0e5922e95e] - meta: bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (dependabot[bot]) #61623 - [
5da7b51091] - meta: bump actions/stale from 10.1.0 to 10.1.1 (dependabot[bot]) #61620 - [
c085c8a43f] - meta: bump actions/checkout from 6.0.1 to 6.0.2 (dependabot[bot]) #61619 - [
ce2acf0275] - meta: bump actions/download-artifact from 6.0.0 to 7.0.0 (dependabot[bot]) #61242 - [
629f0eaac5] - meta: bump actions/checkout from 6.0.0 to 6.0.1 (dependabot[bot]) #61239 - [
cd80d369c9] - meta: bump actions/upload-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #61238 - [
8c75e4e1fa] - meta: bump actions/checkout from 5.0.1 to 6.0.0 (dependabot[bot]) #60925 - [
5a9e9f4127] - meta: bump actions/checkout from 5.0.0 to 5.0.1 (dependabot[bot]) #60767 - [
1519251dd1] - module: do not invoke resolve hooks twice for imported cjs (Joyee Cheung) #61529 - [
8d7190b3fe] - module: do not wrap module._load when tracing is not enabled (Joyee Cheung) #61479 - [
35b1759d06] - (SEMVER-MINOR) module: allow subpath imports that start with#/(Jan Martin) #60864 - [
7a83b38921] - net: defer synchronous destroy calls in internalConnect (RajeshKumar11) #61658 - [
16bab79421] - process: do not truncate long strings in--print(Mohamed Akram) #61497 - [
2d72ea66f2] - (SEMVER-MINOR) process: preserve AsyncLocalStorage in queueMicrotask only when needed (Gürgün Dayıoğlu) #60913 - [
9cc1c4604f] - repl: fix getters triggering side effects during completion (Dario Piotrowicz) #61043 - [
93703306a1] - repl: tab completion targets<class>instead ofnew <class>(Đỗ Trọng Hải) #60319 - [
6f4a4f6c8e] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167 - [
46a2dad4db] - sqlite: avoid extra copy for large text binds (Ali Hassan) #61580 - [
f91a377f7e] - sqlite: use DictionaryTemplate for run() result (Mert Can Altin) #61432 - [
0e7571ae3e] - sqlite: change approach to fix segfault SQLTagStore (Bart Louwers) #60462 - [
8e8f70524a] - sqlite: reserve vectors space (Guilherme Araújo) #61540 - [
c0ceb9b065] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266 - [
33d8e8303b] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311 - [
f0d8f37002] - src: elide heap allocation in structured clone implementation (Anna Henningsen) #61703 - [
db478c4336] - src: use simdutf for one-byte string UTF-8 write in stringBytes (Mert Can Altin) #61696 - [
563ab699eb] - (SEMVER-MINOR) src: add initial support for ESM in embedder API (Joyee Cheung) #61548 - [
da13186a15] - src: throw RangeError on failed ArrayBuffer BackingStore allocation (Chengzhong Wu) #61480 - [
4c80031000] - (SEMVER-MINOR) stream: add bytes() method to stream/consumers (wantaek) #60426 - [
f5233df4ff] - (SEMVER-MINOR) stream: do not passreadable.compose()output viaReadable.from()(René) #60907 - [
ad04a469c8] - test: restraint version replacement pattern in snapshots (Chengzhong Wu) #61748 - [
2d3b4a8d65] - test: print stack immediately avoiding GC interleaving (Chengzhong Wu) #61699 - [
38f43a6d4e] - test: fix case-insensitive path matching on Windows (Matteo Collina) #61682 - [
06513f5ff2] - test: fix flaky test-performance-eventloopdelay (Matteo Collina) #61629 - [
9d79c66c61] - test: remove duplicate wpt tests (Filip Skokan) #61617 - [
eac9f4f401] - test: fix race condition in watch mode tests (Matteo Collina) #61615 - [
ecf5947575] - test: update WPT for url toe3c46fd(Node.js GitHub Bot) #61602 - [
356ff5fece] - test: use the skipIfNoWatch() utility function (Luigi Pinca) #61531 - [
4b2187aea2] - test: unify assertSnapshot common patterns (Chengzhong Wu) #61590 - [
8c25489d63] - test: split test-fs-watch-ignore-* (Luigi Pinca) #61494 - [
43b8a2b7e7] - test: add some validation for JSON doc output (Antoine du Hamel) #61413 - [
345a40fda3] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167 - [
24cf6b8326] - test: reveal wpt evaluation errors in status files (Chengzhong Wu) #61358 - [
d4034dfb62] - test: forbid use of named imports for fixtures (Antoine du Hamel) #61228 - [
4f871ee897] - test: enforce better never-settling-promise detection (Antoine du Hamel) #60976 - [
8e9adedf02] - test: ensure assertions are reached on all tests (Antoine du Hamel) #60845 - [
273832802e] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60763 - [
e06adcb52f] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60760 - [
aeed0ccc02] - test: useRegExp.escapeto improve test reliability (Antoine du Hamel) #60803 - [
74bcd0adab] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60728 - [
407807b08e] - test: skip tests not passing withoutNODE_OPTIONSsupport (Antoine du Hamel) #60912 - [
a9e70cefb0] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60634 - [
21b23cd0d0] - test_runner: fix test enqueue when test file has syntax error (Edy Silva) #61573 - [
6a4de694b2] - test_runner: fix passingexpectFailure(Moshe Atlow) #61568 - [
6640de2b0f] - test_runner: differentiate todo and failure styles (Moshe Atlow) #61564 - [
972f82411d] - (SEMVER-MINOR) test_runner: add env option to run function (Ethan Arrowood) #61367 - [
d77f98c4b6] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669 - [
f98986cbb9] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903 - [
034589dd93] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899 - [
e50e2f00bb] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759 - [
f658f48ccb] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734 - [
65c77d74ff] - tools: use ubuntu-latest runner innotify-on-pushworkflow (Antoine du Hamel) #61742 - [
605905556a] - tools: enforce removal oflts-watch-*labels on release proposals (Antoine du Hamel) #61672 - [
f0f98d4c03] - tools: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) #61663 - [
ab63ddf354] - tools: add LIEF to license builder (Chengzhong Wu) #61523 - [
8a0f6192c9] - tools: enforce trailing commas intest/es-module(Antoine du Hamel) #60891 - [
4afbbcf39e] - tools: enforce trailing commas intest/sequential(Antoine du Hamel) #60892 - [
4c1abf752c] - tools,win: upgrade install additional tools to Visual Studio 2026 (Mike McCready) #61562 - [
8e900af6ba] - (SEMVER-MINOR) util: add convertProcessSignalToExitCode utility (Erick Wendel) #60963
v24.13.1: 2026-02-10, Version 24.13.1 'Krypton' (LTS), @aduh95
Notable Changes
- [
1f64d6841e] - build: add support for Python 3.14 (Christian Clauss) #59983 - [
30e500fc09] - cli: mark--heapsnapshot-near-heap-limitas stable (Joyee Cheung) #60956 - [
bc0a55f086] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 - [
8a67c00bf5] - doc: mark--build-snapshotand--build-snapshot-configas stable (Joyee Cheung) #60954 - [
3999c2a910] - meta: add avivkeller to collaborators (Aviv Keller) #61115 - [
fa542fbae6] - meta: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094 - [
ff11eda2f2] - meta: add Renegade334 to collaborators (Renegade334) #60714 - [
2e387fb969] - url: update ada to v3.4.2 and support unicode 17 (Yagiz Nizipli) #61593 - [
bb206782d4] - v8: markv8.queryObjects()as stable (Joyee Cheung) #60957
Commits
- [
a73279c60d] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) #61076 - [
6a61bcd73c] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) #61388 - [
cf0eabcd42] - assert,util: improve deep comparison performance (Ruben Bridgewater) #61076 - [
ff3b9ac183] - benchmark: add SQLite benchmarks (Guilherme Araújo) #61401 - [
e1f7d68c94] - benchmark: use boolean options in benchmark tests (SeokhunEom) #60129 - [
91127c91cd] - benchmark: allow boolean option values (SeokhunEom) #60129 - [
170fda55f6] - benchmark: add microbench on isInsideNodeModules (Chengzhong Wu) #60991 - [
3976381b41] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) #60841 - [
c702fccd76] - benchmark: use typescript for import cjs benchmark (Joyee Cheung) #60663 - [
92c517c62d] - buffer: make methods work on Uint8Array instances (Neal Beeken) #56578 - [
be95382edb] - buffer: let Buffer.of use heap (Сковорода Никита Андреевич) #60503 - [
1f64d6841e] - build: test on Python 3.14 (Christian Clauss) #59983 - [
ea4687981b] - build: update android-patches/trap-handler.h.patch (Mo Luo) #60369 - [
b3a7a8c780] - build: update devcontainer.json to use paired nix env (Joyee Cheung) #61414 - [
7168d0b5e3] - build: add embedtest into native suite (Joyee Cheung) #61357 - [
e00755a977] - build: fix misplaced comma in ldflags (hqzing) #61294 - [
72fcc3ee9d] - build: fix crate vendor file checksums on windows (Chengzhong Wu) #61329 - [
76a73d68fd] - build: expose libplatform symbols in shared libnode (Joyee Cheung) #61144 - [
ef8d26ce5c] - build: fix inconsistent quoting inMakefile(Antoine du Hamel) #60511 - [
2d23968783] - build: remove temporal updater (Chengzhong Wu) #61151 - [
4c2655f1c2] - build: update test-wpt-report to use NODE instead of OUT_NODE (Filip Skokan) #61024 - [
eaea6821fc] - build: skip build-ci on actions with a separate test step (Chengzhong Wu) #61073 - [
dfd4e12037] - build: run embedtest with node_g when BUILDTYPE=Debug (Chengzhong Wu) #60850 - [
775c77234b] - build,tools: fix addon build deadlock on errors (Vladimir Morozov) #61321 - [
5deafc10fa] - build,win: improve logs when ClangCL is missing (Mike McCready) #61438 - [
e2481c5c6e] - build,win: update WinGet configurations to Python 3.14 (Mike McCready) #61431 - [
d2586b7e4c] - child_process: treat ipc length header as unsigned uint32 (Ryuhei Shima) #61344 - [
30e500fc09] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) #60956 - [
2c7da15612] - cluster: fix port reuse between cluster (Ryuhei Shima) #60141 - [
bc0a55f086] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 - [
2d5f20e9c3] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741 - [
fba95be188] - deps: update archs files for openssl-3.5.5 (Node.js GitHub Bot) #61547 - [
08697289e0] - deps: upgrade openssl sources to openssl-3.5.5 (Node.js GitHub Bot) #61547 - [
403c50c04d] - deps: update corepack to 0.34.6 (Node.js GitHub Bot) #61510 - [
3b24691aeb] - deps: upgrade npm to 11.8.0 (npm team) #61466 - [
2bba7efdc4] - deps: update googletest to8508785(Node.js GitHub Bot) #61417 - [
8f8c6f6162] - deps: update sqlite to 3.51.2 (Node.js GitHub Bot) #61339 - [
c46009053c] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523 - [
b46b8dd91b] - deps: update ada to v3.4.0 (Yagiz Nizipli) #61315 - [
88c6b17e18] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135 - [
0030c05ba9] - deps: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) #61271 - [
77437cff89] - deps: update nbytes to 0.1.2 (Node.js GitHub Bot) #61270 - [
fb0f05a937] - deps: update timezone to 2025c (Node.js GitHub Bot) #61138 - [
b426a47c05] - deps: nghttp2: revert7784fa9(Antoine du Hamel) #61136 - [
c07a38f700] - deps: update nghttp2 to 1.68.0 (nodejs-github-bot) #61136 - [
c2ddc9a18b] - deps: update simdjson to 4.2.4 (Node.js GitHub Bot) #61056 - [
f38cd6da8e] - deps: update googletest to065127f(Node.js GitHub Bot) #61055 - [
a9a6a4cdb2] - deps: brotli: cherry-picke230f47(liujiahui) #61003 - [
5a40023aae] - deps: upgrade npm to 11.7.0 (npm team) #61011 - [
4121e7a413] - deps: update sqlite to 3.51.1 (Node.js GitHub Bot) #60899 - [
e8a09fc896] - deps: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) #60898 - [
8df5862ee5] - deps: upgrade npm to 11.6.4 (npm team) #60853 - [
6c1c8cbdcc] - deps: update sqlite to 3.51.0 (Node.js GitHub Bot) #60614 - [
2d1efc7c1b] - deps: upgrade npm to 11.6.3 (npm team) #60785 - [
3a2de1c23b] - deps: update brotli to 1.2.0 (Node.js GitHub Bot) #60540 - [
58c5d40bd1] - deps: update simdjson to 4.2.2 (Node.js GitHub Bot) #60740 - [
e6b607ef50] - deps: update googletest to1b96fa1(Node.js GitHub Bot) #60739 - [
650c9e0305] - deps: update minimatch to 10.1.1 (Node.js GitHub Bot) #60543 - [
ef1951d5d5] - deps: update inspector_protocol to1b1bcbb(Node.js GitHub Bot) #60705 - [
eb068305dd] - deps: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) #60646 - [
ee1d99131c] - deps: update simdjson to 4.2.1 (Node.js GitHub Bot) #60644 - [
23582967b7] - deps: V8: cherry-pick1441665(Domagoj Stolfa) #60989 - [
155eaedff2] - deps: V8: cherry-pick394a805(Lu Yahan) #60962 - [
c95a4a0f43] - deps: V8: backportbbaae8e(Lu Yahan) #60962 - [
6f123f186d] - doc: move Security-Team from TSC to SECURITY (Rafael Gonzaga) #61495 - [
2e3337d15b] - doc: addedrequestOCSPoption totls.connect(ikeyan) #61064 - [
f505f81577] - doc: restore @ChALkeR to collaborators (Сковорода Никита Андреевич) #61553 - [
12fb95d0c9] - doc: update IBM/Red Hat volunteers with dedicated project time (Beth Griggs) #61588 - [
283ab61ed2] - doc: align Buffer.concat documentation with behavior (Gürgün Dayıoğlu) #60405 - [
fc9c906d5f] - doc: removevprefix for version references (Mike McCready) #61488 - [
4a88ed09e8] - doc: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) #60253 - [
9b29d56491] - doc: add CVE delay mention (Rafael Gonzaga) #61465 - [
4815e4ac52] - doc: update previous version links in BUILDING (Mike McCready) #61457 - [
8a43244e6c] - doc: include OpenJSF handle for security stewards (Rafael Gonzaga) #61454 - [
89a7f184a1] - doc: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) #61366 - [
b4041aba1c] - doc: remove Windows Dev Home instructions from BUILDING (Mike McCready) #61434 - [
fa7830bac0] - doc: clarify TypedArray properties on Buffer (Roman Reiss) #61355 - [
45663c8956] - doc: update Python 3.14 manual install instructions (Windows) (Mike McCready) #61428 - [
0248357f26] - doc: note resume build should not be done on node-test-commit (Stewart X Addison) #61373 - [
b254bab513] - doc: refine WebAssembly error documentation (sangwook) #61382 - [
8aca37c6ef] - doc: add deprecation history for url.parse (Eng Zer Jun) #61389 - [
8047ac3aac] - doc: add marco and rafael in last sec release (Marco Ippolito) #61383 - [
61190bf4b4] - doc: packages: example of private import switch to internal (coderaiser) #61343 - [
346311c42f] - doc: add esm and cjs examples to node:v8 (Alfredo González) #61328 - [
c07c80717c] - doc: added 'secure' event to tls.TLSSocket (ikeyan) #61066 - [
9f68d30f11] - doc: restore @watilde to collaborators (Daijiro Wachi) #61350 - [
a3b08ddb51] - doc: run license-builder (github-actions[bot]) #61348 - [
4990812dd9] - doc: document ALPNCallback option for TLSSocket constructor (ikeyan) #61331 - [
89e9d19693] - doc: update MDN links (Livia Medeiros) #61062 - [
dcffa88fec] - doc: correct description oferror.stackaccessor behavior (René) #61090 - [
31476cd4d1] - doc: add documentation for process.traceProcessWarnings (Alireza Ebrahimkhani) #53641 - [
99c783b9ec] - doc: add sqlite session disposal method (René) #61273 - [
c7764bed35] - doc: fix filename typo (Hardanish Singh) #61297 - [
0f16bca9d8] - doc: fix typos and grammar inBUILDING.md&onboarding.md(Hardanish Singh) #61267 - [
4b691b562d] - doc: mention --newVersion release script (Rafael Gonzaga) #61255 - [
32e56ab71f] - doc: correct typo in api contributing doc (Mike McCready) #61260 - [
9ebf1ffbeb] - doc: add MR-URL requirement for security backports (Rafael Gonzaga) #61256 - [
940f83d95d] - doc: add reusePort error behavior to net module (mag123c) #61250 - [
8881859ee0] - doc: note corepack package removal in distribution doc (Mike McCready) #61207 - [
03a1540cd1] - doc: fix tls.connect() timeout documentation (Azad Gupta) #61079 - [
816ce7530d] - doc: missingpassed,errorandpassedproperties onTestContext(Xavier Stouder) #61185 - [
d825c8858a] - doc: clarify threat model for application-level API exposure (Rafael Gonzaga) #61184 - [
a3dd30d0e0] - doc: correct options for net.Socket class and socket.connect (Xavier Stouder) #61179 - [
c3e776becd] - doc: document error event on readline InterfaceConstructor (Xavier Stouder) #61170 - [
05a6372d30] - doc: add a smooth scrolling effect to the sidebar (btea) #59007 - [
76a7eb09ef] - doc: fix test settime docs (Efe) #61117 - [
bcbbde6ccc] - doc: correct invalid collaborator profile (JJ) #61091 - [
084741d09d] - doc: add a tip about developer mode on Windows (Joyee Cheung) #61112 - [
ed4de371d3] - doc: exclude compile-time flag features from security policy (Matteo Collina) #61109 - [
3999c2a910] - doc: add @avivkeller to collaborators (Aviv Keller) #61115 - [
f3ec066f1a] - doc: warn about short GCM tags visibly (Tobias Nießen) #61082 - [
fa542fbae6] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094 - [
49f36722dc] - doc: mark sync module hooks as release candidate (Joyee Cheung) #60960 - [
a0adc6afd2] - doc: reorganize docs of module customization hooks (Joyee Cheung) #60960 - [
a4097ca048] - doc: mark crypto.hash as stable (Joyee Cheung) #60994 - [
8a67c00bf5] - doc: mark --build-snapshot and --build-snapshot-config as stable (Joyee Cheung) #60954 - [
0c83169c35] - doc: add File modes cross-references in fs methods (Mohit Raj Saxena) #60286 - [
dae815262a] - doc: add missingzstdto mjs example of zlib (Deokjin Kim) #60915 - [
28b284880e] - doc: clarify fileURLToPath security considerations (Rafael Gonzaga) #60887 - [
6c440af39b] - doc: show the use of string expressions in the SQLTagStore example (schliepa) #60873 - [
4c5b62209c] - doc: replace column with columnNumber in example ofutil.getCallSites(Deokjin Kim) #60881 - [
8875c9148e] - doc: correct spelling in BUILDING.md (Rich Trott) #60875 - [
d6cb762426] - doc: update debuglog examples to use 'foo-bar' instead of 'foo' (xiaoyao) #60867 - [
9eae518796] - doc: correct 'event handle' to 'event handler' in Utf8Stream drop event (Riddhi) #60692 - [
c3c3ed27c1] - doc: fix typos in changelogs (Rich Trott) #60855 - [
1b975e3017] - doc: mark module.register as active development (Chengzhong Wu) #60849 - [
6a6fc0c851] - doc: add fullName property to SuiteContext (PaulyBearCoding) #60762 - [
8347d734e6] - doc: add additional codemods for deprecation (Augustin Mauroy) #60811 - [
7cc87037c3] - doc: keep sidebar module visible when navigating docs (Botato) #60410 - [
1c6618f643] - doc: correct concurrency wording in test() documentation (Azad Gupta) #60773 - [
488208004e] - doc: clarify that CQ only picks up MRs targetingmain(René) #60731 - [
34517940c2] - doc: clarify license section and add contributor note (KaleruMadhu) #60590 - [
f080721df4] - doc: correct and expand documentation for SQLTagStore (René) #60200 - [
be3d26709d] - doc: correct tls ALPNProtocols types (René) #60143 - [
ef82c53131] - doc: remove mention of SMS 2FA (Antoine du Hamel) #60707 - [
11b190f63e] - doc: add info about renamed flag incli.md(Antoine du Hamel) #60690 - [
59db9bc654] - doc: fix incorrect slh-dsa oids in crypto.md (Artsiom Malakhau) #60681 - [
ad52750cf6] - doc:domain.add()does not accept timer objects (René) #60675 - [
2592d94e29] - doc: fix v24 changelog after security release (Marco Ippolito) #61371 - [
e0f4ad0af0] - doc,test: add documentation and test on how to use addons in SEA (Joyee Cheung) #59582 - [
13af640d94] - esm: ensure watch mode restarts after syntax errors (Xavier Stouder) #61232 - [
31afe95d15] - esm: avoid throw when module specifier is not url (Craig Macomber (Microsoft)) #61000 - [
311a04cf2d] - esm: improve error messages for ambiguous module syntax (mag123c) #60376 - [
cacef92937] - events: remove redundant todo (Gürgün Dayıoğlu) #60595 - [
42e1f72561] - events: remove eventtarget custom inspect branding (Efe) #61128 - [
fd8b61369b] - fs: remove duplicate getValidatedPath calls (Mert Can Altin) #61359 - [
9bb9fc7f2c] - fs: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) #60946 - [
55a3c70780] - fs: fix ENOTDIR in globSync when file is treated as dir (sangwook) #61259 - [
073a145095] - fs: remove duplicate fd validation in sync functions (Mert Can Altin) #61361 - [
b132ecdf60] - fs: validate statfs path (Efe) #61230 - [
0ed0a30f74] - fs: fix rmSync to handle non-ASCII characters (Yeaseen) #61108 - [
99632b1a3b] - fs: remove broken symlinks in rmSync (sangwook) #61040 - [
9cb6757a67] - fs: detect dot files when using globstar (Robin van Wijngaarden) #61012 - [
e22aad19e0] - gyp: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) #61464 - [
59d94ba7e7] - http: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) #61285 - [
ae6a1fd40a] - http,https: fix double ERR_PROXY_TUNNEL emission (Shima Ryuhei) #60699 - [
53bfbaa4b1] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402 - [
14b421b677] - http2,zlib: prefercall()overapply()if argument list is not array (Livia Medeiros) #60834 - [
32b03d0604] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) nodejs-private/node-private#750 - [
4ef7a6c77e] - lib: backport_tls_commonand_tls_wraprefactors (Dario Piotrowicz) #57643 - [
820e0a5cfa] - lib: fix typo inutil.jscomment (Taejin Kim) #61365 - [
8de391e1cb] - lib: fix TypeScript support check in jitless mode (sangwook) #61382 - [
f22f622b3e] - lib: add lint rules for reflective function calls (Michaël Zasso) #60825 - [
603f0bf8e1] - lib: implement all 1-byte encodings in js (Сковорода Никита Андреевич) #61093 - [
1c0a1aa5ef] - lib: gbk decoder is gb18030 decoder per spec (Сковорода Никита Андреевич) #61099 - [
2cf963df73] - lib: enforce use ofURLParse(Antoine du Hamel) #61016 - [
bb90630470] - lib: useFastBufferfor empty buffer allocation (Gürgün Dayıoğlu) #60558 - [
10893a6f13] - lib: refactor JWK import PQC support check (Filip Skokan) #60586 - [
d43806291f] - lib,src: isInsideNodeModules should test on the first non-internal frame (Chengzhong Wu) #60991 - [
0bb8f5fe03] - lib,src,test: fix tests without SQLite (Antoine du Hamel) #60906 - [
f3fe0e7fc2] - lib,test: enforce use ofassert.failvia a lint rule (Antoine du Hamel) #61004 - [
8b783d46ef] - meta: do not fast-track npm updates (Antoine du Hamel) #61475 - [
de4a11b50e] - meta: fix typos in issue template config (Daijiro Wachi) #61399 - [
97b1492783] - meta: label v8 module MRs (René) #61325 - [
9bf899b743] - meta: bump step-security/harden-runner from 2.13.2 to 2.14.0 (dependabot[bot]) #61245 - [
4df7134324] - meta: bump actions/setup-node from 6.0.0 to 6.1.0 (dependabot[bot]) #61244 - [
ff98f610d8] - meta: bump actions/cache from 4.3.0 to 5.0.1 (dependabot[bot]) #61243 - [
86950a41ab] - meta: bump github/codeql-action from 4.31.6 to 4.31.9 (dependabot[bot]) #61241 - [
96901b4828] - meta: bump codecov/codecov-action from 5.5.1 to 5.5.2 (dependabot[bot]) #61240 - [
c90fc7c0d3] - meta: bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (dependabot[bot]) #61237 - [
f130d4b6de] - meta: move lukekarrys to emeritus (Node.js GitHub Bot) #60985 - [
416f34ccfc] - meta: bump actions/setup-python from 6.0.0 to 6.1.0 (dependabot[bot]) #60927 - [
2239939305] - meta: bump github/codeql-action from 4.31.3 to 4.31.6 (dependabot[bot]) #60926 - [
7f146b6a97] - meta: bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (dependabot[bot]) #60924 - [
d9020f0089] - meta: bump github/codeql-action from 4.31.2 to 4.31.3 (dependabot[bot]) #60770 - [
4bba259d3b] - meta: bump step-security/harden-runner from 2.13.1 to 2.13.2 (dependabot[bot]) #60769 - [
ff11eda2f2] - meta: add Renegade334 to collaborators (Renegade334) #60714 - [
e3b5593c0f] - module: fix sync resolve hooks for require with node: prefixes (Joyee Cheung) #61088 - [
edec5be805] - module: preserve URL in the parent created by createRequire() (Joyee Cheung) #60974 - [
5cc3596eb4] - node-api: fix node_api_create_object_with_properties name (Vladimir Morozov) #61319 - [
179162fe42] - node-api: use Node-API in comments (Vladimir Morozov) #61320 - [
b3fe457a89] - node-api: add napi_set_prototype (siaeyy) #60711 - [
1e13e84f16] - node-api: fix data race and use-after-free in napi_threadsafe_function (Mika Fischer) #55877 - [
36ce6d636d] - node-api: add support for Float16Array (Ilyas Shabi) #58879 - [
95e6659e2b] - node-api: support SharedArrayBuffer in napi_create_dataview (Kevin Eady) #60473 - [
54f58e2fb2] - os: freeze signals constant (Xavier Stouder) #61038 - [
31489310f8] - process: improve process.cwd() error message (TseIan) #61164 - [
f7450a90ed] - repl: move completion logic to internal module (Dario Piotrowicz) #59889 - [
27117625df] - sqlite: add some tests (Guilherme Araújo) #61410 - [
d56066ce8c] - sqlite: improve error messages for tag store (Pramit Sharma) #61096 - [
9d993be6c1] - sqlite: makeSQLTagStore.prototype.sizea getter (René) #60246 - [
ceaa200d16] - src: improve StringBytes::Encode perf on UTF8 (Сковорода Никита Андреевич) #61131 - [
034a5f2346] - src: add missing override specifier to Clean() (Tobias Nießen) #61429 - [
977f46cc20] - src: cache context lookup in vectored io loops (Mert Can Altin) #61387 - [
bb9e4e0784] - src: cache missing package.json files in the C++ package config cache (Michael Smith) #60425 - [
c1aa9f49cd] - src: use starts_with instead of rfind/find (Tobias Nießen) #61426 - [
d3676d0a82] - src: use C++ nullptr in sqlite (Tobias Nießen) #61416 - [
001be8aa7c] - src: use C++ nullptr in webstorage (Tobias Nießen) #61407 - [
4f832b1e3d] - src: fix pointer alignment (jhofstee) #61336 - [
a0a8c96fd1] - src: dump snapshot source with node:generate_default_snapshot_source (Joyee Cheung) #61101 - [
b6d3caeda8] - src: improve StringBytes::Encode perf on ASCII (Сковорода Никита Андреевич) #61119 - [
9c80e5ac87] - src: add HandleScope to edge loop in heap_utils (Mert Can Altin) #60885 - [
09ccd94312] - src: remove redundant CHECK (Tobias Nießen) #61130 - [
6008354b8a] - src: remove unused private field inSQLTagStore(Michaël Zasso) #61027 - [
7484a34a7d] - src: implement Windows-1252 encoding support and update related tests (Mert Can Altin) #60893 - [
47851db855] - src: fix off-thread cert loading in bundled cert mode (Joyee Cheung) #60764 - [
4702a8696b] - src: handle DER decoding errors from system certificates (Joyee Cheung) #60787 - [
19a4926965] - src: use static_cast instead of C-style cast (Michaël Zasso) #60868 - [
6529334dec] - src: add test flag to config file (Marco Ippolito) #60798 - [
d153b30773] - src: split inspector protocol domains files (Chengzhong Wu) #60754 - [
7191b847c6] - src,permission: fix permission.has on empty param (Rafael Gonzaga) #60674 - [
a188b954bb] - src,permission: add debug log on is_tree_granted (Rafael Gonzaga) #60668 - [
b483b5a8ea] - stream: export namespace object from internal end-of-stream module (René) #61455 - [
0472104536] - stream: fix isErrored/isWritable for WritableStreams (René) #60905 - [
dd13f1046f] - test: skip --build-sea tests on platforms where SEA is flaky (Joyee Cheung) #61504 - [
6c18bf26f4] - test: update WPT for url to81a2aed(Node.js GitHub Bot) #61509 - [
f511c24d6b] - test: fix flaky debugger test (Ryuhei Shima) #58324 - [
41710ba953] - test: ensure removeListener event fires for once() listeners (sangwook) #60137 - [
0035f3fa0f] - test: delay writing the files only on macOS (Luigi Pinca) #61532 - [
99c29eb261] - test: add implicit test for fs dispose handling with using (Ilyas Shabi) #61140 - [
e349d34c8a] - test: check new WebCryptoAPI enum values (Filip Skokan) #61406 - [
e75617d25f] - test: split test-esm-loader-hooks (Joyee Cheung) #61374 - [
42110af62a] - test: aix: mark test-emit-on-destroyed as flaky (Stewart X Addison) #61381 - [
180fdbf188] - test: update url web-platform tests (Yagiz Nizipli) #61315 - [
4bac4ecd9d] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60761 - [
39ca74e57e] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60759 - [
7327b04875] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60726 - [
fd6601c710] - test: asserts that import.meta.resolve invokes sync loader hooks (Chengzhong Wu) #61158 - [
da4d4d4fde] - test: check util.parseArgs argv parsing with actual process execution (René) #61089 - [
368b32d410] - test: update WPT for urlpattern toa2e15ad(Node.js GitHub Bot) #61134 - [
e880062de8] - test: make buffer sizes 32bit-aware in test-internal-util-construct-sab (René) #61026 - [
f2706e1166] - test: remove unneccessary repl magic_mode tests (Dario Piotrowicz) #61053 - [
327dd25f86] - test: skip sea tests on riscv64 (Stewart X Addison) #61111 - [
6da34027e2] - test: simplifytest-cli-node-options-docs(Antoine du Hamel) #61006 - [
74df70d1da] - test: mark stringbytes-external-max flaky on AIX (Stewart X Addison) #60995 - [
5513338446] - test: update test426 fixtures (Rich Trott) #60982 - [
9f594f53a7] - test: update WPT for urlpattern toaed1f3d(Node.js GitHub Bot) #60642 - [
18e3b91bf1] - test: deflaketest-repl-paste-big-data(Livia Medeiros) #60975 - [
28ecdc5c98] - test: skip SEA inspect test if inspector is not available (Livia Medeiros) #60872 - [
24a50b31e0] - test: update WPT for WebCryptoAPI to1e49331(Node.js GitHub Bot) #60896 - [
78ad2f4dad] - test: lint moreassert(regexp.test(...))cases (René) #60878 - [
280d567e1c] - test: useassert.matchfor non-literal regexp tests (René) #60879 - [
74b14258cb] - test: fix embedtest in debug windows (Vladimir Morozov) #60806 - [
163c17de51] - test: skip failing tests when compiled without amaro (Yuki Okita) #60815 - [
5763a304d2] - test: fix debug test crashes caused by sea tests (Vladimir Morozov) #60807 - [
1fb83e240d] - test: add lint rule to forbid use ofassert.ok(/regex/.test(…))(Antoine du Hamel) #60832 - [
8c97827913] - test: replace deprecated regex test assertions in http trailers test (Aditya Chopra) #60831 - [
a88bffeedc] - test: prefer major GC in cppgc-object teardown (sangwook) #60672 - [
2e2963f3ed] - test: ensure assertions are reached on HTTP2 tests (Antoine du Hamel) #60730 - [
9b748942ec] - test: ensure assertions are reached on HTTP tests (Antoine du Hamel) #60729 - [
37947e0adf] - test: skip test that cause timeout on IBM i (SRAVANI GUNDEPALLI) #60700 - [
357825979e] - test: add missing r.close() calls in REPL multiline tests (sangwook) #60226 - [
ccecbd9f80] - test: update WPT for WebCryptoAPI toc58b6f4(Node.js GitHub Bot) #60702 - [
63a2400c64] - test: limit the concurrency of WPTRunner for RISC-V (Levi Zim) #60591 - [
ec40989dfb] - test: fix test-strace-openat-openssl for RISC-V (Levi Zim) #60588 - [
b09129df18] - test: split test-runner-run-watch.mjs (Joyee Cheung) #60653 - [
0f05221aec] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60641 - [
078cfa2cd6] - test_runner: fix memory leaks in runner (Abhishek Kv. Savani) #60860 - [
73146e9c50] - test_runner: fix coverage report when a directory is named file (Heath Dutton🕴️) #61169 - [
8fc61e45e2] - test_runner: print info when test restarts (Xavier Stouder) #61160 - [
9382be5b16] - test_runner: fix rerun ambiguous test failures (Moshe Atlow) #61392 - [
ce417b14c0] - test_runner: nix dead reporter code (Vas Sudanagunta) #59700 - [
ce79c72829] - test_runner: fix lazytest.assertaccessor (René) #61097 - [
9a25541bd2] - test_runner: propagate V8 options to child process (Pietro Marchini) #60999 - [
d61b0584ca] - test_runner: fix line feed escaping in JUnit (Aliaksandr) #60274 - [
fc98343591] - test_runner: simplify code and make it more consistent (Antoine du Hamel) #60777 - [
36e29bf400] - (CVE-2026-21637) tls: route callback exceptions through error handlers (Matteo Collina) nodejs-private/node-private#782 - [
bc610a825d] - tools: update gyp-next to 0.21.1 (Node.js GitHub Bot) #61528 - [
c335462a6a] - tools: validate release commit diff as part oflint-release-proposal(Antoine du Hamel) #61440 - [
0e53c48ab6] - tools: fix vcbuild lint-js-build (Vladimir Morozov) #61318 - [
f989fdc469] - tools: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) #61246 - [
f104719490] - tools: only report commit validation failure on Slack (Antoine du Hamel) #61124 - [
0267293e79] - tools: use sparse-checkout in linter jobs (Antoine du Hamel) #61123 - [
2c861d4bd4] - tools: simplifynotify-on-push(Antoine du Hamel) #61050 - [
678f2caa71] - tools: fix update-nghttp2 signature verification (Richard Lau) #61035 - [
2ef5be0570] - tools: improve log output ofcreate-release-proposal(Antoine du Hamel) #61028 - [
cd5c76cffe] - tools: fixvcbuild testwhen path contain spaces (stduhpf) #56481 - [
da6cb8e1d2] - tools: do not runtest-linuxworkflow for changes onvcbuild.bat(Antoine du Hamel) #60979 - [
49f7a8c07a] - tools: bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /tools/doc (dependabot[bot]) #60930 - [
4f12d38359] - tools: replace deprecated eslint-plugin-markdown (Michaël Zasso) #60908 - [
78aef6c098] - tools: remove deprecated ESLint plugins (Michaël Zasso) #60908 - [
de57704198] - tools: update ESLint dependencies (Michaël Zasso) #60908 - [
fd155c9764] - tools: disable some new cpplint rules before update (Michaël Zasso) #60901 - [
f7f987305b] - tools: don't fetch V8 deps in the source tree (Richard Lau) #60883 - [
f7a7e363f9] - tools: add temporal updater (Chengzhong Wu) #60828 - [
a7bb9746ba] - tools: dump config.gypi as json (Chengzhong Wu) #60794 - [
23792b1334] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/lint-md (dependabot[bot]) #60781 - [
5b75fec005] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/doc in the doc group (dependabot[bot]) #60766 - [
a8cf03323b] - tools: update install_tools.bat old echo from 2019 to 2022 (David Hidalgo) #60736 - [
1e9281e147] - tools: remove unsupportedcooldownfrom Dependabot config (Antoine du Hamel) #60747 - [
497184baff] - tools: update sccache to v0.12.0 (Michaël Zasso) #60723 - [
0a33189050] - tools: update gyp-next to 0.21.0 (Node.js GitHub Bot) #60645 - [
d2c8dd29cc] - tools,doc: fix format-md files list (Stefan Stojanovic) #61147 - [
0ca4fac44a] - typings: add typing for string_decoder (Taejin Kim) #61368 - [
2e387fb969] - url: update ada to v3.4.2 and support unicode 17 (Yagiz Nizipli) #61593 - [
d65326c4e6] - url: add fast path to getPathFromURL decoder (Gürgün Dayıoğlu) #60749 - [
77f72e0bfc] - url: remove array.reduce usage (Gürgün Dayıoğlu) #60748 - [
bfee9d0187] - util: optimize toASCIILower function using V8s native toLowerCase (Mert Can Altin) #61107 - [
6acc9d75ec] - util: limitinspectto only show own properties (Ruben Bridgewater) #61032 - [
bb6e680eb1] - util: fix parseArgs skipping positional arg with --eval and --print (azadgupta1) #60814 - [
b97081a7ba] - util: assert getCallSites does not invoke Error.prepareStackTrace (Chengzhong Wu) #60922 - [
722094ca3a] - util: safely inspect getter errors whose message throws (Yves M.) #60684 - [
746206b6ee] - v8: add GCProfiler support for erm (Ilyas Shabi) #61191 - [
bb206782d4] - v8: mark v8.queryObjects() as stable (Joyee Cheung) #60957 - [
e0ff861a8e] - worker: update code examples fornode:worker_threadsmodule (fisker Cheung) #58264 - [
06be1db72c] - worker: remove not implemented declarations (Artur Gawlik) #60655 - [
c9b0dc60ec] - zlib: validate write_result array length (Ryuhei Shima) #61342 - [
ba318c5d44] - zlib: add CHECK to validate fast path input (Matteo Collina) #61175
v24.13.0: 2026-01-13, Version 24.13.0 'Krypton' (LTS), @marco-ippolito
This is a security release.
Notable Changes
lib:
- (CVE-2025-59465) add TLSSocket default error handler (RafaelGSS) nodejs-private/node-private#797
- (CVE-2025-55132) disable futimes when permission model is enabled (RafaelGSS) nodejs-private/node-private#748 lib,permission:
- (CVE-2025-55130) require full read and write to symlink APIs (RafaelGSS) nodejs-private/node-private#760 src:
- (CVE-2025-59466) rethrow stack overflow exceptions in async_hooks (Matteo Collina) nodejs-private/node-private#773 src,lib:
- (CVE-2025-55131) refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) nodejs-private/node-private#759 tls:
- (CVE-2026-21637) route callback exceptions through error handlers (Matteo Collina) nodejs-private/node-private#796
Commits
- [
2092785d01] - deps: update c-ares to v1.34.6 (Node.js GitHub Bot) #60997 - [
3e58b7f2af] - deps: update undici to 7.18.2 (Node.js GitHub Bot) #61283 - [
4ba536a5a6] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) nodejs-private/node-private#797 - [
89adaa21fd] - (CVE-2025-55132) lib: disable futimes when permission model is enabled (RafaelGSS) nodejs-private/node-private#748 - [
7302b4dae1] - (CVE-2025-55130) lib,permission: require full read and write to symlink APIs (RafaelGSS) nodejs-private/node-private#760 - [
ac030753c4] - (CVE-2025-59466) src: rethrow stack overflow exceptions in async_hooks (Matteo Collina) nodejs-private/node-private#773 - [
20075692fe] - (CVE-2025-55131) src,lib: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) nodejs-private/node-private#759 - [
20591b0618] - (CVE-2026-21637) tls: route callback exceptions through error handlers (Matteo Collina) nodejs-private/node-private#796
v24.12.0: 2025-12-10, Version 24.12.0 'Krypton' (LTS), @targos
Notable Changes
- [
1a00b5f68a] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #59778 - [
ff5754077d] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #59982 - [
8987159234] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #60600 - [
92c484ebf4] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #59953 - [
b11bc5984e] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #60217 - [
e7da5b4b7d] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #60178 - [
a7f7d10c06] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #58797 - [
92ea669240] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #59711 - [
05d7509bd2] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #59807
Commits
- [
e4a23a35ac] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) #60603 - [
b6114ae5c9] - benchmark: add per-suite setup option (Joyee Cheung) #60574 - [
ac8e90af7c] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) #60399 - [
acbc8ca13e] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) #59984 - [
f97a609a07] - console: optimize single-string logging (Gürgün Dayıoğlu) #60422 - [
6cd9bdc580] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662 - [
0fafe24d9b] - crypto: fix argument validation in crypto.timingSafeEqual fast path (Joyee Cheung) #60538 - [
54421e0419] - debugger: fix event listener leak in the run command (Joyee Cheung) #60464 - [
c361a628b4] - deps: V8: cherry-pick72b0e27(pthier) #60732 - [
c70f4588dd] - deps: V8: cherry-pick6bb32bd(Erik Corry) #60732 - [
881fe784c5] - deps: V8: cherry-pick0dd2318(Erik Corry) #60732 - [
457c33efcc] - deps: V8: cherry-pickdf20105(Erik Corry) #60732 - [
0bf45a829c] - deps: V8: backporte5dbbba(Darshan Sen) #60524 - [
4993bdc476] - deps: V8: cherry-pick5ba9200(Juan José Arboleda) #60620 - [
1e9abe0078] - deps: update corepack to 0.34.5 (Node.js GitHub Bot) #60842 - [
3f704ed08f] - deps: update corepack to 0.34.4 (Node.js GitHub Bot) #60643 - [
04e360fdb1] - deps: V8: cherry-pick06bf293,146962dande0fb10b(Michaël Zasso) #60713 - [
fcbd8dbbde] - deps: patch V8 to 13.6.233.17 (Michaël Zasso) #60712 - [
28e9433f39] - deps: V8: cherry-pick8735658(Joyee Cheung) #60069 - [
3cac85b243] - deps: V8: backport2e4c5cf(Michaël Zasso) #60654 - [
1daece1970] - deps: call OPENSSL_free after ANS1_STRING_to_UTF8 (Rafael Gonzaga) #60609 - [
5f55a9c9ea] - deps: nghttp2: revert7784fa9(Antoine du Hamel) #59790 - [
1d9e7c1f4d] - deps: update nghttp2 to 1.67.1 (nodejs-github-bot) #59790 - [
3140415068] - deps: update simdjson to 4.1.0 (Node.js GitHub Bot) #60542 - [
d911f9f1b8] - deps: update amaro to 1.1.5 (Node.js GitHub Bot) #60541 - [
daaaf04a32] - deps: V8: cherry-pick2abc613(Richard Lau) #60177 - [
b4f63ee5f8] - doc: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) #60650 - [
effcf7a8ab] - doc: fix link in--env-file=filesection (N. Bighetti) #60563 - [
7011736703] - doc: fix linter issues (Antoine du Hamel) #60636 - [
5cc79d8945] - doc: add missing history entry forsqlite.md(Antoine du Hamel) #60607 - [
bbc649057c] - doc: correct values/references for buffer.kMaxLength (René) #60305 - [
ea7ecb517b] - doc: recommend events.once to manage 'close' event (Dan Fabulich) #60017 - [
58bff04cc2] - doc: highlight module loading difference between import and require (Ajay A) #59815 - [
bbcbff9b4d] - doc: add CJS code snippets insqlite.md(Allon Murienik) #60395 - [
f8af33d5a7] - doc: fix typo inprocess.unrefdocumentation (우혁) #59698 - [
df105dc351] - doc: add some entries toglossary.md(Mohataseem Khan) #59277 - [
4955cb2b5b] - doc: improve agent.createConnection docs for http and https agents (JaeHo Jang) #58205 - [
6283bb5cc9] - doc: fix pseudo code in modules.md (chirsz) #57677 - [
d5059ea537] - doc: add missing variable in code snippet (Koushil Mankali) #55478 - [
900de373ae] - doc: add missing word insingle-executable-applications.md(Konstantin Tsabolov) #53864 - [
5735044c8b] - doc: fix typo in http.md (Michael Solomon) #59354 - [
2dee6df831] - doc: update devcontainer.json and add documentation (Joyee Cheung) #60472 - [
8f2d98d7d2] - doc: add haramj as triager (Haram Jeong) #60348 - [
bbd7fdfff4] - doc: clarify require(esm) description (dynst) #60520 - [
33ad11a764] - doc: instantiate resolver object (Donghoon Nam) #60476 - [
81a61274f3] - doc: correct module loading descriptions (Joyee Cheung) #60346 - [
77911185fe] - doc: clarify --use-system-ca support status (Joyee Cheung) #60340 - [
185f6e95d9] - doc,crypto: link keygen to supported types (Filip Skokan) #60585 - [
772d6c6608] - doc,src,lib: clarify experimental status of Web Storage support (Antoine du Hamel) #60708 - [
ad98e11ac2] - esm: use sync loading/resolving on non-loader-hook thread (Joyee Cheung) #60380 - [
1a00b5f68a] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #59778 - [
5703ce68bc] - http: replace startsWith with strict equality (btea) #59394 - [
2b696ffad8] - http2: add diagnostics channels for client stream request body (Darshan Sen) #60480 - [
dbdf4cb5a5] - inspector: inspect HTTP response body (Chengzhong Wu) #60572 - [
9dc9a7d33d] - inspector: support inspecting HTTP/2 request and response bodies (Darshan Sen) #60483 - [
89fa2befe4] - inspector: fix crash when receiving non json message (Shima Ryuhei) #60388 - [
ff5754077d] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #59982 - [
33baaf42c8] - lib: replace global SharedArrayBuffer constructor with bound method (Renegade334) #60497 - [
b047586a08] - meta: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #60532 - [
64192176d7] - meta: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot[bot]) #60531 - [
af6d4a6b9b] - meta: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot[bot]) #60533 - [
c17276fd24] - meta: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot[bot]) #60529 - [
6e8b52a7dc] - meta: bump actions/stale from 10.0.0 to 10.1.0 (dependabot[bot]) #60528 - [
a12658595b] - meta: callcreate-release-post.ymlpost release (Aviv Keller) #60366 - [
8987159234] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #60600 - [
36da413663] - module: fix directory option in the enableCompileCache() API (Joyee Cheung) #59931 - [
92c484ebf4] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #59953 - [
545162b0d4] - node-api: use local files for instanceof test (Vladimir Morozov) #60190 - [
526c011d89] - perf_hooks: fix stack overflow error (Antoine du Hamel) #60084 - [
1de0476939] - perf_hooks: move non-standard performance properties to perf_hooks (Chengzhong Wu) #60370 - [
07ec1239ef] - repl: fix pasting after moving the cursor to the left (Ruben Bridgewater) #60470 - [
b11bc5984e] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #60217 - [
273c9661fd] - sqlite,doc: fix StatementSync section (Edy Silva) #60474 - [
d92ec21a4c] - src: use CP_UTF8 for wide file names on win32 (Fedor Indutny) #60575 - [
baef0468ed] - src: move Node-API version detection to where it is used (Anna Henningsen) #60512 - [
e7da5b4b7d] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #60178 - [
a7f7d10c06] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #58797 - [
566add0b19] - src: avoid C strings in more C++ exception throws (Anna Henningsen) #60592 - [
9b796347c1] - src: add internal binding for constructing SharedArrayBuffers (Renegade334) #60497 - [
3b01cbb411] - src: movenapi_addon_register_functonode_api_types.h(Anna Henningsen) #60512 - [
02fb7f4ecb] - src: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) #60345 - [
bd09ae24e4] - src: clean up generic counter implementation (Anna Henningsen) #60447 - [
cd6bf51dbd] - src: add enum handle for ToStringHelper + formatting (Burkov Egor) #56829 - [
92ea669240] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #59711 - [
ac3dbe48f7] - stream: don't try to read more if reading (Robert Nagy) #60454 - [
790288a93b] - test: ensure assertions are reachable intest/internet(Antoine du Hamel) #60513 - [
0a85132989] - test: fix status when compiled without inspector (Antoine du Hamel) #60289 - [
2f57673172] - test: deflake test-perf-hooks-timerify-histogram-sync (Joyee Cheung) #60639 - [
09726269de] - test: apply a delay towatch-mode-kill-signaltests (Joyee Cheung) #60610 - [
45537b9562] - test: async iife in repl (Tony Gorez) #44878 - [
4ca81f101d] - test: parallelize sea tests when there's enough disk space (Joyee Cheung) #60604 - [
ea71e96191] - test: only show overridden env in child process failures (Joyee Cheung) #60556 - [
06b2e348c7] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60498 - [
de9c8cb670] - test: ensure assertions are reachable intest/es-module(Antoine du Hamel) #60501 - [
75bc40fced] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60485 - [
1a6084cfd3] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60500 - [
2c651c90cf] - test: split test-perf-hooks-timerify (Joyee Cheung) #60568 - [
6e8b5f7345] - test: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) #60466 - [
9dea7ffa30] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565 - [
0b3c3b710a] - test: split test-esm-wasm.js (Joyee Cheung) #60491 - [
a15b795b34] - test: correct conditional secure heap flags test (Shelley Vohr) #60385 - [
38b77b3a44] - test: fix flaky test-watch-mode-kill-signal-* (Joyee Cheung) #60443 - [
e8d7598057] - test: capture stack trace in debugger timeout errors (Joyee Cheung) #60457 - [
674befeb81] - test: ensure assertions are reachable intest/sequential(Antoine du Hamel) #60412 - [
952c08a735] - test: ensure assertions are reachable in more folders (Antoine du Hamel) #60411 - [
bbca57584b] - test: split test-runner-watch-mode (Joyee Cheung) #60391 - [
e78e0cf6e7] - test: move test-runner-watch-mode helper into common (Joyee Cheung) #60391 - [
84576ef021] - test: ensure assertions are reachable intest/addons(Antoine du Hamel) #60142 - [
1659078c11] - test: ignore EPIPE errors in https proxy invalid URL test (Joyee Cheung) #60269 - [
79ffee80ec] - test: ensure assertions are reachable intest/client-proxy(Antoine du Hamel) #60175 - [
e5a812243a] - test: ensure assertions are reachable intest/async-hooks(Antoine du Hamel) #60150 - [
e924fd72e3] - test,crypto: handle a few more BoringSSL tests (Shelley Vohr) #59030 - [
a55ac11611] - test,crypto: update x448 and ed448 expectation when on boringssl (Shelley Vohr) #60387 - [
55d5e9ec73] - tls: fix leak on invalid protocol method (Shelley Vohr) #60427 - [
5763c96e7c] - tools: replace invalid expression in dependabot config (Riddhi) #60649 - [
b6e21b47d7] - tools: skip unaffected GHA jobs for changes intest/internet(Antoine du Hamel) #60517 - [
999664c76d] - tools: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) #60407 - [
ada856d0fb] - tools: only add test reporter args when node:test is used (Joyee Cheung) #60551 - [
1812c56bb3] - tools: fix update-icu script (Michaël Zasso) #60521 - [
747040438a] - tools: fix linter for semver-major release proposals (Antoine du Hamel) #60481 - [
f170551e40] - tools: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) #60465 - [
2db4ea0ce4] - tools: remove undici from daily wpt.fyi job (Filip Skokan) #60444 - [
2a85aa4e7b] - tools: add lint rule to ensure assertions are reached (Antoine du Hamel) #60125 - [
48299ef5fb] - tools,doc: update JavaScript primitive types to match MDN Web Docs (JustApple) #60581 - [
7ec04cf936] - util: fix stylize of special properties in inspect (Ge Gao) #60479 - [
05d7509bd2] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #59807 - [
884fe884a1] - vm: hint module identifier in instantiate errors (Chengzhong Wu) #60199 - [
a2caf19f70] - watch: fix interaction with multiple env files (Marco Ippolito) #60605
v24.11.1: 2025-11-11, Version 24.11.1 'Krypton' (LTS), @aduh95
Notable Changes
The known issue relating to Buffer.allocUnsafe incorrectly zero-filling buffers
has now been addressed and now returns uninitialized memory as documented in the
Buffer.allocUnsafe
documentation.
Commits
- [
0a15ccf3f4] - benchmark: improve cpu.sh for safety and usability (Nam Yooseong) #60162 - [
a1c7d1dac9] - benchmark: add benchmark for leaf source text modules (Joyee Cheung) #60205 - [
99e2acf46b] - benchmark: add vm.SourceTextModule benchmark (Joyee Cheung) #59396 - [
c01c72b407] - benchmark: use non-deprecated WriteUtf8V2 method (Michaël Zasso) #60173 - [
a42dbd138e] - build: ibmi follow aix visibility (SRAVANI GUNDEPALLI) #60360 - [
5673a54a5d] - build: use call command when calling python configure (Jacob Nichols) #60098 - [
c67cb727cb] - build: build v8 with -fvisibility=hidden -fvisibility-inlines-hidden (Joyee Cheung) #56290 - [
b03f7b93b1] - build: remove V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE defs (Joyee Cheung) #60296 - [
2505568531] - build, src: fix include paths for vtune files (Rahul) #59999 - [
95330b036f] - crypto: update root certificates to NSS 3.116 (Node.js GitHub Bot) #59956 - [
c221d892ef] - deps: update corepack to 0.34.2 (Node.js GitHub Bot) #60550 - [
bc00aa4c77] - deps: update simdjson to 4.0.7 (Node.js GitHub Bot) #59883 - [
d03b89ec53] - deps: update corepack to 0.34.1 (Node.js GitHub Bot) #60314 - [
b7882090de] - deps: update inspector_protocol toaf7f5a8(Node.js GitHub Bot) #60312 - [
7007f9dd65] - deps: update googletest to279f847(Node.js GitHub Bot) #60219 - [
a56aa9ffa8] - deps: upgrade npm to 11.6.2 (npm team) #60168 - [
0bf8952721] - doc: mention more codemods indeprecations.md(Augustin Mauroy) #60243 - [
2473ca77f6] - doc: add missing CAA type to dns.resolveAny() & dnsPromises.resolveAny() (Jimmy Leung) #58899 - [
39ddd8522e] - doc: useanyforworker_threads.Worker'error' event argumenterr(Jonas Geiler) #60300 - [
eaa825fd97] - doc: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) #60288 - [
a744e42282] - doc: document wildcard supported by tools/test.py (Joyee Cheung) #60265 - [
ec0d5beb09] - doc: add --heap-snapshot-on-oom to useful v8 flag (jakecastelli) #60260 - [
13da0df12a] - doc: fixblob.bytes()heading level (XTY) #60252 - [
8e771632b7] - doc: fix not working code example in vm docs (Artur Gawlik) #60224 - [
70c2080bff] - doc: improve code snippet alternative of url.parse() using WHATWG URL (Steven) #60209 - [
beadcf176e] - doc:createSQLTagStore->createTagStore(Aviv Keller) #60182 - [
b0da3b9c6a] - doc: use markdown when branch-diff major release (Rafael Gonzaga) #60179 - [
688115aa6b] - doc: update teams in collaborator-guide.md and add links (Bart Louwers) #60065 - [
923082a064] - doc: disambiguate top-levelworker_threadsmodule exports (René) #59890 - [
7be4330870] - doc: add known issue to v24.11.0 release notes (Richard Lau) #60467 - [
4d8f62aeaf] - doc, module: change async customization hooks to experimental (Gerhard Stöbich) #60302 - [
d86a118bbd] - http: lazy allocate cookies array (Robert Nagy) #59734 - [
8c256d4139] - http: fix http client leaky with double response (theanarkh) #60062 - [
265e9d59fa] - http2: rename variable to additionalPseudoHeaders (Tobias Nießen) #60208 - [
65bec037e2] - http2: do not crash on mismatched ping buffer length (René) #60135 - [
9b83ef53b7] - inspector: add network payload buffer size limits (Chengzhong Wu) #60236 - [
03ac05c458] - inspector: support handshake response for websocket inspection (Shima Ryuhei) #60225 - [
aa04f06190] - lib: fix typo in createBlobReaderStream (SeokHun) #60132 - [
5aea1a429e] - lib: fix constructor in _errnoException stack tree (SeokHun) #60156 - [
4f7745acc7] - lib: fix typo in QuicSessionStats (SeokHun) #60155 - [
f8725861ea] - lib: remove redundant destroyHook checks (Gürgün Dayıoğlu) #60120 - [
696c20bf3f] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #60325 - [
90434ff99a] - meta: loop userland-migrations in deprecations (Chengzhong Wu) #60299 - [
ffbc0ae60a] - module: refactor and clarify async loader hook customizations (Joyee Cheung) #60278 - [
6ed6062f7d] - module: handle null source from async loader hooks in sync hooks (Joyee Cheung) #59929 - [
a2871baed2] - msi: fix WiX warnings (Stefan Stojanovic) #60251 - [
6199541d67] - src: fix timing of snapshot serialize callback (Joyee Cheung) #60434 - [
13b687959a] - src: add COUNT_GENERIC_USAGE utility for tests (Joyee Cheung) #60434 - [
a587623b4f] - src: conditionally disable source phase imports by default (Shelley Vohr) #60364 - [
e483267995] - src: use cached primordials_string (Sohyeon Kim) #60255 - [
4c9a64fbaf] - src: replace Environment::GetCurrent with args.GetIsolate (Sohyeon Kim) #60256 - [
eb8a0493d1] - src: initial enablement of IsolateGroups (James M Snell) #60254 - [
463c6450cf] - src: useUtf8ValueandTwoByteValueinstead of V8 helpers (Anna Henningsen) #60244 - [
b370e02789] - src: add a default branch for module phase (Chengzhong Wu) #60261 - [
4e1c5c5601] - src: make additional cleanups in node locks impl (James M Snell) #60061 - [
f00d4c10fc] - src: update locks to use DictionaryTemplate (James M Snell) #60061 - [
1c8716e97c] - test: increase debugger waitFor timeout on macOS (Chengzhong Wu) #60367 - [
17b4f38e9c] - test: put helper in test-runner-output into common (Joyee Cheung) #60330 - [
43b9ea8389] - test: fix small compile warning in test_network_requests_buffer.cc (xiaocainiao633) #60281 - [
38a62980ad] - test: split test-runner-watch-mode-kill-signal (Joyee Cheung) #60298 - [
34e4c8c84f] - test: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) #60271 - [
4481feb17b] - test: parallelize test-without-async-context-frame correctly (Joyee Cheung) #60273 - [
91ea9b06e0] - test: skip sea tests on x64 macOS (Joyee Cheung) #60250 - [
cedba09e60] - test: move sea tests into test/sea (Joyee Cheung) #60250 - [
635af55e12] - Revert "test: ensure message event fires in worker message port test" (Luigi Pinca) #60126 - [
68f678028e] - test: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) #60148 - [
cc3a70598c] - test: deflake test-fs-promises-watch-iterator (Luigi Pinca) #60060 - [
3d784dd766] - test: prepare junit file attribute normalization (sangwook) #59432 - [
84974d97ad] - test: skip failing test on macOS 15.7+ (Antoine du Hamel) #60419 - [
fabf8e4975] - test,crypto: fix conditional SHA3-* skip on BoringSSL (Filip Skokan) #60379 - [
8faa494bf2] - test,crypto: sha3 algorithms aren't supported with BoringSSL (Shelley Vohr) #60374 - [
538a00c0f6] - test,doc: skip --max-old-space-size-percentage on 32-bit platforms (Asaf Federman) #60144 - [
9ac5dbb694] - test_runner: use module.registerHooks in module mocks (Joyee Cheung) #60326 - [
f6ff6e7166] - test_runner: fix suite timeout (Moshe Atlow) #59853 - [
455bfeb52d] - test_runner: add junit file attribute support (sangwook) #59432 - [
223c5e105d] - tools: update gyp-next to 0.20.5 (Node.js GitHub Bot) #60313 - [
2949408fc1] - tools: limit inspector protocol MR title length (Chengzhong Wu) #60324 - [
b36a898650] - tools: fix inspector_protocol updater (Chengzhong Wu) #60277 - [
d60f002b62] - tools: optimize wildcard execution in tools/test.py (Joyee Cheung) #60266 - [
9d4e422419] - tools: add inspector_protocol updater (Chengzhong Wu) #60245 - [
2f93a9894f] - tools: use cooldown property correctly (Rafael Gonzaga) #60134 - [
9468ade95d] - typings: add missing properties and method in Worker (Woohyun Sung) #60257 - [
f611ec0a9e] - typings: add missing properties in HTTPParser (Woohyun Sung) #60257 - [
301c1347a1] - typings: delete undefined property in ConfigBinding (Woohyun Sung) #60257 - [
80fdb3d39b] - typings: add buffer internalBinding typing (방진혁) #60163 - [
8cb3b77039] - util: use more defensive code when inspecting error objects (Antoine du Hamel) #60139 - [
748d4f6430] - util: mark special properties when inspecting them (Ruben Bridgewater) #60131 - [
6183a759d7] - vm: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) #60205 - [
4b8506628f] - win: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) #60318
v24.11.0: 2025-10-28, Version 24.11.0 'Krypton' (LTS), @richardlau
Notable Changes
This release marks the transition of Node.js 24.x into Long Term Support (LTS) with the codename 'Krypton'. It will continue to receive updates through to the end of April 2028.
Other than updating metadata, such as the process.release object, to reflect
that the release is LTS, no further changes from Node.js 24.10.0 are included.
Known issue
An issue has been identified in the Node.js 24.x line with Buffer.allocUnsafe
unintentionally returning zero-filled buffers. This API is
documented to return uninitialized memory.
The documented behavior will be restored in the next Node.js 24.x LTS release to bring
it back in line with previous releases. For more information, see
#60423.
v24.10.0: 2025-10-08, Version 24.10.0 (Current), @RafaelGSS
Notable Changes
- [
31bb476895] - (SEMVER-MINOR) console: allow per-streaminspectOptionsoption (Anna Henningsen) #60082 - [
3b92be2fb8] - (SEMVER-MINOR) lib: remove util.getCallSite (Rafael Gonzaga) #59980 - [
18c79d9e1c] - (SEMVER-MINOR) sqlite: create authorization api (Guilherme Araújo) #59928
Commits
- [
e8cff3d51e] - benchmark: remove unused variable from util/priority-queue (Bruno Rodrigues) #59872 - [
03294252ab] - benchmark: update count to n in permission startup (Bruno Rodrigues) #59872 - [
3c8a609d9b] - benchmark: update num to n in dgram offset-length (Bruno Rodrigues) #59872 - [
7b2032b13e] - benchmark: adjust dgram offset-length len values (Bruno Rodrigues) #59708 - [
552d887aee] - benchmark: update num to n in dgram offset-length (Bruno Rodrigues) #59708 - [
31bb476895] - (SEMVER-MINOR) console: allow per-streaminspectOptionsoption (Anna Henningsen) #60082 - [
0bf022d4c0] - console,util: improve array inspection performance (Ruben Bridgewater) #60037 - [
04d568e591] - deps: V8: cherry-pickf93055f(Olivier Flückiger) #60105 - [
621058b3bf] - deps: update archs files for openssl-3.5.4 (Node.js GitHub Bot) #60101 - [
81b3009fe6] - deps: upgrade openssl sources to openssl-3.5.4 (Node.js GitHub Bot) #60101 - [
dc44c9f349] - deps: upgrade npm to 11.6.1 (npm team) #60012 - [
ec0f137198] - deps: update ada to 3.3.0 (Node.js GitHub Bot) #60045 - [
f490f91874] - deps: update amaro to 1.1.4 (pmarchini) #60044 - [
de7a7cd0d7] - deps: update ada to 3.2.9 (Node.js GitHub Bot) #59987 - [
a533e5b5db] - doc: add automated migration info to deprecations (Augustin Mauroy) #60022 - [
7fb8fe4875] - doc: fix typo on child_process.md (Angelo Gazzola) #60114 - [
24c1ef9846] - doc: remove optional title prefixes (Aviv Keller) #60087 - [
08b9eb8e19] - doc: mark.envfiles support as stable (Santeri Hiltunen) #59925 - [
66d90b8063] - doc: mention reverse proxy and include simple example (Steven) #59736 - [
14aa1119cb] - doc: provide alternative tourl.parse()using WHATWG URL (Steven) #59736 - [
f9412324f6] - doc: fix typo of built-in module specifier in worker_threads (Deokjin Kim) #59992 - [
64e738a342] - doc,crypto: reorder ML-KEM in the asymmetric key types table (Filip Skokan) #60067 - [
1b25008b41] - http: improve writeEarlyHints by avoiding for-of loop (Haram Jeong) #59958 - [
35f9b6b28f] - inspector: improve batch diagnostic channel subscriptions (Chengzhong Wu) #60009 - [
3b92be2fb8] - (SEMVER-MINOR) lib: remove util.getCallSite (Rafael Gonzaga) #59980 - [
c495e1fe57] - lib: optimize priority queue (Gürgün Dayıoğlu) #60039 - [
6be31fb9f3] - lib: implement passive listener behavior per spec (BCD1me) #59995 - [
c5e4aa763b] - meta: bump actions/setup-python from 5.6.0 to 6.0.0 (dependabot[bot]) #60090 - [
50fa1f4a76] - meta: bump ossf/scorecard-action from 2.4.2 to 2.4.3 (dependabot[bot]) #60096 - [
def4ce976c] - meta: bump actions/cache from 4.2.4 to 4.3.0 (dependabot[bot]) #60095 - [
24b5abc0e9] - meta: bump step-security/harden-runner from 2.12.2 to 2.13.1 (dependabot[bot]) #60094 - [
8ccf2b0b34] - meta: bump actions/setup-node from 4.4.0 to 5.0.0 (dependabot[bot]) #60093 - [
78580147ef] - meta: bump actions/stale from 9.1.0 to 10.0.0 (dependabot[bot]) #60092 - [
705686b5c4] - meta: bump codecov/codecov-action from 5.5.0 to 5.5.1 (dependabot[bot]) #60091 - [
423a6bc744] - meta: bump github/codeql-action from 3.30.0 to 3.30.5 (dependabot[bot]) #60089 - [
9d9bd0fb4f] - meta: move Michael to emeritus (Michael Dawson) #60070 - [
dbeee55824] - module: use sync cjs when importing cts (Marco Ippolito) #60072 - [
a722f677ac] - perf_hooks: fix histogram fast call signatures (Renegade334) #59600 - [
b3295b8353] - process: fix wrong asyncContext under unhandled-rejections=strict (Shima Ryuhei) #60103 - [
cff4a7608a] - process: fix defaultenvforprocess.execve(Richard Lau) #60029 - [
cd034e927f] - process: fix hrtime fast call signatures (Renegade334) #59600 - [
18c79d9e1c] - (SEMVER-MINOR) sqlite: create authorization api (Guilherme Araújo) #59928 - [
d949222043] - sqlite: replaceToLocalCheckedand improve filter error handling (Edy Silva) #60028 - [
6417dc879e] - src: bring permissions macros in line with general C/C++ standards (Anna Henningsen) #60053 - [
e273c2020c] - src: update contextify to use DictionaryTemplate (James M Snell) #60059 - [
5f9ff60664] - src: removeAnalyzeTemporaryDtorsoption from .clang-tidy (iknoom) #60008 - [
9db54adccc] - src: update cares_wrap to use DictionaryTemplates (James M Snell) #60033 - [
fc0ceb7b82] - src: correct the error handling in StatementExecutionHelper (James M Snell) #60040 - [
3e8fdc1d8d] - src: remove unused variables from report (Moonki Choi) #60047 - [
d744324d8e] - src: avoid unnecessary string allocations in SPrintF impl (Anna Henningsen) #60052 - [
de65a5c719] - src: make ToLower/ToUpper input args more flexible (Anna Henningsen) #60052 - [
354026df5a] - src: allowstd::string_viewarguments toSPrintF()and friends (Anna Henningsen) #60058 - [
42f7d7cb20] - src: remove unnecessarystd::stringerror messages (Anna Henningsen) #60057 - [
30c2c0fedd] - src: remove unnecessary shadowed functions on Utf8Value & BufferValue (Anna Henningsen) #60056 - [
eb99eec09b] - src: avoid unnecessary string ->char*-> string round trips (Anna Henningsen) #60055 - [
c1f1dbdce2] - src: remove useless dereferencing inTHROW_...(Anna Henningsen) #60054 - [
ea0f5e575d] - src: filloptions_args,options_envafter vectors are finalized (iknoom) #59945 - [
415fff217a] - src: use RAII for uv_process_options_t (iknoom) #59945 - [
982b03ecbd] - test: marktest-runner-run-watchflaky on macOS (Richard Lau) #60115 - [
831a0d3d28] - test: ensure that the message event is fired (Luigi Pinca) #59952 - [
5538cfc1e8] - test: replace diagnostics_channel stackframe in output snapshots (Chengzhong Wu) #60024 - [
77ec400d90] - test: mark test-web-locks skip on IBM i (SRAVANI GUNDEPALLI) #59996 - [
1aaadb9e31] - test: ensure message event fires in worker message port test (Jarred Sumner) #59885 - [
1d5cc5e57a] - test: mark sea tests flaky on macOS x64 (Richard Lau) #60068 - [
c412b1855d] - test: expand tls-check-server-identity coverage (Diango Gavidia) #60002 - [
ad87975029] - test: fix typo of test-benchmark-readline.js (Deokjin Kim) #59993 - [
bad4b9b878] - test: add newstartNewREPLSevertesting utility (Dario Piotrowicz) #59964 - [
ef90b0f456] - test: verify tracing channel doesn't swallow unhandledRejection (Gerhard Stöbich) #59974 - [
d7285459fe] - timers: fix binding fast call signatures (Renegade334) #59600 - [
6529ae9b0c] - tools: add message on auto-fixing js lint issues in gh workflow (Dario Piotrowicz) #59128 - [
1ca116a6ea] - tools: verify signatures when updating nghttp* (Antoine du Hamel) #60113 - [
20d10a2398] - tools: use dependabot cooldown and move tools/doc (Rafael Gonzaga) #59978 - [
275c07064c] - typings: update 'types' binding (René) #59692 - [
8c21c4b286] - wasi: fix WasiFunction fast call signature (Renegade334) #59600 - [
b865074641] - win,tools: add description to signature (Martin Costello) #59877
v24.9.0: 2025-09-25, Version 24.9.0 (Current), @targos
Notable Changes
- [
9b043a9096] - (SEMVER-MINOR) http: add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824 - [
a6456ab90a] - (SEMVER-MINOR) sqlite: cleanup ERM support and export Session class (James M Snell) #58378 - [
5563361d22] - (SEMVER-MINOR) sqlite: add tagged template (0hm☘️) #58748 - [
04013ee933] - (SEMVER-MINOR) worker: add heap profile API (theanarkh) #59846
Commits
- [
cbec4fd6de] - benchmark: calibrate config dgram multi-buffer (Bruno Rodrigues) #59696 - [
9a4bbdc3c5] - benchmark: calibrate config cluster/echo.js (Nam Yooseong) #59836 - [
0b284d86e8] - build: add the missing macro definitions for OpenHarmony (hqzing) #59804 - [
43e6e54d66] - build: do not include custom ESLint rules testing in tarball (Antoine du Hamel) #59809 - [
039ac19154] - crypto: expose signatureAlgorithm on X509Certificate (Patrick Costa) #59235 - [
647c332704] - crypto: usereturn awaitwhen returning Promises from async functions (Renegade334) #59841 - [
8ed4587cf0] - crypto: use async functions for non-stub Promise-returning functions (Renegade334) #59841 - [
bb051c56ef] - crypto: avoid calls topromise.catch()(Renegade334) #59841 - [
05e560dd25] - deps: update googletest to50b8600(Node.js GitHub Bot) #59955 - [
fa40d3a785] - deps: update archs files for openssl-3.5.3 (Node.js GitHub Bot) #59901 - [
8c85570d18] - deps: upgrade openssl sources to openssl-3.5.3 (Node.js GitHub Bot) #59901 - [
b71125664e] - deps: update undici to 7.16.0 (Node.js GitHub Bot) #59830 - [
dea5dd7077] - dgram: restore buffer optimization in fixBufferList (Yoo) #59934 - [
b0c1e67532] - diagnostics_channel: fix race condition with diagnostics_channel and GC (Ugaitz Urien) #59910 - [
0b37b594c3] - doc: use "WebAssembly" instead of "Web Assembly" (Tobias Nießen) #59954 - [
1e723f9c6b] - doc: fix typo in section on microtask order (Tobias Nießen) #59932 - [
a28962a85c] - doc: update V8 fast API guidance (René) #58999 - [
bd767c5d1b] - doc: add security escalation policy (Ulises Gascón) #59806 - [
9df91e59e1] - doc: type improvement of filehttp.md(yusheng chen) #58189 - [
e4f571680b] - doc: deprecate closingfs.Diron garbage collection (Livia Medeiros) #59839 - [
e9cb986fa5] - doc: rephrase dynamic import() description (Nam Yooseong) #59224 - [
026d4e33f7] - doc,crypto: update subtle.generateKey and subtle.importKey (Filip Skokan) #59851 - [
2b2591db52] - esm: make hasAsyncGraph non-enumerable (Joyee Cheung) #59905 - [
993f05d323] - fs,win: do not add a second trailing slash in readdir (Gerhard Stöbich) #59847 - [
7aec53b607] - (SEMVER-MINOR) http: add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) #59824 - [
83ae6102e7] - http: optimize checkIsHttpToken for short strings (방진혁) #59832 - [
6695067636] - http,https: handle IPv6 with proxies (Joyee Cheung) #59894 - [
c5d910a0a9] - http2: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback (Tim Perry) #59924 - [
acada1fb82] - inspector: ensure adequate memory allocation forBinary::toBase64(René) #59870 - [
396cc8ec65] - lib: update inspect output format for subclasses (Miguel Marcondes Filho) #59687 - [
fed1dac8de] - lib: update isDeepStrictEqual to support options (Miguel Marcondes Filho) #59762 - [
d785929fd7] - lib: add source map support for assert messages (Chengzhong Wu) #59751 - [
ff13d1d61e] - lib,src: cache ModuleWrap.hasAsyncGraph (Chengzhong Wu) #59703 - [
b200cd8470] - lib,src: refactor assert to load error source from memory (Chengzhong Wu) #59751 - [
e94c57301b] - meta: add .npmrc with ignore-scripts=true (Joyee Cheung) #59914 - [
728472a57b] - module: only put directly require-d ESM into require.cache (Joyee Cheung) #59874 - [
be48760b93] - node-api: added SharedArrayBuffer api (Mert Can Altin) #59071 - [
f006a14522] - node-api: make napi_delete_reference use node_api_basic_env (Jeetu Suthar) #59684 - [
0f46c1c3b0] - repl: fix cpu overhead pasting big strings to the REPL (Ruben Bridgewater) #59857 - [
3eeb7b47ea] - sqlite: fix crash session extension callbacks with workers (Bart Louwers) #59848 - [
0fe53375ec] - (SEMVER-MINOR) sqlite: cleanup ERM support and export Session class (James M Snell) #58378 - [
9a3e58a007] - (SEMVER-MINOR) sqlite: add tagged template (0hm☘️) #58748 - [
f14ed5ab7b] - src: simplify watchdog instantiations viastd::optional(Anna Henningsen) #59960 - [
e330f03f84] - src: update crypto objects to use DictionaryTemplate (James M Snell) #59942 - [
69b5607cf4] - src: simplify is_callable by making it a concept (Tobias Nießen) #58169 - [
86150f3401] - src: rename private fields to follow naming convention (Moonki Choi) #59923 - [
d17f299539] - src: use DictionaryTemplate more in URLPattern (James M Snell) #59892 - [
ac784912ac] - src: reduce the nearest parent package JSON cache size (Michael Smith) #59888 - [
abecdcb536] - src: replace FIXED_ONE_BYTE_STRING with Environment-cached strings (Moonki Choi) #59891 - [
2bb152500b] - src: create strings inFIXED_ONE_BYTE_STRINGas internalized (Anna Henningsen) #59826 - [
03116a7cd8] - src: removestd::arrayoverload ofFIXED_ONE_BYTE_STRING(Anna Henningsen) #59826 - [
8a5325d6e3] - src: ensurev8::Eternalis empty before setting it (Anna Henningsen) #59825 - [
f0c20ccd81] - src: remove unnecessaryEnvironment::GetCurrent()calls (Moonki Choi) #59814 - [
213188e491] - stream: use new AsyncResource instead of bind (Matteo Collina) #59867 - [
ce8435b003] - test: testcase demonstrating issue 59541 (Eric Rannaud) #59801 - [
8f32746142] - test: guard write to proxy client if proxy connection is ended (Joyee Cheung) #59742 - [
6790093fcb] - tls: load bundled and extra certificates off-thread (Joyee Cheung) #59856 - [
f5d3f919d8] - tls: only do off-thread certificate loading on loading tls (Joyee Cheung) #59856 - [
87bbaa23a0] - tools: fixtools/make-v8.shfor clang (Richard Lau) #59893 - [
0d23fd525b] - tools: skip test-internet workflow for draft MRs (Michaël Zasso) #59817 - [
e17c73731a] - tools: copyeditbuild-tarball.yml(Antoine du Hamel) #59808 - [
97c4e1bac9] - typings: remove unused imports (Nam Yooseong) #59880 - [
8b29bbca76] - url: replaced slice with at (Mikhail) #59181 - [
6458867a6b] - url: add type checking to urlToHttpOptions() (simon-id) #59753 - [
3c62b3886f] - util: inspect objects with throwing Symbol.toStringTag (Ruben Bridgewater) #59860 - [
6133a82875] - util: fix debuglog.enabled not being present with callback logger (Ruben Bridgewater) #59858 - [
9347ddddf4] - vm: explain how to share promises between contexts w/ afterEvaluate (Eric Rannaud) #59801 - [
44ce971619] - vm: "afterEvaluate", evaluate() return a promise from the outer context (Eric Rannaud) #59801 - [
6e586a1409] - vm: expose hasTopLevelAwait on SourceTextModule (Chengzhong Wu) #59865 - [
49747a58a3] - (SEMVER-MINOR) worker: add heap profile API (theanarkh) #59846 - [
b970c0bbc2] - zlib: reduce code duplication (jhofstee) #57810 - [
9782ca2b1b] - zlib: implement fast path for crc32 (Gürgün Dayıoğlu) #59813
v24.8.0: 2025-09-10, Version 24.8.0 (Current), @targos
Notable Changes
HTTP/2 Network Inspection Support in Node.js
Node.js now supports inspection of HTTP/2 network calls in Chrome DevTools for Node.js.
Usage
Write a test.js script that makes HTTP/2 requests.
const http2 = require('node:http2');
const client = http2.connect('https://nghttp2.org');
const req = client.request([
':path', '/',
':method', 'GET',
]);
Run it with these options:
node --inspect-wait --experimental-network-inspection test.js
Open about:inspect on Google Chrome and click on Open dedicated DevTools for Node.
The Network tab will let you track your HTTP/2 calls.
Contributed by Darshan Sen in #59611.
Other Notable Changes
- [
7a8e2c251d] - (SEMVER-MINOR) crypto: support Ed448 and ML-DSA context parameter in node:crypto (Filip Skokan) #59570 - [
4b631be0b0] - (SEMVER-MINOR) crypto: support Ed448 and ML-DSA context parameter in Web Cryptography (Filip Skokan) #59570 - [
3e4b1e732c] - (SEMVER-MINOR) crypto: add KMAC Web Cryptography algorithms (Filip Skokan) #59647 - [
b1d28785b2] - (SEMVER-MINOR) crypto: add Argon2 Web Cryptography algorithms (Filip Skokan) #59544 - [
430691d1af] - (SEMVER-MINOR) crypto: support SLH-DSA KeyObject, sign, and verify (Filip Skokan) #59537 - [
d6d05ba397] - (SEMVER-MINOR) worker: add cpu profile APIs for worker (theanarkh) #59428
Commits
- [
d913872369] - assert: cap input size in myersDiff to avoid Int32Array overflow (Haram Jeong) #59578 - [
7bbbcf6666] - benchmark: sqlite prevent create both tables on prepare selects (Bruno Rodrigues) #59709 - [
44d7b92271] - benchmark: calibrate config array-vs-concat (Rafael Gonzaga) #59587 - [
7f347fc551] - build: fix getting OpenSSL version on Windows (Michaël Zasso) #59609 - [
4a317150d5] - build: fix 'implicit-function-declaration' on OpenHarmony platform (hqzing) #59547 - [
bda32af587] - build: usewindows-2025runner (Michaël Zasso) #59673 - [
a4a8ed8f6e] - build: compile bundled uvwasi conditionally (Carlo Cabrera) #59622 - [
d944a87761] - crypto: refactor subtle methods to use synchronous import (Filip Skokan) #59771 - [
7a8e2c251d] - (SEMVER-MINOR) crypto: support Ed448 and ML-DSA context parameter in node:crypto (Filip Skokan) #59570 - [
4b631be0b0] - (SEMVER-MINOR) crypto: support Ed448 and ML-DSA context parameter in Web Cryptography (Filip Skokan) #59570 - [
3e4b1e732c] - (SEMVER-MINOR) crypto: add KMAC Web Cryptography algorithms (Filip Skokan) #59647 - [
b1d28785b2] - (SEMVER-MINOR) crypto: add Argon2 Web Cryptography algorithms (Filip Skokan) #59544 - [
430691d1af] - (SEMVER-MINOR) crypto: support SLH-DSA KeyObject, sign, and verify (Filip Skokan) #59537 - [
0d1e53d935] - deps: update uvwasi to 0.0.23 (Node.js GitHub Bot) #59791 - [
68732cf426] - deps: update histogram to 0.11.9 (Node.js GitHub Bot) #59689 - [
f12c1ad961] - deps: update googletest toeb2d85e(Node.js GitHub Bot) #59335 - [
45af6966ae] - deps: upgrade npm to 11.6.0 (npm team) #59750 - [
57617244a4] - deps: V8: cherry-pick6b1b9bc(Xiao-Tao) #59283 - [
2e6225a747] - deps: update amaro to 1.1.2 (Node.js GitHub Bot) #59616 - [
1f7f6dfae6] - diagnostics_channel: revoke DEP0163 (René) #59758 - [
8671a6cdb3] - doc: stabilize --disable-sigusr1 (Rafael Gonzaga) #59707 - [
583b1b255d] - doc: update OpenSSL default security level to 2 (Jeetu Suthar) #59723 - [
9b5eb6eb50] - doc: fix missing links in theerrorspage (Nam Yooseong) #59427 - [
e7bf712c57] - doc: update "Type stripping in dependencies" section (Josh Kelley) #59652 - [
96db47f91e] - doc: add Miles Guicent as triager (Miles Guicent) #59562 - [
87f829bd0c] - doc: markpath.matchesGlobas stable (Aviv Keller) #59572 - [
062b2f705e] - doc: improve documentation for raw headers in HTTP/2 APIs (Tim Perry) #59633 - [
6ab9306370] - doc: update install_tools.bat free disk space (Stefan Stojanovic) #59579 - [
c8d6b60da6] - doc: fix quic session instance typo (jakecastelli) #59642 - [
61d0a2d1ba] - doc: fix filehandle.read typo (Ruy Adorno) #59635 - [
3276bfa0d0] - doc: update migration recomendations forutil.is**()deprecations (Augustin Mauroy) #59269 - [
11de6c7ebb] - doc: fix missing link to the Error documentation in thehttppage (Alexander Makarenko) #59080 - [
f5b6829bba] - doc,crypto: add description to the KEM and supports() methods (Filip Skokan) #59644 - [
5bfdc7ee74] - doc,crypto: cleanup unlinked and self method references webcrypto.md (Filip Skokan) #59608 - [
010458d061] - esm: populate separate cache for require(esm) in imported CJS (Joyee Cheung) #59679 - [
dbe6e63baf] - esm: fix missed renaming in ModuleJob.runSync (Joyee Cheung) #59724 - [
8eb0d9d834] - fs: fix wrong order of file names in cpSync error message (Nicholas Paun) #59775 - [
e69be5611f] - fs: fix dereference: false on cpSync (Nicholas Paun) #59681 - [
2865d2ac20] - http: unbreak keepAliveTimeoutBuffer (Robert Nagy) #59784 - [
ade1175475] - http: use cached '1.1' http version string (Robert Nagy) #59717 - [
74a09482de] - inspector: undici as shared-library should pass tests (Aras Abbasi) #59837 - [
772f8f415a] - inspector: add http2 tracking support (Darshan Sen) #59611 - [
3d225572d7] - Revert "lib: optimize writable stream buffer clearing" (Yoo) #59743 - [
4fd213ce73] - lib: fix isReadable and isWritable return type value (Gabriel Quaresma) #59089 - [
39befddb87] - lib: prefer TypedArrayPrototype primordials (Filip Skokan) #59766 - [
0748160d2e] - lib: fix DOMException subclass support (Chengzhong Wu) #59680 - [
1a93df808c] - lib: revert to using default derived class constructors (René) #59650 - [
bb0755df37] - meta: bumpcodecov/codecov-action(dependabot[bot]) #59726 - [
45d148d9be] - meta: bump actions/download-artifact from 4.3.0 to 5.0.0 (dependabot[bot]) #59729 - [
01b66b122e] - meta: bump github/codeql-action from 3.29.2 to 3.30.0 (dependabot[bot]) #59728 - [
34f7ab5502] - meta: bump actions/cache from 4.2.3 to 4.2.4 (dependabot[bot]) #59727 - [
5806ea02af] - meta: bump actions/checkout from 4.2.2 to 5.0.0 (dependabot[bot]) #59725 - [
f667215583] - path: refactor path joining logic for clarity and performance (Lee Jiho) #59781 - [
0340fe92a6] - repl: do not cause side effects in tab completion (Anna Henningsen) #59774 - [
a414c1eb51] - repl: fix REPL completion under unary expressions (Kingsword) #59744 - [
c206f8dd87] - repl: add isValidParentheses check before wrap input (Xuguang Mei) #59607 - [
0bf9775ee2] - sea: implement sea.getAssetKeys() (Joyee Cheung) #59661 - [
bf26b478d8] - sea: allow using inspector command line flags with SEA (Joyee Cheung) #59568 - [
92128a8fe2] - src: use DictionaryTemplate for node_url_pattern (James M Snell) #59802 - [
bcb29fb84f] - src: correctly report memory changes to V8 (Yaksh Bariya) #59623 - [
44c24657d3] - src: fixup node_messaging error handling (James M Snell) #59792 - [
2cd6a3b7ec] - src: track async resources via pointers to stack-allocated handles (Anna Henningsen) #59704 - [
34d752586f] - src: fix build on NetBSD (Thomas Klausner) #59718 - [
15fa779ac5] - src: fix race on process exit and off thread CA loading (Chengzhong Wu) #59632 - [
15cbd3966a] - src: separate module.hasAsyncGraph and module.hasTopLevelAwait (Joyee Cheung) #59675 - [
88d1ca8990] - src: use non-deprecated Get/SetPrototype methods (Michaël Zasso) #59671 - [
56ac9a2d46] - src: migrate WriteOneByte to WriteOneByteV2 (Chengzhong Wu) #59634 - [
3d88aa9f2f] - src: remove duplicate code (theanarkh) #59649 - [
0718a70b2a] - src: add name for more threads (theanarkh) #59601 - [
0379a8b254] - src: remove JSONParser (Joyee Cheung) #59619 - [
90d0a1b2e9] - src,sqlite: refactor value conversion (Edy Silva) #59659 - [
5e025c7ca7] - stream: replace manual function validation with validateFunction (방진혁) #59529 - [
155a999bed] - test: skip tests failing when run under root (Livia Medeiros) #59779 - [
6313706c69] - test: update WPT for urlpattern tocff1ac1(Node.js GitHub Bot) #59602 - [
41245ad4c7] - test: skip more sea tests on Linux ppc64le (Richard Lau) #59755 - [
df63d37ec4] - test: fix internet/test-dns (Michaël Zasso) #59660 - [
1f6c335e82] - test: mark test-inspector-network-fetch as flaky again (Joyee Cheung) #59640 - [
1798683df1] - test: skip test-fs-cp* tests that are constantly failing on Windows (Joyee Cheung) #59637 - [
4c48ec09e5] - test: deflake test-http-keep-alive-empty-line (Luigi Pinca) #59595 - [
dcdb259e85] - test_runner: fix todo inheritance (Moshe Atlow) #59721 - [
24177973a2] - test_runner: set mock timer's interval undefined (hotpineapple) #59479 - [
83d11f8a7a] - tools: print appropriate output when test aborted (hotpineapple) #59794 - [
1eca2cc548] - tools: use sparse checkout inbuild-tarball.yml(Antoine du Hamel) #59788 - [
89fa1a929d] - tools: remove unused actions frombuild-tarball.yml(Antoine du Hamel) #59787 - [
794ca3511d] - tools: do not attempt to compress tgz archive (Antoine du Hamel) #59785 - [
377bdb9b7e] - tools: add v8windbg target (Chengzhong Wu) #59767 - [
6696d1d6c9] - tools: improve error handling in node_mksnapshot (James M Snell) #59437 - [
8dbd0f13e8] - tools: add sccache totest-internetworkflow (Antoine du Hamel) #59720 - [
6523c2d7d9] - tools: update gyp-next to 0.20.4 (Node.js GitHub Bot) #59690 - [
19d633f40c] - tools: add script to make reviewing backport MRs easier (Antoine du Hamel) #59161 - [
15e547b3a4] - typings: add typing for 'uv' (방진혁) #59606 - [
ad5cfcc901] - typings: add missing properties in ConfigBinding (Lee Jiho) #59585 - [
70d2d6d479] - url: add err.input to ERR_INVALID_FILE_URL_PATH (Joyee Cheung) #59730 - [
e476e43c17] - util: fix numericSeparator with negative fractional numbers (sangwook) #59379 - [
b2e8f40d15] - util: remove unnecessary template strings (btea) #59201 - [
6f79450ea2] - util: remove outdated TODO comment (haramjeong) #59760 - [
32731432ef] - util: use getOptionValue('--no-deprecation') in deprecated() (haramjeong) #59760 - [
65e4e68c90] - util: hide duplicated stack frames when using util.inspect (Ruben Bridgewater) #59447 - [
2086f3365f] - vm: sync-ify SourceTextModule linkage (Chengzhong Wu) #59000 - [
c16163511d] - wasi: fixcleantarget intest/wasi/Makefile(Antoine du Hamel) #59576 - [
2e54411cb6] - worker: optimize cpu profile implement (theanarkh) #59683 - [
d6d05ba397] - (SEMVER-MINOR) worker: add cpu profile APIs for worker (theanarkh) #59428
v24.7.0: 2025-08-27, Version 24.7.0 (Current), @targos
Notable Changes
Post-Quantum Cryptography in node:crypto
OpenSSL 3.5 on 24.x kicked off post-quantum cryptography efforts in Node.js by
allowing use of NIST's post-quantum cryptography standards for future-proofing
applications against quantum computing threats. The following post-quantum
algorithms are now available in node:crypto:
- ML-KEM (FIPS 203, Module-Lattice-Based Key-Encapsulation Mechanism Standard) through new
crypto.encapsulate()andcrypto.decapsulate()methods. - ML-DSA (FIPS 204, Module-Lattice-Based Digital Signature Standard) in the existing
crypto.sign()andcrypto.verify()methods.
Contributed by Filip Skokan in #59259 and #59491.
Modern Algorithms in Web Cryptography API
The second substantial extension to the Web Cryptography API
(globalThis.crypto.subtle) was recently accepted for incubation by WICG.
The following algorithms and methods from this extension are now available in
the Node.js Web Cryptography API implementation:
- AES-OCB
- ChaCha20-Poly1305
- ML-DSA
- ML-KEM
- SHA-3
- SHAKE
subtle.getPublicKey()SubtleCrypto.supports()- ... with more coming in future releases.
Contributed by Filip Skokan in #59365, #59569, #59461, and #59539.
Node.js execution argument support in single executable applications
The single executable application configuration now supports additional fields to specify Node.js execution arguments and control how they can be extended when the application is run.
execArgvtakes an array of strings for the execution arguments to be used.execArgvExtensiontakes one of the following values:"none": No additional execution arguments are allowed."cli": Additional execution arguments can be provided via a special command-line flag--node-options="--flag1 --flag2=value"at run time."env"(default): Additional execution arguments can be provided via theNODE_OPTIONSenvironment variable at run time.
For example, with the following configuration:
{
"main": "/path/to/bundled/script.js",
"output": "/path/to/write/the/generated/blob.blob",
"execArgv": ["--no-warnings"],
"execArgvExtension": "cli",
}
If the generated single executable application is named sea, then running:
sea --node-options="--max-old-space-size=4096" user-arg1 user-arg2
Would be equivalent to running:
node --no-warnings --max-old-space-size=4096 /path/to/bundled/script.js user-arg1 user-arg2
Contributed by Joyee Cheung in #59314 and #59560.
Root certificates updated to NSS 3.114
Certificates added:
- TrustAsia TLS ECC Root CA
- TrustAsia TLS RSA Root CA
- SwissSign RSA TLS Root CA 2022 - 1
Certificates removed:
- GlobalSign Root CA
- Entrust.net Premium 2048 Secure Server CA
- Baltimore CyberTrust Root
- Comodo AAA Services root
- XRamp Global CA Root
- Go Daddy Class 2 CA
- Starfield Class 2 CA
Other Notable Changes
- [
d3afc63c44] - (SEMVER-MINOR) crypto: add argon2() and argon2Sync() methods (Ranieri Althoff) #50353 - [
6ae202fcdf] - (SEMVER-MINOR) http: add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) #59315 - [
dafee05358] - (SEMVER-MINOR) http2: add support for raw header arrays in h2Stream.respond() (Tim Perry) #59455 - [
8dc6f5b696] - (SEMVER-MINOR) stream: add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) #59464
Commits
- [
0fa22cbf7c] - benchmark: calibrate config v8/serialize.js (Rafael Gonzaga) #59586 - [
f5ece45b45] - benchmark: reduce readfile-permission-enabled config (Rafael Gonzaga) #59589 - [
8ebd4f4434] - benchmark: calibrate length of util.diff (Rafael Gonzaga) #59588 - [
7dee3ffd14] - benchmark: reflect current OpenSSL in crypto key benchmarks (Filip Skokan) #59459 - [
027b861ca1] - benchmark, test: replace CRLF variable with string literal (Lee Jiho) #59466 - [
89dd770889] - build: do not set-mminimal-tocwithclang(Richard Lau) #59484 - [
e13de4542f] - child_process: remove unsafe array iteration (hotpineapple) #59347 - [
89fe63551e] - crypto: load system CA certificates off thread (Joyee Cheung) #59550 - [
152c5ef518] - (SEMVER-MINOR) crypto: add AES-OCB Web Cryptography algorithm (Filip Skokan) #59539 - [
c6c418343d] - crypto: update root certificates to NSS 3.114 (Node.js GitHub Bot) #59571 - [
18a2ee5b6c] - (SEMVER-MINOR) crypto: support ML-KEM in Web Cryptography (Filip Skokan) #59569 - [
72937e5144] - crypto: require HMAC key length with SHA-3 hashes in Web Cryptography (Filip Skokan) #59567 - [
b7383186c7] - crypto: fix subtle.getPublicKey error for secret type key inputs (Filip Skokan) #59558 - [
2d05c046db] - crypto: return cached copies from CryptoKey algorithm and usages getters (Filip Skokan) #59538 - [
207ffbeb07] - crypto: use CryptoKey internal slots in Web Cryptography (Filip Skokan) #59538 - [
4276516781] - crypto: normalize RsaHashedKeyParams publicExponent (Filip Skokan) #59538 - [
14741539a7] - (SEMVER-MINOR) crypto: support ML-KEM, DHKEM, and RSASVE key encapsulation mechanisms (Filip Skokan) #59491 - [
d3afc63c44] - (SEMVER-MINOR) crypto: add argon2() and argon2Sync() methods (Ranieri Althoff) #50353 - [
4fe383e45a] - (SEMVER-MINOR) crypto: support ML-DSA spki/pkcs8 key formats in Web Cryptography (Filip Skokan) #59365 - [
a95386fbf9] - (SEMVER-MINOR) crypto: subject some algorithms in Web Cryptography on BoringSSL absence (Filip Skokan) #59365 - [
3f47a2fb63] - (SEMVER-MINOR) crypto: add ChaCha20-Poly1305 Web Cryptography algorithm (Filip Skokan) #59365 - [
6fcce9058a] - (SEMVER-MINOR) crypto: add subtle.getPublicKey() utility function in Web Cryptography (Filip Skokan) #59365 - [
76cde76429] - (SEMVER-MINOR) crypto: add SHA-3 Web Cryptography digest algorithms (Filip Skokan) #59365 - [
247d017501] - (SEMVER-MINOR) crypto: add SHAKE Web Cryptography digest algorithms (Filip Skokan) #59365 - [
f4fbcca5ce] - (SEMVER-MINOR) crypto: add SubtleCrypto.supports feature detection in Web Cryptography (Filip Skokan) #59365 - [
a55382214f] - (SEMVER-MINOR) crypto: support ML-DSA in Web Cryptography (Filip Skokan) #59365 - [
c38988c860] - crypto: fix EVPKeyCtxPointer::publicCheck() (Tobias Nießen) #59471 - [
61c3bcdc56] - (SEMVER-MINOR) crypto: support ML-KEM KeyObject (Filip Skokan) #59461 - [
0821b446fb] - deps: update undici to 7.14.0 (Node.js GitHub Bot) #59507 - [
b3af17c065] - deps: V8: cherry-pick7b91e3e(Milad Fa) #59485 - [
9b69baf146] - deps: V8: cherry-pick59d52e3(Milad Fa) #59485 - [
b4f202c2f1] - doc: improvesqlite.backup()progress/fulfillment documentation (René) #59598 - [
40b217a2f9] - doc: clarify experimental platform vulnerability policy (Matteo Collina) #59591 - [
cf84fffea5] - doc: link toTypedArray.from()in signature (Aviv Keller) #59226 - [
4bf6ed0bf5] - doc: fix typos inenvironment_variables.md(PhistucK) #59536 - [
1784c35a49] - doc: add security incident reponse plan (Rafael Gonzaga) #59470 - [
b962560240] - doc: clarify maxRSS unit inprocess.resourceUsage()(Alex Yang) #59511 - [
e6a6cdb9df] - doc: add missing Zstd strategy constants (RANDRIAMANANTENA Narindra Tiana Annaick) #59312 - [
a6a31cb467] - (SEMVER-MINOR) doc: compress Web Cryptography Algorithm matrix (Filip Skokan) #59365 - [
8f8960cfcb] - doc: fix the version tls.DEFAULT_CIPHERS was added (Allon Murienik) #59247 - [
9e76089f1a] - doc: clarify glob's exclude option behavior (hotpineapple) #59245 - [
dd5f835af7] - doc: add RafaelGSS as performance strategic lead (Rafael Gonzaga) #59445 - [
2b7a7a525e] - doc,crypto: add supported asymmetric key types section (Filip Skokan) #59492 - [
2fafe4c3bb] - esm: link modules synchronously when no async loader hooks are used (Joyee Cheung) #59519 - [
5347c4997a] - esm: show race error message for inner module job race (Joyee Cheung) #59519 - [
b56d8af2fe] - esm: sync-ify module translation (Joyee Cheung) #59453 - [
b4a23d6a69] - http: trim off brackets from IPv6 addresses with string operations (Krishnadas PC) #59420 - [
6ae202fcdf] - (SEMVER-MINOR) http: add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) #59315 - [
dafee05358] - (SEMVER-MINOR) http2: add support for raw header arrays in h2Stream.respond() (Tim Perry) #59455 - [
b7ea39d860] - http2: report sent headers object in client stream dcs (Darshan Sen) #59419 - [
ebe9272dae] - inspector: initial support websocket inspection (Shima Ryuhei) #59404 - [
b35041c7dc] - inspector: prevent propagation of promise hooks to noPromise hooks (Shima Ryuhei) #58841 - [
fe7176d7c6] - lib: do not modify prototype deprecated asyncResource (encore) (Szymon Łągiewka) #59518 - [
93fc80a1e2] - (SEMVER-MINOR) lib: refactor kSupportedAlgorithms (Filip Skokan) #59365 - [
9a12f71ad9] - lib: simplify IPv6 checks in isLoopback() (Krishnadas) #59375 - [
566fb04c82] - meta: update devcontainer to the latest schema (Aviv Keller) #54347 - [
389a24bbff] - module: allow overriding linked requests for a ModuleWrap (Chengzhong Wu) #59527 - [
7880978fe3] - module: correctly detect top-level await in ambiguous contexts (Shima Ryuhei) #58646 - [
99128d9244] - node-api: link to other programming language bindings (Chengzhong Wu) #59516 - [
65c870e6cb] - node-api: clarify enum value ABI stability (Chengzhong Wu) #59085 - [
352d63541a] - sea: implement execArgvExtension (Joyee Cheung) #59560 - [
c6e3d5d98d] - (SEMVER-MINOR) sea: support execArgv in sea config (Joyee Cheung) #59314 - [
e7084df4db] - sqlite: add sqlite-type symbol for DatabaseSync (Alex Yang) #59405 - [
e2b6bdc640] - sqlite: handle ?NNN parameters as positional (Edy Silva) #59350 - [
99e4a12731] - sqlite: avoid useless call to FromMaybe() (Tobias Nießen) #59490 - [
dfd4962e5f] - src: enforce assumptions in FIXED_ONE_BYTE_STRING (Tobias Nießen) #58155 - [
93a368df04] - src: use simdjson to parse --snapshot-config (Joyee Cheung) #59473 - [
716750fcf8] - src: fix order of CHECK_NOT_NULL/dereference (Tobias Nießen) #59487 - [
44a8ecf8d4] - src: assert memory calc for max-old-space-size-percentage (Asaf Federman) #59460 - [
3462b46fca] - src: use simdjson::pad (0hm☘️) #59391 - [
3e1551d845] - src: move shared_ptr objects in KeyObjectData (Tobias Nießen) #59472 - [
c022c1f85a] - src: add internal GetOptionsAsFlags (Pietro Marchini) #59138 - [
c0f08454a3] - src: iterate metadata version entries with std::array (Chengzhong Wu) #57866 - [
f87836f3ae] - src: internalizev8::ConvertableToTraceFormatin traces (Chengzhong Wu) #57866 - [
852b8e46d8] - src: remove duplicate assignment ofO_EXCLin node_constants.cc (Daniel Osvaldo R) #59049 - [
64ffde608f] - src: add Intel CET properties to large_pages.S (tjuhaszrh) #59363 - [
823dce32ec] - src: update OpenSSL pqc checks (Filip Skokan) #59436 - [
8dc6f5b696] - (SEMVER-MINOR) stream: add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) #59464 - [
b2b8383755] - test: use mustSucceed in test-repl-tab-complete-import (Sohyeon Kim) #59368 - [
e3ad5cc2c6] - test: skip sea tests on Linux ppc64le (Richard Lau) #59563 - [
f78f47ca5a] - test: support standalone env comment in tests (Pietro Marchini) #59546 - [
0e8bc2c7ac] - test: rename test-net-server-drop-connections-in-cluster.js to -http- (Meghan Denny) #59532 - [
ed339580af] - test: lazy-load internalTTy (Pietro Marchini) #59517 - [
fe86bc6da8] - test: fixtest-setproctitlestatus whenpsis not available (Antoine du Hamel) #59523 - [
e517792973] - test: add parseTestMetadata support (Pietro Marchini) #59503 - [
31092972d6] - test: update WPT for WebCryptoAPI toff26d9b(Node.js GitHub Bot) #59497 - [
16afd103cc] - (SEMVER-MINOR) test: add Web Cryptography wrap/unwrap vectors (Filip Skokan) #59365 - [
5598baf34e] - (SEMVER-MINOR) test: cleanup test-webcrypto-supports (Filip Skokan) #59365 - [
e7809d6ddb] - test: make test-debug-process locale-independent (BCD1me) #59254 - [
ca7856e73c] - test: mark test-wasi-pthread as flaky (Joyee Cheung) #59488 - [
0ecd82197f] - test: split test-wasi.js (Joyee Cheung) #59488 - [
0930c218d6] - test: deflake connection refused proxy tests (Joyee Cheung) #59476 - [
7f457f886a] - test: use case-insensitive path checking on Windows in fs.cpSync tests (Joyee Cheung) #59475 - [
37809115f9] - test: add missing hasPostData in test-inspector-emit-protocol-event (Shima Ryuhei) #59412 - [
f4722b1672] - test: refactor error checks to use assert.ifError/mustSucceed (Sohyeon Kim) #59424 - [
9ff71a672d] - test: fix typos (Lee Jiho) #59330 - [
9a7700da62] - test: skip test-watch-mode inspect when no inspector (James M Snell) #59440 - [
e964c4334e] - test_runner: do not error when gettingfullNameof root context (René) #59377 - [
e076f7857c] - test_runner: add option to rerun only failed tests (Moshe Atlow) #59443 - [
eb8b1939a4] - test_runner: fix isSkipped check in junit (Sungwon) #59414 - [
4e02ea1c52] - tools: update gyp-next to 0.20.3 (Node.js GitHub Bot) #59603 - [
99da7fbe11] - tools: avoid parsing test files twice (Pietro Marchini) #59526 - [
9a6a8e319b] - tools: update coverage GitHub Actions to fixed version (Rich Trott) #59512 - [
8d28236aff] - tools: fix return value of try_check_compiler (theanarkh) #59434 - [
52ab64ec3a] - tools: bump @eslint/plugin-kit from 0.3.3 to 0.3.4 in /tools/eslint (dependabot[bot]) #59271 - [
baa22893bb] - typings: add missing URLBinding methods (성우현 | Woohyun Sung) #59468 - [
b68e0d1eca] - util: fix error's namespaced node_modules highlighting using inspect (Ruben Bridgewater) #59446 - [
15ae21b88a] - util: add some additional error classes towellKnownPrototypes(Mark S. Miller) #59456 - [
c38b7cfa35] - worker: fix worker name with \0 (theanarkh) #59214 - [
f54ace694a] - worker: add worker name to report (theanarkh) #58935
v24.6.0: 2025-08-14, Version 24.6.0 (Current), @RafaelGSS
Notable Changes
- [
471fe712b3] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) #59276 - [
38aedfbf73] - (SEMVER-MINOR) crypto: support ML-DSA KeyObject, sign, and verify (Filip Skokan) #59259 - [
201304537e] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper) #59240 - [
e79c93a5d0] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong) #59243 - [
c144d69efc] - lib: docs deprecate _http_* (Sebastian Beltran) #59293 - [
aeb4de55a7] - (SEMVER-MINOR) fs: port SonicBoom module to fs module as Utf8Stream (James M Snell) #58897
Commits
- [
f7484575ff] - assert: change utils to use index instead of for...of (방진혁) #59278 - [
269cd16185] - benchmark: remove deprecated _extend from benchmark (Rafael Gonzaga) #59228 - [
848e49c20b] - benchmark: add fs warmup to writefile-promises (Bruno Rodrigues) #59215 - [
8c609be1b1] - benchmark: add calibrate-n script (Rafael Gonzaga) #59186 - [
6a3bf772d8] - build: fix node_use_sqlite for GN builds (Shelley Vohr) #59017 - [
471fe712b3] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) #59276 - [
38aedfbf73] - (SEMVER-MINOR) crypto: support ML-DSA KeyObject, sign, and verify (Filip Skokan) #59259 - [
a312e706cf] - crypto: prepare webcrypto key import/export for modern algorithms (Filip Skokan) #59284 - [
3a7c2c3a47] - deps: update ada to 3.2.7 (Node.js GitHub Bot) #59336 - [
8d9ceeaf6a] - deps: update archs files for openssl-3.5.2 (Node.js GitHub Bot) #59371 - [
33b06df354] - deps: upgrade openssl sources to openssl-3.5.2 (Node.js GitHub Bot) #59371 - [
fa70f1af77] - deps: support madvise(3C) across ALL illumos revisions (Dan McDonald) #58237 - [
f834a6be59] - deps: update undici to 7.13.0 (Node.js GitHub Bot) #59338 - [
db2417487e] - deps: update sqlite to 3.50.4 (Node.js GitHub Bot) #59337 - [
41978adb08] - deps: V8: backport493cb53(Chengzhong Wu) #59238 - [
05667991ca] - deps: V8: backport1c3e018(Renegade334) #58818 - [
fd61588bb4] - doc: rename x509.extKeyUsage to x509.keyUsage (Filip Skokan) #59332 - [
a271ae4360] - doc: fix Pbkdf2Params hash attribute heading (Filip Skokan) #59395 - [
72cfff165b] - doc: fix missing reference links for server.keepAliveTimeoutBuffer (Lee Jiho) #59356 - [
8341916772] - doc: fix grammar in global dispatcher usage (Eng Zer Jun) #59344 - [
e3e489706b] - doc: run license-builder (github-actions[bot]) #59343 - [
46527e8cea] - doc: correct orthographyeg.→e.g.(Jacob Smith) #59329 - [
d140c3713e] - doc: clarify the need of compiler compatible with c++20 (Rafael Gonzaga) #59297 - [
95e9cabf9d] - doc: clarify release candidate stability index (Filip Skokan) #59295 - [
a056dd36d2] - doc: add WDYT to glossary (btea) #59280 - [
1e2c52f5c4] - doc: add manpage entry for --use-system-ca (Joyee Cheung) #59273 - [
31a46fdeb4] - doc: add path.join and path.normalize clarification (Rafael Gonzaga) #59262 - [
cff3725ff9] - doc: fix typo intest/common/README.md(Yoo) #59180 - [
31a9283591] - doc: add note on process memoryUsage (fengmk2) #59026 - [
5a98bff6b8] - doc: format safely fordoc-kit(Aviv Keller) #59229 - [
95b8b7ea5c] - domain: remove deprecated API call (Alex Yang) #59339 - [
2990f178bd] - fs: fix glob TypeError on restricted dirs (Sylphy-0xd3ac) #58674 - [
e2fb4caf9c] - fs: correct error message when FileHandle is transferred (Alex Yang) #59156 - [
aeb4de55a7] - (SEMVER-MINOR) fs: port SonicBoom module to fs module as Utf8Stream (James M Snell) #58897 - [
e79c93a5d0] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong) #59243 - [
0fb005a53f] - http2: set Http2Stream#sentHeaders for raw headers (Darshan Sen) #59244 - [
e055539604] - lib: add trace-sigint APIs (theanarkh) #59040 - [
d2183d860a] - lib: optimize writable stream buffer clearing (Yoo) #59406 - [
47543a7e17] - lib: handle windows reserved device names on UNC (Rafael Gonzaga) #59286 - [
c6911f0717] - lib: do not modify prototype deprecated asyncResource (RafaelGSS) #59195 - [
3c88b769bb] - lib: restructure assert to become a class (Miguel Marcondes Filho) #58253 - [
e91b54df59] - lib: handle superscript variants on windows device (Rafael Gonzaga) #59261 - [
4ee467905d] - lib: use validateString (hotpineapple) #59296 - [
c144d69efc] - lib: docs deprecate _http_* (Sebastian Beltran) #59293 - [
c89b67e681] - lib: add type names in source mapped stack traces (Chengzhong Wu) #58976 - [
5b2363be8d] - lib: prefer AsyncIteratorPrototype primordial (René) #59097 - [
41b4f4d694] - meta: clarify pr objection process further (James M Snell) #59096 - [
0eb5962f1e] - meta: add mailmap entry for aditi-1400 (Aditi) #59316 - [
a2b72c2304] - meta: add tsc and build team as codeowners building.md (Rafael Gonzaga) #59298 - [
d69f3ee1e0] - meta: add nodejs/path to path files (Rafael Gonzaga) #59289 - [
1e37eab865] - node-api: reword "implementation in an alternative VM" as implementable (Chengzhong Wu) #59036 - [
64add6302a] - src: use simdjson to parse SEA configuration (Joyee Cheung) #59323 - [
e9c6636585] - src: mark realm leaf classes final (Anna Henningsen) #59355 - [
42ef8147d1] - src: warn about FastOneByteString invalidation (James M Snell) #59275 - [
8686b8037a] - src: remove unused DSAKeyExportJob (Filip Skokan) #59291 - [
1e5f632666] - src: use C++20contains()method (iknoom) #59304 - [
22d4683cfe] - src: added CHECK_NOT_NULL check for multiple eq_wrap_async (F3lixTheCat) #59267 - [
6a47ff4943] - src: clear all linked module caches once instantiated (Chengzhong Wu) #59117 - [
33728cb4ca] - src: add nullptr checks inStreamPipe::New(Burkov Egor) #57613 - [
4a907bdad1] - src: add percentage support to --max-old-space-size (Asaf Federman) #59082 - [
7c189d4f55] - test: deflake sequential/test-tls-session-timeout (Joyee Cheung) #59423 - [
fb0a6fb57f] - test: exclude mock from coverage (Shima Ryuhei) #59348 - [
7e10f95f13] - test: split test-fs-cp.js (Joyee Cheung) #59408 - [
41bcf5f659] - test: update WPT resources,WebCryptoAPI,webstorage (Filip Skokan) #59311 - [
f9f3dc94cb] - test: add known issue test for fs.cpSync dereference bug (James M Snell) #58941 - [
244d0c38a8] - test: deflake stream-readable-to-web test (Ethan Arrowood) #58948 - [
564e604a1a] - test: make test-inspector-network-resource sequential (Shima Ryuhei) #59104 - [
7ab13b7477] - test: don't use expose internals in test-http-outgoing-buffer.js (Meghan Denny) #59219 - [
319df3859a] - test,crypto: skip unsupported ciphers (Shelley Vohr) #59388 - [
713c70c32a] - test_runner: remove unused callee convertion (Alex Yang) #59221 - [
e4ca30e115] - tools: disable nullability-completeness warnings (Michaël Zasso) #59392 - [
dab7f6b542] - tools: check for std::vector<v8::Local> in lint (Aditi) #58497 - [
7b94982eb0] - tools: allow selecting test subsystems with numbers in their names (Darshan Sen) #59242 - [
16bbcd8881] - typings: improve internal binding types (Nam Yooseong) #59351 - [
76bc4d659b] - typings: improve internal binding types (Michaël Zasso) #59176 - [
eecd3272a6] - worker: add name for worker (theanarkh) #59213 - [
84c3513ce2] - worker: implements nits in Web Locks code (Antoine du Hamel) #59270 - [
bd68fbd753] - worker: add cpuUsage for worker (theanarkh) #59177 - [
201304537e] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper) #59240
v24.5.0: 2025-07-31, Version 24.5.0 (Current), @aduh95
Notable Changes
Upgrade to OpenSSL 3.5
This release is distributed with OpenSSL 3.5.1, following the announcement that OpenSSL 3.5 will be supported until April 2030, while Node.js 24 will be supported until April 2028. Read more about OpenSSL support in their blog post: https://openssl-library.org/post/2025-02-20-openssl-3.5-lts/.
Contributed by Richard Lau in #58100.
Unflag --experimental-wasm-modules
Node.js supports both source phase imports and instance phase imports to WebAssembly modules and for WASM imports to JavaScript, in line with the current Phase 3 WebAssembly ESM Integration proposal. The implementation and the specification are still subject to change.
Contributed by Guy Bedford in #57038.
Built-in proxy support in request() and Agent
node:http and node:https now support proxies. When NODE_USE_ENV_PROXY
is set to 1, the default global agent would parse the http_proxy/HTTP_PROXY,
https_proxy/HTTPS_PROXY, no_proxy/NO_PROXY settings from the
environment variables, and proxy the requests sent through the built-in http/https
client accordingly.
To use global proxy support from the command line:
NODE_USE_ENV_PROXY=1 HTTP_PROXY=http://proxy.example.com:8080 HTTPS_PROXY=http://proxy.example.com:8080 NO_PROXY=localhost,127.0.0.1 node client.js
In addition, http.Agent and https.Agent now support the custom proxyEnv options.
const agent = new https.Agent({ proxyEnv: { HTTPS_PROXY: 'http://proxy.example.com:8080' } });
For reference, fetch() already supports NODE_USE_ENV_PROXY as of Node.js 24.0.0.
Contributed by Joyee Cheung in #58980.
Add setDefaultCACertificates() to node:tls
This API allows dynamically configuring CA certificates that will be used by the Node.js TLS clients by default.
Once called, the provided certificates will become the default CA certificate list
returned by tls.getCACertificates('default') and used by TLS connections that
don't specify their own CA certificates.
To add system CA certificates to the default bundle (which includes the Mozilla CA certificates):
tls.setDefaultCACertificates(tls.getCACertificates('default').concat(tls.getCACertificates('system')));
Contributed by Joyee Cheung in #58822.
Other notable changes
- [
d5640ca58a] - (SEMVER-MINOR) cli: support${pid}placeholder in--cpu-prof-name(Haram Jeong) #59072 - [
c52aaacfc5] - (SEMVER-MINOR) dns: support max timeout (theanarkh) #58440 - [
927742b342] - doc: update the instruction on how to verify releases (Antoine du Hamel) #59113 - [
f753645cd8] - (SEMVER-MINOR) net: update net.blocklist to allow file save and file management (alphaleadership) #58087 - [
9791ff3480] - (SEMVER-MINOR) worker: add web locks api (ishabi) #58666
Commits
- [
5457c7a8a1] - benchmark: adjust configuration for string-decoder bench (Rafael Gonzaga) #59187 - [
28538f2255] - benchmark: add --track to benchmark (Rafael Gonzaga) #59174 - [
a28d804497] - benchmark: small lint fix on _cli.js (Rafael Gonzaga) #59172 - [
09717eb68e] - benchmark: drop misc/punycode benchmark (Rafael Gonzaga) #59171 - [
ad6757ef02] - benchmark: fix sqlite-is-transaction (Rafael Gonzaga) #59170 - [
7fc3143f61] - benchmark: reduce N for diagnostics_channel subscribe benchmark (Arthur Angelo) #59116 - [
f2812723a0] - buffer: cache Environment::GetCurrent to avoid repeated calls (Mert Can Altin) #59043 - [
e3e729ca60] - build: remove suppressions.supp (Rafael Gonzaga) #59079 - [
dc66422768] - build,deps,tools: prepare to update to OpenSSL 3.5 (Richard Lau) #58100 - [
f5da4947d9] - cli: add --use-env-proxy (Joyee Cheung) #59151 - [
d5640ca58a] - (SEMVER-MINOR) cli: support${pid}placeholder in --cpu-prof-name (Haram Jeong) #59072 - [
eeeb40e95b] - (SEMVER-MINOR) crypto: add tls.setDefaultCACertificates() (Joyee Cheung) #58822 - [
135fca5b72] - crypto: avoid copying buffers to UTF-8 strings incrypto.hash()(Renegade334) #59067 - [
998cef10e3] - deps: update archs files for openssl-3.5.1 (Node.js GitHub Bot) #59234 - [
1f06ca956a] - deps: upgrade openssl sources to openssl-3.5.1 (Node.js GitHub Bot) #59234 - [
55a90eed8d] - deps: upgrade npm to 11.5.1 (npm team) #59199 - [
2b5d451ae0] - deps: update amaro to 1.1.1 (Node.js GitHub Bot) #59141 - [
af789d9b5c] - deps: update undici to 7.12.0 (Node.js GitHub Bot) #59135 - [
a34e44545e] - deps: update sqlite to 3.50.3 (Node.js GitHub Bot) #59132 - [
bfe4781c7d] - deps: update googletest to7e17b15(Node.js GitHub Bot) #59131 - [
72adf52e51] - deps: update ada to 3.2.6 (Node.js GitHub Bot) #58966 - [
2a5f35b589] - deps: V8: cherry-pick3d750c2(Michaël Zasso) #58750 - [
3f813eaba7] - deps: update archs files for openssl-3.0.17 (Node.js GitHub Bot) #59134 - [
fb52d0d8df] - deps: upgrade openssl sources to openssl-3.0.17 (Node.js GitHub Bot) #59134 - [
f122602f9d] - deps: update corepack to 0.34.0 (Node.js GitHub Bot) #59133 - [
c52aaacfc5] - (SEMVER-MINOR) dns: support max timeout (theanarkh) #58440 - [
927742b342] - doc: update the instruction on how to verify releases (Antoine du Hamel) #59113 - [
9a8d2020ad] - doc: copyedit SECURITY.md (Rich Trott) #59190 - [
3da5bc0668] - doc: fix broken sentence inURL.parse(Superchupu) #59164 - [
06cd7461e0] - doc: improve onboarding instructions (Joyee Cheung) #59159 - [
dfb72d158b] - doc: add constraints for mem leak to threat model (Rafael Gonzaga) #58917 - [
51b8dfd5c6] - doc: add Aditi-1400 to collaborators (Aditi) #59157 - [
4ffa756ce3] - doc: avoid suggesting testing fast api with intense loop (Chengzhong Wu) #59111 - [
6f81b274f7] - doc: fix typo in writing-test.md (SeokHun) #59123 - [
88e434e687] - doc: add new environment variables doc page (Dario Piotrowicz) #59052 - [
b1a318d706] - doc: update release key for aduh95 (Antoine du Hamel) #58877 - [
34c49000c9] - doc: add missing section forsetReturnArraysinsqlite.md(Edy Silva) #59074 - [
9b2e965aff] - doc: add RafaelGSS as steward July 25 (Rafael Gonzaga) #59078 - [
2d1dcb87e6] - doc: clarify ERR_FS_FILE_TOO_LARGE to reflect fs.readFile() I/O limit (Haram Jeong) #59050 - [
999b5e51e7] - doc: run license-builder (github-actions[bot]) #59056 - [
1940a2cb46] - doc: fix typed list formatting (Aviv Keller) #59019 - [
6cb5e0d22f] - doc: refineutil.parseArgsdefaultdefinition (Slayer95) #58958 - [
d2e7f8e13a] - doc: remove unused import inzlib.md(coderaiser) #59041 - [
9d02960149] - doc: add missing environment variables to manpage (amir lavasani) #58963 - [
45ffdb34fb] - doc: add stability index to the--watch-kill-signalflag (Dario Piotrowicz) #58997 - [
3924c43600] - doc: add missing<code>blocks (Antoine du Hamel) #58995 - [
cb95e183f3] - doc: add scroll margin to links (Roman Reiss) #58982 - [
c9ded6ba15] - doc: add sponsorship link to RafaelGSS (Rafael Gonzaga) #58983 - [
b919fe0447] - (SEMVER-MINOR) esm: unflag --experimental-wasm-modules (Guy Bedford) #57038 - [
71bb6cd077] - esm: js-string Wasm builtins in ESM Integration (Guy Bedford) #59020 - [
8d869e6d62] - fs: fix return value of fs APIs (theanarkh) #58996 - [
7f654cee9e] - (SEMVER-MINOR) http,https: add built-in proxy support in http/https.request and Agent (Joyee Cheung) #58980 - [
85d6a28f4f] - inspector: initial support for Network.loadNetworkResource (Shima Ryuhei) #58077 - [
cfaa299f2e] - lib: fix incorrectArrayBufferPrototypeGetDetachedprimordial type (Dario Piotrowicz) #58978 - [
d555db22ad] - lib: flag to conditionally modify proto on deprecate (Rafael Gonzaga) #58928 - [
96c9dd79e6] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #59140 - [
324d9fc9d4] - meta: enable jsdoc/check-tag-names rule (Yagiz Nizipli) #58521 - [
04c751463b] - meta: add marco-ippolito to security release stewards (Marco Ippolito) #58944 - [
fe0195fdcc] - module: fix conditions override in synchronous resolve hooks (Joyee Cheung) #59011 - [
515b581d47] - module: throw error when re-runing errored module jobs (Joyee Cheung) #58957 - [
f753645cd8] - (SEMVER-MINOR) net: update net.blocklist to allow file save and file management (alphaleadership) #58087 - [
15e6c28d82] - node-api,doc: update links to ecma262 with section names (Chengzhong Wu) #59087 - [
f67b686551] - perf_hooks: do not expose SafeMap via Histogram wrapper (René) #59094 - [
3d2f919f7c] - process: make execve's args argument optional (Allon Murienik) #58412 - [
1a44265810] - repl: handle errors from getters during completion (Shima Ryuhei) #59044 - [
467dbd31e6] - repl: fix repl crashing on variable declarations without init (Dario Piotrowicz) #59032 - [
3a3eb6852d] - repl: improve REPL disabling completion on proxies and getters (Dario Piotrowicz) #58891 - [
55838e79b8] - src: call unmask after install signal handler (theanarkh) #59059 - [
77649ad93b] - src: useFastStringKeyforTrackV8FastApiCall(Anna Henningsen) #59148 - [
86babf9c4b] - src: use C++20constevalforFastStringKey(Anna Henningsen) #59148 - [
88b99eeae1] - src: remove declarations of removed BaseObject static fns (Anna Henningsen) #59093 - [
d89390fc8f] - src: add cache to nearest parent package json (Ilyas Shabi) #59086 - [
21780075e4] - src: check import attributes value types as strings (Chengzhong Wu) #58986 - [
ef89c2fac9] - src,test: fix config file parsing for flags defaulted to true (Edy Silva) #59110 - [
1e990866e0] - test: mark web lock held test as flaky (Ilyas Shabi) #59144 - [
ba8e95a785] - test: use mustSucceed in test-fs-read (Sungwon) #59204 - [
39978f507f] - test: prepare test-crypto-rsa-dsa for newer OpenSSL (Richard Lau) #58100 - [
1c3aadb9d6] - test: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) #59158 - [
a0d22e9c51] - test: remove timeout in test-https-proxy-request-handshake-failure (Joyee Cheung) #59165 - [
7e0a0fccc1] - test: expand linting rules aroundassertw literal messages (Anna Henningsen) #59147 - [
c6070046c3] - test: update WPT for WebCryptoAPI toab08796(Node.js GitHub Bot) #59129 - [
15d8cc908e] - test: update WPT for WebCryptoAPI to19d82c5(Node.js GitHub Bot) #59129 - [
83023e5144] - test: skip tests that cause timeouts on IBM i (Abdirahim Musse) #59014 - [
82d4175ec3] - test: updatestartCLIto set--port=0by default (Dario Piotrowicz) #59042 - [
16dc53c143] - (SEMVER-MINOR) test: move http proxy tests to test/client-proxy (Joyee Cheung) #58980 - [
a9511a6066] - test: mark test-inspector-network-fetch as flaky on Windows (Joyee Cheung) #59091 - [
1cffcc02a3] - test: add missing port=0 arg in test-debugger-extract-function-name (Dario Piotrowicz) #58977 - [
83cdf1701b] - test_runner: clean up promisified interval generation (René) #58824 - [
195d6038dc] - tools: clarify README linter error message (Joyee Cheung) #59160 - [
51f578a3bf] - tools: add support for URLs to MR commits inmerge.sh(Antoine du Hamel) #59162 - [
20be9012eb] - tools: bump @eslint/plugin-kit from 0.3.1 to 0.3.3 in /tools/eslint (dependabot[bot]) #59119 - [
623e264e93] - tools: ignore CVE mention when linting release proposals (Antoine du Hamel) #59037 - [
0e547e09ab] - tools,test: enforce best practices to detect never settling promises (Antoine du Hamel) #58992 - [
075d1968db] - util: respect nested formats in styleText (Alex Yang) #59098 - [
9791ff3480] - (SEMVER-MINOR) worker: add web locks api (ishabi) #58666
Configuration
📅 Schedule: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this MR and you won't be reminded about this update again.
- If you want to rebase/retry this MR, check this box
This MR has been generated by Mend Renovate.