Node.js v24.8.0 (Current)
Michaël Zasso
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  = ('node:http2');
const  = .('https://nghttp2.org');
const  = .([':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 to eb2d85e (Node.js GitHub Bot) #59335
- [45af6966ae] - deps: upgrade npm to 11.6.0 (npm team) #59750
- [57617244a4] - deps: V8: cherry-pick 6b1b9bca2a8 (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 to cff1ac1123 (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 PRs 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
Windows 64-bit Installer: https://nodejs.org/dist/v24.8.0/node-v24.8.0-x64.msi 
Windows ARM 64-bit Installer: https://nodejs.org/dist/v24.8.0/node-v24.8.0-arm64.msi 
Windows 64-bit Binary: https://nodejs.org/dist/v24.8.0/win-x64/node.exe 
Windows ARM 64-bit Binary: https://nodejs.org/dist/v24.8.0/win-arm64/node.exe 
macOS 64-bit Installer: https://nodejs.org/dist/v24.8.0/node-v24.8.0.pkg 
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-darwin-arm64.tar.gz 
macOS Intel 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-darwin-x64.tar.gz 
Linux 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-linux-x64.tar.xz 
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-linux-ppc64le.tar.xz 
Linux s390x 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-linux-s390x.tar.xz 
AIX 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-aix-ppc64.tar.gz 
ARMv8 64-bit Binary: https://nodejs.org/dist/v24.8.0/node-v24.8.0-linux-arm64.tar.xz 
Source Code: https://nodejs.org/dist/v24.8.0/node-v24.8.0.tar.gz 
Other release files: https://nodejs.org/dist/v24.8.0/ 
Documentation: https://nodejs.org/docs/v24.8.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
5625b3bffa9b39811dc83e14f40ada2f8fe693de93ad9b75f3d652679d0ca823  node-v24.8.0-aix-ppc64.tar.gz
3c30119e4083d87c6501f7aa693dcf17215bc80f5f1ba7ca96d72ae5f0238635  node-v24.8.0-arm64.msi
d81191a1866760eb918caa976c023036bc1fc7405ea31b148905211522045767  node-v24.8.0-darwin-arm64.tar.gz
dfe6f85f52f5971e3873e2305294417091b57b56394709a8d5d6ad3f2a5fa480  node-v24.8.0-darwin-arm64.tar.xz
6fd8496b59baa8f86a24e3eb03308b763091716ffc6b6e1094d1a5e5696dd6dd  node-v24.8.0-darwin-x64.tar.gz
4e3fb475c0ab90109e83fc31ce994c76067ac9a92ca68e95eceece72c92ffa2b  node-v24.8.0-darwin-x64.tar.xz
db9ae39b4b8678d6d2a4bd8b299db2e2253dc32a1cdf7de7c339bebab228556c  node-v24.8.0-headers.tar.gz
7e867c1c0f8fd82cdf77987e3e608db82dd86a353df0cff8898fd6e0383b874f  node-v24.8.0-headers.tar.xz
5eb16b14af5a5f494ed54770822144e847c744fe590f8df093ad4927cf3dd7fd  node-v24.8.0-linux-arm64.tar.gz
323e6bc34bfe82a21f42d9eb94d9a2b6c8082d8c03cb510cf2f95dd1dcaa1531  node-v24.8.0-linux-arm64.tar.xz
20a0856e7b152a5e83b4fd6fe3d509aa54b75d6170cd89066c341d56f6c5de76  node-v24.8.0-linux-ppc64le.tar.gz
0ca68fc43fe09e18c57e8c64e9f1b24f0643be87d30f6816bd842c8a4d2d6cae  node-v24.8.0-linux-ppc64le.tar.xz
708d4edfafca2218fa98e0e8b8c20dc148334f2f882fcea1237c6536e8586d06  node-v24.8.0-linux-s390x.tar.gz
9c8cd3ac0b52fcb900424d94669b53ddc204e658fffbf11b3c6f94f93b068ffb  node-v24.8.0-linux-s390x.tar.xz
daf68404b478b4c3616666580d02500a24148c0f439e4d0134d65ce70e90e655  node-v24.8.0-linux-x64.tar.gz
2598641d188b41793930917f1a99a81c9615856b4205d408a44ab676c1acbb3d  node-v24.8.0-linux-x64.tar.xz
3f386cde016bd4424000c645d5887347998723810ddc08127c423c03f1e55d1d  node-v24.8.0.pkg
6e9e8c931b5028a755e6c4e1edaf14296001ae8bbb35976a3896f59e7fd797c7  node-v24.8.0.tar.gz
1c03b362ebf4740d4758b9a3d3087e3de989f54823650ec80b47090ef414b2e0  node-v24.8.0.tar.xz
7ccff15070850300c3e2b0dbec0466e6ea919315d2ec7be0f504c97d0017dd24  node-v24.8.0-win-arm64.7z
da63ba146c455eb74b7f5c6e8f45355d01b14d9bbab4054bdf250fc4e9f5d008  node-v24.8.0-win-arm64.zip
3b61856b25be8d688f64a1aa4a725528fcffc472758888bf16e6c9251994e767  node-v24.8.0-win-x64.7z
970ecc121a16f546174b6a870215ca4cc0de33f8a616b42c16c8c02e66b07d05  node-v24.8.0-win-x64.zip
f7e1fb2f58a206bb53c11f0e9f4a0bdd8292009b5449918fecb59bd2a834e535  node-v24.8.0-x64.msi
791f5c0c8b51906feb1c76a48e781dbbedc4cfec1d88648372078c03655ec0f7  win-arm64/node.exe
685a44e041d4031da838e7f6fa42bed60af91a1550207b5f3bbbe316036c653e  win-arm64/node.lib
c65cd8cd5b25d881491f625de0d036d3bf530bffa8c24a34002852240a161498  win-arm64/node_pdb.7z
7373c728112993337bdfab198dfc09292d69131752501844fb04a089aad0da5f  win-arm64/node_pdb.zip
3a9ac860c566b7aebf144be914f95e3ec36dc88040aa7acb5d9d1e6e0c7afd5e  win-x64/node.exe
e7c7e13b1e717a58ebc4a748248c607b5ec53c1ce025bbb99320700dbc7bc683  win-x64/node.lib
430b8ef1b4f5b39fae8d1cad16e9562c088d4ec7a74f9f699d4bba8449bc367e  win-x64/node_pdb.7z
e09614871fe3b022c3116ed43ebe79b7c5e5d2c5f2c60a56704700e7feacaf37  win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAmjB1CQACgkQdw96mlrh
VgAUzw/8CKSGwJwcpemckWRqFS2Q6CEOrvrL2thBRxI5pFW1OHtJPdtmvygwBoGt
hE3UXL3uSDqo/8MB4f3xr/LurfttM6KUJjdqPaJgIxqJ8bqGKcGaWQn4GI4N7n/d
vACyLM4v6L2c9ssV/5A1RpODnnAIa7NdcJyhe7sTrOntClpNHXh6GVnHdjTbFp9D
R/N/17fO/GaHeyoM5J+DHPnUdK3tEmZlJMD+AVo8IOfrrusIeUAo+i5L2aKlslWb
VOlbyezaa7hO2iglDhESfa/in8HcNFfLmU9uaAtsyWeF8XoJzzIqXU3xJQ/mVbte
ZZMdjjlaQi0nb0QbtXcwljdJTHwrGeUm7U5sZjeC7JnHr7+Df9/W833C8fS9sYV9
WWMosyJB5qJBO8rYfNNYYt0JWOiNKSz3oGWbb1zbfMqBoo/FBrMiwR3YdFetgDBi
pzHs8LMso8/Sgjh5fENO1xNp0ZmV8pJwqiFchrWteHXXaEap0m2oEQdmP5R/WYqa
XaTWC744qSh92AlDA89DtY4Sma1VYRSYhdzWAd3qbwgTOqghhAKG/1lWqYos5JwS
JnxW3+xzGlMfTZMkb9QZC62ErHaIyMYs/PN9/P9g/kWGztc9yvT3pDa56E1y/fJC
f8iqICGyKdQ2tu89Av7f1bnLqbfRDWGYhF4e1OdYV5OEh4yYx3U=
=dctJ
-----END PGP SIGNATURE-----