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 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-2025
runner (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 theerrors
page (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.matchesGlob
as 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 thehttp
page (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-internet
workflow (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: fixclean
target 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-----