Skip to content

Commit cd03cc3

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](#42427) (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) [#42816](#42816) (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) [#43176](#43176) doc: deprecate ercion to integer in process.exit (Daeyeon Jeong) [#43738](#43738) (SEMVER-MINOR) doc: deprecate diagnostics\_channel object subscribe method (Stephen Belanger) [#42714](#42714) (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) [#41008](#41008) (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) [#43885](#43885) (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) [#43514](#43514) (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) [#41008](#41008) (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) [#41008](#41008) (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) [#42601](#42601) (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) [#42768](#42768) (SEMVER-MINOR) http: add drop request event for http server (theanarkh) [#43806](#43806) (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) [#43580](#43580) (SEMVER-MINOR) http: add perf\_hooks detail for http request and client (theanarkh) [#43361](#43361) (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) [#41397](#41397) (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) [#41008](#41008) (SEMVER-MINOR) http2: compat support for array headers (OneNail) [#42901](#42901) (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) [#41008](#41008) (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) [#40951](#40951) (SEMVER-MINOR) lib: improved diagnostics\_channel subscribe/unsubscribe (Stephen Belanger) [#42714](#42714) (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) [#43396](#43396) (SEMVER-MINOR) moduleepl**: support 'node:'-only core modules (Colin Ihrig) [#42325](#42325) (SEMVER-MINOR) net: add drop event for net server (theanarkh) [#43582](#43582) (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) [#43112](#43112) (SEMVER-MINOR) nodepi**: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) [#36510](#36510) (SEMVER-MINOR) perfhooks**: add PerformanceResourceTiming (RafaelGSS) [#42725](#42725) (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) [#43116](#43116) (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) [#40478](#40478) (SEMVER-MINOR) src: define fs.constants.S\_IWUSR & S\_IRUSR for Win (Liviu Ionescu) [#42757](#42757) (SEMVER-MINOR) srcoc,test**: add --openssl-shared-config option (Daniel Bevenius) [#43124](#43124) (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) [#41008](#41008) (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) [#41849](#41849) (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) [#40802](#40802) (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) [#41008](#41008) (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) [#43329](#43329) (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) [#42784](#42784) (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) [#42849](#42849) PR-URL: #44098
1 parent ae157d9 commit cd03cc3

23 files changed

+904
-103
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ release.
3333
</tr>
3434
<tr>
3535
<td valign="top">
36-
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.16.0">16.16.0</a></b><br/>
36+
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.17.0">16.17.0</a></b><br/>
37+
<a href="doc/changelogs/CHANGELOG_V16.md#16.16.0">16.16.0</a><br/>
3738
<a href="doc/changelogs/CHANGELOG_V16.md#16.15.1">16.15.1</a><br/>
3839
<a href="doc/changelogs/CHANGELOG_V16.md#16.15.0">16.15.0</a><br/>
3940
<a href="doc/changelogs/CHANGELOG_V16.md#16.14.2">16.14.2</a><br/>

doc/api/buffer.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ added:
455455
- v15.7.0
456456
- v14.18.0
457457
changes:
458-
- version: REPLACEME
458+
- version: v16.17.0
459459
pr-url: https://github.com/nodejs/node/pull/41270
460460
description: No longer experimental.
461461
-->

doc/api/cli.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ Enable experimental support for the [Fetch API][].
283283
### `--experimental-global-customevent`
284284

285285
<!-- YAML
286-
added: REPLACEME
286+
added: v16.17.0
287287
-->
288288

289289
Expose the [CustomEvent Web API][] on the global scope.
@@ -430,7 +430,7 @@ To allow polyfills to be added, `--require` runs before freezing intrinsics.
430430
### `--force-node-api-uncaught-exceptions-policy`
431431

432432
<!-- YAML
433-
added: REPLACEME
433+
added: v16.17.0
434434
-->
435435

436436
Enforces `uncaughtException` event on Node-API asynchronous callbacks.
@@ -762,7 +762,7 @@ against FIPS-enabled OpenSSL.
762762
### `--openssl-shared-config`
763763

764764
<!-- YAML
765-
added: REPLACEME
765+
added: v16.17.0
766766
-->
767767

768768
Enable OpenSSL default configuration section, `openssl_conf` to be read from
@@ -777,7 +777,7 @@ Node.js which is `nodejs_conf` and is default when this option is not used.
777777
### `--openssl-legacy-provider`
778778

779779
<!-- YAML
780-
added: REPLACEME
780+
added: v16.17.0
781781
-->
782782

783783
Enable OpenSSL 3.0 legacy provider when dynamically linking to OpenSSL 3.x.
@@ -1075,7 +1075,7 @@ The value given must be a power of two.
10751075
### `--test`
10761076

10771077
<!-- YAML
1078-
added: REPLACEME
1078+
added: v16.17.0
10791079
-->
10801080

10811081
Starts the Node.js command line test runner. This flag cannot be combined with
@@ -1085,7 +1085,7 @@ on [running tests from the command line][] for more details.
10851085
### `--test-only`
10861086

10871087
<!-- YAML
1088-
added: REPLACEME
1088+
added: v16.17.0
10891089
-->
10901090

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

doc/api/crypto.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -2944,7 +2944,7 @@ Checks the primality of the `candidate`.
29442944
added: v0.1.94
29452945
deprecated: v10.0.0
29462946
changes:
2947-
- version: REPLACEME
2947+
- version: v16.17.0
29482948
pr-url: https://github.com/nodejs/node/pull/42427
29492949
description: The `authTagLength` option is now optional when using the
29502950
`chacha20-poly1305` cipher and defaults to 16 bytes.
@@ -3008,7 +3008,7 @@ Adversaries][] for details.
30083008
<!-- YAML
30093009
added: v0.1.94
30103010
changes:
3011-
- version: REPLACEME
3011+
- version: v16.17.0
30123012
pr-url: https://github.com/nodejs/node/pull/42427
30133013
description: The `authTagLength` option is now optional when using the
30143014
`chacha20-poly1305` cipher and defaults to 16 bytes.
@@ -3081,7 +3081,7 @@ given IV will be.
30813081
added: v0.1.94
30823082
deprecated: v10.0.0
30833083
changes:
3084-
- version: REPLACEME
3084+
- version: v16.17.0
30853085
pr-url: https://github.com/nodejs/node/pull/42427
30863086
description: The `authTagLength` option is now optional when using the
30873087
`chacha20-poly1305` cipher and defaults to 16 bytes.
@@ -3123,7 +3123,7 @@ to create the `Decipher` object.
31233123
<!-- YAML
31243124
added: v0.1.94
31253125
changes:
3126-
- version: REPLACEME
3126+
- version: v16.17.0
31273127
pr-url: https://github.com/nodejs/node/pull/42427
31283128
description: The `authTagLength` option is now optional when using the
31293129
`chacha20-poly1305` cipher and defaults to 16 bytes.

doc/api/deprecations.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3106,7 +3106,7 @@ Convert them to primitive strings.
31063106

31073107
<!-- YAML
31083108
changes:
3109-
- version: REPLACEME
3109+
- version: v16.17.0
31103110
pr-url: https://github.com/nodejs/node/pull/42714
31113111
description: Documentation-only deprecation.
31123112
-->
@@ -3124,7 +3124,7 @@ thing instead.
31243124

31253125
<!-- YAML
31263126
changes:
3127-
- version: REPLACEME
3127+
- version: v16.17.0
31283128
pr-url: https://github.com/nodejs/node/pull/43738
31293129
description: Documentation-only deprecation.
31303130
-->

doc/api/diagnostics_channel.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ const channel = diagnostics_channel.channel('my-channel');
151151

152152
<!-- YAML
153153
added:
154-
- REPLACEME
154+
- v16.17.0
155155
-->
156156

157157
* `name` {string|symbol} The channel name
@@ -183,7 +183,7 @@ diagnostics_channel.subscribe('my-channel', (message, name) => {
183183

184184
<!-- YAML
185185
added:
186-
- REPLACEME
186+
- v16.17.0
187187
-->
188188

189189
* `name` {string|symbol} The channel name
@@ -308,7 +308,7 @@ channel.publish({
308308
added:
309309
- v15.1.0
310310
- v14.17.0
311-
deprecated: REPLACEME
311+
deprecated: v16.17.0
312312
-->
313313

314314
> Stability: 0 - Deprecated: Use [`diagnostics_channel.subscribe(name, onMessage)`][]
@@ -347,7 +347,7 @@ channel.subscribe((message, name) => {
347347
added:
348348
- v15.1.0
349349
- v14.17.0
350-
deprecated: REPLACEME
350+
deprecated: v16.17.0
351351
changes:
352352
- version: v16.14.0
353353
pr-url: https://github.com/nodejs/node/pull/40433

doc/api/errors.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -2129,7 +2129,7 @@ for more information.
21292129
### `ERR_LOADER_CHAIN_INCOMPLETE`
21302130

21312131
<!-- YAML
2132-
added: REPLACEME
2132+
added: v16.17.0
21332133
-->
21342134

21352135
An ESM loader hook returned without calling `next()` and without explicitly
@@ -2399,7 +2399,7 @@ cannot be imported through the package resolution, unless using an absolute URL.
23992399
### `ERR_PARSE_ARGS_INVALID_OPTION_VALUE`
24002400

24012401
<!-- YAML
2402-
added: REPLACEME
2402+
added: v16.17.0
24032403
-->
24042404

24052405
When `strict` set to `true`, thrown by [`util.parseArgs()`][] if a {boolean}
@@ -2411,7 +2411,7 @@ value is provided for an option of type {boolean}.
24112411
### `ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL`
24122412

24132413
<!-- YAML
2414-
added: REPLACEME
2414+
added: v16.17.0
24152415
-->
24162416

24172417
Thrown by [`util.parseArgs()`][], when a positional argument is provided and
@@ -2422,7 +2422,7 @@ Thrown by [`util.parseArgs()`][], when a positional argument is provided and
24222422
### `ERR_PARSE_ARGS_UNKNOWN_OPTION`
24232423

24242424
<!-- YAML
2425-
added: REPLACEME
2425+
added: v16.17.0
24262426
-->
24272427

24282428
When `strict` set to `true`, thrown by [`util.parseArgs()`][] if an argument
@@ -3409,7 +3409,7 @@ The module must be successfully linked before instantiation.
34093409

34103410
<!-- YAML
34113411
added: v10.0.0
3412-
removed: REPLACEME
3412+
removed: v16.17.0
34133413
-->
34143414

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

doc/api/esm.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
added: v8.5.0
99
changes:
1010
- version:
11-
- REPLACEME
11+
- v16.17.0
1212
pr-url: https://github.com/nodejs/node/pull/42623
1313
description: Add support for chaining loaders.
1414
- version:
@@ -672,7 +672,7 @@ of Node.js applications.
672672
added: v8.8.0
673673
changes:
674674
- version:
675-
- REPLACEME
675+
- v16.17.0
676676
pr-url: https://github.com/nodejs/node/pull/42623
677677
description: Add support for chaining loaders.
678678
- version: v16.12.0
@@ -723,7 +723,7 @@ prevent unintentional breaks in the chain.
723723
<!-- YAML
724724
changes:
725725
- version:
726-
- REPLACEME
726+
- v16.17.0
727727
pr-url: https://github.com/nodejs/node/pull/42623
728728
description: Add support for chaining resolve hooks. Each hook must either
729729
call `nextResolve()` or include a `shortCircuit` property set to `true`
@@ -814,7 +814,7 @@ export async function resolve(specifier, context, nextResolve) {
814814
815815
<!-- YAML
816816
changes:
817-
- version: REPLACEME
817+
- version: v16.17.0
818818
pr-url: https://github.com/nodejs/node/pull/42623
819819
description: Add support for chaining load hooks. Each hook must either
820820
call `nextLoad()` or include a `shortCircuit` property set to `true` in
@@ -912,7 +912,7 @@ source to a supported one (see [Examples](#examples) below).
912912
913913
<!-- YAML
914914
changes:
915-
- version: REPLACEME
915+
- version: v16.17.0
916916
pr-url: https://github.com/nodejs/node/pull/42623
917917
description: Add support for chaining globalPreload hooks.
918918
-->

doc/api/events.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1981,7 +1981,7 @@ Removes the `listener` from the list of handlers for event `type`.
19811981
### Class: `CustomEvent`
19821982

19831983
<!-- YAML
1984-
added: REPLACEME
1984+
added: v16.17.0
19851985
-->
19861986

19871987
> Stability: 1 - Experimental.
@@ -1994,7 +1994,7 @@ Instances are created internally by Node.js.
19941994
#### `event.detail`
19951995

19961996
<!-- YAML
1997-
added: REPLACEME
1997+
added: v16.17.0
19981998
-->
19991999

20002000
> Stability: 1 - Experimental.

doc/api/fs.md

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

422422
<!-- YAML
423-
added: REPLACEME
423+
added: v16.17.0
424424
-->
425425

426426
* `buffer` {Buffer|TypedArray|DataView} A buffer that will be filled with the
@@ -602,7 +602,7 @@ the end of the file.
602602
#### `filehandle.write(buffer[, options])`
603603

604604
<!-- YAML
605-
added: REPLACEME
605+
added: v16.17.0
606606
-->
607607

608608
* `buffer` {Buffer|TypedArray|DataView}
@@ -3143,7 +3143,7 @@ above values.
31433143
### `fs.read(fd, buffer[, options], callback)`
31443144

31453145
<!-- YAML
3146-
added: REPLACEME
3146+
added: v16.17.0
31473147
-->
31483148

31493149
* `fd` {integer}
@@ -4234,7 +4234,7 @@ the end of the file.
42344234
### `fs.write(fd, buffer[, options], callback)`
42354235

42364236
<!-- YAML
4237-
added: REPLACEME
4237+
added: v16.17.0
42384238
-->
42394239

42404240
* `fd` {integer}
@@ -5613,7 +5613,7 @@ this API: [`fs.write(fd, buffer...)`][].
56135613
### `fs.writeSync(fd, buffer[, options])`
56145614

56155615
<!-- YAML
5616-
added: REPLACEME
5616+
added: v16.17.0
56175617
-->
56185618

56195619
* `fd` {integer}

doc/api/globals.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ console.log(ac.signal.reason); // Error('boom!');
182182
#### `abortSignal.throwIfAborted()`
183183

184184
<!-- YAML
185-
added: REPLACEME
185+
added: v16.17.0
186186
-->
187187

188188
If `abortSignal.aborted` is `true`, throws `abortSignal.reason`.
@@ -309,7 +309,7 @@ only if the Node.js binary was compiled with including support for the
309309
## `CustomEvent`
310310

311311
<!-- YAML
312-
added: REPLACEME
312+
added: v16.17.0
313313
-->
314314

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

doc/api/http.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1399,7 +1399,7 @@ type other than {net.Socket}.
13991399
### Event: `'dropRequest'`
14001400

14011401
<!-- YAML
1402-
added: REPLACEME
1402+
added: v16.17.0
14031403
-->
14041404

14051405
* `request` {http.IncomingMessage} Arguments for the HTTP request, as it is in
@@ -2353,7 +2353,7 @@ header name:
23532353
### `message.headersDistinct`
23542354

23552355
<!-- YAML
2356-
added: REPLACEME
2356+
added: v16.17.0
23572357
-->
23582358

23592359
* {Object}
@@ -2505,7 +2505,7 @@ The request/response trailers object. Only populated at the `'end'` event.
25052505
### `message.trailersDistinct`
25062506

25072507
<!-- YAML
2508-
added: REPLACEME
2508+
added: v16.17.0
25092509
-->
25102510

25112511
* {Object}
@@ -2628,7 +2628,7 @@ will result in a `TypeError` being thrown.
26282628
### `outgoingMessage.appendHeader(name, value)`
26292629

26302630
<!-- YAML
2631-
added: REPLACEME
2631+
added: v16.17.0
26322632
-->
26332633

26342634
* `name` {string} Header name

doc/api/module.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ const siblingModule = require('./sibling-module');
6565
### `module.isBuiltin(moduleName)`
6666

6767
<!-- YAML
68-
added: REPLACEME
68+
added: v16.17.0
6969
-->
7070

7171
* `moduleName` {string} name of the module

doc/api/net.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ Emitted when the server has been bound after calling [`server.listen()`][].
260260
### Event: `'drop'`
261261

262262
<!-- YAML
263-
added: REPLACEME
263+
added: v16.17.0
264264
-->
265265

266266
When the number of connections reaches the threshold of `server.maxConnections`,
@@ -1075,7 +1075,7 @@ The numeric representation of the remote port. For example, `80` or `21`.
10751075
### `socket.resetAndDestroy()`
10761076

10771077
<!-- YAML
1078-
added: REPLACEME
1078+
added: v16.17.0
10791079
-->
10801080

10811081
* Returns: {net.Socket}

0 commit comments

Comments
 (0)