Skip to content

Commit 5e5fb82

Browse files
committed
2022-08-16, Version 16.17.0 'Gallium' (LTS)
Notable changes: Adds `util.parseArgs` helper for higher level command-line argument parsing. Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi, Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband. #42675 Node.js ESM Loader hooks now support multiple custom loaders, and composition is achieved via "chaining": `foo-loader` calls `bar-loader` calls `qux-loader` (a custom loader _must_ now signal a short circuit when intentionally not calling the next). See the ESM docs (https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details. Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias. #42623 The `node:test` module, which was initially introduced in Node.js v18.0.0, is now available with all the changes done to it up to Node.js v18.7.0. To better align Node.js' experimental implementation of the Web Crypto API with other runtimes, several changes were made: * Support for CFRG curves was added, with the `'Ed25519'`, `'Ed448'`, `'X25519'`, and `'X448'` algorithms. * The proprietary `'NODE-DSA'`, `'NODE-DH'`, `'NODE-SCRYPT'`, `'NODE-ED25519'`, `'NODE-ED448'`, `'NODE-X25519'`, and `'NODE-X448'` algorithms were removed. * The proprietary `'node.keyObject'` import/export format was removed. Contributed by Filip Skokan. #42507 #43310 Updated Corepack to 0.12.1 - #43965 Updated ICU to 71.1 - #42655 Updated npm to 8.15.0 - #43917 Updated Undici to 5.8.0 - #43886 (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427 (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816 (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) #43176 doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738 (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714 (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008 (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885 (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) #43514 (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008 (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008 (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601 (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) #42768 (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806 (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580 (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361 (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397 (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008 (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901 (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008 (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951 (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714 (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396 (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325 (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582 (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112 (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510 (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725 (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116 (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478 (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757 (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124 (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008 (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849 (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802 (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008 (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329 (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784 (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849 PR-URL: #44098
1 parent 5cd1f35 commit 5e5fb82

22 files changed

+1088
-95
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ release.
6262
<a href="doc/changelogs/CHANGELOG_V17.md#17.0.0">17.0.0</a><br/>
6363
</td>
6464
<td valign="top">
65-
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.16.0">16.16.0</a></b><br/>
65+
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.17.0">16.17.0</a></b><br/>
66+
<a href="doc/changelogs/CHANGELOG_V16.md#16.16.0">16.16.0</a><br/>
6667
<a href="doc/changelogs/CHANGELOG_V16.md#16.15.1">16.15.1</a><br/>
6768
<a href="doc/changelogs/CHANGELOG_V16.md#16.15.0">16.15.0</a><br/>
6869
<a href="doc/changelogs/CHANGELOG_V16.md#16.14.2">16.14.2</a><br/>

doc/api/buffer.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,9 @@ added:
457457
- v15.7.0
458458
- v14.18.0
459459
changes:
460-
- version: v18.0.0
460+
- version:
461+
- v18.0.0
462+
- v16.17.0
461463
pr-url: https://github.com/nodejs/node/pull/41270
462464
description: No longer experimental.
463465
-->

doc/api/cli.md

+18-6
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,9 @@ of `--enable-source-maps`.
344344
### `--experimental-global-customevent`
345345

346346
<!-- YAML
347-
added: v18.7.0
347+
added:
348+
- v18.7.0
349+
- v16.17.0
348350
-->
349351

350352
Expose the [CustomEvent Web API][] on the global scope.
@@ -512,7 +514,9 @@ To allow polyfills to be added,
512514
### `--force-node-api-uncaught-exceptions-policy`
513515

514516
<!-- YAML
515-
added: v18.3.0
517+
added:
518+
- v18.3.0
519+
- v16.17.0
516520
-->
517521

518522
Enforces `uncaughtException` event on Node-API asynchronous callbacks.
@@ -872,7 +876,9 @@ against FIPS-enabled OpenSSL.
872876
### `--openssl-shared-config`
873877

874878
<!-- YAML
875-
added: v18.5.0
879+
added:
880+
- v18.5.0
881+
- v16.17.0
876882
-->
877883

878884
Enable OpenSSL default configuration section, `openssl_conf` to be read from
@@ -887,7 +893,9 @@ Node.js which is `nodejs_conf` and is default when this option is not used.
887893
### `--openssl-legacy-provider`
888894

889895
<!-- YAML
890-
added: v17.0.0
896+
added:
897+
- v17.0.0
898+
- v16.17.0
891899
-->
892900

893901
Enable OpenSSL 3.0 legacy provider. For more information please see
@@ -1210,7 +1218,9 @@ If they don't match, Node.js would refuse to load the snapshot and exit with 1.
12101218
### `--test`
12111219

12121220
<!-- YAML
1213-
added: v18.1.0
1221+
added:
1222+
- v18.1.0
1223+
- v16.17.0
12141224
-->
12151225

12161226
Starts the Node.js command line test runner. This flag cannot be combined with
@@ -1220,7 +1230,9 @@ on [running tests from the command line][] for more details.
12201230
### `--test-only`
12211231

12221232
<!-- YAML
1223-
added: v18.0.0
1233+
added:
1234+
- v18.0.0
1235+
- v16.17.0
12241236
-->
12251237

12261238
Configures the test runner to only execute top level tests that have the `only`

doc/api/crypto.md

+12-4
Original file line numberDiff line numberDiff line change
@@ -2966,7 +2966,9 @@ Checks the primality of the `candidate`.
29662966
added: v0.1.94
29672967
deprecated: v10.0.0
29682968
changes:
2969-
- version: v17.9.0
2969+
- version:
2970+
- v17.9.0
2971+
- v16.17.0
29702972
pr-url: https://github.com/nodejs/node/pull/42427
29712973
description: The `authTagLength` option is now optional when using the
29722974
`chacha20-poly1305` cipher and defaults to 16 bytes.
@@ -3030,7 +3032,9 @@ Adversaries][] for details.
30303032
<!-- YAML
30313033
added: v0.1.94
30323034
changes:
3033-
- version: v17.9.0
3035+
- version:
3036+
- v17.9.0
3037+
- v16.17.0
30343038
pr-url: https://github.com/nodejs/node/pull/42427
30353039
description: The `authTagLength` option is now optional when using the
30363040
`chacha20-poly1305` cipher and defaults to 16 bytes.
@@ -3103,7 +3107,9 @@ given IV will be.
31033107
added: v0.1.94
31043108
deprecated: v10.0.0
31053109
changes:
3106-
- version: v17.9.0
3110+
- version:
3111+
- v17.9.0
3112+
- v16.17.0
31073113
pr-url: https://github.com/nodejs/node/pull/42427
31083114
description: The `authTagLength` option is now optional when using the
31093115
`chacha20-poly1305` cipher and defaults to 16 bytes.
@@ -3145,7 +3151,9 @@ to create the `Decipher` object.
31453151
<!-- YAML
31463152
added: v0.1.94
31473153
changes:
3148-
- version: v17.9.0
3154+
- version:
3155+
- v17.9.0
3156+
- v16.17.0
31493157
pr-url: https://github.com/nodejs/node/pull/42427
31503158
description: The `authTagLength` option is now optional when using the
31513159
`chacha20-poly1305` cipher and defaults to 16 bytes.

doc/api/deprecations.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -3149,7 +3149,9 @@ Convert them to primitive strings.
31493149

31503150
<!-- YAML
31513151
changes:
3152-
- version: v18.7.0
3152+
- version:
3153+
- v18.7.0
3154+
- v16.17.0
31533155
pr-url: https://github.com/nodejs/node/pull/42714
31543156
description: Documentation-only deprecation.
31553157
-->
@@ -3167,7 +3169,9 @@ thing instead.
31673169

31683170
<!-- YAML
31693171
changes:
3170-
- version: v18.7.0
3172+
- version:
3173+
- v18.7.0
3174+
- v16.17.0
31713175
pr-url: https://github.com/nodejs/node/pull/43738
31723176
description: Documentation-only deprecation.
31733177
-->

doc/api/diagnostics_channel.md

+8-2
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ const channel = diagnostics_channel.channel('my-channel');
152152
<!-- YAML
153153
added:
154154
- v18.7.0
155+
- v16.17.0
155156
-->
156157

157158
* `name` {string|symbol} The channel name
@@ -184,6 +185,7 @@ diagnostics_channel.subscribe('my-channel', (message, name) => {
184185
<!-- YAML
185186
added:
186187
- v18.7.0
188+
- v16.17.0
187189
-->
188190

189191
* `name` {string|symbol} The channel name
@@ -308,7 +310,9 @@ channel.publish({
308310
added:
309311
- v15.1.0
310312
- v14.17.0
311-
deprecated: v18.7.0
313+
deprecated:
314+
- v18.7.0
315+
- v16.17.0
312316
-->
313317

314318
> Stability: 0 - Deprecated: Use [`diagnostics_channel.subscribe(name, onMessage)`][]
@@ -347,7 +351,9 @@ channel.subscribe((message, name) => {
347351
added:
348352
- v15.1.0
349353
- v14.17.0
350-
deprecated: v18.7.0
354+
deprecated:
355+
- v18.7.0
356+
- v16.17.0
351357
changes:
352358
- version:
353359
- v17.1.0

doc/api/errors.md

+15-5
Original file line numberDiff line numberDiff line change
@@ -2157,7 +2157,9 @@ for more information.
21572157
### `ERR_LOADER_CHAIN_INCOMPLETE`
21582158

21592159
<!-- YAML
2160-
added: v18.6.0
2160+
added:
2161+
- v18.6.0
2162+
- v16.17.0
21612163
-->
21622164

21632165
An ESM loader hook returned without calling `next()` and without explicitly
@@ -2427,7 +2429,9 @@ cannot be imported through the package resolution, unless using an absolute URL.
24272429
### `ERR_PARSE_ARGS_INVALID_OPTION_VALUE`
24282430

24292431
<!-- YAML
2430-
added: v18.3.0
2432+
added:
2433+
- v18.3.0
2434+
- v16.17.0
24312435
-->
24322436

24332437
When `strict` set to `true`, thrown by [`util.parseArgs()`][] if a {boolean}
@@ -2439,7 +2443,9 @@ value is provided for an option of type {boolean}.
24392443
### `ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL`
24402444

24412445
<!-- YAML
2442-
added: v18.3.0
2446+
added:
2447+
- v18.3.0
2448+
- v16.17.0
24432449
-->
24442450

24452451
Thrown by [`util.parseArgs()`][], when a positional argument is provided and
@@ -2450,7 +2456,9 @@ Thrown by [`util.parseArgs()`][], when a positional argument is provided and
24502456
### `ERR_PARSE_ARGS_UNKNOWN_OPTION`
24512457

24522458
<!-- YAML
2453-
added: v18.3.0
2459+
added:
2460+
- v18.3.0
2461+
- v16.17.0
24542462
-->
24552463

24562464
When `strict` set to `true`, thrown by [`util.parseArgs()`][] if an argument
@@ -3456,7 +3464,9 @@ The module must be successfully linked before instantiation.
34563464

34573465
<!-- YAML
34583466
added: v10.0.0
3459-
removed: v18.1.0
3467+
removed:
3468+
- v18.1.0
3469+
- v16.17.0
34603470
-->
34613471

34623472
The linker function returned a module for which linking has failed.

doc/api/esm.md

+11-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ added: v8.5.0
99
changes:
1010
- version:
1111
- v18.6.0
12+
- v16.17.0
1213
pr-url: https://github.com/nodejs/node/pull/42623
1314
description: Add support for chaining loaders.
1415
- version:
@@ -682,6 +683,7 @@ added: v8.8.0
682683
changes:
683684
- version:
684685
- v18.6.0
686+
- v16.17.0
685687
pr-url: https://github.com/nodejs/node/pull/42623
686688
description: Add support for chaining loaders.
687689
- version: v16.12.0
@@ -731,7 +733,9 @@ prevent unintentional breaks in the chain.
731733
732734
<!-- YAML
733735
changes:
734-
- version: v18.6.0
736+
- version:
737+
- v18.6.0
738+
- v16.17.0
735739
pr-url: https://github.com/nodejs/node/pull/42623
736740
description: Add support for chaining resolve hooks. Each hook must either
737741
call `nextResolve()` or include a `shortCircuit` property set to `true`
@@ -823,7 +827,9 @@ export async function resolve(specifier, context, nextResolve) {
823827
824828
<!-- YAML
825829
changes:
826-
- version: v18.6.0
830+
- version:
831+
- v18.6.0
832+
- v16.17.0
827833
pr-url: https://github.com/nodejs/node/pull/42623
828834
description: Add support for chaining load hooks. Each hook must either
829835
call `nextLoad()` or include a `shortCircuit` property set to `true` in
@@ -921,7 +927,9 @@ source to a supported one (see [Examples](#examples) below).
921927
922928
<!-- YAML
923929
changes:
924-
- version: v18.6.0
930+
- version:
931+
- v18.6.0
932+
- v16.17.0
925933
pr-url: https://github.com/nodejs/node/pull/42623
926934
description: Add support for chaining globalPreload hooks.
927935
-->

doc/api/events.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -1990,7 +1990,9 @@ Removes the `listener` from the list of handlers for event `type`.
19901990
### Class: `CustomEvent`
19911991

19921992
<!-- YAML
1993-
added: v18.7.0
1993+
added:
1994+
- v18.7.0
1995+
- v16.17.0
19941996
-->
19951997

19961998
> Stability: 1 - Experimental.
@@ -2003,7 +2005,9 @@ Instances are created internally by Node.js.
20032005
#### `event.detail`
20042006

20052007
<!-- YAML
2006-
added: v18.7.0
2008+
added:
2009+
- v18.7.0
2010+
- v16.17.0
20072011
-->
20082012

20092013
> Stability: 1 - Experimental.

doc/api/fs.md

+15-5
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,9 @@ number of bytes read is zero.
420420
#### `filehandle.read(buffer[, options])`
421421

422422
<!-- YAML
423-
added: v18.2.0
423+
added:
424+
- v18.2.0
425+
- v16.17.0
424426
-->
425427

426428
* `buffer` {Buffer|TypedArray|DataView} A buffer that will be filled with the
@@ -649,7 +651,9 @@ the end of the file.
649651
#### `filehandle.write(buffer[, options])`
650652

651653
<!-- YAML
652-
added: v18.3.0
654+
added:
655+
- v18.3.0
656+
- v16.17.0
653657
-->
654658

655659
* `buffer` {Buffer|TypedArray|DataView}
@@ -3332,7 +3336,9 @@ above values.
33323336
### `fs.read(fd, buffer[, options], callback)`
33333337

33343338
<!-- YAML
3335-
added: v18.2.0
3339+
added:
3340+
- v18.2.0
3341+
- v16.17.0
33363342
-->
33373343

33383344
* `fd` {integer}
@@ -4501,7 +4507,9 @@ the end of the file.
45014507
### `fs.write(fd, buffer[, options], callback)`
45024508

45034509
<!-- YAML
4504-
added: v18.3.0
4510+
added:
4511+
- v18.3.0
4512+
- v16.17.0
45054513
-->
45064514

45074515
* `fd` {integer}
@@ -5905,7 +5913,9 @@ this API: [`fs.write(fd, buffer...)`][].
59055913
### `fs.writeSync(fd, buffer[, options])`
59065914

59075915
<!-- YAML
5908-
added: v18.3.0
5916+
added:
5917+
- v18.3.0
5918+
- v16.17.0
59095919
-->
59105920

59115921
* `fd` {integer}

doc/api/globals.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,9 @@ console.log(ac.signal.reason); // Error('boom!');
202202
#### `abortSignal.throwIfAborted()`
203203

204204
<!-- YAML
205-
added: v17.3.0
205+
added:
206+
- v17.3.0
207+
- v16.17.0
206208
-->
207209

208210
If `abortSignal.aborted` is `true`, throws `abortSignal.reason`.
@@ -383,7 +385,9 @@ only if the Node.js binary was compiled with including support for the
383385
## `CustomEvent`
384386

385387
<!-- YAML
386-
added: v18.7.0
388+
added:
389+
- v18.7.0
390+
- v16.17.0
387391
-->
388392

389393
> Stability: 1 - Experimental. Enable this API with the

0 commit comments

Comments
 (0)