உள்ளடக்கத்திற்குச் செல்லவும்

Node.js 24.15.0 (LTS)

Antoine du Hamel

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: add throwIfNoEntry option 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: add setTOS and getTOS to Socket (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: rename Duplex.toWeb() type option to readableType (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 in configure.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-pick 33e7739c134d (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 to 2461743991f9aa53e9a3625eafcbacd81a3c74cd (Node.js GitHub Bot) #62484
  • [90fab71a84] - deps: update simdjson to 4.5.0 (Node.js GitHub Bot) #62382
  • [a416ddf6d9] - deps: V8: cherry-pick cf1bce40a5ef (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 to 73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1 (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-pick aa0b288f87cc (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 to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) #61731
  • [196268cb4c] - deps: V8: cherry-pick c5ff7c4d6cde (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: backport 6a0a25abaed3 (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: deprecate module.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 of shell is 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) for mock.module about customization hooks (Jacob Smith) #62075
  • [8c46a1ca1a] - doc: copyedit addons.md (Antoine du Hamel) #62071
  • [7f989f02f7] - doc: correct util.convertProcessSignalToExitCode validation behavior (René) #62134
  • [a4466ebdac] - doc: add efekrskl as triager (Efe) #61876
  • [db516eca3a] - doc: fix markdown for expectFailure values (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 invalid function parameter (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 of module in typescript.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 for events.once() (René) #61572
  • [2bf990bb1a] - doc: update Juan's security steward info (Juan José) #61754
  • [0312db948d] - doc: fix methods being documented as properties in process.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 in child_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 in finalizeResolution (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: add throwIfNoEntry option 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: add setTOS and getTOS to Socket (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 unnecessary c_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 in Close() (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: rename Duplex.toWeb() type option to readableType (René) #61632
  • [5ed5474437] - test: update WPT for WebCryptoAPI to 2cb332d710 (Node.js GitHub Bot) #62483
  • [3c9c0f8577] - test: fix test-buffer-zero-fill-cli to be effective (Сковорода Никита Андреевич) #60623
  • [19a52a1abe] - test: update WPT for url to fc3e651593 (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 to 6a1c545d77 (Node.js GitHub Bot) #62187
  • [12ba2d74fe] - test: update WPT for url to c928b19ab0 (Node.js GitHub Bot) #62148
  • [4e15e5b647] - test: update WPT for WebCryptoAPI to c9e955840a (Node.js GitHub Bot) #62147
  • [dc66a05558] - test: improve WPT report runner (Filip Skokan) #62107
  • [9536e5621b] - test: update WPT compression to ae05f5cb53 (Filip Skokan) #62107
  • [fb1c0bda0a] - test: update WPT for WebCryptoAPI to 42e47329fd (Node.js GitHub Bot) #62048
  • [d886f27485] - test: fix skipping behavior for test-runner-run-files-undefined (Antoine du Hamel) #62026
  • [f79df03e0b] - test: remove unnecessary process.exit calls from test files (Antoine du Hamel) #62020
  • [1319295467] - test: skip test-url on --shared-ada builds (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 to 7cbe7e8ed9 (Node.js GitHub Bot) #61729
  • [276a32fd10] - test: update WPT for url to efb889eb4c (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-duplicates NCU 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 to main (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 in lint-release-proposal GHA (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 on scorecard.yml (Antoine du Hamel) #61944
  • [937cd97a63] - tools: fix auto-start-ci (Antoine du Hamel) #61900
  • [0958f9a9c7] - tools: do not checkout repo in auto-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

Windows 64-bit Installer: https://nodejs.org/dist/v24.15.0/node-v24.15.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v24.15.0/node-v24.15.0-arm64.msi
Windows 64-bit Binary: https://nodejs.org/dist/v24.15.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v24.15.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v24.15.0/node-v24.15.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-aix-ppc64.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v24.15.0/node-v24.15.0.tar.gz
Other release files: https://nodejs.org/dist/v24.15.0/
Documentation: https://nodejs.org/docs/v24.15.0/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

dd4bc77dcb5f4c9a2c9643739bb593500ccb09413ec42caa0f8ef0e5ef116095  node-v24.15.0-aix-ppc64.tar.gz
68fad9ef14f93bacf0a6e767269d92bec6b57289f6badae6be2796f25914f8e7  node-v24.15.0-arm64.msi
372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4  node-v24.15.0-darwin-arm64.tar.gz
af5cfaeafe603aaf7599f287fd9d100bb41f16794f49788fa59dd3f25546930f  node-v24.15.0-darwin-arm64.tar.xz
ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b  node-v24.15.0-darwin-x64.tar.gz
5d627245b9f53cb2512cc21b7aa6aad693106affadd91e0c8f42d600fb7ba444  node-v24.15.0-darwin-x64.tar.xz
9a9250039fef572d0bcc110ac5e78055faf5604421211d2d5f578ebc5a34e703  node-v24.15.0-headers.tar.gz
896d142ce64c8a8847d8f469e99e3b081bc31936d308bfbe3f8c32f3209b55b8  node-v24.15.0-headers.tar.xz
73afc234d558c24919875f51c2d1ea002a2ada4ea6f83601a383869fefa64eed  node-v24.15.0-linux-arm64.tar.gz
f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0  node-v24.15.0-linux-arm64.tar.xz
b1f88900a4b16365eaba56269304fc11da7581dbf03552d4495f9ace1fc05f6d  node-v24.15.0-linux-ppc64le.tar.gz
6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb  node-v24.15.0-linux-ppc64le.tar.xz
f985455439d52fe9b8de6a8f6d07bfeccc736dea527e87eacafe5a8d7516a380  node-v24.15.0-linux-s390x.tar.gz
940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24  node-v24.15.0-linux-s390x.tar.xz
44836872d9aec49f1e6b52a9a922872db9a2b02d235a616a5681b6a85fec8d89  node-v24.15.0-linux-x64.tar.gz
472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6  node-v24.15.0-linux-x64.tar.xz
36fdb8eb5255001133b057e54eb982d385b993c0185a8d22ad1532b763511a5d  node-v24.15.0-win-arm64.7z
c9eb7402eda26e2ba7e44b6727fc85a8de56c5095b1f71ebd3062892211aa116  node-v24.15.0-win-arm64.zip
38edda3e8f02841bc336c8c1a85626e8e1f8f0da9ef981110863451ed5ae3a5f  node-v24.15.0-win-x64.7z
cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62  node-v24.15.0-win-x64.zip
feffb8e5cb5ac47f793666636d496ef3e975be82c84c4da5d20e6aa8fa4eb806  node-v24.15.0-x64.msi
179cdd07168002ed8395ed63d43dc12e4ac1ab8d375f608eabfb9aff2706ff53  node-v24.15.0.pkg
729de494dd2872e5a3a6c32a1cd156a5413d4aca2772b2d873ee86bb5531bcd9  node-v24.15.0.tar.gz
a4f653d79ed140aaad921e8c22a3b585ca85cfdab80d4030f6309e4663a8a1c8  node-v24.15.0.tar.xz
49a54c103f4919ce64199a043ef5cd309507de491d718085edee089cd8e87543  win-arm64/node.exe
5eefacb0514b137a1dfcf7b2d4d83418aca7eea4895d086e6ca9254d29f83ba8  win-arm64/node.lib
d7b4dbdee2929ad92b05f72fba3c4b631f1a8058265e323b997d23a014cf0b7f  win-arm64/node_pdb.7z
ba80d81fb52907e60280556cc45b9b5a6d52d19a0e08da1472fe562716194754  win-arm64/node_pdb.zip
3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5  win-x64/node.exe
2dad98cd40967a4fd4a97195979e0e237e09ec292483700a51d2c20fe5a97c87  win-x64/node.lib
c93cd9d634ebcb184779bf969bf361c0d6f81b0bf8667dce328522a91a5c146d  win-x64/node_pdb.7z
87a283c70e77cc3fc81ca20d3a07bd6df91f778c640d8ca1e8bbe33ff5e405e3  win-x64/node_pdb.zip

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaeCMlQAKCRAgsaOQsWjT
VrtOAQC4lCL7LUownrhmHRjwAAIGJga6ADo+flP6/k6ZPP3zfgD7BztVRifnjHcf
9ZbiuHxcvnZVh7mp1t5E7qmriVLJqw8=
=B7+X
-----END PGP SIGNATURE-----