---
date: '2026-01-26T20:40:48.586Z'
category: release
title: Node.js 25.5.0 (Current)
layout: blog-post
author: Antoine du Hamel
---

## 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)](https://nodejs.org/api/single-executable-applications.html) 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](https://github.com/nodejs/postject). With the new `--build-sea` flag, these steps are now consolidated into a single step available from Node.js core.

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

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](https://nodejs.org/download/release/v25.5.0/docs/api/single-executable-applications.html#generating-single-executable-applications-with---build-sea) for more details.

Contributed by Joyee Cheung in [#61167](https://github.com/nodejs/node/pull/61167).

#### Other Notable Changes

- \[[`99a4e51f93`](https://github.com/nodejs/node/commit/99a4e51f93)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
- \[[`fbe4da5725`](https://github.com/nodejs/node/commit/fbe4da5725)] - **(SEMVER-MINOR)** **deps**: add LIEF as a dependency (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
- \[[`0feab0f083`](https://github.com/nodejs/node/commit/0feab0f083)] - **(SEMVER-MINOR)** **deps**: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
- \[[`e91b296001`](https://github.com/nodejs/node/commit/e91b296001)] - **(SEMVER-MINOR)** **fs**: add ignore option to fs.watch (Matteo Collina) [#61433](https://github.com/nodejs/node/pull/61433)
- \[[`b351910af1`](https://github.com/nodejs/node/commit/b351910af1)] - **(SEMVER-MINOR)** **sea**: add `--build-sea` to generate SEA directly with Node.js binary (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
- \[[`957292e233`](https://github.com/nodejs/node/commit/957292e233)] - **(SEMVER-MINOR)** **sea**: split sea binary manipulation code (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
- \[[`f289817ff8`](https://github.com/nodejs/node/commit/f289817ff8)] - **(SEMVER-MINOR)** **sqlite**: enable defensive mode by default (Bart Louwers) [#61266](https://github.com/nodejs/node/pull/61266)
- \[[`069f3603e2`](https://github.com/nodejs/node/commit/069f3603e2)] - **(SEMVER-MINOR)** **sqlite**: add sqlite prepare options args (Guilherme Araújo) [#61311](https://github.com/nodejs/node/pull/61311)
- \[[`5a984b9a09`](https://github.com/nodejs/node/commit/5a984b9a09)] - **src**: use node- prefix on thread names (Stewart X Addison) [#61307](https://github.com/nodejs/node/pull/61307)
- \[[`75c06bc2a8`](https://github.com/nodejs/node/commit/75c06bc2a8)] - **(SEMVER-MINOR)** **test**: migrate to `--build-sea` in existing SEA tests (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
- \[[`cabd58f1cb`](https://github.com/nodejs/node/commit/cabd58f1cb)] - **(SEMVER-MINOR)** **test**: use fixture directories for sea tests (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
- \[[`ff1fcabfc9`](https://github.com/nodejs/node/commit/ff1fcabfc9)] - **(SEMVER-MINOR)** **test_runner**: support expecting a test-case to fail (Jacob Smith) [#60669](https://github.com/nodejs/node/pull/60669)

### Commits

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