mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 10:15:07 +08:00
2026-05-05, Version 26.0.0 (Current)
assert: * (SEMVER-MAJOR) allow printf-style messages as assertion error (Ruben Bridgewater) https://github.com/nodejs/node/pull/58849 build: * (SEMVER-MAJOR) bump GCC requirement to 13.2 (Michaël Zasso) https://github.com/nodejs/node/pull/62555 * (SEMVER-MAJOR) enable Temporal by default (Richard Lau) https://github.com/nodejs/node/pull/61806 * (SEMVER-MAJOR) enable V8_VERIFY_WRITE_BARRIERS in debug build (Joyee Cheung) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) target Power 9 for AIX/IBM i (Richard Lau) https://github.com/nodejs/node/pull/62296 * (SEMVER-MAJOR) drop support for Python 3.9 (Mike McCready) https://github.com/nodejs/node/pull/61177 * (SEMVER-MAJOR) enable maglev for Linux on s390x (Richard Lau) https://github.com/nodejs/node/pull/60863 * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/60488 * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/60111 build,test: * (CVE-2026-21717) (SEMVER-MAJOR) test array index hash collision (Joyee Cheung) https://github.com/nodejs/node/pull/61898 build,win: * (SEMVER-MAJOR) fix Temporal build (StefanStojanovic) https://github.com/nodejs/node/pull/61806 crypto: * (SEMVER-MAJOR) unify asymmetric key import through KeyObjectHandle::Init (Filip Skokan) https://github.com/nodejs/node/pull/62499 * (SEMVER-MAJOR) runtime-deprecate DEP0203 and DEP0204 (Filip Skokan) https://github.com/nodejs/node/pull/62453 * (SEMVER-MAJOR) decorate async crypto job errors with OpenSSL error details (Filip Skokan) https://github.com/nodejs/node/pull/62348 * (SEMVER-MAJOR) default ML-KEM and ML-DSA pkcs8 export to seed-only format (Filip Skokan) https://github.com/nodejs/node/pull/62178 * (SEMVER-MAJOR) move DEP0182 to End-of-Life (Tobias Nießen) https://github.com/nodejs/node/pull/61084 * (SEMVER-MAJOR) fix DOMException name for non-extractable key error (Filip Skokan) https://github.com/nodejs/node/pull/60830 deps: * (SEMVER-MAJOR) V8: cherry-pick 0f024d4e66e0 (ishabi) https://github.com/nodejs/node/pull/62408 * (SEMVER-MAJOR) fix V8 race condition for AIX (Abdirahim Musse) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick cd2c216e7658 (LuYahan) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: backport 088b7112e7ab (Igor Sheludko) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick 00f6e834029f (Joyee Cheung) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: backport bef0d9c1bc90 (Joyee Cheung) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick cf1bce40a5ef (Richard Lau) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick daf4656ba85e (Milad Fa) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick d83f479604c8 (Joyee Cheung) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick edeb0a4fa181 (Joyee Cheung) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick aa0b288f87cc (Richard Lau) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) patch V8 to fix Windows build (StefanStojanovic) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) V8: cherry-pick highway@989a498fdf3 (Richard Lau) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) support madvise(3C) across ALL illumos revisions (Dan McDonald) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update V8 to 14.6.202.33 (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update undici to 8.0.2 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/62384 * (SEMVER-MAJOR) V8: backport 151d0a44a1b2 (Abdirahim Musse) https://github.com/nodejs/node/pull/60488 * (SEMVER-MAJOR) V8: cherry-pick 47800791b35c (Jakob Kummerow) https://github.com/nodejs/node/pull/60488 * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/59805 * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58070 * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58070 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/54077 * (SEMVER-MAJOR) update V8 to 14.3.127.12 (Michaël Zasso) https://github.com/nodejs/node/pull/60488 * (SEMVER-MAJOR) V8: cherry-pick ff34ae20c8e3 (Chengzhong Wu) https://github.com/nodejs/node/pull/60111 * (SEMVER-MAJOR) V8: backport fed47445bbdd (Abdirahim Musse) https://github.com/nodejs/node/pull/60111 * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/59805 * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58070 * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58070 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/54077 * (SEMVER-MAJOR) update V8 to 14.2.231.9 (Michaël Zasso) https://github.com/nodejs/node/pull/60111 diagnostics_channel: * (SEMVER-MAJOR) ensure tracePromise consistency with non-Promises (René) https://github.com/nodejs/node/pull/61766 doc: * (SEMVER-MAJOR) remove extensionless CJS exception for type:module packages (Matteo Collina) https://github.com/nodejs/node/pull/62176 * (SEMVER-MAJOR) update supported Windows SDK version to 11 (Mike McCready) https://github.com/nodejs/node/pull/61973 * (SEMVER-MAJOR) drop p8 and z13 support (Milad Fa) https://github.com/nodejs/node/pull/61005 http: * (SEMVER-MAJOR) move writeHeader to end-of-life (Sebastian Beltran) https://github.com/nodejs/node/pull/60635 * (SEMVER-MAJOR) fix handling of HTTP upgrades with bodies (Tim Perry) https://github.com/nodejs/node/pull/60016 lib: * (SEMVER-MAJOR) return undefined for localStorage without file (Matteo Collina) https://github.com/nodejs/node/pull/61333 lib,src: * (SEMVER-MAJOR) implement QuotaExceededError as DOMException-derived interface (Filip Skokan) https://github.com/nodejs/node/pull/62293 module: * (SEMVER-MAJOR) runtime-deprecate module.register() (Geoffrey Booth) https://github.com/nodejs/node/pull/62401 * (SEMVER-MAJOR) remove --experimental-transform-types (Marco Ippolito) https://github.com/nodejs/node/pull/61803 src: * (SEMVER-MAJOR) replace uses of deprecated v8::External APIs (gahaas) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) stop using `v8::PropertyCallbackInfo<T>::This()` (Igor Sheludko) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) avoid deprecated Wasm API (Clemens Backes) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) avoid deprecated `FixedArray::Get` (Clemens Backes) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 147 (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) remove deprecated and unused isolate fields (Michaël Zasso) https://github.com/nodejs/node/pull/60488 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 144 (Michaël Zasso) https://github.com/nodejs/node/pull/60488 * (SEMVER-MAJOR) include `node_api_types.h` instead of `node_api.h` in `node.h` (Anna Henningsen) https://github.com/nodejs/node/pull/60496 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 142 (Michaël Zasso) https://github.com/nodejs/node/pull/60111 stream: * (SEMVER-MAJOR) promote DEP0201 to runtime deprecation (René) https://github.com/nodejs/node/pull/62173 * (SEMVER-MAJOR) move _stream_* to end-of-life (Sebastian Beltran) https://github.com/nodejs/node/pull/60657 * (SEMVER-MAJOR) readable read one buffer at a time (Robert Nagy) https://github.com/nodejs/node/pull/60441 * (SEMVER-MAJOR) preserve AsyncLocalStorage on finished only when needed (avcribl) https://github.com/nodejs/node/pull/59873 test: * (SEMVER-MAJOR) skip wasm allocation tests in workers (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update wpt Wasm jsapi expectations (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) support presence of Temporal global (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) add type tags to uses of v8::External (gahaas) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) fix test-linux-perf-logger for V8 14.3 (Michaël Zasso) https://github.com/nodejs/node/pull/60488 tools: * (SEMVER-MAJOR) remove v8_initializers_slow workaround from v8.gyp (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) add Rust args to `tools/make-v8.sh` (Richard Lau) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update V8 gypfiles for 14.6 (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update V8 gypfiles for 14.5 (Michaël Zasso) https://github.com/nodejs/node/pull/61898 * (SEMVER-MAJOR) update V8 gypfiles for 14.4 (Michaël Zasso) https://github.com/nodejs/node/pull/61898 util: * (SEMVER-MAJOR) mark proxied objects as such when inspecting them (Ruben Bridgewater) https://github.com/nodejs/node/pull/61029 * (SEMVER-MAJOR) reduce TextEncoder.encodeInto function size (Yagiz Nizipli) https://github.com/nodejs/node/pull/60339 PR-URL: https://github.com/nodejs/node/pull/62526
This commit is contained in:
45 files changed
+746
-88
No files matched your search
@@ -2,6 +2,7 @@
|
||||
|
||||
Select a Node.js version below to view the changelog history:
|
||||
|
||||
* [Node.js 26](doc/changelogs/CHANGELOG_V26.md) **Current**
|
||||
* [Node.js 25](doc/changelogs/CHANGELOG_V25.md) **Current**
|
||||
* [Node.js 24](doc/changelogs/CHANGELOG_V24.md) **Long Term Support**
|
||||
* [Node.js 23](doc/changelogs/CHANGELOG_V23.md) End-of-Life
|
||||
@@ -34,6 +35,7 @@ release.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th title="Current"><a href="doc/changelogs/CHANGELOG_V26.md">26</a> (Current)</th>
|
||||
<th title="Current"><a href="doc/changelogs/CHANGELOG_V25.md">25</a> (Current)</th>
|
||||
<th title="LTS Until 2028-04"><a href="doc/changelogs/CHANGELOG_V24.md">24</a> (LTS)</th>
|
||||
<th title="LTS Until 2027-04"><a href="doc/changelogs/CHANGELOG_V22.md">22</a> (LTS)</th>
|
||||
@@ -41,6 +43,9 @@ release.
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.0.0">26.0.0</a></b><br/>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<b><a href="doc/changelogs/CHANGELOG_V25.md#25.9.0">25.9.0</a></b><br/>
|
||||
<a href="doc/changelogs/CHANGELOG_V25.md#25.8.2">25.8.2</a><br/>
|
||||
<a href="doc/changelogs/CHANGELOG_V25.md#25.8.1">25.8.1</a><br/>
|
||||
|
||||
+11
-11
@@ -327,7 +327,7 @@ destructuring and call methods directly on the instance.
|
||||
<!-- YAML
|
||||
added: v0.5.9
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
-->
|
||||
@@ -342,7 +342,7 @@ An alias of [`assert.ok()`][].
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v25.0.0
|
||||
@@ -861,7 +861,7 @@ added:
|
||||
- v13.6.0
|
||||
- v12.16.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v16.0.0
|
||||
@@ -1104,7 +1104,7 @@ assert.doesNotThrow(
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version:
|
||||
@@ -1292,7 +1292,7 @@ added:
|
||||
- v13.6.0
|
||||
- v12.16.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v16.0.0
|
||||
@@ -1344,7 +1344,7 @@ instance of {Error} then it will be thrown instead of the
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version:
|
||||
@@ -1471,7 +1471,7 @@ instead of the `AssertionError`.
|
||||
<!-- YAML
|
||||
added: v1.2.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v9.0.0
|
||||
@@ -1534,7 +1534,7 @@ instead of the [`AssertionError`][].
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version:
|
||||
@@ -1601,7 +1601,7 @@ parameter is an instance of {Error} then it will be thrown instead of the
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v10.0.0
|
||||
@@ -1657,7 +1657,7 @@ instead of the `AssertionError`.
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v10.0.0
|
||||
@@ -1904,7 +1904,7 @@ argument gets considered.
|
||||
<!-- YAML
|
||||
added: v0.1.21
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/58849
|
||||
description: Message may now be a `printf`-like format string or function.
|
||||
- version: v10.0.0
|
||||
|
||||
@@ -389,7 +389,9 @@ try {
|
||||
### `asyncLocalStorage.withScope(store)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
@@ -527,7 +529,9 @@ probably responsible for the context loss.
|
||||
## Class: `RunScope`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
@@ -543,7 +547,9 @@ exits, whether through normal completion or by throwing an error.
|
||||
### `scope.dispose()`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
Explicitly ends the scope and restores the previous store value. This method
|
||||
|
||||
+4
-2
@@ -786,7 +786,7 @@ added:
|
||||
- v20.15.0
|
||||
changes:
|
||||
- version:
|
||||
- REPLACEME
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62132
|
||||
description: Node.js now automatically disables the trap handler when there is not
|
||||
enough virtual memory available at startup to allocate one cage.
|
||||
@@ -1325,7 +1325,9 @@ Enable experimental support for storage inspection
|
||||
### `--experimental-stream-iter`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
|
||||
+13
-13
@@ -1193,7 +1193,7 @@ When passing a string as the `buffer`, please consider
|
||||
<!-- YAML
|
||||
added: v1.0.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61084
|
||||
description: Using GCM tag lengths other than 128 bits without specifying
|
||||
the `authTagLength` option when creating `decipher` is not
|
||||
@@ -2258,7 +2258,7 @@ be listed in the `transferList` argument.
|
||||
<!-- YAML
|
||||
added: v15.0.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Passing a non-extractable CryptoKey as `key` is deprecated.
|
||||
-->
|
||||
@@ -2399,11 +2399,11 @@ type, value, and parameters. This method is not
|
||||
<!-- YAML
|
||||
added: v11.6.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62706
|
||||
description: Added JWK format support for ML-KEM and SLH-DSA
|
||||
key types.
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62178
|
||||
description: ML-KEM and ML-DSA private key `'pkcs8'` export now
|
||||
uses seed-only format by default when a seed is
|
||||
@@ -3536,7 +3536,7 @@ operations. The specific constants currently defined are described in
|
||||
<!-- YAML
|
||||
added: v0.1.94
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Passing a CryptoKey as `key` is deprecated.
|
||||
- version:
|
||||
@@ -3613,7 +3613,7 @@ given IV will be.
|
||||
<!-- YAML
|
||||
added: v0.1.94
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Passing a CryptoKey as `key` is deprecated.
|
||||
- version:
|
||||
@@ -3839,7 +3839,7 @@ input.on('readable', () => {
|
||||
<!-- YAML
|
||||
added: v0.1.94
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Passing a CryptoKey as `key` is deprecated.
|
||||
- version: v15.0.0
|
||||
@@ -3932,11 +3932,11 @@ input.on('readable', () => {
|
||||
<!-- YAML
|
||||
added: v11.6.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62706
|
||||
description: Added JWK format support for ML-KEM and SLH-DSA
|
||||
key types.
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Passing a CryptoKey as `key` is deprecated.
|
||||
- version: v24.15.0
|
||||
@@ -3987,11 +3987,11 @@ of the passphrase is limited to 1024 bytes.
|
||||
<!-- YAML
|
||||
added: v11.6.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62706
|
||||
description: Added JWK format support for ML-KEM and SLH-DSA
|
||||
key types.
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Passing a CryptoKey as `key` is deprecated.
|
||||
- version: v24.15.0
|
||||
@@ -6104,7 +6104,7 @@ Throws an error if FIPS mode is not available.
|
||||
<!-- YAML
|
||||
added: v12.0.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62474
|
||||
description: Add support for Ed25519 context parameter.
|
||||
- version: v24.8.0
|
||||
@@ -6233,7 +6233,7 @@ not introduce timing vulnerabilities.
|
||||
<!-- YAML
|
||||
added: v12.0.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62474
|
||||
description: Add support for Ed25519 context parameter.
|
||||
- version: v24.8.0
|
||||
|
||||
@@ -1630,7 +1630,7 @@ instead.
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/60635
|
||||
description: End-of-Life.
|
||||
- version: v25.0.0
|
||||
@@ -2841,7 +2841,7 @@ This property is a reference to the instance itself.
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/60657
|
||||
description: End-of-Life.
|
||||
- version: v12.0.0
|
||||
@@ -4033,7 +4033,7 @@ Please use the [`crypto.createHmac()`][] method to create Hmac instances.
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61084
|
||||
description: End-of-Life.
|
||||
- version: v23.0.0
|
||||
@@ -4241,7 +4241,7 @@ an internal nodejs implementation rather than a public facing API, use `node:tls
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/60657
|
||||
description: End-of-Life.
|
||||
- version:
|
||||
@@ -4431,7 +4431,7 @@ import { opendir } from 'node:fs/promises';
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62173
|
||||
description: Runtime deprecation.
|
||||
- version:
|
||||
@@ -4489,7 +4489,7 @@ const server = http2.createSecureServer({
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Runtime deprecation.
|
||||
- version:
|
||||
@@ -4516,7 +4516,7 @@ will throw an error in a future version. This includes
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62453
|
||||
description: Runtime deprecation.
|
||||
- version:
|
||||
@@ -4535,7 +4535,7 @@ deprecated and will throw an error in a future version.
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62401
|
||||
description: Runtime deprecation.
|
||||
- version:
|
||||
|
||||
@@ -948,7 +948,7 @@ added:
|
||||
- v19.9.0
|
||||
- v18.19.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61766
|
||||
description: Custom thenables will no longer be wrapped in native Promises.
|
||||
Non-thenables will be returned with a warning.
|
||||
@@ -1861,6 +1861,7 @@ Emitted when [`process.execve()`][] is invoked.
|
||||
added:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
These channels are emitted for each [`locks.request()`][] call. See
|
||||
|
||||
+9
-3
@@ -380,7 +380,9 @@ added: v10.0.0
|
||||
#### `filehandle.pull([...transforms][, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
@@ -457,7 +459,9 @@ run().catch(console.error);
|
||||
#### `filehandle.pullSync([...transforms][, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
@@ -1012,7 +1016,9 @@ the end of the file.
|
||||
#### `filehandle.writer([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
|
||||
+2
-2
@@ -661,7 +661,7 @@ A browser-compatible implementation of {Headers}.
|
||||
<!-- YAML
|
||||
added: v22.4.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/60351
|
||||
description: Accessing the `localStorage` global without providing
|
||||
`--localstorage-file` now throws a `DOMException`, for
|
||||
@@ -979,7 +979,7 @@ DataHandler.prototype.load = async function load(key) {
|
||||
## Class: `QuotaExceededError`
|
||||
|
||||
<!-- YAML
|
||||
added: REPLACEME
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
The WHATWG {QuotaExceededError} class. Extends {DOMException}.
|
||||
|
||||
+1
-1
@@ -1691,7 +1691,7 @@ per connection (in the case of HTTP Keep-Alive connections).
|
||||
<!-- YAML
|
||||
added: v0.1.94
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/60016
|
||||
description: Request bodies are no longer exposed raw (unparsed) on the
|
||||
socket argument. Instead, if a body is received, the stream
|
||||
|
||||
+7
-2
@@ -181,10 +181,15 @@ added:
|
||||
deprecated:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62401
|
||||
description: Runtime deprecation (DEP0205).
|
||||
- version: v25.9.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62395
|
||||
description: Documentation-only deprecation (DEP0205). Use
|
||||
`module.registerHooks()` instead.
|
||||
- version:
|
||||
- v23.6.1
|
||||
- v22.13.1
|
||||
@@ -257,7 +262,7 @@ added:
|
||||
- v23.2.0
|
||||
- v22.13.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61803
|
||||
description: Removed `transform` and `sourceMap` options.
|
||||
-->
|
||||
|
||||
+7
-3
@@ -739,7 +739,9 @@ This feature is not available in [`Worker`][] threads.
|
||||
## `process.addUncaughtExceptionCaptureCallback(fn)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
@@ -2056,7 +2058,7 @@ added:
|
||||
- v23.0.0
|
||||
- v22.10.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61803
|
||||
description: Removed `transform` value.
|
||||
- version:
|
||||
@@ -4077,7 +4079,9 @@ This implies calling `module.setSourceMapsSupport()` with an option
|
||||
<!-- YAML
|
||||
added: v9.3.0
|
||||
changes:
|
||||
- version: v25.9.0
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61227
|
||||
description: Use `process.addUncaughtExceptionCaptureCallback()` to
|
||||
register multiple callbacks.
|
||||
|
||||
@@ -1252,6 +1252,7 @@ changes:
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62335
|
||||
description: CryptoKey is no longer accepted.
|
||||
-->
|
||||
|
||||
+3
-1
@@ -709,7 +709,9 @@ npx codemod@latest @nodejs/repl-builtin-modules
|
||||
<!-- YAML
|
||||
added: v0.1.91
|
||||
changes:
|
||||
- version: v25.9.0
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62188
|
||||
description: The `handleError` parameter has been added.
|
||||
- version: v24.1.0
|
||||
|
||||
+78
-26
@@ -521,7 +521,9 @@ Including the `node:` prefix on the module specifier is optional.
|
||||
### `from(input)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `input` {string|ArrayBuffer|ArrayBufferView|Iterable|AsyncIterable|Object}
|
||||
@@ -561,7 +563,9 @@ run().catch(console.error);
|
||||
### `fromSync(input)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `input` {string|ArrayBuffer|ArrayBufferView|Iterable|Object}
|
||||
@@ -591,7 +595,9 @@ console.log(textSync(fromSync('hello'))); // 'hello'
|
||||
### `pipeTo(source[, ...transforms], writer[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable|Iterable} The data source.
|
||||
@@ -648,7 +654,9 @@ run().catch(console.error);
|
||||
### `pipeToSync(source[, ...transforms], writer[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable} The sync data source.
|
||||
@@ -668,7 +676,9 @@ The `writer` must have the `*Sync` methods (`writeSync`, `writevSync`,
|
||||
### `pull(source[, ...transforms][, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable|Iterable} The data source.
|
||||
@@ -739,7 +749,9 @@ ac.abort(); // Pipeline throws AbortError on next iteration
|
||||
### `pullSync(source[, ...transforms])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable} The sync data source.
|
||||
@@ -753,7 +765,9 @@ Synchronous version of [`pull()`][]. All transforms must be synchronous.
|
||||
### `push([...transforms][, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `...transforms` {Function|Object} Optional transforms applied to the
|
||||
@@ -817,7 +831,9 @@ The writer returned by `push()` conforms to the \[Writer interface]\[].
|
||||
### `duplex([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
@@ -895,7 +911,9 @@ run().catch(console.error);
|
||||
### `array(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable\<Uint8Array\[]>|Iterable\<Uint8Array\[]>}
|
||||
@@ -910,7 +928,9 @@ Collect all chunks as an array of `Uint8Array` values (without concatenating).
|
||||
### `arrayBuffer(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable\<Uint8Array\[]>|Iterable\<Uint8Array\[]>}
|
||||
@@ -925,7 +945,9 @@ Collect all bytes into an `ArrayBuffer`.
|
||||
### `arrayBufferSync(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable\<Uint8Array\[]>}
|
||||
@@ -939,7 +961,9 @@ Synchronous version of [`arrayBuffer()`][].
|
||||
### `arraySync(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable\<Uint8Array\[]>}
|
||||
@@ -953,7 +977,9 @@ Synchronous version of [`array()`][].
|
||||
### `bytes(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable\<Uint8Array\[]>|Iterable\<Uint8Array\[]>}
|
||||
@@ -986,7 +1012,9 @@ run().catch(console.error);
|
||||
### `bytesSync(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable\<Uint8Array\[]>}
|
||||
@@ -1000,7 +1028,9 @@ Synchronous version of [`bytes()`][].
|
||||
### `text(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable\<Uint8Array\[]>|Iterable\<Uint8Array\[]>}
|
||||
@@ -1032,7 +1062,9 @@ run().catch(console.error);
|
||||
### `textSync(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable\<Uint8Array\[]>}
|
||||
@@ -1049,7 +1081,9 @@ Synchronous version of [`text()`][].
|
||||
### `ondrain(drainable)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `drainable` {Object} An object implementing the drainable protocol.
|
||||
@@ -1104,7 +1138,9 @@ run().catch(console.error);
|
||||
### `merge(...sources[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `...sources` {AsyncIterable\<Uint8Array\[]>|Iterable\<Uint8Array\[]>} Two or more iterables.
|
||||
@@ -1137,7 +1173,9 @@ run().catch(console.error);
|
||||
### `tap(callback)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `callback` {Function} `(chunks) => void` Called with each batch.
|
||||
@@ -1176,7 +1214,9 @@ chunks by the tapping callback; but return values are ignored.
|
||||
### `tapSync(callback)`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `callback` {Function}
|
||||
@@ -1189,7 +1229,9 @@ Synchronous version of [`tap()`][].
|
||||
### `broadcast([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
@@ -1290,7 +1332,9 @@ Alias for `broadcast.cancel()`.
|
||||
### `Broadcast.from(input[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `input` {AsyncIterable|Iterable|Broadcastable}
|
||||
@@ -1303,7 +1347,9 @@ automatically and pushed to all subscribers.
|
||||
### `share(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {AsyncIterable} The source to share.
|
||||
@@ -1384,7 +1430,9 @@ Alias for `share.cancel()`.
|
||||
### `Share.from(input[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `input` {AsyncIterable|Shareable}
|
||||
@@ -1396,7 +1444,9 @@ Create a {Share} from an existing source.
|
||||
### `shareSync(source[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `source` {Iterable} The sync source to share.
|
||||
@@ -1411,7 +1461,9 @@ Synchronous version of [`share()`][].
|
||||
### `SyncShare.fromSync(input[, options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* `input` {Iterable|SyncShareable}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61803
|
||||
description: Removed `--experimental-transform-types` flag.
|
||||
- version:
|
||||
|
||||
+35
-11
@@ -2,7 +2,9 @@
|
||||
|
||||
<!-- YAML
|
||||
changes:
|
||||
- version: v25.9.0
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62183
|
||||
description: TurboSHAKE and KangarooTwelve algorithms
|
||||
are now supported.
|
||||
@@ -1011,7 +1013,9 @@ The algorithms currently supported include:
|
||||
<!-- YAML
|
||||
added: v15.0.0
|
||||
changes:
|
||||
- version: v25.9.0
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62183
|
||||
description: TurboSHAKE and KangarooTwelve algorithms
|
||||
are now supported.
|
||||
@@ -1283,7 +1287,7 @@ The {CryptoKey} (secret key) generating algorithms supported include:
|
||||
<!-- YAML
|
||||
added: v15.0.0
|
||||
changes:
|
||||
- version: REPLACEME
|
||||
- version: v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/62706
|
||||
description: Added JWK format support for ML-KEM key types.
|
||||
- version:
|
||||
@@ -1905,6 +1909,7 @@ changes:
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61875
|
||||
description: Renamed `cShakeParams.length` to `cShakeParams.outputLength`.
|
||||
-->
|
||||
@@ -1923,6 +1928,7 @@ added: v24.7.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {number} represents the requested output length in bits.
|
||||
@@ -2351,13 +2357,17 @@ added: v15.0.0
|
||||
### Class: `KangarooTwelveParams`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
#### `kangarooTwelveParams.customization`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {ArrayBuffer|TypedArray|DataView|Buffer|undefined}
|
||||
@@ -2367,7 +2377,9 @@ The optional customization string for KangarooTwelve.
|
||||
#### `kangarooTwelveParams.name`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {string} Must be `'KT128'`[^modern-algos] or `'KT256'`[^modern-algos].
|
||||
@@ -2375,7 +2387,9 @@ added: v25.9.0
|
||||
#### `kangarooTwelveParams.outputLength`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {number} represents the requested output length in bits.
|
||||
@@ -2463,6 +2477,7 @@ changes:
|
||||
- version:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/61875
|
||||
description: Renamed `kmacParams.length` to `kmacParams.outputLength`.
|
||||
-->
|
||||
@@ -2481,6 +2496,7 @@ added: v24.8.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v24.15.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {number}
|
||||
@@ -2757,13 +2773,17 @@ The length (in bytes) of the random salt to use.
|
||||
### Class: `TurboShakeParams`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
#### `turboShakeParams.domainSeparation`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {number|undefined}
|
||||
@@ -2773,7 +2793,9 @@ The optional domain separation byte (0x01-0x7f). Defaults to `0x1f`.
|
||||
#### `turboShakeParams.name`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {string} Must be `'TurboSHAKE128'`[^modern-algos] or `'TurboSHAKE256'`[^modern-algos].
|
||||
@@ -2781,7 +2803,9 @@ added: v25.9.0
|
||||
#### `turboShakeParams.outputLength`
|
||||
|
||||
<!-- YAML
|
||||
added: v25.9.0
|
||||
added:
|
||||
- v25.9.0
|
||||
- v26.0.0
|
||||
-->
|
||||
|
||||
* Type: {number} represents the requested output length in bits.
|
||||
|
||||
@@ -0,0 +1,254 @@
|
||||
# Iterable Compression
|
||||
|
||||
<!--introduced_in=v26.0.0-->
|
||||
|
||||
> Stability: 1 - Experimental
|
||||
|
||||
<!-- source_link=lib/zlib/iter.js -->
|
||||
|
||||
The `node:zlib/iter` module provides compression and decompression transforms
|
||||
for use with the [`node:stream/iter`][] iterable streams API.
|
||||
|
||||
This module is available only when the `--experimental-stream-iter` CLI flag
|
||||
is enabled.
|
||||
|
||||
Each algorithm has both an async variant (stateful async generator, for use
|
||||
with [`pull()`][] and [`pipeTo()`][]) and a sync variant (stateful sync
|
||||
generator, for use with `pullSync()` and `pipeToSync()`).
|
||||
|
||||
The async transforms run compression on the libuv threadpool, overlapping
|
||||
I/O with JavaScript execution. The sync transforms run compression directly
|
||||
on the main thread.
|
||||
|
||||
> Note: The defaults for these transforms are tuned for streaming throughput,
|
||||
> and differ from the defaults in `node:zlib`. In particular, gzip/deflate
|
||||
> default to level 4 (not 6) and memLevel 9 (not 8), and Brotli defaults to
|
||||
> quality 6 (not 11). These choices match common HTTP server configurations
|
||||
> and provide significantly faster compression with only a small reduction in
|
||||
> compression ratio. All defaults can be overridden via options.
|
||||
|
||||
```mjs
|
||||
import { from, pull, bytes, text } from 'node:stream/iter';
|
||||
import { compressGzip, decompressGzip } from 'node:zlib/iter';
|
||||
|
||||
// Async round-trip
|
||||
const compressed = await bytes(pull(from('hello'), compressGzip()));
|
||||
const original = await text(pull(from(compressed), decompressGzip()));
|
||||
console.log(original); // 'hello'
|
||||
```
|
||||
|
||||
```cjs
|
||||
const { from, pull, bytes, text } = require('node:stream/iter');
|
||||
const { compressGzip, decompressGzip } = require('node:zlib/iter');
|
||||
|
||||
async function run() {
|
||||
const compressed = await bytes(pull(from('hello'), compressGzip()));
|
||||
const original = await text(pull(from(compressed), decompressGzip()));
|
||||
console.log(original); // 'hello'
|
||||
}
|
||||
|
||||
run().catch(console.error);
|
||||
```
|
||||
|
||||
```mjs
|
||||
import { fromSync, pullSync, textSync } from 'node:stream/iter';
|
||||
import { compressGzipSync, decompressGzipSync } from 'node:zlib/iter';
|
||||
|
||||
// Sync round-trip
|
||||
const compressed = pullSync(fromSync('hello'), compressGzipSync());
|
||||
const original = textSync(pullSync(compressed, decompressGzipSync()));
|
||||
console.log(original); // 'hello'
|
||||
```
|
||||
|
||||
```cjs
|
||||
const { fromSync, pullSync, textSync } = require('node:stream/iter');
|
||||
const { compressGzipSync, decompressGzipSync } = require('node:zlib/iter');
|
||||
|
||||
const compressed = pullSync(fromSync('hello'), compressGzipSync());
|
||||
const original = textSync(pullSync(compressed, decompressGzipSync()));
|
||||
console.log(original); // 'hello'
|
||||
```
|
||||
|
||||
## `compressBrotli([options])`
|
||||
|
||||
## `compressBrotliSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `params` {Object} Key-value object where keys and values are
|
||||
`zlib.constants` entries. The most important compressor parameters are:
|
||||
* `BROTLI_PARAM_MODE` -- `BROTLI_MODE_GENERIC` (default),
|
||||
`BROTLI_MODE_TEXT`, or `BROTLI_MODE_FONT`.
|
||||
* `BROTLI_PARAM_QUALITY` -- ranges from `BROTLI_MIN_QUALITY` to
|
||||
`BROTLI_MAX_QUALITY`. **Default:** `6` (not `BROTLI_DEFAULT_QUALITY`
|
||||
which is 11). Quality 6 is appropriate for streaming; quality 11 is
|
||||
intended for offline/build-time compression.
|
||||
* `BROTLI_PARAM_SIZE_HINT` -- expected input size. **Default:** `0`
|
||||
(unknown).
|
||||
* `BROTLI_PARAM_LGWIN` -- window size (log2). **Default:** `20` (1 MB).
|
||||
The Brotli library default is 22 (4 MB); the reduced default saves
|
||||
memory without significant compression impact for streaming workloads.
|
||||
* `BROTLI_PARAM_LGBLOCK` -- input block size (log2).
|
||||
See the [Brotli compressor options][] in the zlib documentation for the
|
||||
full list.
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a Brotli compression transform. Output is compatible with
|
||||
`zlib.brotliDecompress()` and `decompressBrotli()`/`decompressBrotliSync()`.
|
||||
|
||||
## `compressDeflate([options])`
|
||||
|
||||
## `compressDeflateSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `level` {number} Compression level (`0`-`9`). **Default:** `4`.
|
||||
* `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15).
|
||||
* `memLevel` {number} **Default:** `9`.
|
||||
* `strategy` {number} **Default:** `Z_DEFAULT_STRATEGY`.
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a deflate compression transform. Output is compatible with
|
||||
`zlib.inflate()` and `decompressDeflate()`/`decompressDeflateSync()`.
|
||||
|
||||
## `compressGzip([options])`
|
||||
|
||||
## `compressGzipSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `level` {number} Compression level (`0`-`9`). **Default:** `4`.
|
||||
* `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15).
|
||||
* `memLevel` {number} **Default:** `9`.
|
||||
* `strategy` {number} **Default:** `Z_DEFAULT_STRATEGY`.
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a gzip compression transform. Output is compatible with `zlib.gunzip()`
|
||||
and `decompressGzip()`/`decompressGzipSync()`.
|
||||
|
||||
## `compressZstd([options])`
|
||||
|
||||
## `compressZstdSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `params` {Object} Key-value object where keys and values are
|
||||
`zlib.constants` entries. The most important compressor parameters are:
|
||||
* `ZSTD_c_compressionLevel` -- **Default:** `ZSTD_CLEVEL_DEFAULT` (3).
|
||||
* `ZSTD_c_checksumFlag` -- generate a checksum. **Default:** `0`.
|
||||
* `ZSTD_c_strategy` -- compression strategy. Values include
|
||||
`ZSTD_fast`, `ZSTD_dfast`, `ZSTD_greedy`, `ZSTD_lazy`,
|
||||
`ZSTD_lazy2`, `ZSTD_btlazy2`, `ZSTD_btopt`, `ZSTD_btultra`,
|
||||
`ZSTD_btultra2`.
|
||||
See the [Zstd compressor options][] in the zlib documentation for the
|
||||
full list.
|
||||
* `pledgedSrcSize` {number} Expected uncompressed size (optional hint).
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a Zstandard compression transform. Output is compatible with
|
||||
`zlib.zstdDecompress()` and `decompressZstd()`/`decompressZstdSync()`.
|
||||
|
||||
## `decompressBrotli([options])`
|
||||
|
||||
## `decompressBrotliSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `params` {Object} Key-value object where keys and values are
|
||||
`zlib.constants` entries. Available decompressor parameters:
|
||||
* `BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION` -- boolean
|
||||
flag affecting internal memory allocation.
|
||||
* `BROTLI_DECODER_PARAM_LARGE_WINDOW` -- boolean flag enabling "Large
|
||||
Window Brotli" mode (not compatible with [RFC 7932][]).
|
||||
See the [Brotli decompressor options][] in the zlib documentation for
|
||||
details.
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a Brotli decompression transform.
|
||||
|
||||
## `decompressDeflate([options])`
|
||||
|
||||
## `decompressDeflateSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15).
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a deflate decompression transform.
|
||||
|
||||
## `decompressGzip([options])`
|
||||
|
||||
## `decompressGzipSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `windowBits` {number} **Default:** `Z_DEFAULT_WINDOWBITS` (15).
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a gzip decompression transform.
|
||||
|
||||
## `decompressZstd([options])`
|
||||
|
||||
## `decompressZstdSync([options])`
|
||||
|
||||
<!-- YAML
|
||||
added: v26.0.0
|
||||
-->
|
||||
|
||||
* `options` {Object}
|
||||
* `chunkSize` {number} Output buffer size. **Default:** `65536` (64 KB).
|
||||
* `params` {Object} Key-value object where keys and values are
|
||||
`zlib.constants` entries. Available decompressor parameters:
|
||||
* `ZSTD_d_windowLogMax` -- maximum window size (log2) the decompressor
|
||||
will allocate. Limits memory usage against malicious input.
|
||||
See the [Zstd decompressor options][] in the zlib documentation for
|
||||
details.
|
||||
* `dictionary` {Buffer|TypedArray|DataView}
|
||||
* Returns: {Object} A stateful transform.
|
||||
|
||||
Create a Zstandard decompression transform.
|
||||
|
||||
[Brotli compressor options]: zlib.md#compressor-options
|
||||
[Brotli decompressor options]: zlib.md#decompressor-options
|
||||
[RFC 7932]: https://www.rfc-editor.org/rfc/rfc7932
|
||||
[Zstd compressor options]: zlib.md#compressor-options-1
|
||||
[Zstd decompressor options]: zlib.md#decompressor-options-1
|
||||
[`node:stream/iter`]: stream_iter.md
|
||||
[`pipeTo()`]: stream_iter.md#pipetosource-transforms-writer-options
|
||||
[`pull()`]: stream_iter.md#pullsource-transforms-options
|
||||
@@ -156,6 +156,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [22.x](CHANGELOG_V22.md)
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
* [22.x](CHANGELOG_V22.md)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
* [22.x](CHANGELOG_V22.md)
|
||||
|
||||
@@ -0,0 +1,270 @@
|
||||
# Node.js 26 ChangeLog
|
||||
|
||||
<!--lint disable maximum-line-length no-literal-urls prohibited-strings-->
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Current</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="#26.0.0">26.0.0</a><br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
* [22.x](CHANGELOG_V22.md)
|
||||
* [21.x](CHANGELOG_V21.md)
|
||||
* [20.x](CHANGELOG_V20.md)
|
||||
* [19.x](CHANGELOG_V19.md)
|
||||
* [18.x](CHANGELOG_V18.md)
|
||||
* [17.x](CHANGELOG_V17.md)
|
||||
* [16.x](CHANGELOG_V16.md)
|
||||
* [15.x](CHANGELOG_V15.md)
|
||||
* [14.x](CHANGELOG_V14.md)
|
||||
* [13.x](CHANGELOG_V13.md)
|
||||
* [12.x](CHANGELOG_V12.md)
|
||||
* [11.x](CHANGELOG_V11.md)
|
||||
* [10.x](CHANGELOG_V10.md)
|
||||
* [9.x](CHANGELOG_V9.md)
|
||||
* [8.x](CHANGELOG_V8.md)
|
||||
* [7.x](CHANGELOG_V7.md)
|
||||
* [6.x](CHANGELOG_V6.md)
|
||||
* [5.x](CHANGELOG_V5.md)
|
||||
* [4.x](CHANGELOG_V4.md)
|
||||
* [0.12.x](CHANGELOG_V012.md)
|
||||
* [0.10.x](CHANGELOG_V010.md)
|
||||
* [io.js](CHANGELOG_IOJS.md)
|
||||
* [Archive](CHANGELOG_ARCHIVE.md)
|
||||
|
||||
<a id="26.0.0"></a>
|
||||
|
||||
## 2026-05-05, Version 26.0.0 (Current), @RafaelGSS
|
||||
|
||||
We're excited to announce the release of Node.js 26! Highlights include the Temporal API enabled by default,
|
||||
updates to the V8 JavaScript engine to 14.6, Undici to 8.0, and several important deprecations and removals
|
||||
as we continue to modernize the platform.
|
||||
|
||||
As a reminder, Node.js 26 will enter long-term support (LTS) in October, but until then, it will be the "Current" release for the next six months.
|
||||
We encourage you to explore the new features and benefits offered by this latest release and evaluate their potential impact on your applications.
|
||||
|
||||
### Notable Changes
|
||||
|
||||
#### Temporal API
|
||||
|
||||
The Temporal API is now enabled by default in Node.js 26. Temporal is a modern date/time API for JavaScript
|
||||
that provides a more robust and feature-rich alternative to the legacy `Date` object.
|
||||
|
||||
Contributed by Richard Lau in [#61806](https://github.com/nodejs/node/pull/61806).
|
||||
|
||||
#### V8 14.6
|
||||
|
||||
The V8 engine is updated to version 14.6.202.33, which is part of Chromium 134.
|
||||
|
||||
This version also includes:
|
||||
|
||||
* Upsert (<https://github.com/tc39/proposal-upsert>): `[Weak]Map.prototype.getOrInsert()`, `[Weak]Map.prototype.getOrInsertComputed()`
|
||||
* Iterator sequencing (<https://github.com/tc39/proposal-iterator-sequencing>): `Iterator.concat()`
|
||||
|
||||
Contributed by Michaël Zasso in [#61898](https://github.com/nodejs/node/pull/61898).
|
||||
|
||||
#### Undici 8
|
||||
|
||||
Undici has been updated to version 8.0.2, bringing new features and improvements to Node.js's HTTP client implementation.
|
||||
|
||||
#### Deprecations and Removals
|
||||
|
||||
* \[[`dff46c07c3`](https://github.com/nodejs/node/commit/dff46c07c3)] - **(SEMVER-MAJOR)** **crypto**: move DEP0182 to End-of-Life (Tobias Nießen) [#61084](https://github.com/nodejs/node/pull/61084)
|
||||
* \[[`93c25815ee`](https://github.com/nodejs/node/commit/93c25815ee)] - **(SEMVER-MAJOR)** **http**: move writeHeader to end-of-life (Sebastian Beltran) [#60635](https://github.com/nodejs/node/pull/60635)
|
||||
|
||||
`http.Server.prototype.writeHeader()` is now fully removed. Use `http.Server.prototype.writeHead()` instead.
|
||||
|
||||
* \[[`c755b0113c`](https://github.com/nodejs/node/commit/c755b0113c)] - **(SEMVER-MAJOR)** **stream**: move \_stream\_\* to end-of-life (Sebastian Beltran) [#60657](https://github.com/nodejs/node/pull/60657)
|
||||
|
||||
The legacy `_stream_wrap`, `_stream_readable`, `_stream_writable`, `_stream_duplex`, `_stream_transform`, and `_stream_passthrough` modules are now fully removed.
|
||||
|
||||
* \[[`adac077484`](https://github.com/nodejs/node/commit/adac077484)] - **(SEMVER-MAJOR)** **crypto**: runtime-deprecate DEP0203 and DEP0204 (Filip Skokan) [#62453](https://github.com/nodejs/node/pull/62453)
|
||||
* \[[`ac6375417a`](https://github.com/nodejs/node/commit/ac6375417a)] - **(SEMVER-MAJOR)** **stream**: promote DEP0201 to runtime deprecation (René) [#62173](https://github.com/nodejs/node/pull/62173)
|
||||
* \[[`98907f560f`](https://github.com/nodejs/node/commit/98907f560f)] - **(SEMVER-MAJOR)** **module**: runtime-deprecate module.register() (Geoffrey Booth) [#62401](https://github.com/nodejs/node/pull/62401)
|
||||
* \[[`89f4b6cddb`](https://github.com/nodejs/node/commit/89f4b6cddb)] - **(SEMVER-MAJOR)** **module**: remove --experimental-transform-types (Marco Ippolito) [#61803](https://github.com/nodejs/node/pull/61803)
|
||||
|
||||
### Semver-Major Commits
|
||||
|
||||
* \[[`d3f79aa65d`](https://github.com/nodejs/node/commit/d3f79aa65d)] - **(SEMVER-MAJOR)** **assert**: allow printf-style messages as assertion error (Ruben Bridgewater) [#58849](https://github.com/nodejs/node/pull/58849)
|
||||
* \[[`f6ce381fec`](https://github.com/nodejs/node/commit/f6ce381fec)] - **(SEMVER-MAJOR)** **build**: bump GCC requirement to 13.2 (Michaël Zasso) [#62555](https://github.com/nodejs/node/pull/62555)
|
||||
* \[[`bff81fca46`](https://github.com/nodejs/node/commit/bff81fca46)] - **(SEMVER-MAJOR)** **build**: enable Temporal by default (Richard Lau) [#61806](https://github.com/nodejs/node/pull/61806)
|
||||
* \[[`6ddb1643e1`](https://github.com/nodejs/node/commit/6ddb1643e1)] - **(SEMVER-MAJOR)** **build**: enable V8\_VERIFY\_WRITE\_BARRIERS in debug build (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`a8ab08b373`](https://github.com/nodejs/node/commit/a8ab08b373)] - **(SEMVER-MAJOR)** **build**: reset embedder string to "-node.0" (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`0998c37eb6`](https://github.com/nodejs/node/commit/0998c37eb6)] - **(SEMVER-MAJOR)** **build**: target Power 9 for AIX/IBM i (Richard Lau) [#62296](https://github.com/nodejs/node/pull/62296)
|
||||
* \[[`d73c49e849`](https://github.com/nodejs/node/commit/d73c49e849)] - **(SEMVER-MAJOR)** **build**: drop support for Python 3.9 (Mike McCready) [#61177](https://github.com/nodejs/node/pull/61177)
|
||||
* \[[`3c92ee1008`](https://github.com/nodejs/node/commit/3c92ee1008)] - **(SEMVER-MAJOR)** **build**: enable maglev for Linux on s390x (Richard Lau) [#60863](https://github.com/nodejs/node/pull/60863)
|
||||
* \[[`908c468828`](https://github.com/nodejs/node/commit/908c468828)] - **(SEMVER-MAJOR)** **build**: reset embedder string to "-node.0" (Michaël Zasso) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`6380fbb5ee`](https://github.com/nodejs/node/commit/6380fbb5ee)] - **(SEMVER-MAJOR)** **build**: reset embedder string to "-node.0" (Michaël Zasso) [#60111](https://github.com/nodejs/node/pull/60111)
|
||||
* \[[`089d6c77e7`](https://github.com/nodejs/node/commit/089d6c77e7)] - **(SEMVER-MAJOR)** **(CVE-2026-21717)** **build,test**: test array index hash collision (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`f9bd0165c4`](https://github.com/nodejs/node/commit/f9bd0165c4)] - **(SEMVER-MAJOR)** **build,win**: fix Temporal build (StefanStojanovic) [#61806](https://github.com/nodejs/node/pull/61806)
|
||||
* \[[`6cc4cf8fe8`](https://github.com/nodejs/node/commit/6cc4cf8fe8)] - **(SEMVER-MAJOR)** **crypto**: unify asymmetric key import through KeyObjectHandle::Init (Filip Skokan) [#62499](https://github.com/nodejs/node/pull/62499)
|
||||
* \[[`adac077484`](https://github.com/nodejs/node/commit/adac077484)] - **(SEMVER-MAJOR)** **crypto**: runtime-deprecate DEP0203 and DEP0204 (Filip Skokan) [#62453](https://github.com/nodejs/node/pull/62453)
|
||||
* \[[`74509b166a`](https://github.com/nodejs/node/commit/74509b166a)] - **(SEMVER-MAJOR)** **crypto**: decorate async crypto job errors with OpenSSL error details (Filip Skokan) [#62348](https://github.com/nodejs/node/pull/62348)
|
||||
* \[[`da5843b91d`](https://github.com/nodejs/node/commit/da5843b91d)] - **(SEMVER-MAJOR)** **crypto**: default ML-KEM and ML-DSA pkcs8 export to seed-only format (Filip Skokan) [#62178](https://github.com/nodejs/node/pull/62178)
|
||||
* \[[`dff46c07c3`](https://github.com/nodejs/node/commit/dff46c07c3)] - **(SEMVER-MAJOR)** **crypto**: move DEP0182 to End-of-Life (Tobias Nießen) [#61084](https://github.com/nodejs/node/pull/61084)
|
||||
* \[[`94cd600542`](https://github.com/nodejs/node/commit/94cd600542)] - **(SEMVER-MAJOR)** **crypto**: fix DOMException name for non-extractable key error (Filip Skokan) [#60830](https://github.com/nodejs/node/pull/60830)
|
||||
* \[[`dae2219cca`](https://github.com/nodejs/node/commit/dae2219cca)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 0f024d4e66e0 (ishabi) [#62408](https://github.com/nodejs/node/pull/62408)
|
||||
* \[[`15d406c1b1`](https://github.com/nodejs/node/commit/15d406c1b1)] - **(SEMVER-MAJOR)** **deps**: fix V8 race condition for AIX (Abdirahim Musse) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`46852d2d7a`](https://github.com/nodejs/node/commit/46852d2d7a)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick cd2c216e7658 (LuYahan) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`784431d6fc`](https://github.com/nodejs/node/commit/784431d6fc)] - **(SEMVER-MAJOR)** **deps**: V8: backport 088b7112e7ab (Igor Sheludko) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`3839c4a756`](https://github.com/nodejs/node/commit/3839c4a756)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 00f6e834029f (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`44f64f1dd9`](https://github.com/nodejs/node/commit/44f64f1dd9)] - **(SEMVER-MAJOR)** **deps**: V8: backport bef0d9c1bc90 (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`1f8f288e22`](https://github.com/nodejs/node/commit/1f8f288e22)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick cf1bce40a5ef (Richard Lau) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`d7eccac9ad`](https://github.com/nodejs/node/commit/d7eccac9ad)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick daf4656ba85e (Milad Fa) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`3ee1ea7d0b`](https://github.com/nodejs/node/commit/3ee1ea7d0b)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick d83f479604c8 (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`80907c0239`](https://github.com/nodejs/node/commit/80907c0239)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick edeb0a4fa181 (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`5e0dc169e9`](https://github.com/nodejs/node/commit/5e0dc169e9)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick aa0b288f87cc (Richard Lau) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`8c1f7adbcd`](https://github.com/nodejs/node/commit/8c1f7adbcd)] - **(SEMVER-MAJOR)** **deps**: patch V8 to fix Windows build (StefanStojanovic) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`3cbd3404d9`](https://github.com/nodejs/node/commit/3cbd3404d9)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick highway\@989a498fdf3 (Richard Lau) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`9f2b7d4031`](https://github.com/nodejs/node/commit/9f2b7d4031)] - **(SEMVER-MAJOR)** **deps**: support madvise(3C) across ALL illumos revisions (Dan McDonald) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`947ec32118`](https://github.com/nodejs/node/commit/947ec32118)] - **(SEMVER-MAJOR)** **deps**: patch V8 for illumos (Dan McDonald) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`0660b942b2`](https://github.com/nodejs/node/commit/0660b942b2)] - **(SEMVER-MAJOR)** **deps**: remove problematic comment from v8-internal (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`bef7b31a3f`](https://github.com/nodejs/node/commit/bef7b31a3f)] - **(SEMVER-MAJOR)** **deps**: define V8\_PRESERVE\_MOST as no-op on Windows (Stefan Stojanovic) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`a10bf1e6ce`](https://github.com/nodejs/node/commit/a10bf1e6ce)] - **(SEMVER-MAJOR)** **deps**: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`cc547428e1`](https://github.com/nodejs/node/commit/cc547428e1)] - **(SEMVER-MAJOR)** **deps**: update V8 to 14.6.202.33 (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`b81d2cbcae`](https://github.com/nodejs/node/commit/b81d2cbcae)] - **(SEMVER-MAJOR)** **deps**: update undici to 8.0.2 (Node.js GitHub Bot) [#62384](https://github.com/nodejs/node/pull/62384)
|
||||
* \[[`bf5c6a8bd4`](https://github.com/nodejs/node/commit/bf5c6a8bd4)] - **(SEMVER-MAJOR)** **deps**: V8: backport 151d0a44a1b2 (Abdirahim Musse) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`b59af772dc`](https://github.com/nodejs/node/commit/b59af772dc)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 47800791b35c (Jakob Kummerow) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`5e41e5228a`](https://github.com/nodejs/node/commit/5e41e5228a)] - **(SEMVER-MAJOR)** **deps**: patch V8 for illumos (Dan McDonald) [#59805](https://github.com/nodejs/node/pull/59805)
|
||||
* \[[`2243e58e43`](https://github.com/nodejs/node/commit/2243e58e43)] - **(SEMVER-MAJOR)** **deps**: use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) [#58070](https://github.com/nodejs/node/pull/58070)
|
||||
* \[[`4157964c42`](https://github.com/nodejs/node/commit/4157964c42)] - **(SEMVER-MAJOR)** **deps**: remove problematic comment from v8-internal (Michaël Zasso) [#58070](https://github.com/nodejs/node/pull/58070)
|
||||
* \[[`7c8483a4e9`](https://github.com/nodejs/node/commit/7c8483a4e9)] - **(SEMVER-MAJOR)** **deps**: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
|
||||
* \[[`53379f3706`](https://github.com/nodejs/node/commit/53379f3706)] - **(SEMVER-MAJOR)** **deps**: update V8 to 14.3.127.12 (Michaël Zasso) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`f819aec288`](https://github.com/nodejs/node/commit/f819aec288)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick ff34ae20c8e3 (Chengzhong Wu) [#60111](https://github.com/nodejs/node/pull/60111)
|
||||
* \[[`1acd8df36f`](https://github.com/nodejs/node/commit/1acd8df36f)] - **(SEMVER-MAJOR)** **deps**: V8: backport fed47445bbdd (Abdirahim Musse) [#60111](https://github.com/nodejs/node/pull/60111)
|
||||
* \[[`46f72577a4`](https://github.com/nodejs/node/commit/46f72577a4)] - **(SEMVER-MAJOR)** **deps**: patch V8 for illumos (Dan McDonald) [#59805](https://github.com/nodejs/node/pull/59805)
|
||||
* \[[`39eb88eaa8`](https://github.com/nodejs/node/commit/39eb88eaa8)] - **(SEMVER-MAJOR)** **deps**: use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) [#58070](https://github.com/nodejs/node/pull/58070)
|
||||
* \[[`ea3d14eadb`](https://github.com/nodejs/node/commit/ea3d14eadb)] - **(SEMVER-MAJOR)** **deps**: remove problematic comment from v8-internal (Michaël Zasso) [#58070](https://github.com/nodejs/node/pull/58070)
|
||||
* \[[`7bc0f245b4`](https://github.com/nodejs/node/commit/7bc0f245b4)] - **(SEMVER-MAJOR)** **deps**: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
|
||||
* \[[`c2843b722c`](https://github.com/nodejs/node/commit/c2843b722c)] - **(SEMVER-MAJOR)** **deps**: update V8 to 14.2.231.9 (Michaël Zasso) [#60111](https://github.com/nodejs/node/pull/60111)
|
||||
* \[[`b4ea323833`](https://github.com/nodejs/node/commit/b4ea323833)] - **(SEMVER-MAJOR)** **diagnostics\_channel**: ensure tracePromise consistency with non-Promises (René) [#61766](https://github.com/nodejs/node/pull/61766)
|
||||
* \[[`0c08835f71`](https://github.com/nodejs/node/commit/0c08835f71)] - **(SEMVER-MAJOR)** **doc**: remove extensionless CJS exception for type:module packages (Matteo Collina) [#62176](https://github.com/nodejs/node/pull/62176)
|
||||
* \[[`ef0f0b0865`](https://github.com/nodejs/node/commit/ef0f0b0865)] - **(SEMVER-MAJOR)** **doc**: update supported Windows SDK version to 11 (Mike McCready) [#61973](https://github.com/nodejs/node/pull/61973)
|
||||
* \[[`a00d95c73d`](https://github.com/nodejs/node/commit/a00d95c73d)] - **(SEMVER-MAJOR)** **doc**: drop p8 and z13 support (Milad Fa) [#61005](https://github.com/nodejs/node/pull/61005)
|
||||
* \[[`93c25815ee`](https://github.com/nodejs/node/commit/93c25815ee)] - **(SEMVER-MAJOR)** **http**: move writeHeader to end-of-life (Sebastian Beltran) [#60635](https://github.com/nodejs/node/pull/60635)
|
||||
* \[[`4346c0f7a7`](https://github.com/nodejs/node/commit/4346c0f7a7)] - **(SEMVER-MAJOR)** **http**: fix handling of HTTP upgrades with bodies (Tim Perry) [#60016](https://github.com/nodejs/node/pull/60016)
|
||||
* \[[`fa70327610`](https://github.com/nodejs/node/commit/fa70327610)] - **(SEMVER-MAJOR)** **lib**: return undefined for localStorage without file (Matteo Collina) [#61333](https://github.com/nodejs/node/pull/61333)
|
||||
* \[[`b328bf74bd`](https://github.com/nodejs/node/commit/b328bf74bd)] - **(SEMVER-MAJOR)** **lib,src**: implement QuotaExceededError as DOMException-derived interface (Filip Skokan) [#62293](https://github.com/nodejs/node/pull/62293)
|
||||
* \[[`98907f560f`](https://github.com/nodejs/node/commit/98907f560f)] - **(SEMVER-MAJOR)** **module**: runtime-deprecate module.register() (Geoffrey Booth) [#62401](https://github.com/nodejs/node/pull/62401)
|
||||
* \[[`89f4b6cddb`](https://github.com/nodejs/node/commit/89f4b6cddb)] - **(SEMVER-MAJOR)** **module**: remove --experimental-transform-types (Marco Ippolito) [#61803](https://github.com/nodejs/node/pull/61803)
|
||||
* \[[`5334433437`](https://github.com/nodejs/node/commit/5334433437)] - **(SEMVER-MAJOR)** **src**: replace uses of deprecated v8::External APIs (gahaas) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`46e75f4874`](https://github.com/nodejs/node/commit/46e75f4874)] - **(SEMVER-MAJOR)** **src**: stop using `v8::PropertyCallbackInfo<T>::This()` (Igor Sheludko) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`54fefda0aa`](https://github.com/nodejs/node/commit/54fefda0aa)] - **(SEMVER-MAJOR)** **src**: avoid deprecated Wasm API (Clemens Backes) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`840f509bd1`](https://github.com/nodejs/node/commit/840f509bd1)] - **(SEMVER-MAJOR)** **src**: avoid deprecated `FixedArray::Get` (Clemens Backes) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`75c3bcc3ec`](https://github.com/nodejs/node/commit/75c3bcc3ec)] - **(SEMVER-MAJOR)** **src**: update NODE\_MODULE\_VERSION to 147 (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`8480f87375`](https://github.com/nodejs/node/commit/8480f87375)] - **(SEMVER-MAJOR)** **src**: remove deprecated and unused isolate fields (Michaël Zasso) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`70b6bd8e19`](https://github.com/nodejs/node/commit/70b6bd8e19)] - **(SEMVER-MAJOR)** **src**: update NODE\_MODULE\_VERSION to 144 (Michaël Zasso) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`7d2bc5249b`](https://github.com/nodejs/node/commit/7d2bc5249b)] - **(SEMVER-MAJOR)** **src**: include `node_api_types.h` instead of `node_api.h` in `node.h` (Anna Henningsen) [#60496](https://github.com/nodejs/node/pull/60496)
|
||||
* \[[`91ab1101bc`](https://github.com/nodejs/node/commit/91ab1101bc)] - **(SEMVER-MAJOR)** **src**: update NODE\_MODULE\_VERSION to 142 (Michaël Zasso) [#60111](https://github.com/nodejs/node/pull/60111)
|
||||
* \[[`ac6375417a`](https://github.com/nodejs/node/commit/ac6375417a)] - **(SEMVER-MAJOR)** **stream**: promote DEP0201 to runtime deprecation (René) [#62173](https://github.com/nodejs/node/pull/62173)
|
||||
* \[[`c755b0113c`](https://github.com/nodejs/node/commit/c755b0113c)] - **(SEMVER-MAJOR)** **stream**: move \_stream\_\* to end-of-life (Sebastian Beltran) [#60657](https://github.com/nodejs/node/pull/60657)
|
||||
* \[[`fadb214d95`](https://github.com/nodejs/node/commit/fadb214d95)] - **(SEMVER-MAJOR)** **stream**: readable read one buffer at a time (Robert Nagy) [#60441](https://github.com/nodejs/node/pull/60441)
|
||||
* \[[`4fe325d93d`](https://github.com/nodejs/node/commit/4fe325d93d)] - **(SEMVER-MAJOR)** **stream**: preserve AsyncLocalStorage on finished only when needed (avcribl) [#59873](https://github.com/nodejs/node/pull/59873)
|
||||
* \[[`7682e7e9c5`](https://github.com/nodejs/node/commit/7682e7e9c5)] - **(SEMVER-MAJOR)** **test**: skip wasm allocation tests in workers (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`ebfaf25870`](https://github.com/nodejs/node/commit/ebfaf25870)] - **(SEMVER-MAJOR)** **test**: update wpt Wasm jsapi expectations (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`ece6a17574`](https://github.com/nodejs/node/commit/ece6a17574)] - **(SEMVER-MAJOR)** **test**: support presence of Temporal global (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`75b8d7a912`](https://github.com/nodejs/node/commit/75b8d7a912)] - **(SEMVER-MAJOR)** **test**: add type tags to uses of v8::External (gahaas) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`092a448ad0`](https://github.com/nodejs/node/commit/092a448ad0)] - **(SEMVER-MAJOR)** **test**: fix test-linux-perf-logger for V8 14.3 (Michaël Zasso) [#60488](https://github.com/nodejs/node/pull/60488)
|
||||
* \[[`8eb9c8f794`](https://github.com/nodejs/node/commit/8eb9c8f794)] - **(SEMVER-MAJOR)** **tools**: remove v8\_initializers\_slow workaround from v8.gyp (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`a34fe77fe7`](https://github.com/nodejs/node/commit/a34fe77fe7)] - **(SEMVER-MAJOR)** **tools**: add Rust args to `tools/make-v8.sh` (Richard Lau) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`f4666bd6e3`](https://github.com/nodejs/node/commit/f4666bd6e3)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 14.6 (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`3c23d217a6`](https://github.com/nodejs/node/commit/3c23d217a6)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 14.5 (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`e508489e37`](https://github.com/nodejs/node/commit/e508489e37)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 14.4 (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
|
||||
* \[[`dc97b507d0`](https://github.com/nodejs/node/commit/dc97b507d0)] - **(SEMVER-MAJOR)** **util**: mark proxied objects as such when inspecting them (Ruben Bridgewater) [#61029](https://github.com/nodejs/node/pull/61029)
|
||||
* \[[`ddbe1365ff`](https://github.com/nodejs/node/commit/ddbe1365ff)] - **(SEMVER-MAJOR)** **util**: reduce TextEncoder.encodeInto function size (Yagiz Nizipli) [#60339](https://github.com/nodejs/node/pull/60339)
|
||||
|
||||
### Semver-Minor Commits
|
||||
|
||||
* \[[`d4fa60cf9f`](https://github.com/nodejs/node/commit/d4fa60cf9f)] - **(SEMVER-MINOR)** **crypto**: add raw key formats support to the KeyObject APIs (Filip Skokan) [#62240](https://github.com/nodejs/node/pull/62240)
|
||||
|
||||
### Semver-Patch Commits
|
||||
|
||||
* \[[`4d8834fbef`](https://github.com/nodejs/node/commit/4d8834fbef)] - **build**: add rust target for macOS cross compiles (Richard Lau) [#63015](https://github.com/nodejs/node/pull/63015)
|
||||
* \[[`a4edab8dfb`](https://github.com/nodejs/node/commit/a4edab8dfb)] - **build**: use `CARGO` environment variable if set (Richard Lau) [#62421](https://github.com/nodejs/node/pull/62421)
|
||||
* \[[`ecf8721076`](https://github.com/nodejs/node/commit/ecf8721076)] - **build**: add weak symbol detection to export script (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
|
||||
* \[[`5b9f811662`](https://github.com/nodejs/node/commit/5b9f811662)] - **build**: filter hidden visibility symbols on AIX (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
|
||||
* \[[`2e724793e6`](https://github.com/nodejs/node/commit/2e724793e6)] - **build**: aix add conditonal flags for clang builds (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
|
||||
* \[[`f212aee483`](https://github.com/nodejs/node/commit/f212aee483)] - **build**: enable temporal on GHA macOS build (Chengzhong Wu) [#61691](https://github.com/nodejs/node/pull/61691)
|
||||
* \[[`159ae48f8c`](https://github.com/nodejs/node/commit/159ae48f8c)] - **build**: add `cargo` and `rustc` checks for Temporal (Richard Lau) [#61467](https://github.com/nodejs/node/pull/61467)
|
||||
* \[[`a004535617`](https://github.com/nodejs/node/commit/a004535617)] - **build**: add temporal to linux GHA build (Chengzhong Wu) [#60942](https://github.com/nodejs/node/pull/60942)
|
||||
* \[[`9df9b66c18`](https://github.com/nodejs/node/commit/9df9b66c18)] - **crypto**: add support for Ed25519 context parameter (Filip Skokan) [#62474](https://github.com/nodejs/node/pull/62474)
|
||||
* \[[`c3042c605b`](https://github.com/nodejs/node/commit/c3042c605b)] - **crypto**: recognize raw formats in keygen (Filip Skokan) [#62480](https://github.com/nodejs/node/pull/62480)
|
||||
* \[[`ce0f498def`](https://github.com/nodejs/node/commit/ce0f498def)] - **deps**: V8: cherry-pick fcf8b990c73c (Abdirahim Musse) [#62894](https://github.com/nodejs/node/pull/62894)
|
||||
* \[[`b7fab70d56`](https://github.com/nodejs/node/commit/b7fab70d56)] - _**Revert**_ "**deps**: V8: cherry-pick 7107287" (Richard Lau) [#62894](https://github.com/nodejs/node/pull/62894)
|
||||
* \[[`d936c30fb4`](https://github.com/nodejs/node/commit/d936c30fb4)] - **deps**: V8: cherry-pick 7107287 (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
|
||||
* \[[`c91d00b6d4`](https://github.com/nodejs/node/commit/c91d00b6d4)] - **deps**: fix aix implicit declaration in OpenSSL (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
|
||||
* \[[`0474a27c06`](https://github.com/nodejs/node/commit/0474a27c06)] - **deps**: libuv: revert 3a9a6e3e6b (Antoine du Hamel) [#62511](https://github.com/nodejs/node/pull/62511)
|
||||
* \[[`7547e795ef`](https://github.com/nodejs/node/commit/7547e795ef)] - **deps**: update icu to 78.3 (Node.js GitHub Bot) [#62324](https://github.com/nodejs/node/pull/62324)
|
||||
* \[[`5bebd7eaea`](https://github.com/nodejs/node/commit/5bebd7eaea)] - **deps**: update libuv to 1.52.1 (Node.js GitHub Bot) [#61829](https://github.com/nodejs/node/pull/61829)
|
||||
* \[[`87d7db1918`](https://github.com/nodejs/node/commit/87d7db1918)] - **deps**: patch V8 to 14.3.127.18 (Node.js GitHub Bot) [#61421](https://github.com/nodejs/node/pull/61421)
|
||||
* \[[`9d27d9a393`](https://github.com/nodejs/node/commit/9d27d9a393)] - **deps**: patch V8 to 14.3.127.17 (Node.js GitHub Bot) [#61058](https://github.com/nodejs/node/pull/61058)
|
||||
* \[[`bfc729cf19`](https://github.com/nodejs/node/commit/bfc729cf19)] - **deps**: patch V8 to 14.3.127.16 (Node.js GitHub Bot) [#60819](https://github.com/nodejs/node/pull/60819)
|
||||
* \[[`8716146d5b`](https://github.com/nodejs/node/commit/8716146d5b)] - **deps**: patch V8 to 14.3.127.14 (Node.js GitHub Bot) [#60743](https://github.com/nodejs/node/pull/60743)
|
||||
* \[[`da71ab6895`](https://github.com/nodejs/node/commit/da71ab6895)] - **deps**: V8: cherry-pick highway\@989a498fdf3 (Richard Lau) [#60682](https://github.com/nodejs/node/pull/60682)
|
||||
* \[[`72d719dc00`](https://github.com/nodejs/node/commit/72d719dc00)] - **deps**: support madvise(3C) across ALL illumos revisions (Dan McDonald) [#58237](https://github.com/nodejs/node/pull/58237)
|
||||
* \[[`ecca2b0d64`](https://github.com/nodejs/node/commit/ecca2b0d64)] - **deps**: define V8\_PRESERVE\_MOST as no-op on Windows (Stefan Stojanovic) [#56238](https://github.com/nodejs/node/pull/56238)
|
||||
* \[[`baefd4d5e2`](https://github.com/nodejs/node/commit/baefd4d5e2)] - **deps**: patch V8 to 14.2.231.17 (Node.js GitHub Bot) [#60647](https://github.com/nodejs/node/pull/60647)
|
||||
* \[[`76d6be5fc5`](https://github.com/nodejs/node/commit/76d6be5fc5)] - **deps**: patch V8 to 14.2.231.16 (Node.js GitHub Bot) [#60544](https://github.com/nodejs/node/pull/60544)
|
||||
* \[[`e0ca993514`](https://github.com/nodejs/node/commit/e0ca993514)] - **deps**: patch V8 to 14.2.231.14 (Node.js GitHub Bot) [#60413](https://github.com/nodejs/node/pull/60413)
|
||||
* \[[`de8386de4d`](https://github.com/nodejs/node/commit/de8386de4d)] - **deps**: V8: cherry-pick f93055fbd5aa (Olivier Flückiger) [#60105](https://github.com/nodejs/node/pull/60105)
|
||||
* \[[`710105bab5`](https://github.com/nodejs/node/commit/710105bab5)] - **deps**: support madvise(3C) across ALL illumos revisions (Dan McDonald) [#58237](https://github.com/nodejs/node/pull/58237)
|
||||
* \[[`6e5f3b9fe1`](https://github.com/nodejs/node/commit/6e5f3b9fe1)] - **deps**: define V8\_PRESERVE\_MOST as no-op on Windows (Stefan Stojanovic) [#56238](https://github.com/nodejs/node/pull/56238)
|
||||
* \[[`b2c5235254`](https://github.com/nodejs/node/commit/b2c5235254)] - **doc**: fix stray carriage return in packages.md (Filip Skokan) [#62350](https://github.com/nodejs/node/pull/62350)
|
||||
* \[[`f38a739623`](https://github.com/nodejs/node/commit/f38a739623)] - **doc**: reserve NMV 146 for Electron 42 (Niklas Wenzel) [#62124](https://github.com/nodejs/node/pull/62124)
|
||||
* \[[`a57893b799`](https://github.com/nodejs/node/commit/a57893b799)] - **doc**: add Temporal section to Table of Contents (Richard Lau) [#61805](https://github.com/nodejs/node/pull/61805)
|
||||
* \[[`d4cc54b8c8`](https://github.com/nodejs/node/commit/d4cc54b8c8)] - **doc**: fix v24 changelog after security release (Marco Ippolito) [#61371](https://github.com/nodejs/node/pull/61371)
|
||||
* \[[`659fd01b3e`](https://github.com/nodejs/node/commit/659fd01b3e)] - **doc**: fix v22 changelog after security release (Marco Ippolito) [#61371](https://github.com/nodejs/node/pull/61371)
|
||||
* \[[`6c96a63891`](https://github.com/nodejs/node/commit/6c96a63891)] - **doc**: fix v20 changelog after security release (Marco Ippolito) [#61371](https://github.com/nodejs/node/pull/61371)
|
||||
* \[[`a18f8c1693`](https://github.com/nodejs/node/commit/a18f8c1693)] - **doc**: reserve NMV 145 for Electron 41 (Niklas Wenzel) [#61291](https://github.com/nodejs/node/pull/61291)
|
||||
* \[[`253b16fe14`](https://github.com/nodejs/node/commit/253b16fe14)] - **doc**: add note about rust toolchain version requirement (Chengzhong Wu) [#60942](https://github.com/nodejs/node/pull/60942)
|
||||
* \[[`0177491df2`](https://github.com/nodejs/node/commit/0177491df2)] - **doc**: restore REPLACEME on assert change (Michaël Zasso) [#60848](https://github.com/nodejs/node/pull/60848)
|
||||
* \[[`dec0213c83`](https://github.com/nodejs/node/commit/dec0213c83)] - **doc**: add known issue to v24.11.0 release notes (Richard Lau) [#60467](https://github.com/nodejs/node/pull/60467)
|
||||
* \[[`f7ca0ae765`](https://github.com/nodejs/node/commit/f7ca0ae765)] - **doc**: remove Corepack documentation page (Antoine du Hamel) [#57663](https://github.com/nodejs/node/pull/57663)
|
||||
* \[[`a7d9c49490`](https://github.com/nodejs/node/commit/a7d9c49490)] - **doc**: reserve NMV 143 for Electron 40 (Shelley Vohr) [#60386](https://github.com/nodejs/node/pull/60386)
|
||||
* \[[`04a086a1f4`](https://github.com/nodejs/node/commit/04a086a1f4)] - **esm**: use wasm version of cjs-module-lexer (Joyee Cheung) [#60663](https://github.com/nodejs/node/pull/60663)
|
||||
* \[[`a27052f2e0`](https://github.com/nodejs/node/commit/a27052f2e0)] - _**Revert**_ "**inspector**: fix compressed responses" (Antoine du Hamel) [#61502](https://github.com/nodejs/node/pull/61502)
|
||||
* \[[`186c7a9c74`](https://github.com/nodejs/node/commit/186c7a9c74)] - **inspector**: fix compressed responses (Ruben Nogueira) [#61226](https://github.com/nodejs/node/pull/61226)
|
||||
* \[[`012bf70908`](https://github.com/nodejs/node/commit/012bf70908)] - **process**: optimize asyncHandledRejections by using FixedQueue (Gürgün Dayıoğlu) [#60854](https://github.com/nodejs/node/pull/60854)
|
||||
* \[[`1a88acbfa2`](https://github.com/nodejs/node/commit/1a88acbfa2)] - **quic**: fixup linting/formatting issues (James M Snell) [#62387](https://github.com/nodejs/node/pull/62387)
|
||||
* \[[`79b960a2bc`](https://github.com/nodejs/node/commit/79b960a2bc)] - **quic**: update http3 impl details (James M Snell) [#62387](https://github.com/nodejs/node/pull/62387)
|
||||
* \[[`57186e5827`](https://github.com/nodejs/node/commit/57186e5827)] - **quic**: fix a handful of bugs and missing functionality (James M Snell) [#62387](https://github.com/nodejs/node/pull/62387)
|
||||
* \[[`637bda0238`](https://github.com/nodejs/node/commit/637bda0238)] - **sqlite**: enable Percentile extension (Jurj Andrei George) [#61295](https://github.com/nodejs/node/pull/61295)
|
||||
* \[[`e619adfb86`](https://github.com/nodejs/node/commit/e619adfb86)] - **src**: workaround AIX libc++ std::filesystem bug (Richard Lau) [#62788](https://github.com/nodejs/node/pull/62788)
|
||||
* \[[`79262ff860`](https://github.com/nodejs/node/commit/79262ff860)] - **src**: do not enable wasm trap handler if there's not enough vmem (Joyee Cheung) [#62132](https://github.com/nodejs/node/pull/62132)
|
||||
* \[[`2422ed8b5b`](https://github.com/nodejs/node/commit/2422ed8b5b)] - **src**: remove redundant `experimental_transform_types` from node\_options.h (沈鸿飞) [#62058](https://github.com/nodejs/node/pull/62058)
|
||||
* \[[`a86db6be70`](https://github.com/nodejs/node/commit/a86db6be70)] - **src**: simplify handling of kNoAuthTagLength (Tobias Nießen) [#61192](https://github.com/nodejs/node/pull/61192)
|
||||
* \[[`d546e7fd0b`](https://github.com/nodejs/node/commit/d546e7fd0b)] - **src**: tag more v8 aligned pointer slots (Chengzhong Wu) [#60666](https://github.com/nodejs/node/pull/60666)
|
||||
* \[[`b8e264d3c3`](https://github.com/nodejs/node/commit/b8e264d3c3)] - **src**: tag v8 aligned pointer slots with embedder data type tags (Chengzhong Wu) [#60602](https://github.com/nodejs/node/pull/60602)
|
||||
* \[[`cd391b5f11`](https://github.com/nodejs/node/commit/cd391b5f11)] - **test**: wpt for Wasm jsapi including new ESM Integration tests (Guy Bedford) [#59034](https://github.com/nodejs/node/pull/59034)
|
||||
* \[[`1baafcc882`](https://github.com/nodejs/node/commit/1baafcc882)] - **test**: update WPT resources, interfaces and WebCryptoAPI (Node.js GitHub Bot) [#62389](https://github.com/nodejs/node/pull/62389)
|
||||
* \[[`6a84d4a17c`](https://github.com/nodejs/node/commit/6a84d4a17c)] - **tools**: update nixpkgs-unstable to 832efc09b4caf6b4569fbf9dc01bec3082a (Node.js GitHub Bot) [#62486](https://github.com/nodejs/node/pull/62486)
|
||||
* \[[`a98d9f6ad7`](https://github.com/nodejs/node/commit/a98d9f6ad7)] - **tools**: update nixpkgs-unstable to 9cf7092bdd603554bd8b63c216e8943cf9b (Node.js GitHub Bot) [#62383](https://github.com/nodejs/node/pull/62383)
|
||||
* \[[`f6d02af01f`](https://github.com/nodejs/node/commit/f6d02af01f)] - **tools**: update nixpkgs-unstable to f82ce7af0b79ac154b12e27ed800aeb9741 (Node.js GitHub Bot) [#62258](https://github.com/nodejs/node/pull/62258)
|
||||
* \[[`5b5f069a27`](https://github.com/nodejs/node/commit/5b5f069a27)] - **tools**: bump nixpkgs-unstable pin to e38213b91d3786389a446dfce4ff5a8aaf6 (Node.js GitHub Bot) [#62052](https://github.com/nodejs/node/pull/62052)
|
||||
* \[[`13eb80f3b7`](https://github.com/nodejs/node/commit/13eb80f3b7)] - **tools**: update nixpkgs-unstable to d1c15b7d5806069da59e819999d70e1cec0 (Node.js GitHub Bot) [#61931](https://github.com/nodejs/node/pull/61931)
|
||||
* \[[`4d1557a744`](https://github.com/nodejs/node/commit/4d1557a744)] - **tools**: update nixpkgs-unstable to 2343bbb58f99267223bc2aac4fc9ea301a1 (Node.js GitHub Bot) [#61831](https://github.com/nodejs/node/pull/61831)
|
||||
* \[[`ecd979c95a`](https://github.com/nodejs/node/commit/ecd979c95a)] - **tools**: update nixpkgs-unstable to ae67888ff7ef9dff69b3cf0cc0fbfbcd3a7 (Node.js GitHub Bot) [#61733](https://github.com/nodejs/node/pull/61733)
|
||||
* \[[`7de56bdee2`](https://github.com/nodejs/node/commit/7de56bdee2)] - **tools**: update nixpkgs-unstable to 6308c3b21396534d8aaeac46179c14c439a (Node.js GitHub Bot) [#61606](https://github.com/nodejs/node/pull/61606)
|
||||
* \[[`e33ce7a6fe`](https://github.com/nodejs/node/commit/e33ce7a6fe)] - **tools**: update nixpkgs-unstable to ab9fbbcf4858bd6d40ba2bbec37ceb4ab6e (Node.js GitHub Bot) [#61513](https://github.com/nodejs/node/pull/61513)
|
||||
* \[[`ba05a66774`](https://github.com/nodejs/node/commit/ba05a66774)] - **tools**: update nixpkgs-unstable to be5afa0fcb31f0a96bf9ecba05a516c66fc (Node.js GitHub Bot) [#61420](https://github.com/nodejs/node/pull/61420)
|
||||
* \[[`bb5d066989`](https://github.com/nodejs/node/commit/bb5d066989)] - **tools**: update nixpkgs-unstable to 3146c6aa9995e7351a398e17470e15305e6 (Node.js GitHub Bot) [#61340](https://github.com/nodejs/node/pull/61340)
|
||||
* \[[`d050aa87e8`](https://github.com/nodejs/node/commit/d050aa87e8)] - **tools**: update nixpkgs-unstable to 16c7794d0a28b5a37904d55bcca36003b91 (Node.js GitHub Bot) [#61272](https://github.com/nodejs/node/pull/61272)
|
||||
* \[[`2696391b18`](https://github.com/nodejs/node/commit/2696391b18)] - **tools**: update nixpkgs-unstable to 3edc4a30ed3903fdf6f90c837f961fa6b49 (Node.js GitHub Bot) [#61188](https://github.com/nodejs/node/pull/61188)
|
||||
* \[[`c5d3f5f9c8`](https://github.com/nodejs/node/commit/c5d3f5f9c8)] - **tools**: update nixpkgs-unstable to 7d853e518814cca2a657b72eeba67ae20eb (Node.js GitHub Bot) [#61137](https://github.com/nodejs/node/pull/61137)
|
||||
* \[[`dcb9573d0f`](https://github.com/nodejs/node/commit/dcb9573d0f)] - **tools**: update nixpkgs-unstable to f997fa0f94fb1ce55bccb97f60d41412ae8 (Node.js GitHub Bot) [#61057](https://github.com/nodejs/node/pull/61057)
|
||||
* \[[`bd426739dc`](https://github.com/nodejs/node/commit/bd426739dc)] - **tools**: update nixpkgs-unstable to a672be65651c80d3f592a89b3945466584a (Node.js GitHub Bot) [#60980](https://github.com/nodejs/node/pull/60980)
|
||||
* \[[`85852a3221`](https://github.com/nodejs/node/commit/85852a3221)] - **tools**: update nixpkgs-unstable to 59b6c96beacc898566c9be1052ae806f383 (Node.js GitHub Bot) [#60900](https://github.com/nodejs/node/pull/60900)
|
||||
* \[[`1e7eb90b39`](https://github.com/nodejs/node/commit/1e7eb90b39)] - **tools**: update nixpkgs-unstable to a8d610af3f1a5fb71e23e08434d8d61a466 (Node.js GitHub Bot) [#60818](https://github.com/nodejs/node/pull/60818)
|
||||
* \[[`fb6b83c9ef`](https://github.com/nodejs/node/commit/fb6b83c9ef)] - **tools**: lint Temporal global (René) [#60793](https://github.com/nodejs/node/pull/60793)
|
||||
* \[[`adb40439ca`](https://github.com/nodejs/node/commit/adb40439ca)] - **tools**: update nixpkgs-unstable to 71cf367cc2c168b0c2959835659c38f0a34 (Node.js GitHub Bot) [#60742](https://github.com/nodejs/node/pull/60742)
|
||||
* \[[`8a76958005`](https://github.com/nodejs/node/commit/8a76958005)] - **tools**: update nixpkgs-unstable to ffcdcf99d65c61956d882df249a9be53e59 (Node.js GitHub Bot) [#60315](https://github.com/nodejs/node/pull/60315)
|
||||
* \[[`9120924de1`](https://github.com/nodejs/node/commit/9120924de1)] - **util**: fix nested proxy inspection (Ruben Bridgewater) [#61077](https://github.com/nodejs/node/pull/61077)
|
||||
@@ -56,6 +56,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
</table>
|
||||
|
||||
* Other Versions
|
||||
* [26.x](CHANGELOG_V26.md)
|
||||
* [25.x](CHANGELOG_V25.md)
|
||||
* [24.x](CHANGELOG_V24.md)
|
||||
* [23.x](CHANGELOG_V23.md)
|
||||
|
||||
Reference in new issue
Block a user