Skip to content

Commit d6c3a10

Browse files
committed
2021-10-19, Version 17.0.0 (Current)
Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [#39793] - doc: deprecate (doc-only) http abort related (dr-js) [#36670] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) [#40121] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) [#40117] OpenSSL 3.0: Node.js now includes OpenSSL 3.0, specifically https://github.com/quictls/openssl which provides QUIC support. While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes. If you hit an `ERR_OSSL_EVP_UNSUPPORTED` error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, `--openssl-legacy-provider`, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions. For details about all the features in OpenSSL 3.0 please see https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final. (Daniel Bevenius) [#38512] Contributed in #38512, #40478 V8 9.5: The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the `Intl.DisplayNames` API and Extended `timeZoneName` options in the `Intl.DateTimeFormat` API. You can read more details in the V8 9.5 release post https://v8.dev/blog/v8-release-95. (Michaël Zasso) [#40178] Readline Promise API: The `readline` module provides an interface for reading data from a Readable stream (such as `process.stdin`) one line at a time. (Antoine du Hamel) [#37947] Other Notable Changes: - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) [#39987] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) [#38332] - deps: upgrade npm to 8.1.0 (npm team) [#40463] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) [#39331] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) [#39759] - (SEMVER-MAJOR) lib: expose `DOMException` as global (Khaidi Chu) [#39176] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) [#39235] Semver-Major Commits: - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) [#38807] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) [#38807] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) [#40178] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) [#38512] - (SEMVER-MAJOR) dgram: tighten `address` validation in `socket.send` (Voltrex) [#39190] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [#39793] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) [#39987] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) [#40179] - (SEMVER-MAJOR) errors: disp ver on fatal except that causes exit (Divlo) [#38332] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) [#38684] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) [#38259] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) [#39759] - (SEMVER-MAJOR) lib: expose `DOMException` as global (Khaidi Chu) [#39176] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) [#40121] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) [#40117] - (SEMVER-MAJOR) readline: validate `AbortSignal`s and remove unused event listeners (Antoine du Hamel) [#37947] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) [#37947] - (SEMVER-MAJOR) readline: refactor `Interface` to ES2015 class (Antoine du Hamel) [#37947] - (SEMVER-MAJOR) src: allow CAP\_NET\_BIND\_SERVICE in SafeGetenv (Daniel Bevenius) [#37727] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) [#39603] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) [#38362] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) [#38700] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) [#39639] - (SEMVER-MAJOR) stream: do not emit `end` on readable error (Szymon Marczak) [#39607] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) [#39364] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) [#39342] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) [#39346] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) [#39294] - (SEMVER-MAJOR) stream: throw on premature close in Readable\ (Darshan Sen) [#39117] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) [#39235] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) [#34385] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) [#38505] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) [#39752] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) [#38631] PR-URL: #40119
1 parent 07bbb07 commit d6c3a10

33 files changed

+323
-50
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

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

5+
* [Node.js 17](doc/changelogs/CHANGELOG\_V17.md) **Current**
56
* [Node.js 16](doc/changelogs/CHANGELOG\_V16.md) **Current**
67
* [Node.js 15](doc/changelogs/CHANGELOG\_V15.md) End-of-Life
78
* [Node.js 14](doc/changelogs/CHANGELOG\_V14.md) **Long Term Support**
@@ -27,11 +28,15 @@ release.
2728

2829
<table>
2930
<tr>
31+
<th title="Current"><a href="doc/changelogs/CHANGELOG_V17.md">17</a><sup>Current</sup></th>
3032
<th title="Current"><a href="doc/changelogs/CHANGELOG_V16.md">16</a><sup>Current</sup></th>
3133
<th title="LTS Until 2023-04"><a href="doc/changelogs/CHANGELOG_V14.md">14</a><sup>LTS</sup></th>
3234
<th title="LTS Until 2022-04"><a href="doc/changelogs/CHANGELOG_V12.md">12</a><sup>LTS</sup></th>
3335
</tr>
3436
<tr>
37+
<td valign="top">
38+
<b><a href="doc/changelogs/CHANGELOG_V17.md#17.0.0">17.0.0</a></b><br/>
39+
</td>
3540
<td valign="top">
3641
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.11.1">16.11.1</a></b><br/>
3742
<a href="doc/changelogs/CHANGELOG_V16.md#16.11.0">16.11.0</a><br/>

doc/abi_version_registry.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"NODE_MODULE_VERSION": [
3-
{ "modules": 102,"runtime": "node", "variant": "v8_9.5", "versions": "17.0.0-pre" },
3+
{ "modules": 102,"runtime": "node", "variant": "v8_9.5", "versions": "17.0.0" },
44
{ "modules": 101,"runtime": "electron", "variant": "electron", "versions": "17" },
55
{ "modules": 100,"runtime": "node", "variant": "v8_9.4", "versions": "17.0.0-pre" },
66
{ "modules": 99, "runtime": "electron", "variant": "electron", "versions": "16" },

doc/api/cli.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ Silence deprecation warnings.
623623

624624
### `--no-extra-info-on-fatal-exception`
625625
<!-- YAML
626-
added: REPLACEME
626+
added: v17.0.0
627627
-->
628628

629629
Hide extra information on fatal exception that causes exit.
@@ -672,7 +672,7 @@ against FIPS-enabled OpenSSL.
672672

673673
### `--openssl-legacy-provider`
674674
<!-- YAML
675-
added: REPLACEME
675+
added: v17.0.0
676676
-->
677677

678678
Enable OpenSSL 3.0 legacy provider. For more information please see

doc/api/deprecations.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2707,7 +2707,7 @@ Use `fs.rm(path, { recursive: true, force: true })`,
27072707
### DEP0148: Folder mappings in `"exports"` (trailing `"/"`)
27082708
<!-- YAML
27092709
changes:
2710-
- version: REPLACEME
2710+
- version: v17.0.0
27112711
pr-url: https://github.com/nodejs/node/pull/40121
27122712
description: End-of-Life.
27132713
- version: v16.0.0
@@ -2795,7 +2795,7 @@ deprecated and should no longer be used.
27952795
### DEP0153: `dns.lookup` and `dnsPromises.lookup` options type coercion
27962796
<!-- YAML
27972797
changes:
2798-
- version: REPLACEME
2798+
- version: v17.0.0
27992799
pr-url: https://github.com/nodejs/node/pull/39793
28002800
description: Runtime deprecation.
28012801
- version: v16.8.0
@@ -2826,7 +2826,7 @@ and `'mgf1HashAlgorithm'`.
28262826
### DEP0155: Trailing slashes in pattern specifier resolutions
28272827
<!-- YAML
28282828
changes:
2829-
- version: REPLACEME
2829+
- version: v17.0.0
28302830
pr-url: https://github.com/nodejs/node/pull/40117
28312831
description: Runtime deprecation.
28322832
- version: v16.10.0
@@ -2843,7 +2843,7 @@ for package `"exports"` and `"imports"` pattern resolutions.
28432843
### DEP0156: `.aborted` property and `'abort'`, `'aborted'` event in `http`
28442844
<!-- YAML
28452845
changes:
2846-
- version: REPLACEME
2846+
- version: v17.0.0
28472847
pr-url: https://github.com/nodejs/node/pull/36670
28482848
description: Documentation-only deprecation.
28492849
-->

doc/api/dgram.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ if the socket is not connected.
468468
<!-- YAML
469469
added: v0.1.99
470470
changes:
471-
- version: REPLACEME
471+
- version: v17.0.0
472472
pr-url: https://github.com/nodejs/node/pull/39190
473473
description: The `address` parameter now only accepts a `string`, `null`
474474
or `undefined`.

doc/api/dns.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ section if a custom port is used.
172172
<!-- YAML
173173
added: v0.1.90
174174
changes:
175-
- version: REPLACEME
175+
- version: v17.0.0
176176
pr-url: https://github.com/nodejs/node/pull/39987
177177
description: The `verbatim` options defaults to `true` now.
178178
- version: v8.5.0

doc/api/esm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
added: v8.5.0
99
changes:
1010
- version:
11-
- REPLACEME
11+
- v17.0.0
1212
pr-url: https://github.com/nodejs/node/pull/37468
1313
description:
1414
Consolidate loader hooks, removed `getFormat`, `getSource`,

doc/api/fs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ number of bytes read is zero.
395395
396396
#### `filehandle.readableWebStream()`
397397
<!-- YAML
398-
added: REPLACEME
398+
added: v17.0.0
399399
-->
400400
401401
> Stability: 1 - Experimental

doc/api/globals.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ added: v0.0.1
383383

384384
## `DOMException`
385385
<!-- YAML
386-
added: REPLACEME
386+
added: v17.0.0
387387
-->
388388

389389
<!-- type=global -->

doc/api/http.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ body which has been transmitted are equal or not.
407407
### Event: `'abort'`
408408
<!-- YAML
409409
added: v1.4.1
410-
deprecated: REPLACEME
410+
deprecated: v17.0.0
411411
-->
412412

413413
> Stability: 0 - Deprecated. Listen for the `'close'` event instead.
@@ -648,7 +648,7 @@ in the response to be dropped and the socket to be destroyed.
648648
### `request.aborted`
649649
<!-- YAML
650650
added: v0.11.14
651-
deprecated: REPLACEME
651+
deprecated: v17.0.0
652652
changes:
653653
- version: v11.0.0
654654
pr-url: https://github.com/nodejs/node/pull/20230
@@ -1994,7 +1994,7 @@ may be reused multiple times in case of keep-alive.
19941994
### Event: `'aborted'`
19951995
<!-- YAML
19961996
added: v0.3.8
1997-
deprecated: REPLACEME
1997+
deprecated: v17.0.0
19981998
-->
19991999

20002000
> Stability: 0 - Deprecated. Listen for `'close'` event instead.
@@ -2011,7 +2011,7 @@ Indicates that the underlying connection was closed.
20112011
### `message.aborted`
20122012
<!-- YAML
20132013
added: v10.1.0
2014-
deprecated: REPLACEME
2014+
deprecated: v17.0.0
20152015
-->
20162016

20172017
> Stability: 0 - Deprecated. Check `message.destroyed` from {stream.Readable}.

0 commit comments

Comments
 (0)