Shikhil Saxena

Feb 06, 2026 • 24 min read

Node.js 25.5.0 (Current)

Node.js 25.5.0 (Current)

2026-01-26, Version 25.5.0 (Current), @aduh95

Notable Changes

Streamlined building process of Single Executable Applications (SEA)

This release introduces a new --build-sea command-line flag that simplifies the process of building Single Executable Applications (SEA) using Node.js.

Previously, SEA generation involved copying the executable, generating the preparation blob with --experimental-sea-config, and injecting the blob into the copy using nodejs/postject. With the new --build-sea flag, these steps are now consolidated into a single step available from Node.js core.

$ echo 'console.log("Hello")' > hello.js$ echo '{ "main": "hello.js", "output": "sea" }' > sea-config.json$ node --build-sea sea-config.json$ ./seaHello

Shell SessionCopy to clipboard

For the time being, backward compatibility with the postject-based SEA building process as well as the --experimental-sea-config will be maintained, until there's motivation to break it (e.g. for optimizations).

See the documentation for more details.

Contributed by Joyee Cheung in #61167.

Other Notable Changes

  • [99a4e51f93] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419

  • [fbe4da5725] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167

  • [0feab0f083] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) #61167

  • [e91b296001] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433

  • [b351910af1] - (SEMVER-MINOR) sea: add --build-sea to generate SEA directly with Node.js binary (Joyee Cheung) #61167

  • [957292e233] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167

  • [f289817ff8] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266

  • [069f3603e2] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311

  • [5a984b9a09] - src: use node- prefix on thread names (Stewart X Addison) #61307

  • [75c06bc2a8] - (SEMVER-MINOR) test: migrate to --build-sea in existing SEA tests (Joyee Cheung) #61167

  • [cabd58f1cb] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167

  • [ff1fcabfc9] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669

Commits

  • [778a56f3c9] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) #61388

  • [32cd18e37f] - async_hooks: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) #61054

  • [482b2568bc] - benchmark: add SQLite benchmarks (Guilherme Araújo) #61401

  • [e9a34263bb] - buffer: make methods work on Uint8Array instances (Neal Beeken) #56578

  • [8255cdefcf] - build: add --shared-nbytes configure flag (Antoine du Hamel) #61341

  • [8dd379d110] - build: update android-patches/trap-handler.h.patch (Mo Luo) #60369

  • [1b4b5eb0e4] - build: update devcontainer.json to use paired nix env (Joyee Cheung) #61414

  • [86e2a763ad] - build: infer cargo mode with gyp var build_type directly (Chengzhong Wu) #61354

  • [7e211e6942] - build: add embedtest into native suite (Joyee Cheung) #61357

  • [637470e79f] - build: fix misplaced comma in ldflags (hqzing) #61294

  • [a1a0f77a45] - build: fix crate vendor file checksums on windows (Chengzhong Wu) #61329

  • [d597b8e342] - build,tools: fix addon build deadlock on errors (Vladimir Morozov) #61321

  • [b5cdc27ba4] - build,win: improve logs when ClangCL is missing (Mike McCready) #61438

  • [ef01f0c033] - build,win: update WinGet configurations to Python 3.14 (Mike McCready) #61431

  • [d8a1cdeefe] - child_process: treat ipc length header as unsigned uint32 (Ryuhei Shima) #61344

  • [588b00fafa] - cluster: fix port reuse between cluster (Ryuhei Shima) #60141

  • [99a4e51f93] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419

  • [048f7a5c9c] - deps: upgrade npm to 11.8.0 (npm team) #61466

  • [fbe4da5725] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167

  • [0feab0f083] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) #61167

  • [4bb00d7e3c] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417

  • [6a3c614f27] - deps: update sqlite to 3.51.2 (Node.js GitHub Bot) #61339

  • [13c0397d6d] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523

  • [098ec6f196] - deps: update ada to v3.4.0 (Yagiz Nizipli) #61315

  • [320b576125] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135

  • [98f5e7cf51] - deps: V8: cherry-pick highway@dcc0ca1cd42 (Richard Lau) #61008

  • [e326df79c9] - deps: V8: backport 209d2db9e24a (Zhijin Zeng) #61322

  • [ccfd9d9b30] - doc: remove v prefix for version references (Mike McCready) #61488

  • [b6cc5d77a1] - doc: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) #60253

  • [236d7ee635] - doc: add CVE delay mention (Rafael Gonzaga) #61465

  • [0729fb6ee7] - doc: update previous version links in BUILDING (Mike McCready) #61457

  • [0fb464252f] - doc: include OpenJSF handle for security stewards (Rafael Gonzaga) #61454

  • [3331bdca7c] - doc: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) #61366

  • [94b34c38e2] - doc: remove Windows Dev Home instructions from BUILDING (Mike McCready) #61434

  • [a17016ee81] - doc: clarify TypedArray properties on Buffer (Roman Reiss) #61355

  • [214fac9d7e] - doc: update Python 3.14 manual install instructions (Windows) (Mike McCready) #61428

  • [6a32a685a6] - doc: note resume build should not be done on node-test-commit (Stewart X Addison) #61373

  • [2a8e8dfaf3] - doc: refine WebAssembly error documentation (sangwook) #61382

  • [f3caf27f8b] - doc: add deprecation history for url.parse (Eng Zer Jun) #61389

  • [5ab8057856] - doc: add marco and rafael in last sec release (Marco Ippolito) #61383

  • [f83cb1e785] - doc: packages: example of private import switch to internal (coderaiser) #61343

  • [3d23bcd0e2] - doc: add esm and cjs examples to node:v8 (Alfredo González) #61328

  • [1d159550e0] - doc: added 'secure' event to tls.TLSSocket (ikeyan) #61066

  • [90080d2892] - doc: restore @watilde to collaborators (Daijiro Wachi) #61350

  • [a87f7a50f8] - doc: run license-builder (github-actions[bot]) #61348

  • [adf5c84701] - doc: clean up writing-and-running-benchmarks.md (Hardanish Singh) #61345

  • [2be98add0c] - doc: document ALPNCallback option for TLSSocket constructor (ikeyan) #61331

  • [2db4893c8d] - esm: ensure watch mode restarts after syntax errors (Xavier Stouder) #61232

  • [828feb2e6b] - events: remove redundant todo (Gürgün Dayıoğlu) #60595

  • [e91b296001] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433

  • [606184fae5] - fs: remove duplicate getValidatedPath calls (Mert Can Altin) #61359

  • [434fcd7f8f] - fs: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) #60946

  • [bacba16f5e] - fs: fix ENOTDIR in globSync when file is treated as dir (sangwook) #61259

  • [7697ce0310] - fs: remove duplicate fd validation in sync functions (Mert Can Altin) #61361

  • [8abd54f597] - gyp: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) #61464

  • [24033ee7ea] - http: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) #61285

  • [cf56327939] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402

  • [696935eeeb] - inspector: initial support storage inspection (Ryuhei Shima) #61139

  • [3d5e718e38] - lib: fix typo in util.js comment (Taejin Kim) #61365

  • [f55a5fea00] - lib: fix TypeScript support check in jitless mode (sangwook) #61382

  • [b3fbc3c375] - meta: do not fast-track npm updates (Antoine du Hamel) #61475

  • [2423ecdaef] - meta: fix typos in issue template config (Daijiro Wachi) #61399

  • [e2df85a33a] - meta: label v8 module PRs (René) #61325

  • [bc9e5f7d4d] - node-api: fix node_api_create_object_with_properties name (Vladimir Morozov) #61319

  • [4f30c21c59] - node-api: use Node-API in comments (Vladimir Morozov) #61320

  • [62d71eb28d] - quic: copy options.certs buffer instead of detaching (Chengzhong Wu) #61403

  • [4bbbe75ba1] - quic: move quic behind compile time flag (Matteo Collina) #61444

  • [b351910af1] - (SEMVER-MINOR) sea: add --build-sea to generate SEA directly with Node.js binary (Joyee Cheung) #61167

  • [957292e233] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167

  • [f289817ff8] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266

  • [6442229880] - sqlite: add some tests (Guilherme Araújo) #61410

  • [069f3603e2] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311

  • [df02d00d61] - src: improve StringBytes::Encode perf on UTF8 (Сковорода Никита Андреевич) #61131

  • [e35814ba80] - src: add missing override specifier to Clean() (Tobias Nießen) #61429

  • [803ff7d3de] - src: cache context lookup in vectored io loops (Mert Can Altin) #61387

  • [58abe99cbf] - src: cache missing package.json files in the C++ package config cache (Michael Smith) #60425

  • [2a542094e4] - src: use starts_with instead of rfind/find (Tobias Nießen) #61426

  • [77cacf6d9d] - src: use C++ nullptr in sqlite (Tobias Nießen) #61416

  • [344cc629d4] - src: use C++ nullptr in webstorage (Tobias Nießen) #61407

  • [9f25cad26c] - src: fix pointer alignment (jhofstee) #61336

  • [5a984b9a09] - src: use node- prefix on thread names (Stewart X Addison) #61307

  • [d4cf423a65] - stream: export namespace object from internal end-of-stream module (René) #61455

  • [7d8232e34c] - test: add some validation for JSON doc output (Antoine du Hamel) #61413

  • [75c06bc2a8] - (SEMVER-MINOR) test: migrate to --build-sea in existing SEA tests (Joyee Cheung) #61167

  • [cabd58f1cb] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167

  • [bcffca8911] - test: aix: mark test_threadsafe_function/test flaky on AIX (Stewart X Addison) #61452

  • [29399501c1] - test: add implicit test for fs dispose handling with using (Ilyas Shabi) #61140

  • [3bb481571a] - test: reveal wpt evaluation errors in status files (Chengzhong Wu) #61358

  • [a132be7f71] - test: check new WebCryptoAPI enum values (Filip Skokan) #61406

  • [72f1463735] - test: split test-esm-loader-hooks (Joyee Cheung) #61374

  • [39105e4c5f] - test: aix: mark test-emit-on-destroyed as flaky (Stewart X Addison) #61381

  • [3f17acfb1c] - test: add webidl web-platform tests (Yagiz Nizipli) #61316

  • [89983cf747] - test: update url web-platform tests (Yagiz Nizipli) #61315

  • [73c0a242d7] - test: forbid use of named imports for fixtures (Antoine du Hamel) #61228

  • [a49d54308e] - test: enforce better never-settling-promise detection (Antoine du Hamel) #60976

  • [335cb0b5cc] - test: ensure assertions are reached on all tests (Antoine du Hamel) #60845

  • [5ee02c789a] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60763

  • [141fb82ffb] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60760

  • [edf90ce457] - test: use RegExp.escape to improve test reliability (Antoine du Hamel) #60803

  • [f5f9b2dcf6] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60728

  • [ec1cbbe0b6] - test_runner: fix memory leaks in runner (Abhishek Kv. Savani) #60860

  • [399ac68427] - test_runner: fix coverage report when a directory is named file (Heath Dutton🕴️) #61169

  • [6e1beda333] - test_runner: print info when test restarts (Xavier Stouder) #61160

  • [f5803ccb86] - test_runner: fix rerun ambiguous test failures (Moshe Atlow) #61392

  • [a5a4c3eb44] - test_runner: nix dead reporter code (Vas Sudanagunta) #59700

  • [ff1fcabfc9] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669

  • [ade4fc2338] - tools: copyedit Nix files (Antoine du Hamel) #61447

  • [7c2242beb9] - tools: validate release commit diff as part of lint-release-proposal (Antoine du Hamel) #61440

  • [ca4ebed258] - tools: use ad-hoc flag to lint Nix files (Antoine du Hamel) #61405

  • [05ce2c87f3] - tools: fix vcbuild lint-js-build (Vladimir Morozov) #61318

  • [41adb54a37] - tools: enforce trailing commas in test/es-module (Antoine du Hamel) #60891

  • [eebd732a52] - tools: enforce trailing commas in test/sequential (Antoine du Hamel) #60892

  • [8b73739e03] - typings: add typing for string_decoder (Taejin Kim) #61368

  • [e88dd012ad] - v8: changing total_allocated_bytes to avoid ABI changes (Caio Lima) #60800

  • [c75ad3d87d] - v8: add GCProfiler support for erm (Ilyas Shabi) #61191

  • [611c179663] - zlib: validate write_result array length (Ryuhei Shima) #61342

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

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA256a355ab5635db4f170bddaa7c2c384b22afc4da7072add6f6ad1fb6f355e17e2b node-v25.5.0-aix-ppc64.tar.gz864c58b9a092a35653a5e5f4d5961a54c1428e9dc9d4b7ac826ca229bbc6996a node-v25.5.0-arm64.msi568ff9aae73e82499346be25250c7caacab2ca4bbb697bc73056cf3b983b8211 node-v25.5.0-darwin-arm64.tar.gz11097658094eeceed26b96ebcb6acac349795e9a4b74cb59d2820c5ac8374cd6 node-v25.5.0-darwin-arm64.tar.xzc36d2db9afc900b2cfa45b60a9423b4991ad86976acd3fe5b500abda91f21243 node-v25.5.0-darwin-x64.tar.gzc61a93d569f31d2e40eedd988a06362a7d247112f51310756db99ec6722645bc node-v25.5.0-darwin-x64.tar.xzc86f5090635bedb03b8f8832ebcbcc00cb07f2fd83f3528a826d3bd57c7624af node-v25.5.0-headers.tar.gz70dd8582d7905cf5f2e72158cce0b57cecd3253e208ff7542889a44c1db71bd4 node-v25.5.0-headers.tar.xz20f9aa9f2174786754f1941a178a62b906216fcdcd923400817f4bfa72e12336 node-v25.5.0-linux-arm64.tar.gz2e5264c7e08c1693fce40a6fb604569272438f4bafe93066fa0f00a5ee7bacd6 node-v25.5.0-linux-arm64.tar.xzc5ca7fee6f0a969e16c6152650ddf4553274d53dc6f81ebee25cfee8c70999cf node-v25.5.0-linux-ppc64le.tar.gz1db6f6292e6b6f0b25fcb6ff6fbe4d52d4d6d6b4b2131980ecc715854ddb1749 node-v25.5.0-linux-ppc64le.tar.xz2092f336a60191a44e4b99e87a5278fffa4e4a9dc786b7b657756c2c75460af5 node-v25.5.0-linux-s390x.tar.gz65736df156468dc40ad3798de2a0f95bd4f227c012d5527ae678b0d9ced84581 node-v25.5.0-linux-s390x.tar.xze8e50aee2e5328bcbc2ead32d86d0b577220ccdd80c438583dca3aa2965873f2 node-v25.5.0-linux-x64.tar.gz8223dca08b48b927acafaae7595dc670c86f7aa1855a20019bd43f8ea890851c node-v25.5.0-linux-x64.tar.xz06e6ef9670b91f485f733be66dcf173dde50181a644cc2841cbaa732ce8a3adc node-v25.5.0-win-arm64.7z7ca3d9bb4bf745e4bcd7b6ae6840c37fbd12da909ee5df6b932af42cdd997a19 node-v25.5.0-win-arm64.zip3b8fb60f80b0cc5bf2abd74dd2b7f853e88f39d2dbca269818742ad7ca0713d2 node-v25.5.0-win-x64.7z4d2773e98d3f35d172478d5101de1f571d851053d2ed67bbe39a5bdeae87d804 node-v25.5.0-win-x64.zipaf80a24744ff17c98818699da9680f805bb332708ff535967e39940b4bf1195d node-v25.5.0-x64.msifba3d55e76190fa381355489e3b63715cd5449a3aeac4d57274e8f3efd07005d node-v25.5.0.pkg334569dc43eb427af5ca97e330ab8752cbac19a2a70d476a97aa194f79010b07 node-v25.5.0.tar.gz7e35efaf63c8fe7737b8c62792ec547e5a95a69f1f813fcfba28566aecc9fd92 node-v25.5.0.tar.xz7f75694e0a071b6f5ffa570fd62c7050b265376252a1db272dcdef81d0fc78e7 win-arm64/node.exe5ffc9eea8fd5d23619dd28489ec2dc08b994d4f0eacda475ecff0921e80c1b01 win-arm64/node.lib813fe4fcaba63a89f56152289d3fc4a26d76767064c478a23a47fd74c65670ec win-arm64/node_pdb.7z7931397d581cf60581ee52dd56d9b5d3920dd8c54580914e68b3975968860ef5 win-arm64/node_pdb.zipd7f55cbc1b1ca9cc2815d7b8c58f94e4822a68cdf5ca55b4f2c9625581b92839 win-x64/node.exe19f7d769cb12fc0eb7eaf2a5d3db2d1f70b80d1172aa302dfbdb7d719e0dab46 win-x64/node.libfe8e38ba5d145b75b793c8076778fb83e1112fde39bbd7514dd92cbe296f2bb5 win-x64/node_pdb.7z05a1d0a1126783e0e9ab334805002a1f26a421b987618d500558a23bd14df4ff win-x64/node_pdb.zip-----BEGIN PGP SIGNATURE-----iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaXfQigAKCRAgsaOQsWjTVqfOAQCHFSxCgUYXnScTqtnXVzjBcOjnMO4OLbrIN/aKLA/inAD9Em8opoDHOwRzUjgG3zEoZnpV+uBm7C7jqZsD9dcWNA0==rrpu-----END PGP SIGNATURE-----Node.js 25.5.0 (Current)
2026-01-26, Version 25.5.0 (Current), @aduh95
Notable Changes
Streamlined building process of Single Executable Applications (SEA)
This release introduces a new --build-sea command-line flag that simplifies the process of building Single Executable Applications (SEA) using Node.js.

Previously, SEA generation involved copying the executable, generating the preparation blob with --experimental-sea-config, and injecting the blob into the copy using nodejs/postject. With the new --build-sea flag, these steps are now consolidated into a single step available from Node.js core.

$ echo 'console.log("Hello")' > hello.js
$ echo '{ "main": "hello.js", "output": "sea" }' > sea-config.json
$ node --build-sea sea-config.json
$ ./sea
Hello
Shell Session
Copy to clipboard
For the time being, backward compatibility with the postject-based SEA building process as well as the --experimental-sea-config will be maintained, until there's motivation to break it (e.g. for optimizations).

See the documentation for more details.

Contributed by Joyee Cheung in #61167.

Other Notable Changes
[99a4e51f93] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
[fbe4da5725] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167
[0feab0f083] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) #61167
[e91b296001] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433
[b351910af1] - (SEMVER-MINOR) sea: add --build-sea to generate SEA directly with Node.js binary (Joyee Cheung) #61167
[957292e233] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167
[f289817ff8] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266
[069f3603e2] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311
[5a984b9a09] - src: use node- prefix on thread names (Stewart X Addison) #61307
[75c06bc2a8] - (SEMVER-MINOR) test: migrate to --build-sea in existing SEA tests (Joyee Cheung) #61167
[cabd58f1cb] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167
[ff1fcabfc9] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669
Commits
[778a56f3c9] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) #61388
[32cd18e37f] - async_hooks: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) #61054
[482b2568bc] - benchmark: add SQLite benchmarks (Guilherme Araújo) #61401
[e9a34263bb] - buffer: make methods work on Uint8Array instances (Neal Beeken) #56578
[8255cdefcf] - build: add --shared-nbytes configure flag (Antoine du Hamel) #61341
[8dd379d110] - build: update android-patches/trap-handler.h.patch (Mo Luo) #60369
[1b4b5eb0e4] - build: update devcontainer.json to use paired nix env (Joyee Cheung) #61414
[86e2a763ad] - build: infer cargo mode with gyp var build_type directly (Chengzhong Wu) #61354
[7e211e6942] - build: add embedtest into native suite (Joyee Cheung) #61357
[637470e79f] - build: fix misplaced comma in ldflags (hqzing) #61294
[a1a0f77a45] - build: fix crate vendor file checksums on windows (Chengzhong Wu) #61329
[d597b8e342] - build,tools: fix addon build deadlock on errors (Vladimir Morozov) #61321
[b5cdc27ba4] - build,win: improve logs when ClangCL is missing (Mike McCready) #61438
[ef01f0c033] - build,win: update WinGet configurations to Python 3.14 (Mike McCready) #61431
[d8a1cdeefe] - child_process: treat ipc length header as unsigned uint32 (Ryuhei Shima) #61344
[588b00fafa] - cluster: fix port reuse between cluster (Ryuhei Shima) #60141
[99a4e51f93] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
[048f7a5c9c] - deps: upgrade npm to 11.8.0 (npm team) #61466
[fbe4da5725] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167
[0feab0f083] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) #61167
[4bb00d7e3c] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417
[6a3c614f27] - deps: update sqlite to 3.51.2 (Node.js GitHub Bot) #61339
[13c0397d6d] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523
[098ec6f196] - deps: update ada to v3.4.0 (Yagiz Nizipli) #61315
[320b576125] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135
[98f5e7cf51] - deps: V8: cherry-pick highway@dcc0ca1cd42 (Richard Lau) #61008
[e326df79c9] - deps: V8: backport 209d2db9e24a (Zhijin Zeng) #61322
[ccfd9d9b30] - doc: remove v prefix for version references (Mike McCready) #61488
[b6cc5d77a1] - doc: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) #60253
[236d7ee635] - doc: add CVE delay mention (Rafael Gonzaga) #61465
[0729fb6ee7] - doc: update previous version links in BUILDING (Mike McCready) #61457
[0fb464252f] - doc: include OpenJSF handle for security stewards (Rafael Gonzaga) #61454
[3331bdca7c] - doc: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) #61366
[94b34c38e2] - doc: remove Windows Dev Home instructions from BUILDING (Mike McCready) #61434
[a17016ee81] - doc: clarify TypedArray properties on Buffer (Roman Reiss) #61355
[214fac9d7e] - doc: update Python 3.14 manual install instructions (Windows) (Mike McCready) #61428
[6a32a685a6] - doc: note resume build should not be done on node-test-commit (Stewart X Addison) #61373
[2a8e8dfaf3] - doc: refine WebAssembly error documentation (sangwook) #61382
[f3caf27f8b] - doc: add deprecation history for url.parse (Eng Zer Jun) #61389
[5ab8057856] - doc: add marco and rafael in last sec release (Marco Ippolito) #61383
[f83cb1e785] - doc: packages: example of private import switch to internal (coderaiser) #61343
[3d23bcd0e2] - doc: add esm and cjs examples to node:v8 (Alfredo González) #61328
[1d159550e0] - doc: added 'secure' event to tls.TLSSocket (ikeyan) #61066
[90080d2892] - doc: restore @watilde to collaborators (Daijiro Wachi) #61350
[a87f7a50f8] - doc: run license-builder (github-actions[bot]) #61348
[adf5c84701] - doc: clean up writing-and-running-benchmarks.md (Hardanish Singh) #61345
[2be98add0c] - doc: document ALPNCallback option for TLSSocket constructor (ikeyan) #61331
[2db4893c8d] - esm: ensure watch mode restarts after syntax errors (Xavier Stouder) #61232
[828feb2e6b] - events: remove redundant todo (Gürgün Dayıoğlu) #60595
[e91b296001] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433
[606184fae5] - fs: remove duplicate getValidatedPath calls (Mert Can Altin) #61359
[434fcd7f8f] - fs: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) #60946
[bacba16f5e] - fs: fix ENOTDIR in globSync when file is treated as dir (sangwook) #61259
[7697ce0310] - fs: remove duplicate fd validation in sync functions (Mert Can Altin) #61361
[8abd54f597] - gyp: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) #61464
[24033ee7ea] - http: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) #61285
[cf56327939] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402
[696935eeeb] - inspector: initial support storage inspection (Ryuhei Shima) #61139
[3d5e718e38] - lib: fix typo in util.js comment (Taejin Kim) #61365
[f55a5fea00] - lib: fix TypeScript support check in jitless mode (sangwook) #61382
[b3fbc3c375] - meta: do not fast-track npm updates (Antoine du Hamel) #61475
[2423ecdaef] - meta: fix typos in issue template config (Daijiro Wachi) #61399
[e2df85a33a] - meta: label v8 module PRs (René) #61325
[bc9e5f7d4d] - node-api: fix node_api_create_object_with_properties name (Vladimir Morozov) #61319
[4f30c21c59] - node-api: use Node-API in comments (Vladimir Morozov) #61320
[62d71eb28d] - quic: copy options.certs buffer instead of detaching (Chengzhong Wu) #61403
[4bbbe75ba1] - quic: move quic behind compile time flag (Matteo Collina) #61444
[b351910af1] - (SEMVER-MINOR) sea: add --build-sea to generate SEA directly with Node.js binary (Joyee Cheung) #61167
[957292e233] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167
[f289817ff8] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266
[6442229880] - sqlite: add some tests (Guilherme Araújo) #61410
[069f3603e2] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311
[df02d00d61] - src: improve StringBytes::Encode perf on UTF8 (Сковорода Никита Андреевич) #61131
[e35814ba80] - src: add missing override specifier to Clean() (Tobias Nießen) #61429
[803ff7d3de] - src: cache context lookup in vectored io loops (Mert Can Altin) #61387
[58abe99cbf] - src: cache missing package.json files in the C++ package config cache (Michael Smith) #60425
[2a542094e4] - src: use starts_with instead of rfind/find (Tobias Nießen) #61426
[77cacf6d9d] - src: use C++ nullptr in sqlite (Tobias Nießen) #61416
[344cc629d4] - src: use C++ nullptr in webstorage (Tobias Nießen) #61407
[9f25cad26c] - src: fix pointer alignment (jhofstee) #61336
[5a984b9a09] - src: use node- prefix on thread names (Stewart X Addison) #61307
[d4cf423a65] - stream: export namespace object from internal end-of-stream module (René) #61455
[7d8232e34c] - test: add some validation for JSON doc output (Antoine du Hamel) #61413
[75c06bc2a8] - (SEMVER-MINOR) test: migrate to --build-sea in existing SEA tests (Joyee Cheung) #61167
[cabd58f1cb] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167
[bcffca8911] - test: aix: mark test_threadsafe_function/test flaky on AIX (Stewart X Addison) #61452
[29399501c1] - test: add implicit test for fs dispose handling with using (Ilyas Shabi) #61140
[3bb481571a] - test: reveal wpt evaluation errors in status files (Chengzhong Wu) #61358
[a132be7f71] - test: check new WebCryptoAPI enum values (Filip Skokan) #61406
[72f1463735] - test: split test-esm-loader-hooks (Joyee Cheung) #61374
[39105e4c5f] - test: aix: mark test-emit-on-destroyed as flaky (Stewart X Addison) #61381
[3f17acfb1c] - test: add webidl web-platform tests (Yagiz Nizipli) #61316
[89983cf747] - test: update url web-platform tests (Yagiz Nizipli) #61315
[73c0a242d7] - test: forbid use of named imports for fixtures (Antoine du Hamel) #61228
[a49d54308e] - test: enforce better never-settling-promise detection (Antoine du Hamel) #60976
[335cb0b5cc] - test: ensure assertions are reached on all tests (Antoine du Hamel) #60845
[5ee02c789a] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60763
[141fb82ffb] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60760
[edf90ce457] - test: use RegExp.escape to improve test reliability (Antoine du Hamel) #60803
[f5f9b2dcf6] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60728
[ec1cbbe0b6] - test_runner: fix memory leaks in runner (Abhishek Kv. Savani) #60860
[399ac68427] - test_runner: fix coverage report when a directory is named file (Heath Dutton🕴️) #61169
[6e1beda333] - test_runner: print info when test restarts (Xavier Stouder) #61160
[f5803ccb86] - test_runner: fix rerun ambiguous test failures (Moshe Atlow) #61392
[a5a4c3eb44] - test_runner: nix dead reporter code (Vas Sudanagunta) #59700
[ff1fcabfc9] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669
[ade4fc2338] - tools: copyedit Nix files (Antoine du Hamel) #61447
[7c2242beb9] - tools: validate release commit diff as part of lint-release-proposal (Antoine du Hamel) #61440
[ca4ebed258] - tools: use ad-hoc flag to lint Nix files (Antoine du Hamel) #61405
[05ce2c87f3] - tools: fix vcbuild lint-js-build (Vladimir Morozov) #61318
[41adb54a37] - tools: enforce trailing commas in test/es-module (Antoine du Hamel) #60891
[eebd732a52] - tools: enforce trailing commas in test/sequential (Antoine du Hamel) #60892
[8b73739e03] - typings: add typing for string_decoder (Taejin Kim) #61368
[e88dd012ad] - v8: changing total_allocated_bytes to avoid ABI changes (Caio Lima) #60800
[c75ad3d87d] - v8: add GCProfiler support for erm (Ilyas Shabi) #61191
[611c179663] - zlib: validate write_result array length (Ryuhei Shima) #61342
Windows 64-bit Installer: https://nodejs.org/dist/v25.5.0/node-v25.5.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v25.5.0/node-v25.5.0-arm64.msi
Windows 64-bit Binary: https://nodejs.org/dist/v25.5.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v25.5.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v25.5.0/node-v25.5.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-aix-ppc64.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v25.5.0/node-v25.5.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v25.5.0/node-v25.5.0.tar.gz
Other release files: https://nodejs.org/dist/v25.5.0/
Documentation: https://nodejs.org/docs/v25.5.0/api/

SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
a355ab5635db4f170bddaa7c2c384b22afc4da7072add6f6ad1fb6f355e17e2b node-v25.5.0-aix-ppc64.tar.gz
864c58b9a092a35653a5e5f4d5961a54c1428e9dc9d4b7ac826ca229bbc6996a node-v25.5.0-arm64.msi
568ff9aae73e82499346be25250c7caacab2ca4bbb697bc73056cf3b983b8211 node-v25.5.0-darwin-arm64.tar.gz
11097658094eeceed26b96ebcb6acac349795e9a4b74cb59d2820c5ac8374cd6 node-v25.5.0-darwin-arm64.tar.xz
c36d2db9afc900b2cfa45b60a9423b4991ad86976acd3fe5b500abda91f21243 node-v25.5.0-darwin-x64.tar.gz
c61a93d569f31d2e40eedd988a06362a7d247112f51310756db99ec6722645bc node-v25.5.0-darwin-x64.tar.xz
c86f5090635bedb03b8f8832ebcbcc00cb07f2fd83f3528a826d3bd57c7624af node-v25.5.0-headers.tar.gz
70dd8582d7905cf5f2e72158cce0b57cecd3253e208ff7542889a44c1db71bd4 node-v25.5.0-headers.tar.xz
20f9aa9f2174786754f1941a178a62b906216fcdcd923400817f4bfa72e12336 node-v25.5.0-linux-arm64.tar.gz
2e5264c7e08c1693fce40a6fb604569272438f4bafe93066fa0f00a5ee7bacd6 node-v25.5.0-linux-arm64.tar.xz
c5ca7fee6f0a969e16c6152650ddf4553274d53dc6f81ebee25cfee8c70999cf node-v25.5.0-linux-ppc64le.tar.gz
1db6f6292e6b6f0b25fcb6ff6fbe4d52d4d6d6b4b2131980ecc715854ddb1749 node-v25.5.0-linux-ppc64le.tar.xz
2092f336a60191a44e4b99e87a5278fffa4e4a9dc786b7b657756c2c75460af5 node-v25.5.0-linux-s390x.tar.gz
65736df156468dc40ad3798de2a0f95bd4f227c012d5527ae678b0d9ced84581 node-v25.5.0-linux-s390x.tar.xz
e8e50aee2e5328bcbc2ead32d86d0b577220ccdd80c438583dca3aa2965873f2 node-v25.5.0-linux-x64.tar.gz
8223dca08b48b927acafaae7595dc670c86f7aa1855a20019bd43f8ea890851c node-v25.5.0-linux-x64.tar.xz
06e6ef9670b91f485f733be66dcf173dde50181a644cc2841cbaa732ce8a3adc node-v25.5.0-win-arm64.7z
7ca3d9bb4bf745e4bcd7b6ae6840c37fbd12da909ee5df6b932af42cdd997a19 node-v25.5.0-win-arm64.zip
3b8fb60f80b0cc5bf2abd74dd2b7f853e88f39d2dbca269818742ad7ca0713d2 node-v25.5.0-win-x64.7z
4d2773e98d3f35d172478d5101de1f571d851053d2ed67bbe39a5bdeae87d804 node-v25.5.0-win-x64.zip
af80a24744ff17c98818699da9680f805bb332708ff535967e39940b4bf1195d node-v25.5.0-x64.msi
fba3d55e76190fa381355489e3b63715cd5449a3aeac4d57274e8f3efd07005d node-v25.5.0.pkg
334569dc43eb427af5ca97e330ab8752cbac19a2a70d476a97aa194f79010b07 node-v25.5.0.tar.gz
7e35efaf63c8fe7737b8c62792ec547e5a95a69f1f813fcfba28566aecc9fd92 node-v25.5.0.tar.xz
7f75694e0a071b6f5ffa570fd62c7050b265376252a1db272dcdef81d0fc78e7 win-arm64/node.exe
5ffc9eea8fd5d23619dd28489ec2dc08b994d4f0eacda475ecff0921e80c1b01 win-arm64/node.lib
813fe4fcaba63a89f56152289d3fc4a26d76767064c478a23a47fd74c65670ec win-arm64/node_pdb.7z
7931397d581cf60581ee52dd56d9b5d3920dd8c54580914e68b3975968860ef5 win-arm64/node_pdb.zip
d7f55cbc1b1ca9cc2815d7b8c58f94e4822a68cdf5ca55b4f2c9625581b92839 win-x64/node.exe
19f7d769cb12fc0eb7eaf2a5d3db2d1f70b80d1172aa302dfbdb7d719e0dab46 win-x64/node.lib
fe8e38ba5d145b75b793c8076778fb83e1112fde39bbd7514dd92cbe296f2bb5 win-x64/node_pdb.7z
05a1d0a1126783e0e9ab334805002a1f26a421b987618d500558a23bd14df4ff win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaXfQigAKCRAgsaOQsWjT
VqfOAQCHFSxCgUYXnScTqtnXVzjBcOjnMO4OLbrIN/aKLA/inAD9Em8opoDHOwRz
UjgG3zEoZnpV+uBm7C7jqZsD9dcWNA0=
=rrpu
-----END PGP SIGNATURE-----

Join Shikhil on Peerlist!

Join amazing folks like Shikhil and thousands of other builders on Peerlist.

peerlist.io/

It’s available... this username is available! 😃

Claim your username before it's too late!

This username is already taken, you’re a little late.😐

0

4

0