From c836bd6746b4438734d76afb176b6b7bd459b1c7 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 29 Jul 2025 09:26:32 +0200 Subject: [PATCH] 2025-07-31, Version 24.5.0 (Current) Notable changes: cli: * (SEMVER-MINOR) support `${pid}` placeholder in `--cpu-prof-name` (Haram Jeong) https://github.com/nodejs/node/pull/59072 crypto: * (SEMVER-MINOR) add `tls.setDefaultCACertificates()` (Joyee Cheung) https://github.com/nodejs/node/pull/58822 deps: * upgrade to openssl-3.5.1 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/59234 dns: * (SEMVER-MINOR) support max timeout (theanarkh) https://github.com/nodejs/node/pull/58440 doc: * update the instruction on how to verify releases (Antoine du Hamel) https://github.com/nodejs/node/pull/59113 esm: * (SEMVER-MINOR) unflag `--experimental-wasm-modules` (Guy Bedford) https://github.com/nodejs/node/pull/57038 http,https: * (SEMVER-MINOR) add built-in proxy support in http/https.request and `Agent` (Joyee Cheung) https://github.com/nodejs/node/pull/58980 net: * (SEMVER-MINOR) update net.blocklist to allow file save and file management (alphaleadership) https://github.com/nodejs/node/pull/58087 test: * (SEMVER-MINOR) move http proxy tests to test/client-proxy (Joyee Cheung) https://github.com/nodejs/node/pull/58980 worker: * (SEMVER-MINOR) add web locks api (ishabi) https://github.com/nodejs/node/pull/58666 PR-URL: https://github.com/nodejs/node/pull/59257 --- CHANGELOG.md | 3 +- doc/api/cli.md | 4 +- doc/api/esm.md | 6 +- doc/api/globals.md | 2 +- doc/api/http.md | 6 +- doc/api/https.md | 4 +- doc/api/inspector.md | 2 +- doc/api/net.md | 4 +- doc/api/tls.md | 2 +- doc/api/worker_threads.md | 14 +-- doc/changelogs/CHANGELOG_V24.md | 173 ++++++++++++++++++++++++++++++++ 11 files changed, 197 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 475539b55bf..c95772ed7be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,7 +39,8 @@ release. -24.4.1
+24.5.0
+24.4.1
24.4.0
24.3.0
24.2.0
diff --git a/doc/api/cli.md b/doc/api/cli.md index bf9a5374d17..403fd704c32 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -1076,7 +1076,7 @@ Previously gated the entire `import.meta.resolve` feature. > Stability: 1.1 - Active Development @@ -3024,7 +3024,7 @@ See `SSL_CERT_DIR` and `SSL_CERT_FILE`. ### `--use-env-proxy` > Stability: 1.1 - Active Development diff --git a/doc/api/esm.md b/doc/api/esm.md index 8f72fcb9865..db0ddefcb9b 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -708,7 +708,7 @@ imported from the same path. @@ -759,7 +759,7 @@ const instance = await WebAssembly.instantiate(dynamicLibrary, importObject); > Stability: 1.2 - Release candidate When importing WebAssembly modules, the @@ -832,7 +832,7 @@ would provide the exports interface for the instantiation of `library.wasm`. ### Reserved Wasm Namespaces When importing WebAssembly module instances, they cannot use import module diff --git a/doc/api/globals.md b/doc/api/globals.md index 0de73e58e94..1d9ea55f99a 100644 --- a/doc/api/globals.md +++ b/doc/api/globals.md @@ -771,7 +771,7 @@ console.log(`The user-agent is ${navigator.userAgent}`); // Prints "Node.js/21" ### `navigator.locks` > Stability: 1 - Experimental diff --git a/doc/api/http.md b/doc/api/http.md index 2148ea36355..295c9e3642d 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -117,11 +117,11 @@ http.get({ added: v0.3.4 changes: - version: - - REPLACEME + - v24.5.0 pr-url: https://github.com/nodejs/node/pull/58980 description: Add support for `proxyEnv`. - version: - - REPLACEME + - v24.5.0 pr-url: https://github.com/nodejs/node/pull/58980 description: Add support for `defaultPort` and `protocol`. - version: @@ -4268,7 +4268,7 @@ A browser-compatible implementation of {WebSocket}. ## Built-in Proxy Support > Stability: 1.1 - Active development diff --git a/doc/api/https.md b/doc/api/https.md index e8560c26ba7..898966dca8b 100644 --- a/doc/api/https.md +++ b/doc/api/https.md @@ -66,11 +66,11 @@ An [`Agent`][] object for HTTPS similar to [`http.Agent`][]. See > Stability: 1.1 - Active Development diff --git a/doc/api/net.md b/doc/api/net.md index 40abf8ef245..cc34eac3643 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -186,7 +186,7 @@ added: > Stability: 1 - Experimental ```js @@ -208,7 +208,7 @@ blockList.fromJSON(JSON.stringify(data)); > Stability: 1 - Experimental * Returns Blocklist.rules diff --git a/doc/api/tls.md b/doc/api/tls.md index a39b724b830..423ed66f87f 100644 --- a/doc/api/tls.md +++ b/doc/api/tls.md @@ -2263,7 +2263,7 @@ The server can be tested by connecting to it using the example client from ## `tls.setDefaultCACertificates(certs)` * `certs` {string\[]|ArrayBufferView\[]} An array of CA certificates in PEM format. diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index 4cee686d28b..9a6093e45f3 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -758,7 +758,7 @@ if (isMainThread) { ## `worker.locks` > Stability: 1 - Experimental @@ -773,7 +773,7 @@ process. The API mirrors the semantics of the ### Class: `Lock` The `Lock` interface provides information about a lock that has been granted via @@ -782,7 +782,7 @@ The `Lock` interface provides information about a lock that has been granted via #### `lock.name` * {string} @@ -792,7 +792,7 @@ The name of the lock. #### `lock.mode` * {string} @@ -802,7 +802,7 @@ The mode of the lock. Either `shared` or `exclusive`. ### Class: `LockManager` The `LockManager` interface provides methods for requesting and introspecting @@ -823,7 +823,7 @@ This implementation matches the [browser `LockManager`][] API. #### `locks.request(name[, options], callback)` * `name` {string} @@ -867,7 +867,7 @@ locks.request('my_resource', async (lock) => { #### `locks.query()` * Returns: {Promise} diff --git a/doc/changelogs/CHANGELOG_V24.md b/doc/changelogs/CHANGELOG_V24.md index 7748140d813..0994f7cd51f 100644 --- a/doc/changelogs/CHANGELOG_V24.md +++ b/doc/changelogs/CHANGELOG_V24.md @@ -8,6 +8,7 @@ +24.5.0
24.4.1
24.4.0
24.3.0
@@ -46,6 +47,178 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + + +## 2025-07-31, Version 24.5.0 (Current), @aduh95 + +### Notable Changes + +#### Upgrade to OpenSSL 3.5 + +This release is distributed with OpenSSL 3.5.1, following the announcement that +OpenSSL 3.5 will be supported until April 2030, while Node.js 24 will be +supported until April 2028. Read more about OpenSSL support in their blog post: +. + +Contributed by Richard Lau in [#58100](https://github.com/nodejs/node/pull/58100). + +#### Unflag `--experimental-wasm-modules` + +Node.js supports both source phase imports and instance phase imports to WebAssembly +modules and for WASM imports to JavaScript, in line with the current Phase 3 +WebAssembly [ESM Integration](https://github.com/webassembly/esm-integration) proposal. +The implementation and the specification are still subject to change. + +Contributed by Guy Bedford in [#57038](https://github.com/nodejs/node/pull/57038). + +#### Built-in proxy support in `request()` and `Agent` + +`node:http` and `node:https` now support proxies. When `NODE_USE_ENV_PROXY` +is set to `1`, the default global agent would parse the `http_proxy`/`HTTP_PROXY`, +`https_proxy`/`HTTPS_PROXY`, `no_proxy`/`NO_PROXY` settings from the +environment variables, and proxy the requests sent through the built-in http/https +client accordingly. + +To use global proxy support from the command line: + +```bash +NODE_USE_ENV_PROXY=1 HTTP_PROXY=http://proxy.example.com:8080 HTTPS_PROXY=http://proxy.example.com:8080 NO_PROXY=localhost,127.0.0.1 node client.js +``` + +In addition, `http.Agent` and `https.Agent` now support the custom `proxyEnv` options. + +```js +const agent = new https.Agent({ proxyEnv: { HTTPS_PROXY: 'http://proxy.example.com:8080' } }); +``` + +For reference, `fetch()` already supports `NODE_USE_ENV_PROXY` as of Node.js 24.0.0. + +Contributed by Joyee Cheung in . + +#### Add `setDefaultCACertificates()` to `node:tls` + +This API allows dynamically configuring CA certificates that will be used by the +Node.js TLS clients by default. + +Once called, the provided certificates will become the default CA certificate list +returned by `tls.getCACertificates('default')` and used by TLS connections that +don't specify their own CA certificates. + +To add system CA certificates to the default bundle (which includes the Mozilla +CA certificates): + +```js +tls.setDefaultCACertificates(tls.getCACertificates('default').concat(tls.getCACertificates('system'))); +``` + +Contributed by Joyee Cheung in . + +#### Other notable changes + +* \[[`d5640ca58a`](https://github.com/nodejs/node/commit/d5640ca58a)] - **(SEMVER-MINOR)** **cli**: support `${pid}` placeholder in `--cpu-prof-name` (Haram Jeong) [#59072](https://github.com/nodejs/node/pull/59072) +* \[[`c52aaacfc5`](https://github.com/nodejs/node/commit/c52aaacfc5)] - **(SEMVER-MINOR)** **dns**: support max timeout (theanarkh) [#58440](https://github.com/nodejs/node/pull/58440) +* \[[`927742b342`](https://github.com/nodejs/node/commit/927742b342)] - **doc**: update the instruction on how to verify releases (Antoine du Hamel) [#59113](https://github.com/nodejs/node/pull/59113) +* \[[`f753645cd8`](https://github.com/nodejs/node/commit/f753645cd8)] - **(SEMVER-MINOR)** **net**: update net.blocklist to allow file save and file management (alphaleadership) [#58087](https://github.com/nodejs/node/pull/58087) +* \[[`9791ff3480`](https://github.com/nodejs/node/commit/9791ff3480)] - **(SEMVER-MINOR)** **worker**: add web locks api (ishabi) [#58666](https://github.com/nodejs/node/pull/58666) + +### Commits + +* \[[`5457c7a8a1`](https://github.com/nodejs/node/commit/5457c7a8a1)] - **benchmark**: adjust configuration for string-decoder bench (Rafael Gonzaga) [#59187](https://github.com/nodejs/node/pull/59187) +* \[[`28538f2255`](https://github.com/nodejs/node/commit/28538f2255)] - **benchmark**: add --track to benchmark (Rafael Gonzaga) [#59174](https://github.com/nodejs/node/pull/59174) +* \[[`a28d804497`](https://github.com/nodejs/node/commit/a28d804497)] - **benchmark**: small lint fix on \_cli.js (Rafael Gonzaga) [#59172](https://github.com/nodejs/node/pull/59172) +* \[[`09717eb68e`](https://github.com/nodejs/node/commit/09717eb68e)] - **benchmark**: drop misc/punycode benchmark (Rafael Gonzaga) [#59171](https://github.com/nodejs/node/pull/59171) +* \[[`ad6757ef02`](https://github.com/nodejs/node/commit/ad6757ef02)] - **benchmark**: fix sqlite-is-transaction (Rafael Gonzaga) [#59170](https://github.com/nodejs/node/pull/59170) +* \[[`7fc3143f61`](https://github.com/nodejs/node/commit/7fc3143f61)] - **benchmark**: reduce N for diagnostics\_channel subscribe benchmark (Arthur Angelo) [#59116](https://github.com/nodejs/node/pull/59116) +* \[[`f2812723a0`](https://github.com/nodejs/node/commit/f2812723a0)] - **buffer**: cache Environment::GetCurrent to avoid repeated calls (Mert Can Altin) [#59043](https://github.com/nodejs/node/pull/59043) +* \[[`e3e729ca60`](https://github.com/nodejs/node/commit/e3e729ca60)] - **build**: remove suppressions.supp (Rafael Gonzaga) [#59079](https://github.com/nodejs/node/pull/59079) +* \[[`dc66422768`](https://github.com/nodejs/node/commit/dc66422768)] - **build,deps,tools**: prepare to update to OpenSSL 3.5 (Richard Lau) [#58100](https://github.com/nodejs/node/pull/58100) +* \[[`f5da4947d9`](https://github.com/nodejs/node/commit/f5da4947d9)] - **cli**: add --use-env-proxy (Joyee Cheung) [#59151](https://github.com/nodejs/node/pull/59151) +* \[[`d5640ca58a`](https://github.com/nodejs/node/commit/d5640ca58a)] - **(SEMVER-MINOR)** **cli**: support `${pid}` placeholder in --cpu-prof-name (Haram Jeong) [#59072](https://github.com/nodejs/node/pull/59072) +* \[[`eeeb40e95b`](https://github.com/nodejs/node/commit/eeeb40e95b)] - **(SEMVER-MINOR)** **crypto**: add tls.setDefaultCACertificates() (Joyee Cheung) [#58822](https://github.com/nodejs/node/pull/58822) +* \[[`135fca5b72`](https://github.com/nodejs/node/commit/135fca5b72)] - **crypto**: avoid copying buffers to UTF-8 strings in `crypto.hash()` (Renegade334) [#59067](https://github.com/nodejs/node/pull/59067) +* \[[`998cef10e3`](https://github.com/nodejs/node/commit/998cef10e3)] - **deps**: update archs files for openssl-3.5.1 (Node.js GitHub Bot) [#59234](https://github.com/nodejs/node/pull/59234) +* \[[`1f06ca956a`](https://github.com/nodejs/node/commit/1f06ca956a)] - **deps**: upgrade openssl sources to openssl-3.5.1 (Node.js GitHub Bot) [#59234](https://github.com/nodejs/node/pull/59234) +* \[[`55a90eed8d`](https://github.com/nodejs/node/commit/55a90eed8d)] - **deps**: upgrade npm to 11.5.1 (npm team) [#59199](https://github.com/nodejs/node/pull/59199) +* \[[`2b5d451ae0`](https://github.com/nodejs/node/commit/2b5d451ae0)] - **deps**: update amaro to 1.1.1 (Node.js GitHub Bot) [#59141](https://github.com/nodejs/node/pull/59141) +* \[[`af789d9b5c`](https://github.com/nodejs/node/commit/af789d9b5c)] - **deps**: update undici to 7.12.0 (Node.js GitHub Bot) [#59135](https://github.com/nodejs/node/pull/59135) +* \[[`a34e44545e`](https://github.com/nodejs/node/commit/a34e44545e)] - **deps**: update sqlite to 3.50.3 (Node.js GitHub Bot) [#59132](https://github.com/nodejs/node/pull/59132) +* \[[`bfe4781c7d`](https://github.com/nodejs/node/commit/bfe4781c7d)] - **deps**: update googletest to 7e17b15 (Node.js GitHub Bot) [#59131](https://github.com/nodejs/node/pull/59131) +* \[[`72adf52e51`](https://github.com/nodejs/node/commit/72adf52e51)] - **deps**: update ada to 3.2.6 (Node.js GitHub Bot) [#58966](https://github.com/nodejs/node/pull/58966) +* \[[`2a5f35b589`](https://github.com/nodejs/node/commit/2a5f35b589)] - **deps**: V8: cherry-pick 3d750c2aa9ef (Michaël Zasso) [#58750](https://github.com/nodejs/node/pull/58750) +* \[[`3f813eaba7`](https://github.com/nodejs/node/commit/3f813eaba7)] - **deps**: update archs files for openssl-3.0.17 (Node.js GitHub Bot) [#59134](https://github.com/nodejs/node/pull/59134) +* \[[`fb52d0d8df`](https://github.com/nodejs/node/commit/fb52d0d8df)] - **deps**: upgrade openssl sources to openssl-3.0.17 (Node.js GitHub Bot) [#59134](https://github.com/nodejs/node/pull/59134) +* \[[`f122602f9d`](https://github.com/nodejs/node/commit/f122602f9d)] - **deps**: update corepack to 0.34.0 (Node.js GitHub Bot) [#59133](https://github.com/nodejs/node/pull/59133) +* \[[`c52aaacfc5`](https://github.com/nodejs/node/commit/c52aaacfc5)] - **(SEMVER-MINOR)** **dns**: support max timeout (theanarkh) [#58440](https://github.com/nodejs/node/pull/58440) +* \[[`927742b342`](https://github.com/nodejs/node/commit/927742b342)] - **doc**: update the instruction on how to verify releases (Antoine du Hamel) [#59113](https://github.com/nodejs/node/pull/59113) +* \[[`9a8d2020ad`](https://github.com/nodejs/node/commit/9a8d2020ad)] - **doc**: copyedit SECURITY.md (Rich Trott) [#59190](https://github.com/nodejs/node/pull/59190) +* \[[`3da5bc0668`](https://github.com/nodejs/node/commit/3da5bc0668)] - **doc**: fix broken sentence in `URL.parse` (Superchupu) [#59164](https://github.com/nodejs/node/pull/59164) +* \[[`06cd7461e0`](https://github.com/nodejs/node/commit/06cd7461e0)] - **doc**: improve onboarding instructions (Joyee Cheung) [#59159](https://github.com/nodejs/node/pull/59159) +* \[[`dfb72d158b`](https://github.com/nodejs/node/commit/dfb72d158b)] - **doc**: add constraints for mem leak to threat model (Rafael Gonzaga) [#58917](https://github.com/nodejs/node/pull/58917) +* \[[`51b8dfd5c6`](https://github.com/nodejs/node/commit/51b8dfd5c6)] - **doc**: add Aditi-1400 to collaborators (Aditi) [#59157](https://github.com/nodejs/node/pull/59157) +* \[[`4ffa756ce3`](https://github.com/nodejs/node/commit/4ffa756ce3)] - **doc**: avoid suggesting testing fast api with intense loop (Chengzhong Wu) [#59111](https://github.com/nodejs/node/pull/59111) +* \[[`6f81b274f7`](https://github.com/nodejs/node/commit/6f81b274f7)] - **doc**: fix typo in writing-test.md (SeokHun) [#59123](https://github.com/nodejs/node/pull/59123) +* \[[`88e434e687`](https://github.com/nodejs/node/commit/88e434e687)] - **doc**: add new environment variables doc page (Dario Piotrowicz) [#59052](https://github.com/nodejs/node/pull/59052) +* \[[`b1a318d706`](https://github.com/nodejs/node/commit/b1a318d706)] - **doc**: update release key for aduh95 (Antoine du Hamel) [#58877](https://github.com/nodejs/node/pull/58877) +* \[[`34c49000c9`](https://github.com/nodejs/node/commit/34c49000c9)] - **doc**: add missing section for `setReturnArrays` in `sqlite.md` (Edy Silva) [#59074](https://github.com/nodejs/node/pull/59074) +* \[[`9b2e965aff`](https://github.com/nodejs/node/commit/9b2e965aff)] - **doc**: add RafaelGSS as steward July 25 (Rafael Gonzaga) [#59078](https://github.com/nodejs/node/pull/59078) +* \[[`2d1dcb87e6`](https://github.com/nodejs/node/commit/2d1dcb87e6)] - **doc**: clarify ERR\_FS\_FILE\_TOO\_LARGE to reflect fs.readFile() I/O limit (Haram Jeong) [#59050](https://github.com/nodejs/node/pull/59050) +* \[[`999b5e51e7`](https://github.com/nodejs/node/commit/999b5e51e7)] - **doc**: run license-builder (github-actions\[bot]) [#59056](https://github.com/nodejs/node/pull/59056) +* \[[`1940a2cb46`](https://github.com/nodejs/node/commit/1940a2cb46)] - **doc**: fix typed list formatting (Aviv Keller) [#59019](https://github.com/nodejs/node/pull/59019) +* \[[`6cb5e0d22f`](https://github.com/nodejs/node/commit/6cb5e0d22f)] - **doc**: refine `util.parseArgs` `default` definition (Slayer95) [#58958](https://github.com/nodejs/node/pull/58958) +* \[[`d2e7f8e13a`](https://github.com/nodejs/node/commit/d2e7f8e13a)] - **doc**: remove unused import in `zlib.md` (coderaiser) [#59041](https://github.com/nodejs/node/pull/59041) +* \[[`9d02960149`](https://github.com/nodejs/node/commit/9d02960149)] - **doc**: add missing environment variables to manpage (amir lavasani) [#58963](https://github.com/nodejs/node/pull/58963) +* \[[`45ffdb34fb`](https://github.com/nodejs/node/commit/45ffdb34fb)] - **doc**: add stability index to the `--watch-kill-signal` flag (Dario Piotrowicz) [#58997](https://github.com/nodejs/node/pull/58997) +* \[[`3924c43600`](https://github.com/nodejs/node/commit/3924c43600)] - **doc**: add missing `` blocks (Antoine du Hamel) [#58995](https://github.com/nodejs/node/pull/58995) +* \[[`cb95e183f3`](https://github.com/nodejs/node/commit/cb95e183f3)] - **doc**: add scroll margin to links (Roman Reiss) [#58982](https://github.com/nodejs/node/pull/58982) +* \[[`c9ded6ba15`](https://github.com/nodejs/node/commit/c9ded6ba15)] - **doc**: add sponsorship link to RafaelGSS (Rafael Gonzaga) [#58983](https://github.com/nodejs/node/pull/58983) +* \[[`b919fe0447`](https://github.com/nodejs/node/commit/b919fe0447)] - **(SEMVER-MINOR)** **esm**: unflag --experimental-wasm-modules (Guy Bedford) [#57038](https://github.com/nodejs/node/pull/57038) +* \[[`71bb6cd077`](https://github.com/nodejs/node/commit/71bb6cd077)] - **esm**: js-string Wasm builtins in ESM Integration (Guy Bedford) [#59020](https://github.com/nodejs/node/pull/59020) +* \[[`8d869e6d62`](https://github.com/nodejs/node/commit/8d869e6d62)] - **fs**: fix return value of fs APIs (theanarkh) [#58996](https://github.com/nodejs/node/pull/58996) +* \[[`7f654cee9e`](https://github.com/nodejs/node/commit/7f654cee9e)] - **(SEMVER-MINOR)** **http,https**: add built-in proxy support in http/https.request and Agent (Joyee Cheung) [#58980](https://github.com/nodejs/node/pull/58980) +* \[[`85d6a28f4f`](https://github.com/nodejs/node/commit/85d6a28f4f)] - **inspector**: initial support for Network.loadNetworkResource (Shima Ryuhei) [#58077](https://github.com/nodejs/node/pull/58077) +* \[[`cfaa299f2e`](https://github.com/nodejs/node/commit/cfaa299f2e)] - **lib**: fix incorrect `ArrayBufferPrototypeGetDetached` primordial type (Dario Piotrowicz) [#58978](https://github.com/nodejs/node/pull/58978) +* \[[`d555db22ad`](https://github.com/nodejs/node/commit/d555db22ad)] - **lib**: flag to conditionally modify proto on deprecate (Rafael Gonzaga) [#58928](https://github.com/nodejs/node/pull/58928) +* \[[`96c9dd79e6`](https://github.com/nodejs/node/commit/96c9dd79e6)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#59140](https://github.com/nodejs/node/pull/59140) +* \[[`324d9fc9d4`](https://github.com/nodejs/node/commit/324d9fc9d4)] - **meta**: enable jsdoc/check-tag-names rule (Yagiz Nizipli) [#58521](https://github.com/nodejs/node/pull/58521) +* \[[`04c751463b`](https://github.com/nodejs/node/commit/04c751463b)] - **meta**: add marco-ippolito to security release stewards (Marco Ippolito) [#58944](https://github.com/nodejs/node/pull/58944) +* \[[`fe0195fdcc`](https://github.com/nodejs/node/commit/fe0195fdcc)] - **module**: fix conditions override in synchronous resolve hooks (Joyee Cheung) [#59011](https://github.com/nodejs/node/pull/59011) +* \[[`515b581d47`](https://github.com/nodejs/node/commit/515b581d47)] - **module**: throw error when re-runing errored module jobs (Joyee Cheung) [#58957](https://github.com/nodejs/node/pull/58957) +* \[[`f753645cd8`](https://github.com/nodejs/node/commit/f753645cd8)] - **(SEMVER-MINOR)** **net**: update net.blocklist to allow file save and file management (alphaleadership) [#58087](https://github.com/nodejs/node/pull/58087) +* \[[`15e6c28d82`](https://github.com/nodejs/node/commit/15e6c28d82)] - **node-api,doc**: update links to ecma262 with section names (Chengzhong Wu) [#59087](https://github.com/nodejs/node/pull/59087) +* \[[`f67b686551`](https://github.com/nodejs/node/commit/f67b686551)] - **perf\_hooks**: do not expose SafeMap via Histogram wrapper (René) [#59094](https://github.com/nodejs/node/pull/59094) +* \[[`3d2f919f7c`](https://github.com/nodejs/node/commit/3d2f919f7c)] - **process**: make execve's args argument optional (Allon Murienik) [#58412](https://github.com/nodejs/node/pull/58412) +* \[[`1a44265810`](https://github.com/nodejs/node/commit/1a44265810)] - **repl**: handle errors from getters during completion (Shima Ryuhei) [#59044](https://github.com/nodejs/node/pull/59044) +* \[[`467dbd31e6`](https://github.com/nodejs/node/commit/467dbd31e6)] - **repl**: fix repl crashing on variable declarations without init (Dario Piotrowicz) [#59032](https://github.com/nodejs/node/pull/59032) +* \[[`3a3eb6852d`](https://github.com/nodejs/node/commit/3a3eb6852d)] - **repl**: improve REPL disabling completion on proxies and getters (Dario Piotrowicz) [#58891](https://github.com/nodejs/node/pull/58891) +* \[[`55838e79b8`](https://github.com/nodejs/node/commit/55838e79b8)] - **src**: call unmask after install signal handler (theanarkh) [#59059](https://github.com/nodejs/node/pull/59059) +* \[[`77649ad93b`](https://github.com/nodejs/node/commit/77649ad93b)] - **src**: use `FastStringKey` for `TrackV8FastApiCall` (Anna Henningsen) [#59148](https://github.com/nodejs/node/pull/59148) +* \[[`86babf9c4b`](https://github.com/nodejs/node/commit/86babf9c4b)] - **src**: use C++20 `consteval` for `FastStringKey` (Anna Henningsen) [#59148](https://github.com/nodejs/node/pull/59148) +* \[[`88b99eeae1`](https://github.com/nodejs/node/commit/88b99eeae1)] - **src**: remove declarations of removed BaseObject static fns (Anna Henningsen) [#59093](https://github.com/nodejs/node/pull/59093) +* \[[`d89390fc8f`](https://github.com/nodejs/node/commit/d89390fc8f)] - **src**: add cache to nearest parent package json (Ilyas Shabi) [#59086](https://github.com/nodejs/node/pull/59086) +* \[[`21780075e4`](https://github.com/nodejs/node/commit/21780075e4)] - **src**: check import attributes value types as strings (Chengzhong Wu) [#58986](https://github.com/nodejs/node/pull/58986) +* \[[`ef89c2fac9`](https://github.com/nodejs/node/commit/ef89c2fac9)] - **src,test**: fix config file parsing for flags defaulted to true (Edy Silva) [#59110](https://github.com/nodejs/node/pull/59110) +* \[[`1e990866e0`](https://github.com/nodejs/node/commit/1e990866e0)] - **test**: mark web lock held test as flaky (Ilyas Shabi) [#59144](https://github.com/nodejs/node/pull/59144) +* \[[`ba8e95a785`](https://github.com/nodejs/node/commit/ba8e95a785)] - **test**: use mustSucceed in test-fs-read (Sungwon) [#59204](https://github.com/nodejs/node/pull/59204) +* \[[`39978f507f`](https://github.com/nodejs/node/commit/39978f507f)] - **test**: prepare test-crypto-rsa-dsa for newer OpenSSL (Richard Lau) [#58100](https://github.com/nodejs/node/pull/58100) +* \[[`1c3aadb9d6`](https://github.com/nodejs/node/commit/1c3aadb9d6)] - **test**: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) [#59158](https://github.com/nodejs/node/pull/59158) +* \[[`a0d22e9c51`](https://github.com/nodejs/node/commit/a0d22e9c51)] - **test**: remove timeout in test-https-proxy-request-handshake-failure (Joyee Cheung) [#59165](https://github.com/nodejs/node/pull/59165) +* \[[`7e0a0fccc1`](https://github.com/nodejs/node/commit/7e0a0fccc1)] - **test**: expand linting rules around `assert` w literal messages (Anna Henningsen) [#59147](https://github.com/nodejs/node/pull/59147) +* \[[`c6070046c3`](https://github.com/nodejs/node/commit/c6070046c3)] - **test**: update WPT for WebCryptoAPI to ab08796857 (Node.js GitHub Bot) [#59129](https://github.com/nodejs/node/pull/59129) +* \[[`15d8cc908e`](https://github.com/nodejs/node/commit/15d8cc908e)] - **test**: update WPT for WebCryptoAPI to 19d82c57ab (Node.js GitHub Bot) [#59129](https://github.com/nodejs/node/pull/59129) +* \[[`83023e5144`](https://github.com/nodejs/node/commit/83023e5144)] - **test**: skip tests that cause timeouts on IBM i (Abdirahim Musse) [#59014](https://github.com/nodejs/node/pull/59014) +* \[[`82d4175ec3`](https://github.com/nodejs/node/commit/82d4175ec3)] - **test**: update `startCLI` to set `--port=0` by default (Dario Piotrowicz) [#59042](https://github.com/nodejs/node/pull/59042) +* \[[`16dc53c143`](https://github.com/nodejs/node/commit/16dc53c143)] - **(SEMVER-MINOR)** **test**: move http proxy tests to test/client-proxy (Joyee Cheung) [#58980](https://github.com/nodejs/node/pull/58980) +* \[[`a9511a6066`](https://github.com/nodejs/node/commit/a9511a6066)] - **test**: mark test-inspector-network-fetch as flaky on Windows (Joyee Cheung) [#59091](https://github.com/nodejs/node/pull/59091) +* \[[`1cffcc02a3`](https://github.com/nodejs/node/commit/1cffcc02a3)] - **test**: add missing port=0 arg in test-debugger-extract-function-name (Dario Piotrowicz) [#58977](https://github.com/nodejs/node/pull/58977) +* \[[`83cdf1701b`](https://github.com/nodejs/node/commit/83cdf1701b)] - **test\_runner**: clean up promisified interval generation (René) [#58824](https://github.com/nodejs/node/pull/58824) +* \[[`195d6038dc`](https://github.com/nodejs/node/commit/195d6038dc)] - **tools**: clarify README linter error message (Joyee Cheung) [#59160](https://github.com/nodejs/node/pull/59160) +* \[[`51f578a3bf`](https://github.com/nodejs/node/commit/51f578a3bf)] - **tools**: add support for URLs to PR commits in `merge.sh` (Antoine du Hamel) [#59162](https://github.com/nodejs/node/pull/59162) +* \[[`20be9012eb`](https://github.com/nodejs/node/commit/20be9012eb)] - **tools**: bump @eslint/plugin-kit from 0.3.1 to 0.3.3 in /tools/eslint (dependabot\[bot]) [#59119](https://github.com/nodejs/node/pull/59119) +* \[[`623e264e93`](https://github.com/nodejs/node/commit/623e264e93)] - **tools**: ignore CVE mention when linting release proposals (Antoine du Hamel) [#59037](https://github.com/nodejs/node/pull/59037) +* \[[`0e547e09ab`](https://github.com/nodejs/node/commit/0e547e09ab)] - **tools,test**: enforce best practices to detect never settling promises (Antoine du Hamel) [#58992](https://github.com/nodejs/node/pull/58992) +* \[[`075d1968db`](https://github.com/nodejs/node/commit/075d1968db)] - **util**: respect nested formats in styleText (Alex Yang) [#59098](https://github.com/nodejs/node/pull/59098) +* \[[`9791ff3480`](https://github.com/nodejs/node/commit/9791ff3480)] - **(SEMVER-MINOR)** **worker**: add web locks api (ishabi) [#58666](https://github.com/nodejs/node/pull/58666) + ## 2025-07-15, Version 24.4.1 (Current), @RafaelGSS