Skip to content

Commit 1934336

Browse files
danielleadamsCeres6
authored andcommitted
2023-07-18, Version 18.17.0 'Hydrogen' (LTS)
Notable changes: Ada 2.0 Node.js v18.17.0 comes with the latest version of the URL parser, Ada. This update brings significant performance improvements to URL parsing, including enhancements to the url.domainToASCII and url.domainToUnicode functions in node:url. Ada 2.0 has been integrated into the Node.js codebase, ensuring that all parts of the application can benefit from the improved performance. Additionally, Ada 2.0 features a significant performance boost over its predecessor, Ada 1.0.4, while also eliminating the need for the ICU requirement for URL hostname parsing. Contributed by Yagiz Nizipli and Daniel Lemire in nodejs#47339 Web Crypto API Web Crypto API functions' arguments are now coerced and validated as per their WebIDL definitions like in other Web Crypto API implementations. This further improves interoperability with other implementations of Web Crypto API. Contributed by Filip Skokan in nodejs#46067 crypto: * update root certificates to NSS 3.89 (Node.js GitHub Bot) nodejs#47659 dns: * (SEMVER-MINOR) expose getDefaultResultOrder (btea) nodejs#46973 doc: * add ovflowd to collaborators (Claudio Wunder) nodejs#47844 * add KhafraDev to collaborators (Matthew Aitken) nodejs#47510 * events: * (SEMVER-MINOR) add getMaxListeners method (Matthew Aitken) nodejs#47039 fs: * (SEMVER-MINOR) add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) nodejs#47084 * (SEMVER-MINOR) add recursive option to readdir and opendir (Ethan Arrowood) nodejs#41439 * (SEMVER-MINOR) add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) nodejs#47084 * (SEMVER-MINOR) implement byob mode for readableWebStream() (Debadree Chatterjee) nodejs#46933 http: * (SEMVER-MINOR) prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) nodejs#47732 * (SEMVER-MINOR) remove internal error in assignSocket (Matteo Collina) nodejs#47723 * (SEMVER-MINOR) add highWaterMark opt in http.createServer (HinataKah0) nodejs#47405 lib: * (SEMVER-MINOR) add webstreams to Duplex.from() (Debadree Chatterjee) nodejs#46190 * (SEMVER-MINOR) implement AbortSignal.any() (Chemi Atlow) nodejs#47821 module: * change default resolver to not throw on unknown scheme (Gil Tayar) nodejs#47824 node-api: * (SEMVER-MINOR) define version 9 (Chengzhong Wu) nodejs#48151 * (SEMVER-MINOR) deprecate napi_module_register (Vladimir Morozov) nodejs#46319 stream: * (SEMVER-MINOR) preserve object mode in compose (Raz Luvaton) nodejs#47413 * (SEMVER-MINOR) add setter & getter for default highWaterMark (nodejs#46929) (Robert Nagy) nodejs#46929 test: * unflake test-vm-timeout-escape-nexttick (Santiago Gimeno) nodejs#48078 test_runner: * (SEMVER-MINOR) add shorthands to `test` (Chemi Atlow) nodejs#47909 * (SEMVER-MINOR) support combining coverage reports (Colin Ihrig) nodejs#47686 * (SEMVER-MINOR) execute before hook on test (Chemi Atlow) nodejs#47586 * (SEMVER-MINOR) expose reporter for use in run api (Chemi Atlow) nodejs#47238 tools: * update LICENSE and license-builder.sh (Santiago Gimeno) nodejs#48078 url: * (SEMVER-MINOR) implement URL.canParse (Matthew Aitken) nodejs#47179 wasi: * (SEMVER-MINOR) no longer require flag to enable wasi (Michael Dawson) nodejs#47286 PR-URL: nodejs#48694
1 parent 68dc20a commit 1934336

14 files changed

+664
-35
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ release.
4343
<a href="doc/changelogs/CHANGELOG_V20.md#20.0.0">20.0.0</a><br/>
4444
</td>
4545
<td valign="top">
46-
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.16.1">18.16.1</a></b><br/>
46+
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.17.0">18.17.0</a></b><br/>
47+
<a href="doc/changelogs/CHANGELOG_V18.md#18.16.1">18.16.1</a><br/>
4748
<a href="doc/changelogs/CHANGELOG_V18.md#18.16.0">18.16.0</a><br/>
4849
<a href="doc/changelogs/CHANGELOG_V18.md#18.15.0">18.15.0</a><br/>
4950
<a href="doc/changelogs/CHANGELOG_V18.md#18.14.2">18.14.2</a><br/>

doc/api/cli.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,9 @@ added:
627627
- v19.7.0
628628
- v18.15.0
629629
changes:
630-
- version: v20.1.0
630+
- version:
631+
- v20.1.0
632+
- v18.17.0
631633
pr-url: https://github.com/nodejs/node/pull/47686
632634
description: This option can be used with `--test`.
633635
-->
@@ -652,7 +654,9 @@ added:
652654
- v13.3.0
653655
- v12.16.0
654656
changes:
655-
- version: v20.0.0
657+
- version:
658+
- v20.0.0
659+
- v18.17.0
656660
pr-url: https://github.com/nodejs/node/pull/47286
657661
description: This option is no longer required as WASI is
658662
enabled by default, but can still be passed.

doc/api/deprecations.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -3295,7 +3295,9 @@ Node-API callbacks.
32953295

32963296
<!-- YAML
32973297
changes:
3298-
- version: v19.9.0
3298+
- version:
3299+
- v19.9.0
3300+
- v18.17.0
32993301
pr-url: https://github.com/nodejs/node/pull/47203
33003302
description: Added support for `--pending-deprecation`.
33013303
- version:

doc/api/dns.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,9 @@ dns orders in workers.
795795
## `dns.getDefaultResultOrder()`
796796

797797
<!-- YAML
798-
added: v20.1.0
798+
added:
799+
- v20.1.0
800+
- v18.17.0
799801
-->
800802

801803
Get the default value for `verbatim` in [`dns.lookup()`][] and
@@ -1366,7 +1368,9 @@ default dns orders in workers.
13661368
### `dnsPromises.getDefaultResultOrder()`
13671369

13681370
<!-- YAML
1369-
added: v20.1.0
1371+
added:
1372+
- v20.1.0
1373+
- v18.17.0
13701374
-->
13711375

13721376
Get the value of `dnsOrder`.

doc/api/events.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1271,7 +1271,9 @@ const { getEventListeners, EventEmitter } = require('node:events');
12711271
## `events.getMaxListeners(emitterOrTarget)`
12721272

12731273
<!-- YAML
1274-
added: v19.9.0
1274+
added:
1275+
- v19.9.0
1276+
- v18.17.0
12751277
-->
12761278

12771279
* `emitterOrTarget` {EventEmitter|EventTarget}

doc/api/fs.md

+33-11
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,9 @@ number of bytes read is zero.
451451
<!-- YAML
452452
added: v17.0.0
453453
changes:
454-
- version: v20.0.0
454+
- version:
455+
- v20.0.0
456+
- v18.17.0
455457
pr-url: https://github.com/nodejs/node/pull/46933
456458
description: Added option to create a 'bytes' stream.
457459
-->
@@ -976,7 +978,9 @@ try {
976978
<!-- YAML
977979
added: v16.7.0
978980
changes:
979-
- version: v20.1.0
981+
- version:
982+
- v20.1.0
983+
- v18.17.0
980984
pr-url: https://github.com/nodejs/node/pull/47084
981985
description: Accept an additional `mode` option to specify
982986
the copy behavior as the `mode` argument of `fs.copyFile()`.
@@ -1230,7 +1234,9 @@ a colon, Node.js will open a file system stream, as described by
12301234
<!-- YAML
12311235
added: v12.12.0
12321236
changes:
1233-
- version: v20.1.0
1237+
- version:
1238+
- v20.1.0
1239+
- v18.17.0
12341240
pr-url: https://github.com/nodejs/node/pull/41439
12351241
description: Added `recursive` option.
12361242
- version:
@@ -1281,7 +1287,9 @@ closed after the iterator exits.
12811287
<!-- YAML
12821288
added: v10.0.0
12831289
changes:
1284-
- version: v20.1.0
1290+
- version:
1291+
- v20.1.0
1292+
- v18.17.0
12851293
pr-url: https://github.com/nodejs/node/pull/41439
12861294
description: Added `recursive` option.
12871295
- version: v10.11.0
@@ -2312,7 +2320,9 @@ copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL, callback);
23122320
<!-- YAML
23132321
added: v16.7.0
23142322
changes:
2315-
- version: v20.1.0
2323+
- version:
2324+
- v20.1.0
2325+
- v18.17.0
23162326
pr-url: https://github.com/nodejs/node/pull/47084
23172327
description: Accept an additional `mode` option to specify
23182328
the copy behavior as the `mode` argument of `fs.copyFile()`.
@@ -3422,7 +3432,9 @@ const { openAsBlob } = require('node:fs');
34223432
<!-- YAML
34233433
added: v12.12.0
34243434
changes:
3425-
- version: v20.1.0
3435+
- version:
3436+
- v20.1.0
3437+
- v18.17.0
34263438
pr-url: https://github.com/nodejs/node/pull/41439
34273439
description: Added `recursive` option.
34283440
- version: v18.0.0
@@ -3562,7 +3574,9 @@ above values.
35623574
<!-- YAML
35633575
added: v0.1.8
35643576
changes:
3565-
- version: v20.1.0
3577+
- version:
3578+
- v20.1.0
3579+
- v18.17.0
35663580
pr-url: https://github.com/nodejs/node/pull/41439
35673581
description: Added `recursive` option.
35683582
- version: v18.0.0
@@ -5235,7 +5249,9 @@ copyFileSync('source.txt', 'destination.txt', constants.COPYFILE_EXCL);
52355249
<!-- YAML
52365250
added: v16.7.0
52375251
changes:
5238-
- version: v20.1.0
5252+
- version:
5253+
- v20.1.0
5254+
- v18.17.0
52395255
pr-url: https://github.com/nodejs/node/pull/47084
52405256
description: Accept an additional `mode` option to specify
52415257
the copy behavior as the `mode` argument of `fs.copyFile()`.
@@ -5575,7 +5591,9 @@ object with an `encoding` property specifying the character encoding to use.
55755591
<!-- YAML
55765592
added: v12.12.0
55775593
changes:
5578-
- version: v20.1.0
5594+
- version:
5595+
- v20.1.0
5596+
- v18.17.0
55795597
pr-url: https://github.com/nodejs/node/pull/41439
55805598
description: Added `recursive` option.
55815599
- version:
@@ -5635,7 +5653,9 @@ this API: [`fs.open()`][].
56355653
<!-- YAML
56365654
added: v0.1.21
56375655
changes:
5638-
- version: v20.1.0
5656+
- version:
5657+
- v20.1.0
5658+
- v18.17.0
56395659
pr-url: https://github.com/nodejs/node/pull/41439
56405660
description: Added `recursive` option.
56415661
- version: v10.10.0
@@ -6508,7 +6528,9 @@ value is determined by the `options.encoding` passed to [`fs.readdir()`][] or
65086528
#### `dirent.path`
65096529
65106530
<!-- YAML
6511-
added: v20.1.0
6531+
added:
6532+
- v20.1.0
6533+
- v18.17.0
65126534
-->
65136535
65146536
* {string}

doc/api/globals.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,9 @@ Returns a new `AbortSignal` which will be aborted in `delay` milliseconds.
124124
#### Static method: `AbortSignal.any(signals)`
125125

126126
<!-- YAML
127-
added: v20.3.0
127+
added:
128+
- v20.3.0
129+
- v18.17.0
128130
-->
129131

130132
* `signals` {AbortSignal\[]} The `AbortSignal`s of which to compose a new `AbortSignal`.

doc/api/http.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -3204,7 +3204,9 @@ Found'`.
32043204
<!-- YAML
32053205
added: v0.1.13
32063206
changes:
3207-
- version: v20.1.0
3207+
- version:
3208+
- v20.1.0
3209+
- v18.17.0
32083210
pr-url: https://github.com/nodejs/node/pull/47405
32093211
description: The `highWaterMark` option is supported now.
32103212
- version: v18.0.0

doc/api/net.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1557,7 +1557,9 @@ then returns the `net.Socket` that starts the connection.
15571557
<!-- YAML
15581558
added: v0.5.0
15591559
changes:
1560-
- version: v20.1.0
1560+
- version:
1561+
- v20.1.0
1562+
- v18.17.0
15611563
pr-url: https://github.com/nodejs/node/pull/47405
15621564
description: The `highWaterMark` option is supported now.
15631565
- version:

doc/api/stream.md

+9-3
Original file line numberDiff line numberDiff line change
@@ -3064,7 +3064,9 @@ added: v17.0.0
30643064
<!-- YAML
30653065
added: v16.8.0
30663066
changes:
3067-
- version: v19.5.0
3067+
- version:
3068+
- v19.5.0
3069+
- v18.17.0
30683070
pr-url: https://github.com/nodejs/node/pull/46190
30693071
description: The `src` argument can now be a `ReadableStream` or
30703072
`WritableStream`.
@@ -3342,7 +3344,9 @@ reader.read().then(({ value, done }) => {
33423344
### `stream.getDefaultHighWaterMark(objectMode)`
33433345

33443346
<!-- YAML
3345-
added: v19.9.0
3347+
added:
3348+
- v19.9.0
3349+
- v18.17.0
33463350
-->
33473351

33483352
* `objectMode` {boolean}
@@ -3354,7 +3358,9 @@ Defaults to `16384` (16 KiB), or `16` for `objectMode`.
33543358
### `stream.setDefaultHighWaterMark(objectMode, value)`
33553359

33563360
<!-- YAML
3357-
added: v19.9.0
3361+
added:
3362+
- v19.9.0
3363+
- v18.17.0
33583364
-->
33593365

33603366
* `objectMode` {boolean}

doc/api/test.md

+15-5
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,9 @@ added:
609609
- v19.6.0
610610
- v18.15.0
611611
changes:
612-
- version: v19.9.0
612+
- version:
613+
- v19.9.0
614+
- v18.17.0
613615
pr-url: https://github.com/nodejs/node/pull/47238
614616
description: Reporters are now exposed at `node:test/reporters`.
615617
-->
@@ -815,7 +817,9 @@ added:
815817
- v18.9.0
816818
- v16.19.0
817819
changes:
818-
- version: v20.1.0
820+
- version:
821+
- v20.1.0
822+
- v18.17.0
819823
pr-url: https://github.com/nodejs/node/pull/47628
820824
description: Add a testNamePatterns option.
821825
-->
@@ -882,7 +886,9 @@ added:
882886
- v18.0.0
883887
- v16.17.0
884888
changes:
885-
- version: v20.2.0
889+
- version:
890+
- v20.2.0
891+
- v18.17.0
886892
pr-url: https://github.com/nodejs/node/pull/47909
887893
description: Added the `skip`, `todo`, and `only` shorthands.
888894
- version:
@@ -2086,7 +2092,9 @@ added:
20862092
- v18.0.0
20872093
- v16.17.0
20882094
changes:
2089-
- version: v20.1.0
2095+
- version:
2096+
- v20.1.0
2097+
- v18.17.0
20902098
pr-url: https://github.com/nodejs/node/pull/47586
20912099
description: The `before` function was added to TestContext.
20922100
-->
@@ -2098,7 +2106,9 @@ exposed as part of the API.
20982106
### `context.before([fn][, options])`
20992107

21002108
<!-- YAML
2101-
added: v20.1.0
2109+
added:
2110+
- v20.1.0
2111+
- v18.17.0
21022112
-->
21032113

21042114
* `fn` {Function|AsyncFunction} The hook function. The first argument

doc/api/url.md

+15-5
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,9 @@ return `true`.
131131

132132
<!--
133133
changes:
134-
- version: v20.0.0
134+
- version:
135+
- v20.0.0
136+
- v18.17.0
135137
pr-url: https://github.com/nodejs/node/pull/47339
136138
description: ICU requirement is removed.
137139
-->
@@ -669,7 +671,9 @@ ID that isn't registered will silently fail.
669671
#### `URL.canParse(input[, base])`
670672

671673
<!-- YAML
672-
added: v19.9.0
674+
added:
675+
- v19.9.0
676+
- v18.17.0
673677
-->
674678

675679
* `input` {string} The absolute or relative input URL to parse. If `input`
@@ -1062,7 +1066,9 @@ added:
10621066
- v7.4.0
10631067
- v6.13.0
10641068
changes:
1065-
- version: v20.0.0
1069+
- version:
1070+
- v20.0.0
1071+
- v18.17.0
10661072
pr-url: https://github.com/nodejs/node/pull/47339
10671073
description: ICU requirement is removed.
10681074
-->
@@ -1104,7 +1110,9 @@ added:
11041110
- v7.4.0
11051111
- v6.13.0
11061112
changes:
1107-
- version: v20.0.0
1113+
- version:
1114+
- v20.0.0
1115+
- v18.17.0
11081116
pr-url: https://github.com/nodejs/node/pull/47339
11091117
description: ICU requirement is removed.
11101118
-->
@@ -1282,7 +1290,9 @@ added:
12821290
- v15.7.0
12831291
- v14.18.0
12841292
changes:
1285-
- version: v19.9.0
1293+
- version:
1294+
- v19.9.0
1295+
- v18.17.0
12861296
pr-url: https://github.com/nodejs/node/pull/46989
12871297
description: The returned object will also contain all the own enumerable
12881298
properties of the `url` argument.

doc/api/webcrypto.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
<!-- YAML
44
changes:
5-
- version: v20.0.0
5+
- version:
6+
- v20.0.0
7+
- v18.17.0
68
pr-url: https://github.com/nodejs/node/pull/46067
79
description: Arguments are now coerced and validated as per their WebIDL
810
definitions like in other Web Crypto API implementations.

0 commit comments

Comments
 (0)