Skip to content

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: rename Duplex.toWeb() type option to readableType (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 of module in typescript.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 for events.once() (René) #61572
  • [b4a826b11c] - doc: update Juan's security steward info (Juan José) #61754
  • [7d9cc5dc54] - doc: fix methods being documented as properties in process.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 in child_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: add throwIfNoEntry option 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 unnecessary c_str() conversions in diagnostic messages (Anna Henningsen) #61786
  • [26a09e541d] - src: use bool literals in TraceEnvVarOptions (Tobias Nießen) #61425
  • [62b0758c47] - src: fix --build-sea default 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 in Close() (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: rename Duplex.toWeb() type option to readableType (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 in auto-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 in notify-on-push workflow (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-----