Skip to content

Commit

Permalink
2023-10-17, Version 21.0.0 (Current)
Browse files Browse the repository at this point in the history
Notable Changes:

doc:
  * promote fetch/webstreams from experimental to stable (Steven) #45684
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) #50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144
fs:
  * add flush option to writeFile() functions (Colin Ihrig) #50009
  * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653
http:
  * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167
lib:
  * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830
  * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769
stream:
  * optimize Writable (Robert Nagy) #50012
test_runner:
  * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653
vm:
  * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950

Semver-Major Commits:

* (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051
* (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164
* (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140
* (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639
* (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639
* (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981
* (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018
* (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835
* (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653
* (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167
* (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497
* (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605
* (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769
* (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202
* (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606
* (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276
* (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385
* (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501
* (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639
* (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839
* (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604
* (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218
* (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218
* (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218
* (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935
* (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653
* (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973
* (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896
* (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609
* (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720

PR-URL: #49870
Co-authored-by: Michaël Zasso <targos@protonmail.com>
  • Loading branch information
RafaelGSS and targos committed Oct 17, 2023
1 parent d68d0ea commit 38d0e69
Show file tree
Hide file tree
Showing 36 changed files with 349 additions and 37 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Expand Up @@ -2,6 +2,7 @@

Select a Node.js version below to view the changelog history:

* [Node.js 21](doc/changelogs/CHANGELOG_V21.md) **Current**
* [Node.js 20](doc/changelogs/CHANGELOG_V20.md) **Current**
* [Node.js 19](doc/changelogs/CHANGELOG_V19.md) End-of-Life
* [Node.js 18](doc/changelogs/CHANGELOG_V18.md) **Long Term Support**
Expand Down Expand Up @@ -29,11 +30,15 @@ release.

<table>
<tr>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V21.md">21</a> (Current)</th>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V20.md">20</a> (Current)</th>
<th title="LTS Until 2025-04"><a href="doc/changelogs/CHANGELOG_V18.md">18</a> (LTS)</th>
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V21.md#21.0.0">21.0.0</a></b><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V20.md#20.8.1">20.8.1</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V20.md#20.8.0">20.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V20.md#20.7.0">20.7.0</a><br/>
Expand Down
2 changes: 1 addition & 1 deletion doc/abi_version_registry.json
@@ -1,6 +1,6 @@
{
"NODE_MODULE_VERSION": [
{ "modules": 120,"runtime": "node", "variant": "v8_11.8", "versions": "21.0.0-pre" },
{ "modules": 120,"runtime": "node", "variant": "v8_11.8", "versions": "21.0.0" },
{ "modules": 119,"runtime": "electron", "variant": "electron", "versions": "28" },
{ "modules": 118,"runtime": "electron", "variant": "electron", "versions": "27" },
{ "modules": 117,"runtime": "electron", "variant": "electron", "versions": "26" },
Expand Down
6 changes: 3 additions & 3 deletions doc/api/cli.md
Expand Up @@ -594,7 +594,7 @@ and `"` are usable.

<!-- YAML
added:
- REPLACEME
- v21.0.0
-->

> Stability: 1.0 - Early development
Expand Down Expand Up @@ -774,7 +774,7 @@ Enable experimental WebAssembly module support.
### `--experimental-websocket`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

Enable experimental [`WebSocket`][] support.
Expand Down Expand Up @@ -1657,7 +1657,7 @@ for more details.
### `--test-concurrency`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

The maximum number of test files that the test runner CLI will execute
Expand Down
4 changes: 2 additions & 2 deletions doc/api/deprecations.md
Expand Up @@ -872,7 +872,7 @@ The [`require.extensions`][] property is deprecated.

<!-- YAML
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/47202
description: Runtime deprecation.
- version: v16.6.0
Expand Down Expand Up @@ -3387,7 +3387,7 @@ Consider using alternatives such as the [`mock`][] helper function.

<!-- YAML
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/49609
description: Runtime deprecation.
- version: v20.8.0
Expand Down
10 changes: 5 additions & 5 deletions doc/api/errors.md
Expand Up @@ -1791,7 +1791,7 @@ An import attribute is not supported by this version of Node.js.
### `ERR_IMPORT_ATTRIBUTE_UNSUPPORTED`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

An import attribute is not supported by this version of Node.js.
Expand Down Expand Up @@ -3293,9 +3293,9 @@ An invalid or unknown file encoding was passed.
### `ERR_INVALID_TRANSFER_OBJECT`

<!-- YAML
removed: REPLACEME
removed: v21.0.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/47839
description: A `DOMException` is thrown instead.
-->
Expand All @@ -3320,9 +3320,9 @@ transferable objects also exist now.

<!-- YAML
added: v15.0.0
removed: REPLACEME
removed: v21.0.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/47839
description: A `DOMException` is thrown instead.
-->
Expand Down
4 changes: 2 additions & 2 deletions doc/api/esm.md
Expand Up @@ -7,7 +7,7 @@
<!-- YAML
added: v8.5.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50140
description: Add experimental support for import attributes.
- version: v20.0.0
Expand Down Expand Up @@ -247,7 +247,7 @@ added:
- v17.1.0
- v16.14.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50140
description: Switch from Import Assertions to Import Attributes.
-->
Expand Down
16 changes: 8 additions & 8 deletions doc/api/fs.md
Expand Up @@ -319,7 +319,7 @@ fd.createReadStream({ start: 90, end: 99 });
<!-- YAML
added: v16.11.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50093
description: The `flush` option is now supported.
-->
Expand Down Expand Up @@ -376,7 +376,7 @@ added: v10.0.0
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/42835
description: Accepts bigint values as `position`.
-->
Expand Down Expand Up @@ -406,7 +406,7 @@ added:
- v13.11.0
- v12.17.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/42835
description: Accepts bigint values as `position`.
-->
Expand Down Expand Up @@ -440,7 +440,7 @@ added:
- v18.2.0
- v16.17.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/42835
description: Accepts bigint values as `position`.
-->
Expand Down Expand Up @@ -1750,7 +1750,7 @@ All the [caveats][] for `fs.watch()` also apply to `fsPromises.watch()`.
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50009
description: The `flush` option is now supported.
- version:
Expand Down Expand Up @@ -2546,7 +2546,7 @@ If `options` is a string, then it specifies the encoding.
<!-- YAML
added: v0.1.31
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50093
description: The `flush` option is now supported.
- version: v16.10.0
Expand Down Expand Up @@ -4900,7 +4900,7 @@ details.
<!-- YAML
added: v0.1.29
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50009
description: The `flush` option is now supported.
- version: v19.0.0
Expand Down Expand Up @@ -6196,7 +6196,7 @@ this API: [`fs.utimes()`][].
<!-- YAML
added: v0.1.29
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50009
description: The `flush` option is now supported.
- version: v19.0.0
Expand Down
18 changes: 9 additions & 9 deletions doc/api/globals.md
Expand Up @@ -479,7 +479,7 @@ added:
- v16.15.0
changes:
- version:
- REPLACEME
- v21.0.0
pr-url: https://github.com/nodejs/node/pull/45684
description: No longer experimental.
- version: v18.0.0
Expand Down Expand Up @@ -509,7 +509,7 @@ added:
- v16.15.0
changes:
- version:
- REPLACEME
- v21.0.0
pr-url: https://github.com/nodejs/node/pull/45684
description: No longer experimental.
- version: v18.0.0
Expand Down Expand Up @@ -548,7 +548,7 @@ added:
- v16.15.0
changes:
- version:
- REPLACEME
- v21.0.0
pr-url: https://github.com/nodejs/node/pull/45684
description: No longer experimental.
- version: v18.0.0
Expand Down Expand Up @@ -597,7 +597,7 @@ This variable may appear to be global but is not. See [`module`][].
## `Navigator`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

> Stability: 1 - Experimental
Expand All @@ -607,7 +607,7 @@ A partial implementation of the [Navigator API][].
## `navigator`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

> Stability: 1 - Experimental
Expand All @@ -617,7 +617,7 @@ A partial implementation of [`window.navigator`][].
### `navigator.hardwareConcurrency`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

* {number}
Expand Down Expand Up @@ -823,7 +823,7 @@ added:
- v16.15.0
changes:
- version:
- REPLACEME
- v21.0.0
pr-url: https://github.com/nodejs/node/pull/45684
description: No longer experimental.
- version: v18.0.0
Expand All @@ -843,7 +843,7 @@ added:
- v16.15.0
changes:
- version:
- REPLACEME
- v21.0.0
pr-url: https://github.com/nodejs/node/pull/45684
description: No longer experimental.
- version: v18.0.0
Expand Down Expand Up @@ -1021,7 +1021,7 @@ The object that acts as the namespace for all W3C
## `WebSocket`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

> Stability: 1 - Experimental.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/module.md
Expand Up @@ -458,7 +458,7 @@ register('./path-to-my-hooks.js', {
<!-- YAML
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/50140
description: The property `context.importAssertions` is replaced with
`context.importAttributes`. Using the old name is still
Expand Down
2 changes: 1 addition & 1 deletion doc/api/n-api.md
Expand Up @@ -5431,7 +5431,7 @@ required in order to enable correct disposal of the reference.
#### `node_api_post_finalizer`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

> Stability: 1 - Experimental
Expand Down
2 changes: 1 addition & 1 deletion doc/api/net.md
Expand Up @@ -579,7 +579,7 @@ added: v5.7.0
<!-- YAML
added: v0.2.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/48276
description: Setting `maxConnections` to `0` drops all the incoming
connections. Previously, it was interpreted as `Infinity`.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/webstreams.md
Expand Up @@ -6,7 +6,7 @@
added: v16.5.0
changes:
- version:
- REPLACEME
- v21.0.0
pr-url: https://github.com/nodejs/node/pull/45684
description: No longer experimental.
- version: v18.0.0
Expand Down
4 changes: 2 additions & 2 deletions doc/api/worker_threads.md
Expand Up @@ -174,7 +174,7 @@ There is no equivalent to this API in browsers.
## `worker.isMarkedAsUntransferable(object)`

<!-- YAML
added: REPLACEME
added: v21.0.0
-->

* `object` {any} Any JavaScript value.
Expand Down Expand Up @@ -600,7 +600,7 @@ are part of the channel.
<!-- YAML
added: v10.5.0
changes:
- version: REPLACEME
- version: v21.0.0
pr-url: https://github.com/nodejs/node/pull/47604
description: An error is thrown when an untransferable object is in the
transfer list.
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_ARCHIVE.md
Expand Up @@ -154,6 +154,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [19.x](CHANGELOG_V19.md)
* [18.x](CHANGELOG_V18.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_IOJS.md
Expand Up @@ -62,6 +62,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [19.x](CHANGELOG_V19.md)
* [18.x](CHANGELOG_V18.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V010.md
Expand Up @@ -64,6 +64,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [18.x](CHANGELOG_V18.md)
* [17.x](CHANGELOG_V17.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V012.md
Expand Up @@ -32,6 +32,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [18.x](CHANGELOG_V18.md)
* [17.x](CHANGELOG_V17.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V10.md
Expand Up @@ -58,6 +58,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [19.x](CHANGELOG_V19.md)
* [18.x](CHANGELOG_V18.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V11.md
Expand Up @@ -30,6 +30,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [19.x](CHANGELOG_V19.md)
* [18.x](CHANGELOG_V18.md)
* [17.x](CHANGELOG_V17.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V12.md
Expand Up @@ -67,6 +67,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [19.x](CHANGELOG_V19.md)
* [18.x](CHANGELOG_V18.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V13.md
Expand Up @@ -30,6 +30,7 @@
</table>

* Other Versions
* [21.x](CHANGELOG_V21.md)
* [20.x](CHANGELOG_V20.md)
* [19.x](CHANGELOG_V19.md)
* [18.x](CHANGELOG_V18.md)
Expand Down

0 comments on commit 38d0e69

Please sign in to comment.