Node.js 25.7.0 (Current)
Ruy Adorno
2026-02-24, Version 25.7.0 (Current), @ruyadorno prepared by @aduh95
Notable Changes
- [
b0a79b10f0] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) #61713 - [
2d874dfb8e] - (SEMVER-MINOR) sea: support ESM entry point in SEA (Joyee Cheung) #61813 - [
ee59127664] - sqlite: mark as release candidate (Matteo Collina) #61262 - [
608736e19e] - (SEMVER-MINOR) stream: renameDuplex.toWeb()type option toreadableType(René) #61632 - [
a43375999f] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676
Commits
- [
ab4375e141] - benchmark: add startup benchmark for ESM entrypoint (Joyee Cheung) #61769 - [
8d83d8026b] - build: add temporal test on GHA windows (Chengzhong Wu) #61810 - [
aab153eec3] - build: skip sscache action on non-main branches (Joyee Cheung) #61790 - [
9e40fb93bc] - build: use path-ignore in GHA coverage-windows.yml (Chengzhong Wu) #61811 - [
4896653361] - build: generate_config_gypi.py generates valid JSON (Shelley Vohr) #61791 - [
bb82b44de0] - build: build with v8 gdbjit support on supported platform (Joyee Cheung) #61010 - [
e7173a093a] - build: show cc outputs when version detection failed (Chengzhong Wu) #61700 - [
848050d38f] - build,win: add WinGet Visual Studio 2022 Build Tools Edition config (Mike McCready) #61652 - [
938841e1cd] - crypto: always return certificate serial numbers as uppercase (Anna Henningsen) #61752 - [
dba9001d6f] - deps: upgrade npm to 11.10.1 (npm team) #61892 - [
75c8e18d2f] - deps: update nbytes to 0.1.3 (Node.js GitHub Bot) #61879 - [
4ca1597f25] - deps: remove stale OpenSSL arch configs (René) #61834 - [
c4f298c729] - deps: update llhttp to 9.3.1 (Node.js GitHub Bot) #61827 - [
7d63a2df93] - deps: V8: cherry-pick 64b36b441179 (Rafael Magrin) #61712 - [
241a6b7088] - deps: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) #61731 - [
eec896c0e0] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) #61666 - [
5a9874af09] - doc: clarify status of feature request issues (Antoine du Hamel) #61505 - [
0648ac64aa] - doc: add esm and cjs examples to node:vm (Alfredo González) #61498 - [
8b38718294] - doc: clarify build environment is trusted in threat model (Matteo Collina) #61865 - [
10e86818ee] - doc: remove incorrect mention ofmoduleintypescript.md(Rob Palmer) #61839 - [
b50376f527] - doc: simplify addAbortListener example (Chemi Atlow) #61842 - [
dea0e7a856] - doc: fix typo in --disable-wasm-trap-handler description (Dmytro Semchuk) #61820 - [
57ac1f5aa0] - doc: clean up globals.md (René) #61822 - [
4c30d2bb4d] - doc: remove obsolete Boxstarter automated install (Mike McCready) #61785 - [
db610b9e32] - doc: clarify async caveats forevents.once()(René) #61572 - [
b4a826b11c] - doc: update Juan's security steward info (Juan José) #61754 - [
7d9cc5dc54] - doc: fix methods being documented as properties inprocess.md(Antoine du Hamel) #61765 - [
aa0362c26a] - doc: add riscv64 info into platform list (Lu Yahan) #42251 - [
9b0101b65b] - doc: fix dropdown menu being obscured at <600px due to stacking context (Jeff) #61735 - [
df2c65b3e4] - doc: fix spacing in process message event (Aviv Keller) #61756 - [
01018559f5] - doc: move describe/it aliases section before expectFailure (Luca Raveri) #61567 - [
49443583af] - doc: fix broken links of net.md (YuSheng Chen) #61673 - [
af7c927a2a] - doc: clean up Windows code snippet inchild_process.md(reillylm) #61422 - [
221648a687] - esm: update outdated FIXME comment in translators.js (Karan Mangtani) #61715 - [
4484e14a31] - events: don't call resume after close (Сковорода Никита Андреевич) #60548 - [
4cecbe1f53] - fs: addthrowIfNoEntryoption for fs.stat and fs.promises.stat (Juan José) #61178 - [
2c94967684] - http: remove redundant keepAliveTimeoutBuffer assignment (Efe) #61743 - [
435f3dd8e4] - http: attach error handler to socket synchronously in onSocket (RajeshKumar11) #61770 - [
ce0ebd853d] - http: fix keep-alive socket reuse race in requestOnFinish (Martin Slota) #61710 - [
8103a78b6a] - http2: add strictSingleValueFields option to relax header validation (Tim Perry) #59917 - [
b0a79b10f0] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) #61713 - [
c589b6b23c] - http2: fix FileHandle leak in respondWithFile (sangwook) #61707 - [
df477202ae] - lib: reduce cycles in esm loader and load it in snapshot (Joyee Cheung) #61769 - [
deda50a819] - lib: remove top-level getOptionValue() calls in lib/internal/modules (Joyee Cheung) #61769 - [
b1c1ddff79] - lib: optimize styleText when validateStream is false (Rafael Gonzaga) #61792 - [
df334f7fa0] - meta: use SCCACHE_GHA_ENABLED for shared build workflows (René) #61640 - [
e1b2cd605f] - meta: bump cachix/install-nix-action from 31.9.0 to 31.9.1 (dependabot[bot]) #61910 - [
24b858547a] - module: fix extensionless entry with explicit type=commonjs (Yuya Inoue) #61600 - [
4f2f8006bd] - repl: fix FileHandle leak in history initialization (sangwook) #61706 - [
2d874dfb8e] - (SEMVER-MINOR) sea: support ESM entry point in SEA (Joyee Cheung) #61813 - [
ee59127664] - sqlite: mark as release candidate (Matteo Collina) #61262 - [
f14ff14473] - src: remove unnecessaryc_str()conversions in diagnostic messages (Anna Henningsen) #61786 - [
26a09e541d] - src: use bool literals in TraceEnvVarOptions (Tobias Nießen) #61425 - [
62b0758c47] - src: fix--build-seadefault executable path (Alex Schwartz) #61708 - [
b5724921b1] - src: track allocations made by zstd streams (Anna Henningsen) #61717 - [
3d1d1523a5] - src: do not store compression methods on Brotli classes (Anna Henningsen) #61717 - [
b2915cda77] - src: extract zlib allocation tracking into its own class (Anna Henningsen) #61717 - [
3032a7e3c6] - src: release memory for zstd contexts inClose()(Anna Henningsen) #61717 - [
bc2287db74] - src: add more checks and clarify docs for external references (Joyee Cheung) #61719 - [
5daf282e33] - src: fix cjs_lexer external reference registration (Joyee Cheung) #61718 - [
fb2db5f947] - src: support import() and import.meta in embedder-run modules (Joyee Cheung) #61654 - [
e146591002] - stream: fix decoded fromList chunk boundary check (Thomas Watson) #61884 - [
065200a5f0] - stream: add fast paths for webstreams read and pipeTo (Matteo Collina) #61807 - [
608736e19e] - (SEMVER-MINOR) stream: renameDuplex.toWeb()type option toreadableType(René) #61632 - [
51587d684d] - test: fix typos in test files (Daijiro Wachi) #61408 - [
17b2361360] - test: allow filtering async internal frames in assertSnapshot (Joyee Cheung) #61769 - [
3f6a5f5f7f] - test: unify assertSnapshot stacktrace transform (Chengzhong Wu) #61665 - [
c8dac320de] - test: check stability block position in API markdown (René) #58590 - [
6809ef8d04] - test: adapt buffer test for v8 sandbox (Shelley Vohr) #61772 - [
60f5771a74] - test: update FileAPI tests from WPT (Ms2ger) #61750 - [
d2fef4a31a] - test: update WPT for WebCryptoAPI to 7cbe7e8ed9 (Node.js GitHub Bot) #61729 - [
d7a87f14da] - test: update WPT for url to efb889eb4c (Node.js GitHub Bot) #61728 - [
b6ae1fc4b8] - test: split test-embedding.js and run tests in parallel (Joyee Cheung) #61571 - [
a43375999f] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676 - [
1c02aa09b0] - test_runner: fix suite rerun (Moshe Atlow) #61775 - [
47821ec609] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903 - [
1630a56370] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899 - [
89318b0a02] - tools: fix auto-start-ci (Antoine du Hamel) #61900 - [
ee107f5e84] - tools: do not checkout repo inauto-start-ci.yml(Antoine du Hamel) #61874 - [
c2de1fa619] - tools: cache V8 build on test-shared workflow (Antoine du Hamel) #61860 - [
111c77ec94] - tools: automate updates for test/fixtures/test426 (Rich Trott) #60978 - [
ea8886f7d5] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759 - [
9db82ba786] - tools: bump unist-util-visit in /tools/doc in the doc group (dependabot[bot]) #61646 - [
c8e58c56b9] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #61628 - [
2518ec77e8] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734 - [
c5ad2beba3] - tools: fix small inconsistencies in JSON doc output (Antoine du Hamel) #61757 - [
a9f90bee0a] - tools: use ubuntu-latest runner innotify-on-pushworkflow (Antoine du Hamel) #61742 - [
30e38182d9] - watch: get flags from execArgv (Efe) #61779 - [
da1a08a3a5] - worker: eliminate race condition in process.cwd() (giulioAZ) #61664 - [
dfac82a235] - zlib: add support for brotli compression dictionary (Andy Weiss) #61763
Windows 64-bit Installer: https://nodejs.org/dist/v25.7.0/node-v25.7.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v25.7.0/node-v25.7.0-arm64.msi
Windows 64-bit Binary: https://nodejs.org/dist/v25.7.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v25.7.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v25.7.0/node-v25.7.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-aix-ppc64.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v25.7.0/node-v25.7.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v25.7.0/node-v25.7.0.tar.gz
Other release files: https://nodejs.org/dist/v25.7.0/
Documentation: https://nodejs.org/docs/v25.7.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
500805d140c6eae59705c12eeb4c59954c872b345be3a880dd59d7fa4d134abb node-v25.7.0-aix-ppc64.tar.gz
39d400db485fdb261981849a15c52c1f051ff8356c0f75c02bb09151498c290d node-v25.7.0-arm64.msi
d4e3cfe5e6bddda41ba0c683e37329632465b93371ddc538c763578758d5bc35 node-v25.7.0-darwin-arm64.tar.gz
6745e61fc00c87f20a3584591275d55b1712891eaa06d28a6bf7e97bc91262ec node-v25.7.0-darwin-arm64.tar.xz
f83929f4a84ae5a88c2a5333466b100dd101658063592497626ae9eea15b3b1b node-v25.7.0-darwin-x64.tar.gz
4843ab17e74d088a6d20d6a30589d648205a261c5b9c7f0d50235610aff2ff1b node-v25.7.0-darwin-x64.tar.xz
62b6ce65475bd3ac88f4f3f7e31c8c9f35b9c9631296e82a62670b72d1234fe1 node-v25.7.0-headers.tar.gz
b6646b9ceba75246021f3f6db4e9863dc6ee9ec87d93a3be1382fb9da1f6e1ad node-v25.7.0-headers.tar.xz
3a73c9145547b5d2e29491b0ed6a37b95306b784eb83cdb2361f1e2e76fa237f node-v25.7.0-linux-arm64.tar.gz
4aad827d8ecce8143624e09b98946e23c96a270a1407e9c13a56ceec163b4205 node-v25.7.0-linux-arm64.tar.xz
c2b5e162efb21a1d41c026bf5b08b3798e2e813b969031b1ed069b167cce77a0 node-v25.7.0-linux-ppc64le.tar.gz
59076fc29ca75b73caeafa91bb627e0c5fe083b0b7d3077389459bfea7712b78 node-v25.7.0-linux-ppc64le.tar.xz
c53a17fb58b0d8ec3001268bc69fbd4e3ec97034b7fde7c95b422d5734c52cd5 node-v25.7.0-linux-s390x.tar.gz
048749b91d9d0946b684a487c465adf56bff983949d8610ba6c0951ae61142ce node-v25.7.0-linux-s390x.tar.xz
033ad3a740d62d3c7e3aaa1fecfeec16a719d4af33ab030666bf171057b070d9 node-v25.7.0-linux-x64.tar.gz
2af25e8fc301bb3bbf02874f7d07e1d00483dc143fbd0eb56ee844c17849168e node-v25.7.0-linux-x64.tar.xz
477eb8f5499904b2eb76212e0f14f40965c693795b0af8e1500cc7aeaa1c18b8 node-v25.7.0.pkg
2a36edd1c8cc4d275464ff873a199937c8237c13f6943db5f7879f8a83ceddbe node-v25.7.0.tar.gz
8f13df7e8f79c3e8f227ad713c754592293c98f70e9e29e8fcee974e62a000e1 node-v25.7.0.tar.xz
297368ae8d82b138ad604a52578b4e2144e802d4c2855be8d3ea60ef7bf6b455 node-v25.7.0-win-arm64.7z
8b824eb15ae95d24bd082cee9637f74d5850ba5c8649bd65c5f108e360835f1e node-v25.7.0-win-arm64.zip
388fd0d55294854a132adb3bd4deee8b5afef431b7d8a3babc34ae0931ca00e8 node-v25.7.0-win-x64.7z
4a66eac416c30474fe9c3f0ef7d4ffc85a8797cbc35f6b8566dfbce02789a9c4 node-v25.7.0-win-x64.zip
5cb49889fd408ab9fe19471b0ab52badaf5724e47a6f824b0e11cafd09576838 node-v25.7.0-x64.msi
3e29601f88368da267420815f89e7bc73d67de7793a60b70a25c0c25dd6c6843 win-arm64/node.exe
47750ee99207e5b621671565852cf7385f27bf664470886b9437137342a497c9 win-arm64/node.lib
c9357f6f020191a72159acfcffc5f1c0828d841dc8d247e9af37798b97e55dca win-arm64/node_pdb.7z
279f034bebb2750f18e9bfe54688c301b517398f0cf6e1e09df57d90ab8b552d win-arm64/node_pdb.zip
6d27b928592496d739f97eb0dec6818fd7b23089ef4626f8967ece5907d23d36 win-x64/node.exe
f7201b932d898bdbf78aee7add288d2263c4791f1502068ad11b6c14675c6324 win-x64/node.lib
406b61316a6d06a0e7396d98ada6e3bd76de5ca9d8fc454fafc867c59341c060 win-x64/node_pdb.7z
1e0e09b139fa8e116b339a9f8c27f5235ffee457d6ee4bc133f07671a5aa5521 win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEEI9StI21e7DMQ5spl7AUGb2S+AoFAmmdxT4ACgkQl7AUGb2S
+Aq13A/+LZPSUeuaxLXPqztZV4GYmt35Z1JEyXou4AZp2asnAVEvLKy49hIm82cQ
Carn4LlOKLXuvEh0ZdYs53iT+xX+gIJfTQdXC/Kjaa61Rj4rdXeCP6qL1WuL39oN
FWYyk/ubhrFFWC8KV0UbGGf9Zv9wICSSDsFsdfxpkuO0aOfpC3Bj1I2j8JrlHlTP
L9mgZJs47ymlx5GGVIvK/niPBJh0znzDilQjAAj8txU6QSD+GA75ovkBkQd5s3jV
sgGTz0tRCUn8II7enmV/dfDgF9b50xP4k6vyqsNaV3WDtra7rTgehnYXgBK8lqiz
ajcaXNDd1+25pL7bkth1icAFODvZqOv8lywUlsdX1ufg8ZIP8+k/+H5Q7vsBCApH
+wapAEG5sUzN+tydJD0Xn73UNlOo+r+kLWndFD27Pfg/v4oP76fX9JNEEUEvryxT
qsqk87hL9dZkID+wOvgDpZR2md09bq2Ra4Jq1K20VaRjlfvd9zI8vcxktIdUZ2ha
7Y333TasoBl1zlM507X2Z7vvnTDWOKsZ4mDtPwSFXy09puJBexa32X0BWU0TzPqR
Qeb3b3voysIwk9KoILOrzdukb3BKXeIJul3Y/1vAyO3kolLFE/O+80Sm6TxfZ8SX
mDM7qdAGxX+TJ/AJHf+bBkEjxYim0VMwplD0LrT5HQvQ3qmzauk=
=58BT
-----END PGP SIGNATURE-----