Commit b22fea5f253 for nodejs
commit b22fea5f2539ae4a1fb9a7fb31aad6b3e0cf1f3b
Author: Node.js GitHub Bot <github-bot@iojs.org>
Date: Sun Oct 11 18:24:40 2026 -0400
2026-10-14, Version 24.22.0 'Krypton' (LTS)
Notable changes:
crypto:
* (SEMVER-MINOR) add crypto.parsePKCS12() (Brian Muenzenmeyer) https://github.com/nodejs/node/pull/65627
* (SEMVER-MINOR) add a generic MAC API (Filip Skokan) https://github.com/nodejs/node/pull/65553
* (SEMVER-MINOR) discover ciphers from OpenSSL providers (Filip Skokan) https://github.com/nodejs/node/pull/65484
* (SEMVER-MINOR) discover hashes from OpenSSL providers (Filip Skokan) https://github.com/nodejs/node/pull/65484
* (SEMVER-MINOR) enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) https://github.com/nodejs/node/pull/63411
doc:
* add araujogui to collaborators (Guilherme Araújo) https://github.com/nodejs/node/pull/66090
* deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) https://github.com/nodejs/node/pull/65593
net:
* (SEMVER-MINOR) support sending net.BoundSocket to threads and child processes (Guy Bedford) https://github.com/nodejs/node/pull/64725
perf_hooks:
* (SEMVER-MINOR) implement SlidingWindowHistogram (James M Snell) https://github.com/nodejs/node/pull/65825
* (SEMVER-MINOR) implement qrde analysis support in Histogram (James M Snell) https://github.com/nodejs/node/pull/65806
* (SEMVER-MINOR) implement Histogram meanCI API (James M Snell) https://github.com/nodejs/node/pull/65606
* (SEMVER-MINOR) add CBOR export/import for histogram exchange (James M Snell) https://github.com/nodejs/node/pull/65434
sqlite:
* (SEMVER-MINOR) add StatementSync.prototype.close() (Guilherme Araújo) https://github.com/nodejs/node/pull/64232
* (SEMVER-MINOR) add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) https://github.com/nodejs/node/pull/64232
src,lib:
* (SEMVER-MINOR) add util.markPromiseAsHandled (James M Snell) https://github.com/nodejs/node/pull/65805
util:
* (SEMVER-MINOR) implement util.throttle (James M Snell) https://github.com/nodejs/node/pull/65899
* (SEMVER-MINOR) implement debounce (James M Snell) https://github.com/nodejs/node/pull/65899
PR-URL: https://github.com/nodejs/node/pull/66667
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7e0556d91fd..f04a46d8357 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -60,7 +60,8 @@ release.
<a href="doc/changelogs/CHANGELOG_V26.md#26.0.0">26.0.0</a><br/>
</td>
<td valign="top">
-<b><a href="doc/changelogs/CHANGELOG_V24.md#24.21.0">24.21.0</a></b><br/>
+<b><a href="doc/changelogs/CHANGELOG_V24.md#24.22.0">24.22.0</a></b><br/>
+<a href="doc/changelogs/CHANGELOG_V24.md#24.21.0">24.21.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V24.md#24.20.0">24.20.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V24.md#24.19.0">24.19.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V24.md#24.18.1">24.18.1</a><br/>
diff --git a/doc/api/child_process.md b/doc/api/child_process.md
index 3f82fb56a88..28729ef788a 100644
--- a/doc/api/child_process.md
+++ b/doc/api/child_process.md
@@ -1893,7 +1893,9 @@ subprocess.ref();
<!-- YAML
added: v0.5.9
changes:
- - version: v26.10.0
+ - version:
+ - v26.10.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/64725
description: '`net.BoundSocket` instances can now be sent.'
- version: v5.8.0
diff --git a/doc/api/cli.md b/doc/api/cli.md
index fcca81b1598..e1e3c1d410d 100644
--- a/doc/api/cli.md
+++ b/doc/api/cli.md
@@ -1231,7 +1231,9 @@ Node.js must be built against a FIPS-capable OpenSSL.
### `--enable-fips-indicator-events`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
Publish OpenSSL FIPS indicator results to the
@@ -1781,7 +1783,9 @@ Disable loading native addons that are not [context-aware][].
<!-- YAML
added: v6.0.0
changes:
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65645
description: Added the optional `provider` and `strict` modes.
-->
@@ -2974,7 +2978,9 @@ forked processes, or clustered processes.
<!-- YAML
added: v22.0.0
changes:
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/64606
description: Passing `--run` without a command lists the available scripts.
- version: v22.3.0
diff --git a/doc/api/crypto.md b/doc/api/crypto.md
index cafb38391b7..7dc48ec7b39 100644
--- a/doc/api/crypto.md
+++ b/doc/api/crypto.md
@@ -2546,7 +2546,9 @@ or `'private'` for private (asymmetric) keys.
## Class: `Mac`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* Extends: {stream.Transform}
@@ -2591,7 +2593,9 @@ console.log(mac.final('hex'));
### `mac.final([outputEncoding])`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* `outputEncoding` {string} The [encoding][] of the return value.
@@ -2611,7 +2615,9 @@ including when finalization fails. Later calls to `mac.update()` or
### `mac.update(data[, inputEncoding])`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* `data` {string|Buffer|TypedArray|DataView}
@@ -3667,13 +3673,17 @@ changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/63188
description: Passing a CryptoKey as `key` is no longer supported.
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65484
description: Additional ciphers available through OpenSSL providers (e.g.
SM4-GCM, SM4-CCM, SM4-XTS, CBC-CTS, and AES key-wrap variants)
are now supported. The `ctsMode` and `xtsStandard` options
were added.
- - version: v26.8.0
+ - version:
+ - v26.8.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/63411
description: Ciphers in SIV and GCM-SIV modes are now supported.
- version: v26.0.0
@@ -3779,13 +3789,17 @@ changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/63188
description: Passing a CryptoKey as `key` is no longer supported.
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65484
description: Additional ciphers available through OpenSSL providers (e.g.
SM4-GCM, SM4-CCM, SM4-XTS, CBC-CTS, and AES key-wrap variants)
are now supported. The `ctsMode` and `xtsStandard` options
were added.
- - version: v26.8.0
+ - version:
+ - v26.8.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/63411
description: Ciphers in SIV and GCM-SIV modes are now supported.
- version: v26.0.0
@@ -3961,7 +3975,9 @@ changes:
pr-url: https://github.com/nodejs/node/pull/64000
description: The `outputLength` option is now required for XOF
hash functions without default output lengths.
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65484
description: Hash algorithms exposed by OpenSSL providers are now
supported. The `functionName` and `customization` options
@@ -4161,7 +4177,9 @@ input.on('readable', () => {
### `crypto.createMac(algorithm, key[, options])`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
> Stability: 1.2 - Release candidate
@@ -5202,7 +5220,9 @@ mode][].
<!-- YAML
added: v0.9.3
changes:
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65484
description: Names and aliases exposed by loaded OpenSSL providers that
match the default property query are now included.
@@ -5241,7 +5261,9 @@ console.log(getHashes()); // ['DSA', 'DSA-SHA', 'DSA-SHA1', ...]
### `crypto.getMacs()`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
> Stability: 1.2 - Release candidate
@@ -5296,7 +5318,9 @@ changes:
pr-url: https://github.com/nodejs/node/pull/64000
description: The `outputLength` option is now required for XOF
hash functions without default output lengths.
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65484
description: Hash algorithms exposed by OpenSSL providers are now
supported. The `functionName` and `customization` options
@@ -5518,7 +5542,9 @@ console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653'
### `crypto.parsePKCS12(bundle[, options])`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `bundle` {ArrayBuffer|Buffer|TypedArray|DataView} A DER-encoded PKCS#12
@@ -5719,7 +5745,9 @@ changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/63188
description: Passing a CryptoKey as `privateKey` is no longer supported.
- - version: v26.8.0
+ - version:
+ - v26.8.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65073
description: The `mgf1Hash` option was added.
- version:
@@ -5880,7 +5908,9 @@ changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/63188
description: Passing a CryptoKey as `key` is no longer supported.
- - version: v26.8.0
+ - version:
+ - v26.8.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65073
description: The `mgf1Hash` option was added.
- version: v15.0.0
diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md
index 926529bcfb2..932e0ca1c1f 100644
--- a/doc/api/deprecations.md
+++ b/doc/api/deprecations.md
@@ -4709,9 +4709,14 @@ successfully before the response closed.
<!-- YAML
changes:
- - version: v26.8.2
+ - version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/64794
description: Runtime deprecation.
+ - version:
+ - v26.8.2
+ - v24.22.0
+ pr-url: https://github.com/nodejs/node/pull/64794
+ description: Documentation-only.
-->
Type: Runtime
@@ -4726,7 +4731,9 @@ calling or overriding `_listen2`.
<!-- YAML
changes:
- - version: v26.8.2
+ - version:
+ - v26.8.2
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/64342
description: Documentation-only deprecation.
-->
diff --git a/doc/api/diagnostics_channel.md b/doc/api/diagnostics_channel.md
index 50f364d594f..25e544ccf27 100644
--- a/doc/api/diagnostics_channel.md
+++ b/doc/api/diagnostics_channel.md
@@ -1573,7 +1573,9 @@ passed to `console.error()`.
#### Crypto
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
> Stability: 1 - Experimental
@@ -2003,7 +2005,9 @@ Emitted when a new thread is created.
#### SQLite
<!-- YAML
-added: v26.8.0
+added:
+ - v26.8.0
+ - v24.22.0
-->
> Stability: 1 - Experimental
diff --git a/doc/api/errors.md b/doc/api/errors.md
index d4464f8cd84..7db27654d99 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -1083,7 +1083,9 @@ The given crypto key object's type is invalid for the attempted operation.
### `ERR_CRYPTO_INVALID_MAC`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
An invalid MAC algorithm was specified.
@@ -1166,7 +1168,9 @@ OpenSSL with KEM support.
### `ERR_CRYPTO_MAC_FINALIZED`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
An operation was attempted on a `Mac` object after finalization was attempted
@@ -1177,7 +1181,9 @@ or an underlying MAC update failed.
### `ERR_CRYPTO_MAC_NOT_SUPPORTED`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
Node.js was built without support for the OpenSSL `EVP_MAC` API.
@@ -1187,7 +1193,9 @@ Node.js was built without support for the OpenSSL `EVP_MAC` API.
### `ERR_CRYPTO_MAC_UPDATE_FAILED`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
[`mac.update()`][] failed for an unspecified reason.
diff --git a/doc/api/perf_hooks.md b/doc/api/perf_hooks.md
index 4b169388d71..a1c87b0143b 100644
--- a/doc/api/perf_hooks.md
+++ b/doc/api/perf_hooks.md
@@ -1133,7 +1133,9 @@ before Node.js receives the first byte of the response from the server.
### `performanceResourceTiming.finalResponseHeadersStart`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* Type: {number}
@@ -1145,7 +1147,9 @@ as opposed to an interim response.
### `performanceResourceTiming.firstInterimResponseStart`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* Type: {number}
@@ -1161,7 +1165,9 @@ added:
- v18.2.0
- v16.17.0
changes:
- - version: v26.9.0
+ - version:
+ - v26.9.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65017
description: This property now returns `firstInterimResponseStart`
when it is non-zero.
@@ -1256,7 +1262,9 @@ content-codings.
### `performanceResourceTiming.renderBlockingStatus`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* Type: {string}
@@ -1266,7 +1274,9 @@ The render blocking status of the resource. It is either `'blocking'` or `'non-b
### `performanceResourceTiming.contentType`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* Type: {string}
@@ -1277,7 +1287,9 @@ string if it cannot be determined.
### `performanceResourceTiming.contentEncoding`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* Type: {string}
@@ -1760,7 +1772,9 @@ Returns a {RecordableHistogram}.
## `perf_hooks.createSlidingWindowHistogram(options)`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `options` {Object}
@@ -1815,7 +1829,9 @@ console.log(snapshot.percentile(99));
## `perf_hooks.importHistogram(data)`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
changes:
- version: v26.11.0
pr-url: https://github.com/nodejs/node/pull/66098
@@ -2505,7 +2521,9 @@ The mean of the recorded event loop delays.
### `histogram.meanCI([options])`
<!-- YAML
-added: v26.9.0
+added:
+ - v26.9.0
+ - v24.22.0
-->
* `options` {Object}
@@ -2660,7 +2678,9 @@ efficient pass over the histogram data. More efficient than calling
### `histogram.qrde([options])`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `options` {Object}
@@ -2977,7 +2997,9 @@ are clamped to zero. Increments `histogram.resetCount`.
## Class: `SlidingWindowHistogram`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
Records values into a lazily rotated ring of histogram chunks. Instances are
@@ -2991,7 +3013,9 @@ call `snapshot()` to materialize the current window as a {Histogram}.
### `slidingWindowHistogram.record(val)`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `val` {number|bigint} The amount to record. Must be an integer greater than or
@@ -3004,7 +3028,9 @@ exceed the configured `highest` value.
### `slidingWindowHistogram.reset()`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
Invalidates all chunks in the current window. Allocated chunks are reset
@@ -3013,7 +3039,9 @@ lazily when reused.
### `slidingWindowHistogram.snapshot()`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* Returns: {Histogram}
diff --git a/doc/api/sqlite.md b/doc/api/sqlite.md
index fab2864ca31..2df8dbcd6e7 100644
--- a/doc/api/sqlite.md
+++ b/doc/api/sqlite.md
@@ -455,7 +455,9 @@ wrapper around [`sqlite3_create_function_v2()`][].
<!-- YAML
added: v24.10.0
changes:
- - version: v26.8.0
+ - version:
+ - v26.8.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65156
description: Accessing the invoking database connection from the authorizer
callback now throws.
@@ -1264,7 +1266,9 @@ the values in `namedParameters` and `anonymousParameters`. See
### `statement.close()`
<!-- YAML
-added: v26.8.0
+added:
+ - v26.8.0
+ - v24.22.0
-->
Finalizes the prepared statement. An exception is thrown if the statement is
@@ -1540,7 +1544,9 @@ wrapper around [`sqlite3_sql()`][].
### `statement[Symbol.dispose]()`
<!-- YAML
-added: v26.8.0
+added:
+ - v26.8.0
+ - v24.22.0
-->
Finalizes the prepared statement. If the prepared statement is already
diff --git a/doc/api/tls.md b/doc/api/tls.md
index 7df2ab93860..7e4f77f3ced 100644
--- a/doc/api/tls.md
+++ b/doc/api/tls.md
@@ -1095,7 +1095,9 @@ property is set only when `tlsSocket.authorized === false`.
<!-- YAML
added: v0.11.4
changes:
- - version: v26.8.0
+ - version:
+ - v26.8.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/64677
description: On TLS 1.3, a resumed session where the client presented no
certificate is no longer reported as authorized.
diff --git a/doc/api/util.md b/doc/api/util.md
index 8714644a6fb..c30831019d0 100644
--- a/doc/api/util.md
+++ b/doc/api/util.md
@@ -390,7 +390,9 @@ property take precedence over `--trace-deprecation` and
## `util.debounce(fn, wait[, options])`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `fn` {Function} The function to debounce.
@@ -488,7 +490,9 @@ onInactivity();
## `util.throttle(fn, limit, interval[, options])`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `fn` {Function} The function to throttle.
@@ -1920,7 +1924,9 @@ deep strict equality.
## `util.markPromiseAsHandled(promise)`
<!-- YAML
-added: v26.10.0
+added:
+ - v26.10.0
+ - v24.22.0
-->
* `promise` {Promise} The promise to mark as handled
diff --git a/doc/api/webcrypto.md b/doc/api/webcrypto.md
index 609ebf00379..025ed3b0ee2 100644
--- a/doc/api/webcrypto.md
+++ b/doc/api/webcrypto.md
@@ -2,7 +2,9 @@
<!-- YAML
changes:
- - version: v26.10.0
+ - version:
+ - v26.10.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65759
description: Hybrid KEM algorithms are now supported.
- version:
@@ -1101,7 +1103,9 @@ The algorithms currently supported include:
<!-- YAML
added: v15.0.0
changes:
- - version: v26.10.0
+ - version:
+ - v26.10.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65759
description: Hybrid KEM algorithms are now supported.
- version:
@@ -1170,7 +1174,9 @@ Derives the public key from a given private key.
<!-- YAML
added: v15.0.0
changes:
- - version: v26.10.0
+ - version:
+ - v26.10.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65759
description: Hybrid KEM algorithms are now supported.
- version: v24.8.0
@@ -1240,7 +1246,9 @@ The {CryptoKey} (secret key) generating algorithms supported include:
<!-- YAML
added: v15.0.0
changes:
- - version: v26.10.0
+ - version:
+ - v26.10.0
+ - v24.22.0
pr-url: https://github.com/nodejs/node/pull/65759
description: Hybrid KEM algorithms are now supported.
- version:
diff --git a/doc/changelogs/CHANGELOG_V24.md b/doc/changelogs/CHANGELOG_V24.md
index b8bc22c8c5a..87366eb1fdf 100644
--- a/doc/changelogs/CHANGELOG_V24.md
+++ b/doc/changelogs/CHANGELOG_V24.md
@@ -9,6 +9,7 @@
</tr>
<tr>
<td>
+<a href="#24.22.0">24.22.0</a><br/>
<a href="#24.21.0">24.21.0</a><br/>
<a href="#24.20.0">24.20.0</a><br/>
<a href="#24.19.0">24.19.0</a><br/>
@@ -72,6 +73,372 @@
* [io.js](CHANGELOG_IOJS.md)
* [Archive](CHANGELOG_ARCHIVE.md)
+<a id="24.22.0"></a>
+
+## 2026-10-14, Version 24.22.0 'Krypton' (LTS), @richardlau prepared by @aduh95
+
+### Notable Changes
+
+* \[[`ddbf974b47`](https://github.com/nodejs/node/commit/ddbf974b47)] - **(SEMVER-MINOR)** **crypto**: add `crypto.parsePKCS12()` (Brian Muenzenmeyer) [#65627](https://github.com/nodejs/node/pull/65627)
+* \[[`c162c68ff0`](https://github.com/nodejs/node/commit/c162c68ff0)] - **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan) [#65553](https://github.com/nodejs/node/pull/65553)
+* \[[`a4ab3d84d7`](https://github.com/nodejs/node/commit/a4ab3d84d7)] - **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484)
+* \[[`c2f1e829ea`](https://github.com/nodejs/node/commit/c2f1e829ea)] - **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484)
+* \[[`51aad5a80d`](https://github.com/nodejs/node/commit/51aad5a80d)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#63411](https://github.com/nodejs/node/pull/63411)
+* \[[`d11c65d2f2`](https://github.com/nodejs/node/commit/d11c65d2f2)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#66090](https://github.com/nodejs/node/pull/66090)
+* \[[`acc1578179`](https://github.com/nodejs/node/commit/acc1578179)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#65593](https://github.com/nodejs/node/pull/65593)
+* \[[`a7f8de6362`](https://github.com/nodejs/node/commit/a7f8de6362)] - **(SEMVER-MINOR)** **net**: support sending `net.BoundSocket` to threads and child processes (Guy Bedford) [#64725](https://github.com/nodejs/node/pull/64725)
+* \[[`60c3eb61bd`](https://github.com/nodejs/node/commit/60c3eb61bd)] - **(SEMVER-MINOR)** **perf\_hooks**: implement `SlidingWindowHistogram` (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825)
+* \[[`6b3e6f9d5c`](https://github.com/nodejs/node/commit/6b3e6f9d5c)] - **(SEMVER-MINOR)** **perf\_hooks**: implement qrde analysis support in Histogram (James M Snell) [#65806](https://github.com/nodejs/node/pull/65806)
+* \[[`75456a3512`](https://github.com/nodejs/node/commit/75456a3512)] - **(SEMVER-MINOR)** **perf\_hooks**: implement Histogram `meanCI` API (James M Snell) [#65606](https://github.com/nodejs/node/pull/65606)
+* \[[`72d1b40c56`](https://github.com/nodejs/node/commit/72d1b40c56)] - **(SEMVER-MINOR)** **perf\_hooks**: add CBOR export/import for histogram exchange (James M Snell) [#65434](https://github.com/nodejs/node/pull/65434)
+* \[[`41161dda87`](https://github.com/nodejs/node/commit/41161dda87)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype.close()` (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232)
+* \[[`adbc757d70`](https://github.com/nodejs/node/commit/adbc757d70)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype[Symbol.dispose]()` (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232)
+* \[[`241339f072`](https://github.com/nodejs/node/commit/241339f072)] - **(SEMVER-MINOR)** **src,lib**: add `util.markPromiseAsHandled` (James M Snell) [#65805](https://github.com/nodejs/node/pull/65805)
+* \[[`63b0974d9e`](https://github.com/nodejs/node/commit/63b0974d9e)] - **(SEMVER-MINOR)** **util**: implement `util.throttle` (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899)
+* \[[`a3bbb5a26f`](https://github.com/nodejs/node/commit/a3bbb5a26f)] - **(SEMVER-MINOR)** **util**: implement `debounce` (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899)
+
+### Commits
+
+* \[[`e6832b2cb1`](https://github.com/nodejs/node/commit/e6832b2cb1)] - **assert**: fix TypeError on deepStrictEqual with null Map key or Set member (Sergey Sannikov) [#64449](https://github.com/nodejs/node/pull/64449)
+* \[[`a079177d9f`](https://github.com/nodejs/node/commit/a079177d9f)] - **benchmark**: add --csv option to compare.js with --analyze (James M Snell) [#65922](https://github.com/nodejs/node/pull/65922)
+* \[[`10b1a0f70f`](https://github.com/nodejs/node/commit/10b1a0f70f)] - **benchmark**: fix max-regressions detection in compare.js (James M Snell) [#65587](https://github.com/nodejs/node/pull/65587)
+* \[[`e0c7ba8ad5`](https://github.com/nodejs/node/commit/e0c7ba8ad5)] - **benchmark**: add --analyze option to benchmark/scatter.js (James M Snell) [#65594](https://github.com/nodejs/node/pull/65594)
+* \[[`21fed10bb0`](https://github.com/nodejs/node/commit/21fed10bb0)] - **benchmark**: add crypto class benchmarks (Filip Skokan) [#65518](https://github.com/nodejs/node/pull/65518)
+* \[[`fa912242b7`](https://github.com/nodejs/node/commit/fa912242b7)] - **buffer**: fix unaligned UTF-16LE decoding (Matteo Collina) [#65905](https://github.com/nodejs/node/pull/65905)
+* \[[`a6bd0c1413`](https://github.com/nodejs/node/commit/a6bd0c1413)] - **build**: suppress OpenSSL asm warnings with clang (Richard Lau) [#66023](https://github.com/nodejs/node/pull/66023)
+* \[[`94e12139ee`](https://github.com/nodejs/node/commit/94e12139ee)] - **build**: derive V8\_LOGGING\_LEVEL from dcheck\_always\_on (Joyee Cheung) [#65744](https://github.com/nodejs/node/pull/65744)
+* \[[`7a2f322943`](https://github.com/nodejs/node/commit/7a2f322943)] - **build**: fix quiet default for make builds (Shelley Vohr) [#65826](https://github.com/nodejs/node/pull/65826)
+* \[[`c280d650b0`](https://github.com/nodejs/node/commit/c280d650b0)] - **build**: allow linking shared dependencies in the GN build (Shelley Vohr) [#65797](https://github.com/nodejs/node/pull/65797)
+* \[[`4b23a4472c`](https://github.com/nodejs/node/commit/4b23a4472c)] - **build**: enable the V8 sandbox in shared-cage builds (Shelley Vohr) [#62237](https://github.com/nodejs/node/pull/62237)
+* \[[`676e15c003`](https://github.com/nodejs/node/commit/676e15c003)] - **build**: define V8\_CONTIGUOUS\_COMPRESSED\_RO\_SPACE for shared cage (Shelley Vohr) [#65464](https://github.com/nodejs/node/pull/65464)
+* \[[`f784058482`](https://github.com/nodejs/node/commit/f784058482)] - **build**: remove obsolete configure flags (Chengzhong Wu) [#65456](https://github.com/nodejs/node/pull/65456)
+* \[[`f63f37d243`](https://github.com/nodejs/node/commit/f63f37d243)] - **build**: activate correct default flags for riscv64 (Stewart X Addison) [#65708](https://github.com/nodejs/node/pull/65708)
+* \[[`da46ac075d`](https://github.com/nodejs/node/commit/da46ac075d)] - **build**: derive NODE\_ARCH from target\_cpu in the GN build (Shelley Vohr) [#65491](https://github.com/nodejs/node/pull/65491)
+* \[[`249e9a16dd`](https://github.com/nodejs/node/commit/249e9a16dd)] - **build,src**: gate jspi flag on V8\_ENABLE\_WEBASSEMBLY (Piotr Kubaj) [#66082](https://github.com/nodejs/node/pull/66082)
+* \[[`146f00f64b`](https://github.com/nodejs/node/commit/146f00f64b)] - **child\_process**: clear timeout timer on spawn-time error too (kishore280) [#65506](https://github.com/nodejs/node/pull/65506)
+* \[[`13987f4418`](https://github.com/nodejs/node/commit/13987f4418)] - **crypto**: remove redundent `std::move` call (Antoine du Hamel) [#66111](https://github.com/nodejs/node/pull/66111)
+* \[[`ef957ac85f`](https://github.com/nodejs/node/commit/ef957ac85f)] - **crypto**: skip private RSA parameters in key details (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`8feccc5e22`](https://github.com/nodejs/node/commit/8feccc5e22)] - **crypto**: use provider EC group names (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`764e0d1120`](https://github.com/nodejs/node/commit/764e0d1120)] - **crypto**: fetch ciphers for private-key encoding (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`50ffed1979`](https://github.com/nodejs/node/commit/50ffed1979)] - **crypto**: decode PKCS#1 keys through providers (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`56c16b2fd6`](https://github.com/nodejs/node/commit/56c16b2fd6)] - **crypto**: derive keys through EVP\_KDF (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`a4effe6809`](https://github.com/nodejs/node/commit/a4effe6809)] - **crypto**: use names for asymmetric key algorithms (Filip Skokan) [#65966](https://github.com/nodejs/node/pull/65966)
+* \[[`ddbf974b47`](https://github.com/nodejs/node/commit/ddbf974b47)] - **(SEMVER-MINOR)** **crypto**: add crypto.parsePKCS12() (Brian Muenzenmeyer) [#65627](https://github.com/nodejs/node/pull/65627)
+* \[[`8e631aa48f`](https://github.com/nodejs/node/commit/8e631aa48f)] - **crypto**: add Hybrid KEMs to Web Cryptography (Filip Skokan) [#65759](https://github.com/nodejs/node/pull/65759)
+* \[[`5c51129e16`](https://github.com/nodejs/node/commit/5c51129e16)] - **crypto**: optimize private EC JWK import (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908)
+* \[[`c2ec40c2d7`](https://github.com/nodejs/node/commit/c2ec40c2d7)] - **crypto**: disable non-FIPS WebCrypto paths in FIPS mode (Filip Skokan) [#65172](https://github.com/nodejs/node/pull/65172)
+* \[[`e198aa0f79`](https://github.com/nodejs/node/commit/e198aa0f79)] - **crypto**: read RSA-PSS restrictions from provider (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`253784f0e9`](https://github.com/nodejs/node/commit/253784f0e9)] - **crypto**: optimize and benchmark key preparation (Filip Skokan) [#65892](https://github.com/nodejs/node/pull/65892)
+* \[[`80a6ad509b`](https://github.com/nodejs/node/commit/80a6ad509b)] - **crypto**: avoid EC reconstruction for signature sizing (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908)
+* \[[`5b592b772c`](https://github.com/nodejs/node/commit/5b592b772c)] - **crypto**: avoid EC raw export reconstruction (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908)
+* \[[`ee956ae3bf`](https://github.com/nodejs/node/commit/ee956ae3bf)] - **crypto**: export EC JWK coordinates directly (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908)
+* \[[`684008be58`](https://github.com/nodejs/node/commit/684008be58)] - **crypto**: read EC curve metadata directly (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908)
+* \[[`f4665f1c41`](https://github.com/nodejs/node/commit/f4665f1c41)] - **crypto**: validate the limit of PBKDF2 iterations (Filip Skokan) [#65704](https://github.com/nodejs/node/pull/65704)
+* \[[`624abbecd7`](https://github.com/nodejs/node/commit/624abbecd7)] - **crypto**: use primordials in HKDF info validation (Filip Skokan) [#65704](https://github.com/nodejs/node/pull/65704)
+* \[[`e4d916f175`](https://github.com/nodejs/node/commit/e4d916f175)] - **crypto**: add mgf1Hash for RSA-OAEP (Adam Mcgrath) [#65073](https://github.com/nodejs/node/pull/65073)
+* \[[`db8a9162a8`](https://github.com/nodejs/node/commit/db8a9162a8)] - **crypto**: fix multi-prime RSA JWKs (Filip Skokan) [#65649](https://github.com/nodejs/node/pull/65649)
+* \[[`022ac83504`](https://github.com/nodejs/node/commit/022ac83504)] - **crypto**: cache valid ECDH key pairs (Filip Skokan) [#65615](https://github.com/nodejs/node/pull/65615)
+* \[[`c61953ebcc`](https://github.com/nodejs/node/commit/c61953ebcc)] - **crypto**: add strict mode to --force-fips (Filip Skokan) [#65645](https://github.com/nodejs/node/pull/65645)
+* \[[`db6ea132a5`](https://github.com/nodejs/node/commit/db6ea132a5)] - **crypto**: add FIPS indicator diagnostics channel (Filip Skokan) [#65645](https://github.com/nodejs/node/pull/65645)
+* \[[`c162c68ff0`](https://github.com/nodejs/node/commit/c162c68ff0)] - **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan) [#65553](https://github.com/nodejs/node/pull/65553)
+* \[[`2b62aafd20`](https://github.com/nodejs/node/commit/2b62aafd20)] - **crypto**: validate JWK usages before key\_ops (Filip Skokan) [#65550](https://github.com/nodejs/node/pull/65550)
+* \[[`ec7819db69`](https://github.com/nodejs/node/commit/ec7819db69)] - **crypto**: fix RSA-PSS oversized salt handling (Filip Skokan) [#65550](https://github.com/nodejs/node/pull/65550)
+* \[[`a4ab3d84d7`](https://github.com/nodejs/node/commit/a4ab3d84d7)] - **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484)
+* \[[`c2f1e829ea`](https://github.com/nodejs/node/commit/c2f1e829ea)] - **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484)
+* \[[`51aad5a80d`](https://github.com/nodejs/node/commit/51aad5a80d)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#63411](https://github.com/nodejs/node/pull/63411)
+* \[[`5a46a9acbb`](https://github.com/nodejs/node/commit/5a46a9acbb)] - **crypto**: improve SubtleCrypto.supports() accuracy (Filip Skokan) [#65222](https://github.com/nodejs/node/pull/65222)
+* \[[`191ebfb26c`](https://github.com/nodejs/node/commit/191ebfb26c)] - **crypto**: fix public PKCS8 export error (한국) [#65609](https://github.com/nodejs/node/pull/65609)
+* \[[`b6d7ed372b`](https://github.com/nodejs/node/commit/b6d7ed372b)] - **crypto**: fix private SPKI export error (Filip Skokan) [#65550](https://github.com/nodejs/node/pull/65550)
+* \[[`79509c25a4`](https://github.com/nodejs/node/commit/79509c25a4)] - **crypto**: correct CCM decryption FIPS error message (kyungrae) [#65450](https://github.com/nodejs/node/pull/65450)
+* \[[`9adc87bc16`](https://github.com/nodejs/node/commit/9adc87bc16)] - **crypto**: harden X509Certificate state (Filip Skokan) [#65518](https://github.com/nodejs/node/pull/65518)
+* \[[`c63aa331b4`](https://github.com/nodejs/node/commit/c63aa331b4)] - **crypto**: optimize key slot caching (Filip Skokan) [#65518](https://github.com/nodejs/node/pull/65518)
+* \[[`87daea43a7`](https://github.com/nodejs/node/commit/87daea43a7)] - **crypto**: add null checks for OPENSSL\_INIT\_new() (Nora Dossche) [#63457](https://github.com/nodejs/node/pull/63457)
+* \[[`98ca5e9358`](https://github.com/nodejs/node/commit/98ca5e9358)] - **crypto**: prevent Hmac.digest() from returning uninitialized memory (Matteo Collina) [#65112](https://github.com/nodejs/node/pull/65112)
+* \[[`0c090a28cd`](https://github.com/nodejs/node/commit/0c090a28cd)] - **crypto**: avoid throwing CryptoKey brand checks (Filip Skokan) [#65503](https://github.com/nodejs/node/pull/65503)
+* \[[`a13cc3f723`](https://github.com/nodejs/node/commit/a13cc3f723)] - **crypto**: avoid throwing KeyObject brand checks (Filip Skokan) [#65503](https://github.com/nodejs/node/pull/65503)
+* \[[`b8db0045ef`](https://github.com/nodejs/node/commit/b8db0045ef)] - **deps**: V8: cherry-pick ea9c016f26ad (Gundepalli Sravani) [#66570](https://github.com/nodejs/node/pull/66570)
+* \[[`ba09b53487`](https://github.com/nodejs/node/commit/ba09b53487)] - **deps**: V8: backport c3553509f460 (Jakob Linke) [#66089](https://github.com/nodejs/node/pull/66089)
+* \[[`9ce8ef405b`](https://github.com/nodejs/node/commit/9ce8ef405b)] - **deps**: V8: backport 8901c793e439 (Toon Verwaest) [#66089](https://github.com/nodejs/node/pull/66089)
+* \[[`fb0d0ca289`](https://github.com/nodejs/node/commit/fb0d0ca289)] - **deps**: V8: backport 0b94a9fd23ba (Ruan Gustavo) [#65753](https://github.com/nodejs/node/pull/65753)
+* \[[`2faca508c0`](https://github.com/nodejs/node/commit/2faca508c0)] - **deps**: update googletest to 8eff9e336692fc95961e096564f1044c600b881d (Node.js GitHub Bot) [#66009](https://github.com/nodejs/node/pull/66009)
+* \[[`4396c9bffe`](https://github.com/nodejs/node/commit/4396c9bffe)] - **deps**: update googletest to 283c17563fe7a1111cd7f581aa5d541e8baeff2f (Node.js GitHub Bot) [#65833](https://github.com/nodejs/node/pull/65833)
+* \[[`8a5b12570c`](https://github.com/nodejs/node/commit/8a5b12570c)] - **deps**: update simdjson to 4.6.11 (Node.js GitHub Bot) [#65834](https://github.com/nodejs/node/pull/65834)
+* \[[`c47feb09e8`](https://github.com/nodejs/node/commit/c47feb09e8)] - **deps**: update zlib to 1.3.2.1-motley-285e94b (Node.js GitHub Bot) [#65835](https://github.com/nodejs/node/pull/65835)
+* \[[`9f0d905286`](https://github.com/nodejs/node/commit/9f0d905286)] - **deps**: upgrade npm to 11.19.1 (npm team) [#65573](https://github.com/nodejs/node/pull/65573)
+* \[[`373cd332d8`](https://github.com/nodejs/node/commit/373cd332d8)] - **deps**: update googletest to 36ba75f0ad5383a9759f17f3f72fd4661c72cb6d (Node.js GitHub Bot) [#65654](https://github.com/nodejs/node/pull/65654)
+* \[[`aeed6132a7`](https://github.com/nodejs/node/commit/aeed6132a7)] - **deps**: update simdjson to 4.6.9 (Node.js GitHub Bot) [#65655](https://github.com/nodejs/node/pull/65655)
+* \[[`2583571342`](https://github.com/nodejs/node/commit/2583571342)] - **deps**: update zlib to 1.3.2.1-motley-5eb4d7e (Node.js GitHub Bot) [#65494](https://github.com/nodejs/node/pull/65494)
+* \[[`d11c65d2f2`](https://github.com/nodejs/node/commit/d11c65d2f2)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#66090](https://github.com/nodejs/node/pull/66090)
+* \[[`0a4a8d602a`](https://github.com/nodejs/node/commit/0a4a8d602a)] - **doc**: fix duplicate 'the' typo in `node_platform.cc` (Muhammad Al-Muzahid) [#66058](https://github.com/nodejs/node/pull/66058)
+* \[[`b6538138ef`](https://github.com/nodejs/node/commit/b6538138ef)] - **doc**: clarify sub-1000ms behavior in socket.setKeepAlive (Haram Jeong) [#65869](https://github.com/nodejs/node/pull/65869)
+* \[[`d319fa7de4`](https://github.com/nodejs/node/commit/d319fa7de4)] - **doc**: remove obsolete mentioning of cl.exe on windows (Chengzhong Wu) [#66038](https://github.com/nodejs/node/pull/66038)
+* \[[`67cb305b59`](https://github.com/nodejs/node/commit/67cb305b59)] - **doc**: note that default signal handling resets the signal mask (Shelley Vohr) [#65877](https://github.com/nodejs/node/pull/65877)
+* \[[`160d44e025`](https://github.com/nodejs/node/commit/160d44e025)] - **doc**: clarify QUIC async write backpressure (John Finnerty) [#65947](https://github.com/nodejs/node/pull/65947)
+* \[[`ffd47a7ee5`](https://github.com/nodejs/node/commit/ffd47a7ee5)] - **doc**: clarify permission model scope for output paths (Rafael Gonzaga) [#66004](https://github.com/nodejs/node/pull/66004)
+* \[[`2e1772a8ab`](https://github.com/nodejs/node/commit/2e1772a8ab)] - **doc**: fill in missing zstd docs (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867)
+* \[[`9f88c6f8dc`](https://github.com/nodejs/node/commit/9f88c6f8dc)] - **doc**: add inoway46 as triager (Yuya Inoue) [#65565](https://github.com/nodejs/node/pull/65565)
+* \[[`c2620d01f3`](https://github.com/nodejs/node/commit/c2620d01f3)] - **doc**: document windowsHide for child\_process.fork (Christopher Buss) [#65887](https://github.com/nodejs/node/pull/65887)
+* \[[`6076111e1a`](https://github.com/nodejs/node/commit/6076111e1a)] - **doc**: qualify directory read ordering for native fs (Trivikram Kamat) [#65868](https://github.com/nodejs/node/pull/65868)
+* \[[`7bf048a336`](https://github.com/nodejs/node/commit/7bf048a336)] - **doc**: add DOMException section to errors API reference (Avocado) [#65206](https://github.com/nodejs/node/pull/65206)
+* \[[`414b6bfa62`](https://github.com/nodejs/node/commit/414b6bfa62)] - **doc**: expand revert commit collaborator instructions (Mike McCready) [#65848](https://github.com/nodejs/node/pull/65848)
+* \[[`c8ac91692c`](https://github.com/nodejs/node/commit/c8ac91692c)] - **doc**: note that FreeEnvironment() runs a shared event loop (Shelley Vohr) [#65691](https://github.com/nodejs/node/pull/65691)
+* \[[`cc47cc0983`](https://github.com/nodejs/node/commit/cc47cc0983)] - **doc**: clarify security triage dispositions and permission boundaries (Rafael Gonzaga) [#65436](https://github.com/nodejs/node/pull/65436)
+* \[[`8b79a71e78`](https://github.com/nodejs/node/commit/8b79a71e78)] - **doc**: fix default limit of maxHeadersCount (Aryn H) [#65472](https://github.com/nodejs/node/pull/65472)
+* \[[`56b1252a54`](https://github.com/nodejs/node/commit/56b1252a54)] - **doc**: fix return types for sync methods (Chiang Fong Lee) [#58575](https://github.com/nodejs/node/pull/58575)
+* \[[`da0d32a333`](https://github.com/nodejs/node/commit/da0d32a333)] - **doc**: document REPL DEP0185 throws and uncaught-exception behavior (Adrián Estrada) [#64993](https://github.com/nodejs/node/pull/64993)
+* \[[`f8ab3619b6`](https://github.com/nodejs/node/commit/f8ab3619b6)] - **doc**: document close() error when in a sqlite callback (Trivikram Kamat) [#65090](https://github.com/nodejs/node/pull/65090)
+* \[[`131f1db302`](https://github.com/nodejs/node/commit/131f1db302)] - **doc**: clarify return type of `fs.mkdtemp*` (Antoine du Hamel) [#65743](https://github.com/nodejs/node/pull/65743)
+* \[[`7755e98183`](https://github.com/nodejs/node/commit/7755e98183)] - **doc**: update `changelog-maker` instructions for releasing (Juan José) [#65707](https://github.com/nodejs/node/pull/65707)
+* \[[`f982a53433`](https://github.com/nodejs/node/commit/f982a53433)] - **doc**: add stability status to `crypto.setEngine` (Antoine du Hamel) [#65746](https://github.com/nodejs/node/pull/65746)
+* \[[`17be003f7c`](https://github.com/nodejs/node/commit/17be003f7c)] - **doc**: remove outdated TLS authorized warning (Tim Perry) [#65597](https://github.com/nodejs/node/pull/65597)
+* \[[`424002232d`](https://github.com/nodejs/node/commit/424002232d)] - **doc**: fix stale TOC in maintaining-dependencies (greenhead) [#65523](https://github.com/nodejs/node/pull/65523)
+* \[[`dddb9b57a5`](https://github.com/nodejs/node/commit/dddb9b57a5)] - **doc**: refactor the AI guidelines (Joyee Cheung) [#65269](https://github.com/nodejs/node/pull/65269)
+* \[[`397b58e113`](https://github.com/nodejs/node/commit/397b58e113)] - **doc**: fix triggerAsyncId() comment in async\_hooks example (soreavis) [#64583](https://github.com/nodejs/node/pull/64583)
+* \[[`338ec94d83`](https://github.com/nodejs/node/commit/338ec94d83)] - **doc**: fix fsPromises.watch overflow value (Matt Radbourne) [#64605](https://github.com/nodejs/node/pull/64605)
+* \[[`f18be21b14`](https://github.com/nodejs/node/commit/f18be21b14)] - **doc**: clarify stream direction in options.stdio note (Avocado) [#65236](https://github.com/nodejs/node/pull/65236)
+* \[[`f07c6acd8b`](https://github.com/nodejs/node/commit/f07c6acd8b)] - **doc**: clarify signal listener behavior (Som Samantray) [#65243](https://github.com/nodejs/node/pull/65243)
+* \[[`8bc17b0c7a`](https://github.com/nodejs/node/commit/8bc17b0c7a)] - **doc**: add test reporter event lifecycle diagram (sangwook) [#63780](https://github.com/nodejs/node/pull/63780)
+* \[[`452e7477d4`](https://github.com/nodejs/node/commit/452e7477d4)] - **doc**: discourage AbortSignal cleanup for long-lived resources (Efe Karasakal) [#64342](https://github.com/nodejs/node/pull/64342)
+* \[[`acc1578179`](https://github.com/nodejs/node/commit/acc1578179)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#65593](https://github.com/nodejs/node/pull/65593)
+* \[[`e7ed4361d6`](https://github.com/nodejs/node/commit/e7ed4361d6)] - **doc,test**: account for OpenSSL 4.1 behaviours (Filip Skokan) [#65956](https://github.com/nodejs/node/pull/65956)
+* \[[`c65fafeab4`](https://github.com/nodejs/node/commit/c65fafeab4)] - **errors**: validate constructor name (Christian Aurich) [#65607](https://github.com/nodejs/node/pull/65607)
+* \[[`f6b47938b7`](https://github.com/nodejs/node/commit/f6b47938b7)] - **events**: fix weak listener retention overwrite (Aryan) [#64024](https://github.com/nodejs/node/pull/64024)
+* \[[`a27db42c3e`](https://github.com/nodejs/node/commit/a27db42c3e)] - **fs**: coerce FileHandle.read length like fs.read (Xia Chao) [#65521](https://github.com/nodejs/node/pull/65521)
+* \[[`f3019b522a`](https://github.com/nodejs/node/commit/f3019b522a)] - **fs**: throw on existing dir in cpSync with errorOnExist (Daijiro Wachi) [#64124](https://github.com/nodejs/node/pull/64124)
+* \[[`cd1011458f`](https://github.com/nodejs/node/commit/cd1011458f)] - **fs**: support removing read-only files in rmSync on Windows (Sparsh :)) [#64453](https://github.com/nodejs/node/pull/64453)
+* \[[`d659dd8cd8`](https://github.com/nodejs/node/commit/d659dd8cd8)] - **fs**: give directories created by cpSync the source directory's mode (Shelley Vohr) [#65488](https://github.com/nodejs/node/pull/65488)
+* \[[`1dfb047293`](https://github.com/nodejs/node/commit/1dfb047293)] - **fs**: handle recursive watch setup races (Filip Skokan) [#65699](https://github.com/nodejs/node/pull/65699)
+* \[[`bc431c8413`](https://github.com/nodejs/node/commit/bc431c8413)] - **fs**: apply nocase to literal glob exclude patterns (Yusuke Hayashi) [#64817](https://github.com/nodejs/node/pull/64817)
+* \[[`dd5662e641`](https://github.com/nodejs/node/commit/dd5662e641)] - **fs**: do not descend into symlinks for \*\* unless following symlinks (RafaelGSS) [#65435](https://github.com/nodejs/node/pull/65435)
+* \[[`ac4cf54292`](https://github.com/nodejs/node/commit/ac4cf54292)] - **fs**: watch directories, not files, in recursive fs.watch fallback (Shelley Vohr) [#65486](https://github.com/nodejs/node/pull/65486)
+* \[[`7804bfbd71`](https://github.com/nodejs/node/commit/7804bfbd71)] - **fs**: preserve directory timestamps in cp (Abhinandan Kumar) [#65540](https://github.com/nodejs/node/pull/65540)
+* \[[`ba5ca5a1a5`](https://github.com/nodejs/node/commit/ba5ca5a1a5)] - **fs**: fix recursive watch error handling (Filip Skokan) [#65635](https://github.com/nodejs/node/pull/65635)
+* \[[`b71c4c0551`](https://github.com/nodejs/node/commit/b71c4c0551)] - **fs**: fix rmSync error messages for non-ASCII paths (Yeaseen) [#61233](https://github.com/nodejs/node/pull/61233)
+* \[[`53b4700892`](https://github.com/nodejs/node/commit/53b4700892)] - **http**: don't destroy socket after request completes (Barath Raj) [#65952](https://github.com/nodejs/node/pull/65952)
+* \[[`96d4c23f17`](https://github.com/nodejs/node/commit/96d4c23f17)] - **http**: fast-forward teardown of unread messages (Matteo Collina) [#65732](https://github.com/nodejs/node/pull/65732)
+* \[[`742b4bf5a6`](https://github.com/nodejs/node/commit/742b4bf5a6)] - **http**: coalesce chunked writes during auto-corking (GetThatCookie) [#64987](https://github.com/nodejs/node/pull/64987)
+* \[[`8921108175`](https://github.com/nodejs/node/commit/8921108175)] - **http2**: settle pending write callbacks on destroy (Matteo Collina) [#66016](https://github.com/nodejs/node/pull/66016)
+* \[[`9a2f77a3fc`](https://github.com/nodejs/node/commit/9a2f77a3fc)] - **http2**: fix onread assert when destroying session from stream handler (Sankalp Thakur) [#65116](https://github.com/nodejs/node/pull/65116)
+* \[[`99e41eb43a`](https://github.com/nodejs/node/commit/99e41eb43a)] - **http2**: error for incomplete reads on RST, auto-drain, deprecate aborted (Tim Perry) [#63249](https://github.com/nodejs/node/pull/63249)
+* \[[`d520b9601c`](https://github.com/nodejs/node/commit/d520b9601c)] - **http2**: fix write deadlock exposed by larger window sizes (Tim Perry) [#65440](https://github.com/nodejs/node/pull/65440)
+* \[[`86b2497aae`](https://github.com/nodejs/node/commit/86b2497aae)] - **http2**: fix async context loss when trailers carry END\_STREAM (Orgad Shaneh) [#63814](https://github.com/nodejs/node/pull/63814)
+* \[[`536ccc7daf`](https://github.com/nodejs/node/commit/536ccc7daf)] - **https**: limit proxy CONNECT response headers (Matteo Collina) [#64545](https://github.com/nodejs/node/pull/64545)
+* \[[`fe6147832b`](https://github.com/nodejs/node/commit/fe6147832b)] - **inspector**: fix abort when two Environments own the inspector (Shelley Vohr) [#65877](https://github.com/nodejs/node/pull/65877)
+* \[[`843a27782a`](https://github.com/nodejs/node/commit/843a27782a)] - **inspector**: fix crash when the IsolateData has no platform (Shelley Vohr) [#65818](https://github.com/nodejs/node/pull/65818)
+* \[[`3f0b6d3308`](https://github.com/nodejs/node/commit/3f0b6d3308)] - **lib**: avoid repeat internal receiver checks (Filip Skokan) [#65910](https://github.com/nodejs/node/pull/65910)
+* \[[`0039479b4a`](https://github.com/nodejs/node/commit/0039479b4a)] - **lib**: fix shared buffer growability validation (Filip Skokan) [#65845](https://github.com/nodejs/node/pull/65845)
+* \[[`e7907130ae`](https://github.com/nodejs/node/commit/e7907130ae)] - **lib**: use Web IDL interface brand checks (Filip Skokan) [#65846](https://github.com/nodejs/node/pull/65846)
+* \[[`7ae085552b`](https://github.com/nodejs/node/commit/7ae085552b)] - **lib**: fix AbortSignal.any() abort propagation (Yuya Inoue) [#66014](https://github.com/nodejs/node/pull/66014)
+* \[[`01032f4fdc`](https://github.com/nodejs/node/commit/01032f4fdc)] - **lib**: fix for FileHandle.readableWebStream (Patrick Dähne) [#58842](https://github.com/nodejs/node/pull/58842)
+* \[[`60a9a28206`](https://github.com/nodejs/node/commit/60a9a28206)] - **lib**: avoid unsafe array iteration in cli table (Donghoon Kang) [#65838](https://github.com/nodejs/node/pull/65838)
+* \[[`230a7fcef0`](https://github.com/nodejs/node/commit/230a7fcef0)] - **lib**: optimize internal Web IDL dictionaries (Filip Skokan) [#65857](https://github.com/nodejs/node/pull/65857)
+* \[[`7cc02b14ec`](https://github.com/nodejs/node/commit/7cc02b14ec)] - **lib**: validate sequence iterator objects (Filip Skokan) [#65844](https://github.com/nodejs/node/pull/65844)
+* \[[`c2bb3aeccc`](https://github.com/nodejs/node/commit/c2bb3aeccc)] - **lib**: defer source map payload decoding until first use (Shelley Vohr) [#65490](https://github.com/nodejs/node/pull/65490)
+* \[[`c4b390cf17`](https://github.com/nodejs/node/commit/c4b390cf17)] - **lib**: optimize async context frame activation (Tim Perry) [#65519](https://github.com/nodejs/node/pull/65519)
+* \[[`3e4fc50a4f`](https://github.com/nodejs/node/commit/3e4fc50a4f)] - **lib**: use validateArray for array arguments (JunHwan Choi) [#65344](https://github.com/nodejs/node/pull/65344)
+* \[[`b351ac9cd4`](https://github.com/nodejs/node/commit/b351ac9cd4)] - **meta**: bump step-security/harden-runner from 2.21.0 to 2.21.1 (dependabot\[bot]) [#66044](https://github.com/nodejs/node/pull/66044)
+* \[[`693e890fec`](https://github.com/nodejs/node/commit/693e890fec)] - **meta**: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66046](https://github.com/nodejs/node/pull/66046)
+* \[[`9c2abc13c2`](https://github.com/nodejs/node/commit/9c2abc13c2)] - **meta**: bump github/codeql-action/init from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66048](https://github.com/nodejs/node/pull/66048)
+* \[[`b3c5c2b91d`](https://github.com/nodejs/node/commit/b3c5c2b91d)] - **meta**: bump github/codeql-action/analyze from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66049](https://github.com/nodejs/node/pull/66049)
+* \[[`2428b13b02`](https://github.com/nodejs/node/commit/2428b13b02)] - **meta**: bump github/codeql-action/autobuild from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66050](https://github.com/nodejs/node/pull/66050)
+* \[[`eff5d15041`](https://github.com/nodejs/node/commit/eff5d15041)] - **meta**: add joyeecheung as v8 currency strategic initiative champion (Joyee Cheung) [#65965](https://github.com/nodejs/node/pull/65965)
+* \[[`aa549fed0d`](https://github.com/nodejs/node/commit/aa549fed0d)] - **meta**: expand on collaborator restoration process (Chengzhong Wu) [#65962](https://github.com/nodejs/node/pull/65962)
+* \[[`593b40eb2b`](https://github.com/nodejs/node/commit/593b40eb2b)] - **meta**: add web-standards as webidl owners (Filip Skokan) [#65856](https://github.com/nodejs/node/pull/65856)
+* \[[`e711d3fef3`](https://github.com/nodejs/node/commit/e711d3fef3)] - **meta**: bump actions/checkout from 7.0.0 to 7.0.1 (dependabot\[bot]) [#65718](https://github.com/nodejs/node/pull/65718)
+* \[[`0fc8a38f5b`](https://github.com/nodejs/node/commit/0fc8a38f5b)] - **meta**: cleanup targos emeritus changes (Antoine du Hamel) [#65738](https://github.com/nodejs/node/pull/65738)
+* \[[`2ca2fd566d`](https://github.com/nodejs/node/commit/2ca2fd566d)] - **meta**: bump github/codeql-action/init from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65714](https://github.com/nodejs/node/pull/65714)
+* \[[`325709818e`](https://github.com/nodejs/node/commit/325709818e)] - **meta**: bump github/codeql-action/autobuild from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65717](https://github.com/nodejs/node/pull/65717)
+* \[[`8481d22f72`](https://github.com/nodejs/node/commit/8481d22f72)] - **meta**: bump actions/setup-node from 6.4.0 to 7.0.0 (dependabot\[bot]) [#65720](https://github.com/nodejs/node/pull/65720)
+* \[[`cd2bd5d9fd`](https://github.com/nodejs/node/commit/cd2bd5d9fd)] - **meta**: bump step-security/harden-runner from 2.20.0 to 2.21.0 (dependabot\[bot]) [#65721](https://github.com/nodejs/node/pull/65721)
+* \[[`fdec747105`](https://github.com/nodejs/node/commit/fdec747105)] - **meta**: bump github/codeql-action/upload-sarif from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65722](https://github.com/nodejs/node/pull/65722)
+* \[[`34c2fca088`](https://github.com/nodejs/node/commit/34c2fca088)] - **meta**: bump github/codeql-action/analyze from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65723](https://github.com/nodejs/node/pull/65723)
+* \[[`46d4549938`](https://github.com/nodejs/node/commit/46d4549938)] - **meta**: document collaborator automation (Filip Skokan) [#65671](https://github.com/nodejs/node/pull/65671)
+* \[[`a7f8de6362`](https://github.com/nodejs/node/commit/a7f8de6362)] - **(SEMVER-MINOR)** **net**: support sending net.BoundSocket to threads and child processes (Guy Bedford) [#64725](https://github.com/nodejs/node/pull/64725)
+* \[[`466f1f8e62`](https://github.com/nodejs/node/commit/466f1f8e62)] - **net**: fix BlockList.fromJSON for IPv4-mapped IPv6 rules (Daijiro Wachi) [#64125](https://github.com/nodejs/node/pull/64125)
+* \[[`cd04cb10d6`](https://github.com/nodejs/node/commit/cd04cb10d6)] - **net**: recognize bare IPv6 loopback addresses in isLoopback (Daijiro Wachi) [#63619](https://github.com/nodejs/node/pull/63619)
+* \[[`d983942636`](https://github.com/nodejs/node/commit/d983942636)] - **node-api**: make object property arrays const (Yilong Li) [#65621](https://github.com/nodejs/node/pull/65621)
+* \[[`cc124394cc`](https://github.com/nodejs/node/commit/cc124394cc)] - **path**: remove `StringPrototypeCharCodeAt` from some methods of `posix` (Wiyeong Seo) [#54668](https://github.com/nodejs/node/pull/54668)
+* \[[`60c3eb61bd`](https://github.com/nodejs/node/commit/60c3eb61bd)] - **(SEMVER-MINOR)** **perf\_hooks**: implement SlidingWindowHistogram (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825)
+* \[[`6b3e6f9d5c`](https://github.com/nodejs/node/commit/6b3e6f9d5c)] - **(SEMVER-MINOR)** **perf\_hooks**: implement qrde analysis support in Histogram (James M Snell) [#65806](https://github.com/nodejs/node/pull/65806)
+* \[[`8aa870940c`](https://github.com/nodejs/node/commit/8aa870940c)] - **perf\_hooks**: reuse buffer for uv metrics (Donghoon Kang) [#65985](https://github.com/nodejs/node/pull/65985)
+* \[[`9cfbfae660`](https://github.com/nodejs/node/commit/9cfbfae660)] - **perf\_hooks**: validate import normalization offset (Matteo Collina) [#65950](https://github.com/nodejs/node/pull/65950)
+* \[[`75456a3512`](https://github.com/nodejs/node/commit/75456a3512)] - **(SEMVER-MINOR)** **perf\_hooks**: implement Histogram meanCI API (James M Snell) [#65606](https://github.com/nodejs/node/pull/65606)
+* \[[`127cb31864`](https://github.com/nodejs/node/commit/127cb31864)] - **perf\_hooks**: add missing resource timing attributes (greenhead) [#65017](https://github.com/nodejs/node/pull/65017)
+* \[[`72d1b40c56`](https://github.com/nodejs/node/commit/72d1b40c56)] - **(SEMVER-MINOR)** **perf\_hooks**: add CBOR export/import for histogram exchange (James M Snell) [#65434](https://github.com/nodejs/node/pull/65434)
+* \[[`847fe4d049`](https://github.com/nodejs/node/commit/847fe4d049)] - **permission**: block FileHandle fsync and fdatasync (Rafael Gonzaga) [#65431](https://github.com/nodejs/node/pull/65431)
+* \[[`fa9188bd63`](https://github.com/nodejs/node/commit/fa9188bd63)] - **quic**: fix two small bugs in HTTP/3 stream internals (Tim Perry) [#65970](https://github.com/nodejs/node/pull/65970)
+* \[[`ee80beaa9f`](https://github.com/nodejs/node/commit/ee80beaa9f)] - **quic**: fix crash in onStreamClose (Marten Richter) [#65861](https://github.com/nodejs/node/pull/65861)
+* \[[`98486dd764`](https://github.com/nodejs/node/commit/98486dd764)] - **quic**: reject zero addressLRUSize (Christian Aurich) [#65827](https://github.com/nodejs/node/pull/65827)
+* \[[`97516fc256`](https://github.com/nodejs/node/commit/97516fc256)] - **quic**: stop guarding ngtcp2\_recv\_stop\_sending callback field (René) [#65688](https://github.com/nodejs/node/pull/65688)
+* \[[`024bef25eb`](https://github.com/nodejs/node/commit/024bef25eb)] - **quic**: remove unused fin flag from blob reader wakeup (trivenay) [#65315](https://github.com/nodejs/node/pull/65315)
+* \[[`5468337456`](https://github.com/nodejs/node/commit/5468337456)] - **quic**: release stream arenas before cleanup (Trivikram Kamat) [#65410](https://github.com/nodejs/node/pull/65410)
+* \[[`a794e36970`](https://github.com/nodejs/node/commit/a794e36970)] - **sqlite**: throw on invalid URL path instead of abort (Guilherme Araújo) [#66026](https://github.com/nodejs/node/pull/66026)
+* \[[`f58a55b8d0`](https://github.com/nodejs/node/commit/f58a55b8d0)] - **sqlite**: add diagnostic channel (Guilherme Araújo) [#62241](https://github.com/nodejs/node/pull/62241)
+* \[[`be849bc6af`](https://github.com/nodejs/node/commit/be849bc6af)] - **sqlite**: reject connection access from authorizer callbacks (Trevor Burnham) [#65156](https://github.com/nodejs/node/pull/65156)
+* \[[`41161dda87`](https://github.com/nodejs/node/commit/41161dda87)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.close() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232)
+* \[[`adbc757d70`](https://github.com/nodejs/node/commit/adbc757d70)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype\[Symbol.dispose]\() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232)
+* \[[`b7b18fdbc9`](https://github.com/nodejs/node/commit/b7b18fdbc9)] - **sqlite**: run backup completion in callback scope (Filip Skokan) [#65666](https://github.com/nodejs/node/pull/65666)
+* \[[`59827acd7f`](https://github.com/nodejs/node/commit/59827acd7f)] - **sqlite**: isolate applyChangeset filter errors (Trivikram Kamat) [#64823](https://github.com/nodejs/node/pull/64823)
+* \[[`5a01df2d15`](https://github.com/nodejs/node/commit/5a01df2d15)] - **sqlite**: reject deserialize() while in a callback (Trivikram Kamat) [#64796](https://github.com/nodejs/node/pull/64796)
+* \[[`c9b6e75a2e`](https://github.com/nodejs/node/commit/c9b6e75a2e)] - **sqlite**: refactor error helpers and user function pointers (Ali Hassan) [#62794](https://github.com/nodejs/node/pull/62794)
+* \[[`d4eb6c62a9`](https://github.com/nodejs/node/commit/d4eb6c62a9)] - **sqlite**: prevent database close during callbacks (Matteo Collina) [#64743](https://github.com/nodejs/node/pull/64743)
+* \[[`83b3431c25`](https://github.com/nodejs/node/commit/83b3431c25)] - **src**: detach cppgc wrappers from their Realm before it is freed (Shelley Vohr) [#65778](https://github.com/nodejs/node/pull/65778)
+* \[[`13ed7e35e7`](https://github.com/nodejs/node/commit/13ed7e35e7)] - **src**: list scripts when `--run` has no command (James Ross) [#64606](https://github.com/nodejs/node/pull/64606)
+* \[[`0f62f2b2df`](https://github.com/nodejs/node/commit/0f62f2b2df)] - **src**: print exception thrown during primordial initialization (Joyee Cheung) [#65991](https://github.com/nodejs/node/pull/65991)
+* \[[`70117640f7`](https://github.com/nodejs/node/commit/70117640f7)] - **src**: don't kill own process group on failed spawn (Lazizbek Ergashev) [#65054](https://github.com/nodejs/node/pull/65054)
+* \[[`64649abfd4`](https://github.com/nodejs/node/commit/64649abfd4)] - **src**: keep the first snapshot blob alive for later isolates (Shelley Vohr) [#65779](https://github.com/nodejs/node/pull/65779)
+* \[[`3c814e8c3c`](https://github.com/nodejs/node/commit/3c814e8c3c)] - **src**: fix Stop() terminating the next Environment on the isolate (Shelley Vohr) [#65819](https://github.com/nodejs/node/pull/65819)
+* \[[`a3ababcebb`](https://github.com/nodejs/node/commit/a3ababcebb)] - **src**: fix null pointer call when running without a startup snapshot (Shelley Vohr) [#65820](https://github.com/nodejs/node/pull/65820)
+* \[[`7331f5cfcc`](https://github.com/nodejs/node/commit/7331f5cfcc)] - **src**: stop leaking a CppHeap in CommonEnvironmentSetup (Shelley Vohr) [#65792](https://github.com/nodejs/node/pull/65792)
+* \[[`5570a84048`](https://github.com/nodejs/node/commit/5570a84048)] - **src**: fix use-after-free in CleanupHookThunkRun (Caleb Everett) [#65630](https://github.com/nodejs/node/pull/65630)
+* \[[`abe1b673e9`](https://github.com/nodejs/node/commit/abe1b673e9)] - **src**: keep global list of addon-provided cleanup hooks (Anna Henningsen) [#63985](https://github.com/nodejs/node/pull/63985)
+* \[[`2203ac9382`](https://github.com/nodejs/node/commit/2203ac9382)] - **src**: fix startup snapshot reproducibility of InternalFieldInfo (Chengzhong Wu) [#65684](https://github.com/nodejs/node/pull/65684)
+* \[[`b282765d99`](https://github.com/nodejs/node/commit/b282765d99)] - **src**: fix live lock between environments with blocked requests (Ilyas Shabi) [#65520](https://github.com/nodejs/node/pull/65520)
+* \[[`61ca3ba93c`](https://github.com/nodejs/node/commit/61ca3ba93c)] - **src**: apply IsolateSettings when using a snapshot (Shelley Vohr) [#65407](https://github.com/nodejs/node/pull/65407)
+* \[[`33b8d6e10f`](https://github.com/nodejs/node/commit/33b8d6e10f)] - **src**: add re-entrancy guard to TriggerUncaughtException (Temuulen Undrakhbayar) [#64327](https://github.com/nodejs/node/pull/64327)
+* \[[`49232db71e`](https://github.com/nodejs/node/commit/49232db71e)] - **src**: reuse cached strings in CompileSerializeMain (agape1225) [#65453](https://github.com/nodejs/node/pull/65453)
+* \[[`e3f52b80a5`](https://github.com/nodejs/node/commit/e3f52b80a5)] - **src**: report libuv error when openAsBlob cannot stat (Paul Bouchon) [#65517](https://github.com/nodejs/node/pull/65517)
+* \[[`42a5a19027`](https://github.com/nodejs/node/commit/42a5a19027)] - **src**: shave about 20 bytes off each TLSWrap instance (James M Snell) [#65144](https://github.com/nodejs/node/pull/65144)
+* \[[`a06bb51e22`](https://github.com/nodejs/node/commit/a06bb51e22)] - **src**: use UTF-8 for task runner filesystem paths (Archkon) [#64868](https://github.com/nodejs/node/pull/64868)
+* \[[`241339f072`](https://github.com/nodejs/node/commit/241339f072)] - **(SEMVER-MINOR)** **src,lib**: add util.markPromiseAsHandled (James M Snell) [#65805](https://github.com/nodejs/node/pull/65805)
+* \[[`1260642ace`](https://github.com/nodejs/node/commit/1260642ace)] - **stream**: destroy Duplex.from async function on early return (Aman Chadha(IVIXMMI)) [#65963](https://github.com/nodejs/node/pull/65963)
+* \[[`5f06defdbd`](https://github.com/nodejs/node/commit/5f06defdbd)] - **stream**: make share budget failures detach before throwing (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028)
+* \[[`d1c60d898d`](https://github.com/nodejs/node/commit/d1c60d898d)] - **stream**: update broadcast to retain buffered data with zero consumers (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028)
+* \[[`bbb00558c5`](https://github.com/nodejs/node/commit/bbb00558c5)] - **stream**: avoid promise allocation for parked transform writes (Matteo Collina) [#65625](https://github.com/nodejs/node/pull/65625)
+* \[[`3216bc3912`](https://github.com/nodejs/node/commit/3216bc3912)] - **stream**: keep webstream stream states in fast-mode objects (Matteo Collina) [#65625](https://github.com/nodejs/node/pull/65625)
+* \[[`70c1415686`](https://github.com/nodejs/node/commit/70c1415686)] - **stream**: reject closed only after sink abort settles (Lazizbek Ergashev) [#65727](https://github.com/nodejs/node/pull/65727)
+* \[[`f8737b8ee5`](https://github.com/nodejs/node/commit/f8737b8ee5)] - **stream**: fix ERR\_INVALID\_STATE when cancelling Readable.toWeb() (Richard Scarrott) [#62773](https://github.com/nodejs/node/pull/62773)
+* \[[`faa16f671c`](https://github.com/nodejs/node/commit/faa16f671c)] - **stream**: amortize writable buffer compaction (Gürgün Dayıoğlu) [#65847](https://github.com/nodejs/node/pull/65847)
+* \[[`6262e0b8c6`](https://github.com/nodejs/node/commit/6262e0b8c6)] - **stream**: create write request objects lazily (Matteo Collina) [#64455](https://github.com/nodejs/node/pull/64455)
+* \[[`0f0566de15`](https://github.com/nodejs/node/commit/0f0566de15)] - **stream**: allocate stream read buffers from a slab (Matteo Collina) [#64455](https://github.com/nodejs/node/pull/64455)
+* \[[`02c776a7c6`](https://github.com/nodejs/node/commit/02c776a7c6)] - **stream**: ensure that stateful transforms preserve this (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`4b29051971`](https://github.com/nodejs/node/commit/4b29051971)] - **stream**: fix nested async flushing with infinite sources (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`2e54186d97`](https://github.com/nodejs/node/commit/2e54186d97)] - **stream**: ensure from() observes returned rejecting promise correctly (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`fd68d5ca6a`](https://github.com/nodejs/node/commit/fd68d5ca6a)] - **stream**: apply source normalization once at call time (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`49ee85b462`](https://github.com/nodejs/node/commit/49ee85b462)] - **stream**: make pipeTo source normalization independent of Writer (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`d7d0440f08`](https://github.com/nodejs/node/commit/d7d0440f08)] - **stream**: pre-aborted pipeTo now applies dest failure handling (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`6d8e643ef3`](https://github.com/nodejs/node/commit/6d8e643ef3)] - **stream**: ensure async dispoal after endSync awaits for drain (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`a082916c00`](https://github.com/nodejs/node/commit/a082916c00)] - **stream**: ensure factory signals remain active through closing (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658)
+* \[[`38829295a7`](https://github.com/nodejs/node/commit/38829295a7)] - **stream**: skip unobserved 'readable' emission at EOF (Matteo Collina) [#65749](https://github.com/nodejs/node/pull/65749)
+* \[[`d535859c22`](https://github.com/nodejs/node/commit/d535859c22)] - **stream**: avoid per-chunk promises in webstream adapters (Matteo Collina) [#65548](https://github.com/nodejs/node/pull/65548)
+* \[[`80568f6818`](https://github.com/nodejs/node/commit/80568f6818)] - **stream**: address stream/iter review feedback (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`6952928f68`](https://github.com/nodejs/node/commit/6952928f68)] - **stream**: replace object sentinel with symbol (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`9c22c4124c`](https://github.com/nodejs/node/commit/9c22c4124c)] - **stream**: cancel active stream/iter pulls (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`24d87990cf`](https://github.com/nodejs/node/commit/24d87990cf)] - **stream**: fix merge settlement tagging and falsy error tracking (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`1e215c4b51`](https://github.com/nodejs/node/commit/1e215c4b51)] - **stream**: ensure full-close semantics when closed (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`f499d6fadf`](https://github.com/nodejs/node/commit/f499d6fadf)] - **stream**: fixup writer to terminate on consumer return/throw (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`2130738033`](https://github.com/nodejs/node/commit/2130738033)] - **stream**: ensure iterator cleanup on done, reject, etc (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`748adc6275`](https://github.com/nodejs/node/commit/748adc6275)] - **stream**: fixup cancelation handling in pull() (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652)
+* \[[`47b3f6a1fa`](https://github.com/nodejs/node/commit/47b3f6a1fa)] - **stream**: fix early drain after Utf8Stream reopen (Matteo Collina) [#65633](https://github.com/nodejs/node/pull/65633)
+* \[[`6dab5412cf`](https://github.com/nodejs/node/commit/6dab5412cf)] - **test**: skip RSA-PSS keygen deprecation tests with BoringSSL (Shelley Vohr) [#65808](https://github.com/nodejs/node/pull/65808)
+* \[[`95d9a25b61`](https://github.com/nodejs/node/commit/95d9a25b61)] - **test**: consolidate crypto provider cache coverage (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108)
+* \[[`612db6d5b2`](https://github.com/nodejs/node/commit/612db6d5b2)] - **test**: deflake user timing WPT assertions (Filip Skokan) [#66036](https://github.com/nodejs/node/pull/66036)
+* \[[`61a73d31eb`](https://github.com/nodejs/node/commit/61a73d31eb)] - **test**: fix RSA/DSA wrong-passphrase flake (Filip Skokan) [#65983](https://github.com/nodejs/node/pull/65983)
+* \[[`d9f4a3ee3e`](https://github.com/nodejs/node/commit/d9f4a3ee3e)] - **test**: reuse fixed primes in DH tests (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`a0fd0a8bd6`](https://github.com/nodejs/node/commit/a0fd0a8bd6)] - **test**: use named parameters in DH stress test (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`810a6b00ee`](https://github.com/nodejs/node/commit/810a6b00ee)] - **test**: update tests to run with OpenSSL >= 3.0 FIPS mode (Filip Skokan) [#64960](https://github.com/nodejs/node/pull/64960)
+* \[[`dc6b9ba5b2`](https://github.com/nodejs/node/commit/dc6b9ba5b2)] - **test**: deflake test-run-watch-cwd-isolation-none-\* (Antoine du Hamel) [#66035](https://github.com/nodejs/node/pull/66035)
+* \[[`0f27bd2459`](https://github.com/nodejs/node/commit/0f27bd2459)] - **test**: unskip `test-watch-create-isolation-none` (Antoine du Hamel) [#66041](https://github.com/nodejs/node/pull/66041)
+* \[[`1019f624f3`](https://github.com/nodejs/node/commit/1019f624f3)] - **test**: deflake util.throttle tests (Filip Skokan) [#66034](https://github.com/nodejs/node/pull/66034)
+* \[[`b4a6719f37`](https://github.com/nodejs/node/commit/b4a6719f37)] - **(SEMVER-MINOR)** **test**: expand histogram test coverage (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825)
+* \[[`047d7c53d2`](https://github.com/nodejs/node/commit/047d7c53d2)] - **test**: implement low-risk test optimizations (James M Snell) [#65926](https://github.com/nodejs/node/pull/65926)
+* \[[`33775d2bbb`](https://github.com/nodejs/node/commit/33775d2bbb)] - **test**: prevent parser reuse across close scenarios (Filip Skokan) [#66017](https://github.com/nodejs/node/pull/66017)
+* \[[`b8c5283cbc`](https://github.com/nodejs/node/commit/b8c5283cbc)] - **test**: fix stderr Buffer assertion in exec encoding test (greenhead) [#66008](https://github.com/nodejs/node/pull/66008)
+* \[[`13a2982002`](https://github.com/nodejs/node/commit/13a2982002)] - **test**: improve sequential test performance (James M Snell) [#65928](https://github.com/nodejs/node/pull/65928)
+* \[[`a578933da0`](https://github.com/nodejs/node/commit/a578933da0)] - **test**: overlap SLH-DSA signature checks (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`bfdf20729d`](https://github.com/nodejs/node/commit/bfdf20729d)] - **test**: unref cancelled broadcast source timer (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`b29154d471`](https://github.com/nodejs/node/commit/b29154d471)] - **test**: collect timeout signals explicitly (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`384d4fe3ea`](https://github.com/nodejs/node/commit/384d4fe3ea)] - **test**: skip retries in DNS timeout coverage (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`c7323843f4`](https://github.com/nodejs/node/commit/c7323843f4)] - **test**: synchronize ordered runner events (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`625290573a`](https://github.com/nodejs/node/commit/625290573a)] - **test**: avoid idle HTTP/HTTPS connections (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`2bde68398f`](https://github.com/nodejs/node/commit/2bde68398f)] - **test**: close WebAssembly test HTTP servers (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`4c702e401b`](https://github.com/nodejs/node/commit/4c702e401b)] - **test**: deflake node-api test-free-called (Christian Aurich) [#65948](https://github.com/nodejs/node/pull/65948)
+* \[[`0b6d945ebc`](https://github.com/nodejs/node/commit/0b6d945ebc)] - **test**: skip C++ symbols in tick-processor-arguments (Philipp Dunkel) [#65906](https://github.com/nodejs/node/pull/65906)
+* \[[`e04210b383`](https://github.com/nodejs/node/commit/e04210b383)] - **test**: try fixing windows build replacing WMIC (James M Snell) [#65949](https://github.com/nodejs/node/pull/65949)
+* \[[`aed73444de`](https://github.com/nodejs/node/commit/aed73444de)] - **test**: fix flaky cleanup in http2 test (Tim Perry) [#65701](https://github.com/nodejs/node/pull/65701)
+* \[[`22f47ff728`](https://github.com/nodejs/node/commit/22f47ff728)] - **test**: update WPT WebCrypto, WebIDL and interfaces (Filip Skokan) [#65679](https://github.com/nodejs/node/pull/65679)
+* \[[`f2af511a24`](https://github.com/nodejs/node/commit/f2af511a24)] - **test**: zero-fill buffers before the string length limit check (Christian Aurich) [#65755](https://github.com/nodejs/node/pull/65755)
+* \[[`a28aad9960`](https://github.com/nodejs/node/commit/a28aad9960)] - **test**: update WPT for url to c23755a144 (Node.js GitHub Bot) [#65651](https://github.com/nodejs/node/pull/65651)
+* \[[`ba65bb149a`](https://github.com/nodejs/node/commit/ba65bb149a)] - **test**: fix recursive fs.watch error fixture (Filip Skokan) [#65683](https://github.com/nodejs/node/pull/65683)
+* \[[`f3b9f132b1`](https://github.com/nodejs/node/commit/f3b9f132b1)] - **test**: update streams WPT (Jeong SeokChan) [#65638](https://github.com/nodejs/node/pull/65638)
+* \[[`d2e0f2d3bd`](https://github.com/nodejs/node/commit/d2e0f2d3bd)] - **test**: deflake fastutf8stream destroy and reopen tests (Christian Aurich) [#65554](https://github.com/nodejs/node/pull/65554)
+* \[[`7b5896c136`](https://github.com/nodejs/node/commit/7b5896c136)] - **test**: cover Readable.from() sync iterator errors (jakecastelli) [#65515](https://github.com/nodejs/node/pull/65515)
+* \[[`66eafad642`](https://github.com/nodejs/node/commit/66eafad642)] - **test**: document WPT runner workflows (Filip Skokan) [#65510](https://github.com/nodejs/node/pull/65510)
+* \[[`2e2dc0f556`](https://github.com/nodejs/node/commit/2e2dc0f556)] - **test**: simplify test-worker-heap-profile.js (Donghoon Kang) [#65372](https://github.com/nodejs/node/pull/65372)
+* \[[`2e57caac46`](https://github.com/nodejs/node/commit/2e57caac46)] - **test**: prefer in-memory databases in sqlite tests (Paul Bouchon) [#64701](https://github.com/nodejs/node/pull/64701)
+* \[[`cef908596e`](https://github.com/nodejs/node/commit/cef908596e)] - **test**: fix typo from funciton to function (parkhojeong) [#63403](https://github.com/nodejs/node/pull/63403)
+* \[[`4c7bbd4182`](https://github.com/nodejs/node/commit/4c7bbd4182)] - **test**: widen the gap in the resolver maxTimeout comparison (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780)
+* \[[`25c81c9eff`](https://github.com/nodejs/node/commit/25c81c9eff)] - **test**: fix the thread-spawn handshake in the WASI threads fixture (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780)
+* \[[`cab5dcedbe`](https://github.com/nodejs/node/commit/cab5dcedbe)] - **test**: only count restarts after the write in watch emit-restarted test (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780)
+* \[[`db0ca93e94`](https://github.com/nodejs/node/commit/db0ca93e94)] - **test**: ignore tunnel resets in proxy invalid-char-in-url test (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780)
+* \[[`1f0087040a`](https://github.com/nodejs/node/commit/1f0087040a)] - **test**: handle EPIPE in closed channel test (Christian Aurich) [#65770](https://github.com/nodejs/node/pull/65770)
+* \[[`ed4e5df638`](https://github.com/nodejs/node/commit/ed4e5df638)] - **test**: deflake test-runner-coverage (Christian Aurich) [#65728](https://github.com/nodejs/node/pull/65728)
+* \[[`48ecb16909`](https://github.com/nodejs/node/commit/48ecb16909)] - **test**: set type=none on IBM i for empty source (Abdirahim Musse) [#65545](https://github.com/nodejs/node/pull/65545)
+* \[[`554a3fba98`](https://github.com/nodejs/node/commit/554a3fba98)] - **test**: deflake WASI poll timing checks (Filip Skokan) [#65672](https://github.com/nodejs/node/pull/65672)
+* \[[`91b5389430`](https://github.com/nodejs/node/commit/91b5389430)] - **test**: skip `fs-watch-recursive-delete-race` on AIX (Antoine du Hamel) [#65698](https://github.com/nodejs/node/pull/65698)
+* \[[`4ed0c8cc6c`](https://github.com/nodejs/node/commit/4ed0c8cc6c)] - **test**: deflake test-inspect-async-hook-setup-at-inspect (Christian Aurich) [#65584](https://github.com/nodejs/node/pull/65584)
+* \[[`500b98cc7d`](https://github.com/nodejs/node/commit/500b98cc7d)] - **test**: deflake test-watch-mode-restart-esm-loading-error (Christian Aurich) [#65623](https://github.com/nodejs/node/pull/65623)
+* \[[`099c20fcbd`](https://github.com/nodejs/node/commit/099c20fcbd)] - **test**: avoid orphaned child on Windows abort test (Kirill Saied) [#65451](https://github.com/nodejs/node/pull/65451)
+* \[[`fc9364fe55`](https://github.com/nodejs/node/commit/fc9364fe55)] - **test**: riscv64: skip node-api sea test (Stewart X Addison) [#65569](https://github.com/nodejs/node/pull/65569)
+* \[[`c9d6b5f731`](https://github.com/nodejs/node/commit/c9d6b5f731)] - **test**: mark platform-specific tests as flaky (Filip Skokan) [#65562](https://github.com/nodejs/node/pull/65562)
+* \[[`cb93d40549`](https://github.com/nodejs/node/commit/cb93d40549)] - **test,benchmark**: use OpenSSL feature helpers (Filip Skokan) [#65762](https://github.com/nodejs/node/pull/65762)
+* \[[`b4b859319d`](https://github.com/nodejs/node/commit/b4b859319d)] - **test\_runner**: avoid reusing v8 serializers (Yuya Inoue) [#65951](https://github.com/nodejs/node/pull/65951)
+* \[[`b3766225e1`](https://github.com/nodejs/node/commit/b3766225e1)] - **test\_runner**: fix quote escaping in JUnit (Jihwan) [#65971](https://github.com/nodejs/node/pull/65971)
+* \[[`ec37f934db`](https://github.com/nodejs/node/commit/ec37f934db)] - **tls**: propagate singleUse to the secure context (Carlos Vinicius) [#66025](https://github.com/nodejs/node/pull/66025)
+* \[[`21aec3f286`](https://github.com/nodejs/node/commit/21aec3f286)] - **tls**: defer re-entrant calls to SSL state machine from JS (Tim Perry) [#65105](https://github.com/nodejs/node/pull/65105)
+* \[[`ffd3de2831`](https://github.com/nodejs/node/commit/ffd3de2831)] - **tls**: read the peer certificate chain without consuming it (Tony Gies) [#65602](https://github.com/nodejs/node/pull/65602)
+* \[[`3481ea3c43`](https://github.com/nodejs/node/commit/3481ea3c43)] - **tls**: don't trigger SNICallback or OCSPRequest from the TLS lib stack (Tim Perry) [#64827](https://github.com/nodejs/node/pull/64827)
+* \[[`d75957f0c8`](https://github.com/nodejs/node/commit/d75957f0c8)] - **tls**: drop hand-rolled TLS client hello parser (Tim Perry) [#64827](https://github.com/nodejs/node/pull/64827)
+* \[[`c555ba0aeb`](https://github.com/nodejs/node/commit/c555ba0aeb)] - **tools**: update `tools/v8` for Python 3.13 (Richard Lau) [#66109](https://github.com/nodejs/node/pull/66109)
+* \[[`aafff27ebe`](https://github.com/nodejs/node/commit/aafff27ebe)] - **tools**: bump eslint-plugin-jsdoc in /tools/eslint in the eslint group (dependabot\[bot]) [#66102](https://github.com/nodejs/node/pull/66102)
+* \[[`7a481ebd2c`](https://github.com/nodejs/node/commit/7a481ebd2c)] - **tools**: group CodeQL GHA updates (Antoine du Hamel) [#66057](https://github.com/nodejs/node/pull/66057)
+* \[[`b2252b4074`](https://github.com/nodejs/node/commit/b2252b4074)] - **tools**: summarize auto-start-ci failures (Filip Skokan) [#65979](https://github.com/nodejs/node/pull/65979)
+* \[[`499fe73da7`](https://github.com/nodejs/node/commit/499fe73da7)] - **tools**: bump the eslint group in /tools/eslint with 6 updates (dependabot\[bot]) [#66045](https://github.com/nodejs/node/pull/66045)
+* \[[`d004d957ae`](https://github.com/nodejs/node/commit/d004d957ae)] - **tools**: update pgo build doc for linux (Chengzhong Wu) [#66024](https://github.com/nodejs/node/pull/66024)
+* \[[`bfa329dbba`](https://github.com/nodejs/node/commit/bfa329dbba)] - **tools**: correct Slack action version comments (Filip Skokan) [#66013](https://github.com/nodejs/node/pull/66013)
+* \[[`d55d30313b`](https://github.com/nodejs/node/commit/d55d30313b)] - **tools**: make checkout credential use explicit (Filip Skokan) [#66013](https://github.com/nodejs/node/pull/66013)
+* \[[`0a9e844866`](https://github.com/nodejs/node/commit/0a9e844866)] - **tools**: pass author to commit message validator (Filip Skokan) [#66012](https://github.com/nodejs/node/pull/66012)
+* \[[`f5edf1cd7c`](https://github.com/nodejs/node/commit/f5edf1cd7c)] - **tools**: reduce test runner timing overhead (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980)
+* \[[`1cb899f727`](https://github.com/nodejs/node/commit/1cb899f727)] - **tools**: bump js-yaml from 4.3.1 to 4.3.2 in /tools/eslint (dependabot\[bot]) [#65931](https://github.com/nodejs/node/pull/65931)
+* \[[`9a1d47bc53`](https://github.com/nodejs/node/commit/9a1d47bc53)] - **tools**: bump js-yaml from 4.3.1 to 4.3.2 in /tools/lint-md (dependabot\[bot]) [#65932](https://github.com/nodejs/node/pull/65932)
+* \[[`a1649b36bc`](https://github.com/nodejs/node/commit/a1649b36bc)] - **tools**: fix commit queue error summary matching (Filip Skokan) [#65913](https://github.com/nodejs/node/pull/65913)
+* \[[`ff25d0a268`](https://github.com/nodejs/node/commit/ff25d0a268)] - **tools**: lint PR commit messages without approval (Filip Skokan) [#65875](https://github.com/nodejs/node/pull/65875)
+* \[[`ab3c2a81f4`](https://github.com/nodejs/node/commit/ab3c2a81f4)] - **tools**: unlabel author ready on base branch conflicts (Filip Skokan) [#65872](https://github.com/nodejs/node/pull/65872)
+* \[[`c97d09cb4a`](https://github.com/nodejs/node/commit/c97d09cb4a)] - **tools**: apply feedback to and simplify contributor guidance workflow (Filip Skokan) [#65785](https://github.com/nodejs/node/pull/65785)
+* \[[`5410d94903`](https://github.com/nodejs/node/commit/5410d94903)] - **tools**: remove `true` from branch name for auto-update automation (Antoine du Hamel) [#64961](https://github.com/nodejs/node/pull/64961)
+* \[[`7a45a46798`](https://github.com/nodejs/node/commit/7a45a46798)] - **tools**: bump @humanfs/node from 0.16.7 to 0.16.8 in /tools/eslint (dependabot\[bot]) [#65757](https://github.com/nodejs/node/pull/65757)
+* \[[`5df6d29a24`](https://github.com/nodejs/node/commit/5df6d29a24)] - **tools**: bump browserslist from 4.28.4 to 4.28.8 in /tools/eslint (dependabot\[bot]) [#65758](https://github.com/nodejs/node/pull/65758)
+* \[[`8a9f89bdaa`](https://github.com/nodejs/node/commit/8a9f89bdaa)] - **tools**: refine contributor guidance workflow (Filip Skokan) [#65745](https://github.com/nodejs/node/pull/65745)
+* \[[`ed3e9a2583`](https://github.com/nodejs/node/commit/ed3e9a2583)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#65716](https://github.com/nodejs/node/pull/65716)
+* \[[`8d4f0cf264`](https://github.com/nodejs/node/commit/8d4f0cf264)] - **tools**: do not flag force push as invalid message (Antoine du Hamel) [#65700](https://github.com/nodejs/node/pull/65700)
+* \[[`350b3e69bb`](https://github.com/nodejs/node/commit/350b3e69bb)] - **tools**: retry first-time contributor query (Filip Skokan) [#65648](https://github.com/nodejs/node/pull/65648)
+* \[[`fbbfcc499f`](https://github.com/nodejs/node/commit/fbbfcc499f)] - **tools**: query first-time contributor status (Filip Skokan) [#65592](https://github.com/nodejs/node/pull/65592)
+* \[[`b5885fc823`](https://github.com/nodejs/node/commit/b5885fc823)] - **tools**: offset GitHub crons by 3 minutes (Michaël Zasso) [#65612](https://github.com/nodejs/node/pull/65612)
+* \[[`0cdd3171c0`](https://github.com/nodejs/node/commit/0cdd3171c0)] - **tools**: label PRs lacking second approval (Filip Skokan) [#65538](https://github.com/nodejs/node/pull/65538)
+* \[[`5240f00c2e`](https://github.com/nodejs/node/commit/5240f00c2e)] - **tools**: welcome first-time contributors (Filip Skokan) [#65533](https://github.com/nodejs/node/pull/65533)
+* \[[`fbde6050aa`](https://github.com/nodejs/node/commit/fbde6050aa)] - **tools**: enable concurrency for eslint (Huáng Jùnliàng) [#62352](https://github.com/nodejs/node/pull/62352)
+* \[[`ebc028d75d`](https://github.com/nodejs/node/commit/ebc028d75d)] - **trace\_events**: fix abort when Node.js does not own the V8 platform (Shelley Vohr) [#65954](https://github.com/nodejs/node/pull/65954)
+* \[[`55db777a9a`](https://github.com/nodejs/node/commit/55db777a9a)] - **typings**: add task\_queue internal binding types (Seongeun Lee) [#65662](https://github.com/nodejs/node/pull/65662)
+* \[[`ac37bbe109`](https://github.com/nodejs/node/commit/ac37bbe109)] - **typings**: add timeoutInfo to TimersBinding (greenhead) [#65811](https://github.com/nodejs/node/pull/65811)
+* \[[`3d9177b477`](https://github.com/nodejs/node/commit/3d9177b477)] - **typings**: add missing sea binding properties (이혜미) [#65815](https://github.com/nodejs/node/pull/65815)
+* \[[`b23928a1f1`](https://github.com/nodejs/node/commit/b23928a1f1)] - **typings**: add types for performance binding (Jungwon Sohn) [#65574](https://github.com/nodejs/node/pull/65574)
+* \[[`f67ed991a6`](https://github.com/nodejs/node/commit/f67ed991a6)] - **typings**: add encodeIntoResults to EncodingBinding (greenhead) [#65350](https://github.com/nodejs/node/pull/65350)
+* \[[`a1ae3dd285`](https://github.com/nodejs/node/commit/a1ae3dd285)] - **typings**: add typing for permission binding (Seungmin Nam) [#65385](https://github.com/nodejs/node/pull/65385)
+* \[[`fc43781ee8`](https://github.com/nodejs/node/commit/fc43781ee8)] - **typings**: fix fs\_event\_wrap start filename type (leah-1ee) [#65661](https://github.com/nodejs/node/pull/65661)
+* \[[`7e6a56c367`](https://github.com/nodejs/node/commit/7e6a56c367)] - **typings**: add fs\_event\_wrap internal binding types (leah-1ee) [#65661](https://github.com/nodejs/node/pull/65661)
+* \[[`7508db2cf8`](https://github.com/nodejs/node/commit/7508db2cf8)] - **typings**: add stream\_pipe internal binding types (Seongeun Lee) [#65664](https://github.com/nodejs/node/pull/65664)
+* \[[`1957f9a282`](https://github.com/nodejs/node/commit/1957f9a282)] - **typings**: add profiler internal binding types (Seongeun Lee) [#65660](https://github.com/nodejs/node/pull/65660)
+* \[[`62ee9eef22`](https://github.com/nodejs/node/commit/62ee9eef22)] - **typings**: add ffi internal binding types (Donghoon Kang) [#65734](https://github.com/nodejs/node/pull/65734)
+* \[[`6cad9a6f77`](https://github.com/nodejs/node/commit/6cad9a6f77)] - **typings**: update zlib binding declarations (이혜미) [#65639](https://github.com/nodejs/node/pull/65639)
+* \[[`54d77431e6`](https://github.com/nodejs/node/commit/54d77431e6)] - **url**: add Symbol.toStringTag to URLPattern (Khaidi Chu) [#65925](https://github.com/nodejs/node/pull/65925)
+* \[[`6345c6d24f`](https://github.com/nodejs/node/commit/6345c6d24f)] - **url**: align URLPatternInit dictionary conversion with WebIDL (Piyush Yadav) [#65498](https://github.com/nodejs/node/pull/65498)
+* \[[`63b0974d9e`](https://github.com/nodejs/node/commit/63b0974d9e)] - **(SEMVER-MINOR)** **util**: implement util.throttle (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899)
+* \[[`a3bbb5a26f`](https://github.com/nodejs/node/commit/a3bbb5a26f)] - **(SEMVER-MINOR)** **util**: implement debounce (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899)
+* \[[`212f6c6c7b`](https://github.com/nodejs/node/commit/212f6c6c7b)] - **util**: canonicalize namespaced tags in inspect() (René) [#63257](https://github.com/nodejs/node/pull/63257)
+* \[[`b44c072228`](https://github.com/nodejs/node/commit/b44c072228)] - **zlib**: reject invalid zstd dictionaries (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867)
+* \[[`de1074d592`](https://github.com/nodejs/node/commit/de1074d592)] - **zlib**: fix zstd reset (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867)
+* \[[`d7e7308c76`](https://github.com/nodejs/node/commit/d7e7308c76)] - **zlib**: improve zstd decoding across chunk boundaries (James M Snell) [#65865](https://github.com/nodejs/node/pull/65865)
+
<a id="24.21.0"></a>
## 2026-09-08, Version 24.21.0 'Krypton' (LTS), @aduh95