Commit 496b48b4777 for nodejs
commit 496b48b477791121e550dca428088257daa58cb8
Author: Node.js GitHub Bot <github-bot@iojs.org>
Date: Tue Oct 13 17:01:54 2026 +0000
2026-10-14, Version 26.12.0 (Current)
Notable changes:
doc,lib,src:
* (SEMVER-MINOR) throw on missing WebAssembly or RX support (Paolo Insogna) https://github.com/nodejs/node/pull/66533
http:
* (SEMVER-MINOR) add websocketMask() and websocketUnmask() (James M Snell) https://github.com/nodejs/node/pull/66335
PR-URL: https://github.com/nodejs/node/pull/66684
Signed-off-by: Richard Lau <richard.lau@ibm.com>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f04a46d8357..af4e1e21ace 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -41,7 +41,8 @@ release.
</tr>
<tr>
<td valign="top">
-<b><a href="doc/changelogs/CHANGELOG_V26.md#26.11.1">26.11.1</a></b><br/>
+<b><a href="doc/changelogs/CHANGELOG_V26.md#26.12.0">26.12.0</a></b><br/>
+<a href="doc/changelogs/CHANGELOG_V26.md#26.11.1">26.11.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.11.0">26.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.10.0">26.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V26.md#26.9.0">26.9.0</a><br/>
diff --git a/doc/api/cli.md b/doc/api/cli.md
index e1e3c1d410d..c6caa4a6b57 100644
--- a/doc/api/cli.md
+++ b/doc/api/cli.md
@@ -808,7 +808,7 @@ added:
- v23.10.0
- v22.16.0
changes:
- - version: REPLACEME
+ - version: v26.12.0
pr-url: https://github.com/nodejs/node/pull/66431
description: This flag was renamed from `--experimental-config-file` to
`--config-file` and is now stable. `--experimental-config-file`
diff --git a/doc/api/errors.md b/doc/api/errors.md
index 7db27654d99..1d812bd0b33 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -2977,7 +2977,7 @@ was already in progress to load it asynchronously.
### `ERR_RX_MEMORY_NOT_SUPPORTED`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
A feature requiring runtime allocation of executable memory was used in an
diff --git a/doc/api/http.md b/doc/api/http.md
index 6f6adecacf4..38e7e5b16e4 100644
--- a/doc/api/http.md
+++ b/doc/api/http.md
@@ -4647,7 +4647,7 @@ syntax.
## `http.websocketMask(source, mask, output, offset, length)`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `source` {Buffer|TypedArray|DataView} The data to mask.
@@ -4715,7 +4715,7 @@ console.log(received.toString());
## `http.websocketUnmask(buffer, mask)`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `buffer` {Buffer|TypedArray|DataView} The data to unmask, in place.
diff --git a/doc/api/process.md b/doc/api/process.md
index ba3832ccb85..38bcf878680 100644
--- a/doc/api/process.md
+++ b/doc/api/process.md
@@ -2063,7 +2063,7 @@ Since it's not possible to build Node.js without libuv, this value is always `tr
<!-- YAML
added: v22.5.0
changes:
- - version: REPLACEME
+ - version: v26.12.0
pr-url: https://github.com/nodejs/node/pull/66436
description: Marked as release candidate.
-->
@@ -2176,7 +2176,7 @@ as it is not guaranteed that the callback will be called under all circumstances
<!-- YAML
added: v22.5.0
changes:
- - version: REPLACEME
+ - version: v26.12.0
pr-url: https://github.com/nodejs/node/pull/66436
description: Marked as release candidate.
-->
@@ -2201,7 +2201,7 @@ this means that there is a possibility that the callback will not be called unde
<!-- YAML
added: v22.5.0
changes:
- - version: REPLACEME
+ - version: v26.12.0
pr-url: https://github.com/nodejs/node/pull/66436
description: Marked as release candidate.
-->
@@ -3153,7 +3153,7 @@ for the current process. Additional documentation is available in the
<!-- YAML
added: v20.0.0
changes:
- - version: REPLACEME
+ - version: v26.12.0
pr-url: https://github.com/nodejs/node/pull/65492
description: The `reference` argument can be a `URL` or a `Uint8Array`.
-->
@@ -3206,7 +3206,7 @@ added:
- v26.3.0
- v24.20.0
changes:
- - version: REPLACEME
+ - version: v26.12.0
pr-url: https://github.com/nodejs/node/pull/65492
description: The `reference` argument can be a `URL` or a `Uint8Array`.
-->
diff --git a/doc/api/stream_iter.md b/doc/api/stream_iter.md
index 49605b15c0d..aa96ce02813 100644
--- a/doc/api/stream_iter.md
+++ b/doc/api/stream_iter.md
@@ -1108,7 +1108,7 @@ Synchronous version of [`bytes()`][].
### `dump(source[, options])`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `source` {AsyncIterable|Iterable} whose chunks must be {Uint8Array\[]}
@@ -1168,7 +1168,7 @@ run().catch(console.error);
### `dumpSync(source[, options])`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `source` {Iterable} whose chunks must be {Uint8Array\[]}
diff --git a/doc/api/test.md b/doc/api/test.md
index c48648baf17..4df041dbdfb 100644
--- a/doc/api/test.md
+++ b/doc/api/test.md
@@ -4364,7 +4364,7 @@ test('test', (t) => {
#### `context.assert.callCount(fn, times[, message])`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `fn` {Function} A mock function created by the test runner's mocking API.
@@ -4385,7 +4385,7 @@ test('mock was called twice', (t) => {
#### `context.assert.called(fn[, message])`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `fn` {Function} A mock function created by the test runner's mocking API.
@@ -4443,7 +4443,7 @@ highlighting.
#### `context.assert.lastCalledWith(fn[, ...args])`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `fn` {Function} A mock function created by the test runner's mocking API.
@@ -4465,7 +4465,7 @@ test('mock was last called with arguments', (t) => {
#### `context.assert.nthCalledWith(fn, n[, ...args])`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `fn` {Function} A mock function created by the test runner's mocking API.
diff --git a/doc/api/vfs.md b/doc/api/vfs.md
index 3da056de5c0..7113def065a 100644
--- a/doc/api/vfs.md
+++ b/doc/api/vfs.md
@@ -653,7 +653,7 @@ myVfs.writeFileSync('/x.txt', 'fail'); // throws EROFS
## Class: `ComposableProvider`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
[`ComposableProvider`][] combines one or more providers in priority order. The first
@@ -666,7 +666,7 @@ The first provider must be writable to change the composed file system.
### `new ComposableProvider(providers)`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* `providers` {VirtualProvider\[]} Non-empty array of providers, ordered from
@@ -685,7 +685,7 @@ combined.writeFileSync('/config.json', '{"debug":true}');
### `composableProvider.providers`
<!-- YAML
-added: REPLACEME
+added: v26.12.0
-->
* {VirtualProvider\[]}
diff --git a/doc/changelogs/CHANGELOG_V26.md b/doc/changelogs/CHANGELOG_V26.md
index dde16b20a13..c0e394bc724 100644
--- a/doc/changelogs/CHANGELOG_V26.md
+++ b/doc/changelogs/CHANGELOG_V26.md
@@ -8,6 +8,7 @@
</tr>
<tr>
<td>
+<a href="#26.12.0">26.12.0</a><br/>
<a href="#26.11.1">26.11.1</a><br/>
<a href="#26.11.0">26.11.0</a><br/>
<a href="#26.10.0">26.10.0</a><br/>
@@ -57,6 +58,123 @@
* [io.js](CHANGELOG_IOJS.md)
* [Archive](CHANGELOG_ARCHIVE.md)
+<a id="26.12.0"></a>
+
+## 2026-10-14, Version 26.12.0 (Current), @richardlau
+
+### Notable Changes
+
+* \[[`1ebd6d3677`](https://github.com/nodejs/node/commit/1ebd6d3677)] - **(SEMVER-MINOR)** **doc,lib,src**: throw on missing WebAssembly or RX support (Paolo Insogna) [#66533](https://github.com/nodejs/node/pull/66533)
+* \[[`7f1937d2b9`](https://github.com/nodejs/node/commit/7f1937d2b9)] - **(SEMVER-MINOR)** **http**: add websocketMask() and websocketUnmask() (James M Snell) [#66335](https://github.com/nodejs/node/pull/66335)
+
+### Commits
+
+* \[[`30e76bb16a`](https://github.com/nodejs/node/commit/30e76bb16a)] - **benchmark**: fix input passed to subtle.digest in webcrypto-digest (Rafael Gonzaga) [#66608](https://github.com/nodejs/node/pull/66608)
+* \[[`adef72223a`](https://github.com/nodejs/node/commit/adef72223a)] - **benchmark**: fix buffer option in buffer read/write benchmarks (Rafael Gonzaga) [#66604](https://github.com/nodejs/node/pull/66604)
+* \[[`2f498f08fe`](https://github.com/nodejs/node/commit/2f498f08fe)] - **benchmark**: add util.parseArgs benchmark (Rafael Gonzaga) [#66599](https://github.com/nodejs/node/pull/66599)
+* \[[`4ce8412e18`](https://github.com/nodejs/node/commit/4ce8412e18)] - **benchmark**: fix url-searchparams-sort to sort a fresh list (RafaelGSS) [#66535](https://github.com/nodejs/node/pull/66535)
+* \[[`493bd6c66e`](https://github.com/nodejs/node/commit/493bd6c66e)] - **benchmark,tools**: fix napi benchmarks on GHA (Nigro Simone) [#66423](https://github.com/nodejs/node/pull/66423)
+* \[[`e4515552d6`](https://github.com/nodejs/node/commit/e4515552d6)] - **build**: run QUIC CI for V8 changes (Yuya Inoue) [#66602](https://github.com/nodejs/node/pull/66602)
+* \[[`a888e51062`](https://github.com/nodejs/node/commit/a888e51062)] - **build**: support Python 3.15 (Mike McCready) [#65750](https://github.com/nodejs/node/pull/65750)
+* \[[`2afab9a63b`](https://github.com/nodejs/node/commit/2afab9a63b)] - **build**: do not include shared gtest in `node` link path (Antoine du Hamel) [#66626](https://github.com/nodejs/node/pull/66626)
+* \[[`f88c2f8ec6`](https://github.com/nodejs/node/commit/f88c2f8ec6)] - **build,test**: enable temporal support on no-ICU and system-ICU builds (Antoine du Hamel) [#66697](https://github.com/nodejs/node/pull/66697)
+* \[[`5fd03e6fdf`](https://github.com/nodejs/node/commit/5fd03e6fdf)] - **child\_process**: propagate config-file permission flags to children (Rafael Gonzaga) [#66559](https://github.com/nodejs/node/pull/66559)
+* \[[`f771134b07`](https://github.com/nodejs/node/commit/f771134b07)] - **crypto**: isolate provider EC PKCS8 encoding (Filip Skokan) [#66413](https://github.com/nodejs/node/pull/66413)
+* \[[`4e00a293db`](https://github.com/nodejs/node/commit/4e00a293db)] - **crypto**: remove key export and metadata locks (Filip Skokan) [#66413](https://github.com/nodejs/node/pull/66413)
+* \[[`bcd8018775`](https://github.com/nodejs/node/commit/bcd8018775)] - **crypto**: remove verify setup key locking (Filip Skokan) [#66413](https://github.com/nodejs/node/pull/66413)
+* \[[`883250fee2`](https://github.com/nodejs/node/commit/883250fee2)] - **crypto**: remove KEM key locking (Filip Skokan) [#66413](https://github.com/nodejs/node/pull/66413)
+* \[[`9d98805071`](https://github.com/nodejs/node/commit/9d98805071)] - **crypto**: remove RSA-OAEP key locking (Filip Skokan) [#66413](https://github.com/nodejs/node/pull/66413)
+* \[[`d6293e7bb1`](https://github.com/nodejs/node/commit/d6293e7bb1)] - **crypto**: skip secret key mutex allocation (Filip Skokan) [#66413](https://github.com/nodejs/node/pull/66413)
+* \[[`8d8af8003e`](https://github.com/nodejs/node/commit/8d8af8003e)] - **crypto**: keep the root cert store per Environment (Shelley Vohr) [#66411](https://github.com/nodejs/node/pull/66411)
+* \[[`c6f0614785`](https://github.com/nodejs/node/commit/c6f0614785)] - **crypto**: remove select Web Crypto warnings (Filip Skokan) [#66312](https://github.com/nodejs/node/pull/66312)
+* \[[`e5360b5a08`](https://github.com/nodejs/node/commit/e5360b5a08)] - **deps**: update googletest to 988ea2c1798de7779f656df2281dd36d6039a17a (Node.js GitHub Bot) [#66652](https://github.com/nodejs/node/pull/66652)
+* \[[`7eb230a2c1`](https://github.com/nodejs/node/commit/7eb230a2c1)] - **deps**: update acorn to 8.19.0 (Node.js GitHub Bot) [#66655](https://github.com/nodejs/node/pull/66655)
+* \[[`af946ba8f3`](https://github.com/nodejs/node/commit/af946ba8f3)] - **deps**: update sqlite to 3.54.0 (Node.js GitHub Bot) [#66663](https://github.com/nodejs/node/pull/66663)
+* \[[`007872a85d`](https://github.com/nodejs/node/commit/007872a85d)] - **deps**: V8: cherry-pick 8d14d49c4040 (Antoine du Hamel) [#66627](https://github.com/nodejs/node/pull/66627)
+* \[[`f44aec4966`](https://github.com/nodejs/node/commit/f44aec4966)] - **deps**: update simdjson to 5.0.3 (Daniel Lemire) [#66620](https://github.com/nodejs/node/pull/66620)
+* \[[`1a33e914e8`](https://github.com/nodejs/node/commit/1a33e914e8)] - **deps**: V8: cherry-pick 7d5eb1df2a72 (inoway46) [#66566](https://github.com/nodejs/node/pull/66566)
+* \[[`3294d51e5a`](https://github.com/nodejs/node/commit/3294d51e5a)] - **diagnostics\_channel**: fix default callback context (Matteo Collina) [#66481](https://github.com/nodejs/node/pull/66481)
+* \[[`5c602a5824`](https://github.com/nodejs/node/commit/5c602a5824)] - **doc**: list futimes among fd APIs disabled by the permission model (Rafael Gonzaga) [#66649](https://github.com/nodejs/node/pull/66649)
+* \[[`eaeb4736c8`](https://github.com/nodejs/node/commit/eaeb4736c8)] - **doc**: add Test Runner to list of built-in diagnostic channels (Vas Sudanagunta) [#66563](https://github.com/nodejs/node/pull/66563)
+* \[[`0e1c99afae`](https://github.com/nodejs/node/commit/0e1c99afae)] - **doc**: document stream/iter behaviors and Node.js extensions (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`846236367d`](https://github.com/nodejs/node/commit/846236367d)] - **doc**: document URL and Uint8Array references in process.permission (Rafael Gonzaga) [#66557](https://github.com/nodejs/node/pull/66557)
+* \[[`fc3b067be7`](https://github.com/nodejs/node/commit/fc3b067be7)] - **doc**: clarify http Agent keepSocketAlive behavior (Efe Karasakal) [#66252](https://github.com/nodejs/node/pull/66252)
+* \[[`73a4e90ce2`](https://github.com/nodejs/node/commit/73a4e90ce2)] - **doc**: document keepAliveTimeoutBuffer server option (Efe Karasakal) [#66286](https://github.com/nodejs/node/pull/66286)
+* \[[`bb816582af`](https://github.com/nodejs/node/commit/bb816582af)] - **doc**: fix request.reusedSocket timeout example (Efe Karasakal) [#66286](https://github.com/nodejs/node/pull/66286)
+* \[[`82223ab4d9`](https://github.com/nodejs/node/commit/82223ab4d9)] - **doc**: clarify revert PR label policy (Antoine du Hamel) [#66529](https://github.com/nodejs/node/pull/66529)
+* \[[`c6f59d4e8e`](https://github.com/nodejs/node/commit/c6f59d4e8e)] - **doc**: clarify node binary misuse after compromise (Rafael Gonzaga) [#66530](https://github.com/nodejs/node/pull/66530)
+* \[[`8904178498`](https://github.com/nodejs/node/commit/8904178498)] - **doc**: document linux-x64-musl build toolchain (Issac) [#66523](https://github.com/nodejs/node/pull/66523)
+* \[[`1e8247a74e`](https://github.com/nodejs/node/commit/1e8247a74e)] - **doc**: run license-builder (github-actions\[bot]) [#66517](https://github.com/nodejs/node/pull/66517)
+* \[[`b2773d5e4c`](https://github.com/nodejs/node/commit/b2773d5e4c)] - **doc**: add missing return types in cluster.md (Daniel Pinto) [#66453](https://github.com/nodejs/node/pull/66453)
+* \[[`1ebd6d3677`](https://github.com/nodejs/node/commit/1ebd6d3677)] - **(SEMVER-MINOR)** **doc,lib,src**: throw on missing WebAssembly or RX support (Paolo Insogna) [#66533](https://github.com/nodejs/node/pull/66533)
+* \[[`c1073f31de`](https://github.com/nodejs/node/commit/c1073f31de)] - **ffi**: fix exportArrayBuffer type check (Trivikram Kamat) [#66455](https://github.com/nodejs/node/pull/66455)
+* \[[`69148ee0ff`](https://github.com/nodejs/node/commit/69148ee0ff)] - **fs**: lock FileHandle on first read in pull() and pullSync() (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`700c60a1cd`](https://github.com/nodejs/node/commit/700c60a1cd)] - **fs**: serialize FileHandle writer() async writes (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`32833def1c`](https://github.com/nodejs/node/commit/32833def1c)] - **http**: reduce raw header name allocations (Roberto Bianchi) [#66488](https://github.com/nodejs/node/pull/66488)
+* \[[`7f1937d2b9`](https://github.com/nodejs/node/commit/7f1937d2b9)] - **(SEMVER-MINOR)** **http**: add websocketMask() and websocketUnmask() (James M Snell) [#66335](https://github.com/nodejs/node/pull/66335)
+* \[[`115731dda7`](https://github.com/nodejs/node/commit/115731dda7)] - **http2**: speed up response getHeaders (Roberto Bianchi) [#66592](https://github.com/nodejs/node/pull/66592)
+* \[[`447c36cb45`](https://github.com/nodejs/node/commit/447c36cb45)] - **lib**: fix AbortSignal.any() nested composite leak (Darius) [#66617](https://github.com/nodejs/node/pull/66617)
+* \[[`1722ced4b4`](https://github.com/nodejs/node/commit/1722ced4b4)] - **lib**: add --allow-fs-vfs to permission available flags (Rafael Gonzaga) [#66554](https://github.com/nodejs/node/pull/66554)
+* \[[`062ece77fc`](https://github.com/nodejs/node/commit/062ece77fc)] - **lib**: fix benchmark record acknowledgement race (Filip Skokan) [#66430](https://github.com/nodejs/node/pull/66430)
+* \[[`05d0b14438`](https://github.com/nodejs/node/commit/05d0b14438)] - **lib**: set exit code on failed node:bench run() (RafaelGSS) [#66534](https://github.com/nodejs/node/pull/66534)
+* \[[`2cab299471`](https://github.com/nodejs/node/commit/2cab299471)] - **lib**: default node:bench warmup to 10 invocations (RafaelGSS) [#66536](https://github.com/nodejs/node/pull/66536)
+* \[[`83f507845d`](https://github.com/nodejs/node/commit/83f507845d)] - **meta**: bump nodejs/node-pr-labeler to dfe5eb3 (Soul Lee) [#66606](https://github.com/nodejs/node/pull/66606)
+* \[[`6fbffd5ee5`](https://github.com/nodejs/node/commit/6fbffd5ee5)] - **meta**: bump codecov/codecov-action from 7.1.0 to 7.1.1 (dependabot\[bot]) [#66448](https://github.com/nodejs/node/pull/66448)
+* \[[`bd567f8bd6`](https://github.com/nodejs/node/commit/bd567f8bd6)] - **module**: fix require of imports with package map (Lazizbek Ergashev) [#66565](https://github.com/nodejs/node/pull/66565)
+* \[[`c442f471a5`](https://github.com/nodejs/node/commit/c442f471a5)] - **module**: synchronously load most ES modules (Geoffrey Booth) [#62530](https://github.com/nodejs/node/pull/62530)
+* \[[`51f66f0134`](https://github.com/nodejs/node/commit/51f66f0134)] - **permission**: keep explicit fs grants when dropping a covering directory (Rafael Gonzaga) [#66556](https://github.com/nodejs/node/pull/66556)
+* \[[`1aa10d80e2`](https://github.com/nodejs/node/commit/1aa10d80e2)] - **process**: mark process.finalization as release candidate (Matteo Collina) [#66436](https://github.com/nodejs/node/pull/66436)
+* \[[`dd4715a6ba`](https://github.com/nodejs/node/commit/dd4715a6ba)] - **querystring**: fix value decoding after encoded keys (Ved Chaudhari) [#66553](https://github.com/nodejs/node/pull/66553)
+* \[[`9648a6ba8e`](https://github.com/nodejs/node/commit/9648a6ba8e)] - **quic**: reject closed stream writer writes with a TypeError (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`d6f566baf8`](https://github.com/nodejs/node/commit/d6f566baf8)] - **quic**: give each BindingData its own allocator state (Shelley Vohr) [#66411](https://github.com/nodejs/node/pull/66411)
+* \[[`c3204c15bd`](https://github.com/nodejs/node/commit/c3204c15bd)] - **quic**: validate session close error codes (Christian Aurich Zanettini Martins) [#66302](https://github.com/nodejs/node/pull/66302)
+* \[[`5b87354f5a`](https://github.com/nodejs/node/commit/5b87354f5a)] - **quic**: destroy stream on invalid promise body (Christian Aurich Zanettini Martins) [#66260](https://github.com/nodejs/node/pull/66260)
+* \[[`9ef698c781`](https://github.com/nodejs/node/commit/9ef698c781)] - **sqlite**: validate aggregate() name and options (Guilherme Araújo) [#66463](https://github.com/nodejs/node/pull/66463)
+* \[[`bbf41f8cfb`](https://github.com/nodejs/node/commit/bbf41f8cfb)] - **sqlite**: persist enableDefensive() across reopen (Trivikram Kamat) [#66404](https://github.com/nodejs/node/pull/66404)
+* \[[`54867cd25e`](https://github.com/nodejs/node/commit/54867cd25e)] - **sqlite**: throw on oversized strings instead of aborting (Trivikram Kamat) [#66521](https://github.com/nodejs/node/pull/66521)
+* \[[`4314cde48b`](https://github.com/nodejs/node/commit/4314cde48b)] - **src**: release uv\_fs\_t in permission WildcardIfDir (Rafael Gonzaga) [#66555](https://github.com/nodejs/node/pull/66555)
+* \[[`0e58916f08`](https://github.com/nodejs/node/commit/0e58916f08)] - **src**: stop including simdjson.h from env.h (Daniel Lemire) [#66620](https://github.com/nodejs/node/pull/66620)
+* \[[`06f56a55bb`](https://github.com/nodejs/node/commit/06f56a55bb)] - **src**: use native CopyArrayBufferBytes for webstream buffer copy (René) [#66400](https://github.com/nodejs/node/pull/66400)
+* \[[`2e3dd5bb63`](https://github.com/nodejs/node/commit/2e3dd5bb63)] - **src**: fix config file handling (Marco Ippolito) [#66431](https://github.com/nodejs/node/pull/66431)
+* \[[`cd86506bc2`](https://github.com/nodejs/node/commit/cd86506bc2)] - **src**: mark config file as stable (Marco Ippolito) [#66431](https://github.com/nodejs/node/pull/66431)
+* \[[`15ff9884e4`](https://github.com/nodejs/node/commit/15ff9884e4)] - **stream**: skip idle webstreams start and watchers (Matteo Collina) [#66424](https://github.com/nodejs/node/pull/66424)
+* \[[`3f75c89fb8`](https://github.com/nodejs/node/commit/3f75c89fb8)] - **stream**: add pipeToSync() failOnIncompleteClose option (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`6cecf140e7`](https://github.com/nodejs/node/commit/6cecf140e7)] - **stream**: do not fail the writer when pipeToSync() cannot close (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`16833534b6`](https://github.com/nodejs/node/commit/16833534b6)] - **stream**: fix fromSync() async input error messages (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`af41622ad8`](https://github.com/nodejs/node/commit/af41622ad8)] - **stream**: reject closed fromWritable() writes with a TypeError (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`4b83c6c38e`](https://github.com/nodejs/node/commit/4b83c6c38e)] - **stream**: accept explicit stream/iter budgets below 16384 (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`f302fbd04a`](https://github.com/nodejs/node/commit/f302fbd04a)] - **stream**: reduce per-chunk overhead in stream/iter consumers (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`7ba60dcdbe`](https://github.com/nodejs/node/commit/7ba60dcdbe)] - **stream**: keep the original error when writer.fail() throws (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`dcac51a7db`](https://github.com/nodejs/node/commit/dcac51a7db)] - **stream**: align pull() abort handling with the spec (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`995dee6b6b`](https://github.com/nodejs/node/commit/995dee6b6b)] - **stream**: honor stream/iter protocols on function objects (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`6eaf91353a`](https://github.com/nodejs/node/commit/6eaf91353a)] - **stream**: do not hold back nested async data in from() (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`69d44aedb4`](https://github.com/nodejs/node/commit/69d44aedb4)] - **stream**: bound pre-batched async values in from() (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`6b1e7c4cf1`](https://github.com/nodejs/node/commit/6b1e7c4cf1)] - **stream**: guard shareSync() against re-entrant source reads (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`8a47365425`](https://github.com/nodejs/node/commit/8a47365425)] - **stream**: split oversized share batches under drop-oldest (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`30cbc4e643`](https://github.com/nodejs/node/commit/30cbc4e643)] - **stream**: reject drop-newest backpressure in shareSync() (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`42ae08594e`](https://github.com/nodejs/node/commit/42ae08594e)] - **stream**: detach shareSync consumers on strict budget errors (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`fa49de9ba6`](https://github.com/nodejs/node/commit/fa49de9ba6)] - **stream**: keep share buffer when all consumers detach (James M Snell) [#66483](https://github.com/nodejs/node/pull/66483)
+* \[[`e6662cb904`](https://github.com/nodejs/node/commit/e6662cb904)] - **stream**: fix Utf8Stream flush handling (James M Snell) [#66473](https://github.com/nodejs/node/pull/66473)
+* \[[`93596b1a9e`](https://github.com/nodejs/node/commit/93596b1a9e)] - **stream**: add dump()/dumpSync() for stream/iter (Ethan Arrowood) [#65598](https://github.com/nodejs/node/pull/65598)
+* \[[`4ba6ce1b0c`](https://github.com/nodejs/node/commit/4ba6ce1b0c)] - **stream**: port remaining SonicBoom tests for Utf8Stream (Matteo Collina) [#66275](https://github.com/nodejs/node/pull/66275)
+* \[[`cd8b5fa5b0`](https://github.com/nodejs/node/commit/cd8b5fa5b0)] - **test**: tolerate async block count updates in test-fs-stat-bigint (Rafael Gonzaga) [#66576](https://github.com/nodejs/node/pull/66576)
+* \[[`30814ce991`](https://github.com/nodejs/node/commit/30814ce991)] - **test**: replace discard loops with dump() (Ethan Arrowood) [#65598](https://github.com/nodejs/node/pull/65598)
+* \[[`20441b8fc0`](https://github.com/nodejs/node/commit/20441b8fc0)] - **test**: run node-bench tools test sequentially (Filip Skokan) [#66338](https://github.com/nodejs/node/pull/66338)
+* \[[`9618da6fe3`](https://github.com/nodejs/node/commit/9618da6fe3)] - **test**: remove duplicated cases in permission fs-read fixture (Rafael Gonzaga) [#66450](https://github.com/nodejs/node/pull/66450)
+* \[[`c348a4cb46`](https://github.com/nodejs/node/commit/c348a4cb46)] - **test**: run instantiateStreaming-bad-imports WPT (Filip Skokan) [#66322](https://github.com/nodejs/node/pull/66322)
+* \[[`7d4fda6ba7`](https://github.com/nodejs/node/commit/7d4fda6ba7)] - **test**: honor allowed WPT promise rejections (Filip Skokan) [#66322](https://github.com/nodejs/node/pull/66322)
+* \[[`d4c87eb086`](https://github.com/nodejs/node/commit/d4c87eb086)] - **test**: scope Blob WPT failures to big-endian (Filip Skokan) [#66322](https://github.com/nodejs/node/pull/66322)
+* \[[`7309ddf204`](https://github.com/nodejs/node/commit/7309ddf204)] - **test\_runner**: rerun failing todo tests in suites (Barak) [#66605](https://github.com/nodejs/node/pull/66605)
+* \[[`da908b3072`](https://github.com/nodejs/node/commit/da908b3072)] - **test\_runner**: report load errors with --test-isolation=none (Lazizbek Ergashev) [#66550](https://github.com/nodejs/node/pull/66550)
+* \[[`b18e121625`](https://github.com/nodejs/node/commit/b18e121625)] - **test\_runner**: add mock call assertions to t.assert (Guilherme Araújo) [#66476](https://github.com/nodejs/node/pull/66476)
+* \[[`3d691ab75e`](https://github.com/nodejs/node/commit/3d691ab75e)] - **tools**: restore Python 3.14 for daily WPT (Filip Skokan) [#66699](https://github.com/nodejs/node/pull/66699)
+* \[[`714aca1ef6`](https://github.com/nodejs/node/commit/714aca1ef6)] - **tools**: switch to PGP and SHA256 in ICU updater (Antoine du Hamel) [#66469](https://github.com/nodejs/node/pull/66469)
+* \[[`fa9fca45e4`](https://github.com/nodejs/node/commit/fa9fca45e4)] - **tools**: lint thread\_local in src (Shelley Vohr) [#66411](https://github.com/nodejs/node/pull/66411)
+* \[[`dbc3e97847`](https://github.com/nodejs/node/commit/dbc3e97847)] - **tools**: copy hdr\_histogram\_internal.h in update-histogram.sh (Filipe Oliveira (Redis)) [#66528](https://github.com/nodejs/node/pull/66528)
+* \[[`4760c27904`](https://github.com/nodejs/node/commit/4760c27904)] - **tools**: bump the eslint group in /tools/eslint with 5 updates (dependabot\[bot]) [#66445](https://github.com/nodejs/node/pull/66445)
+* \[[`63c20ee58e`](https://github.com/nodejs/node/commit/63c20ee58e)] - **vfs**: add ComposableProvider for layered mounts (Matteo Collina) [#66235](https://github.com/nodejs/node/pull/66235)
+* \[[`ab057989af`](https://github.com/nodejs/node/commit/ab057989af)] - **watch**: strip underscore aliases of watch flags (Trivikram Kamat) [#66365](https://github.com/nodejs/node/pull/66365)
+
<a id="26.11.1"></a>
## 2026-10-07, Version 26.11.1 (Current), @aduh95