Skip to content

Commit a39b8a2

Browse files
committed
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 #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 #46067 crypto: * update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659 dns: * (SEMVER-MINOR) expose getDefaultResultOrder (btea) #46973 doc: * add ovflowd to collaborators (Claudio Wunder) #47844 * add KhafraDev to collaborators (Matthew Aitken) #47510 * events: * (SEMVER-MINOR) add getMaxListeners method (Matthew Aitken) #47039 fs: * (SEMVER-MINOR) add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084 * (SEMVER-MINOR) add recursive option to readdir and opendir (Ethan Arrowood) #41439 * (SEMVER-MINOR) add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084 * (SEMVER-MINOR) implement byob mode for readableWebStream() (Debadree Chatterjee) #46933 http: * (SEMVER-MINOR) prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732 * (SEMVER-MINOR) remove internal error in assignSocket (Matteo Collina) #47723 * (SEMVER-MINOR) add highWaterMark opt in http.createServer (HinataKah0) #47405 lib: * (SEMVER-MINOR) add webstreams to Duplex.from() (Debadree Chatterjee) #46190 * (SEMVER-MINOR) implement AbortSignal.any() (Chemi Atlow) #47821 module: * change default resolver to not throw on unknown scheme (Gil Tayar) #47824 node-api: * (SEMVER-MINOR) define version 9 (Chengzhong Wu) #48151 * (SEMVER-MINOR) deprecate napi_module_register (Vladimir Morozov) #46319 stream: * (SEMVER-MINOR) preserve object mode in compose (Raz Luvaton) #47413 * (SEMVER-MINOR) add setter & getter for default highWaterMark (#46929) (Robert Nagy) #46929 test: * unflake test-vm-timeout-escape-nexttick (Santiago Gimeno) #48078 test_runner: * (SEMVER-MINOR) add shorthands to `test` (Chemi Atlow) #47909 * (SEMVER-MINOR) support combining coverage reports (Colin Ihrig) #47686 * (SEMVER-MINOR) execute before hook on test (Chemi Atlow) #47586 * (SEMVER-MINOR) expose reporter for use in run api (Chemi Atlow) #47238 tools: * update LICENSE and license-builder.sh (Santiago Gimeno) #48078 url: * (SEMVER-MINOR) implement URL.canParse (Matthew Aitken) #47179 wasi: * (SEMVER-MINOR) no longer require flag to enable wasi (Michael Dawson) #47286 PR-URL: #48694
1 parent 156292d commit a39b8a2

15 files changed

+600
-39
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ release.
3232
</tr>
3333
<tr>
3434
<td valign="top">
35-
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.16.1">18.16.1</a></b><br/>
35+
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.17.0">18.17.0</a></b><br/>
36+
<a href="doc/changelogs/CHANGELOG_V18.md#18.16.1">18.16.1</a><br/>
3637
<a href="doc/changelogs/CHANGELOG_V18.md#18.16.0">18.16.0</a><br/>
3738
<a href="doc/changelogs/CHANGELOG_V18.md#18.15.0">18.15.0</a><br/>
3839
<a href="doc/changelogs/CHANGELOG_V18.md#18.14.2">18.14.2</a><br/>

doc/api/cli.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ See [customizing ESM specifier resolution][] for example usage.
445445
<!-- YAML
446446
added: v18.15.0
447447
changes:
448-
- version: REPLACEME
448+
- version: v18.17.0
449449
pr-url: https://github.com/nodejs/node/pull/47686
450450
description: This option can be used with `--test`.
451451
-->
@@ -470,7 +470,7 @@ added:
470470
- v13.3.0
471471
- v12.16.0
472472
changes:
473-
- version: REPLACEME
473+
- version: v18.17.0
474474
pr-url: https://github.com/nodejs/node/pull/47286
475475
description: This option is no longer required as WASI is
476476
enabled by default, but can still be passed.

doc/api/deprecations.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3271,7 +3271,7 @@ Node-API callbacks.
32713271

32723272
<!-- YAML
32733273
changes:
3274-
- version: REPLACEME
3274+
- version: v18.17.0
32753275
pr-url: https://github.com/nodejs/node/pull/47203
32763276
description: Added support for `--pending-deprecation`.
32773277
- version:

doc/api/dns.md

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

797797
<!-- YAML
798-
added: REPLACEME
798+
added: v18.17.0
799799
-->
800800

801801
Get the default value for `verbatim` in [`dns.lookup()`][] and
@@ -1366,7 +1366,7 @@ default dns orders in workers.
13661366
### `dnsPromises.getDefaultResultOrder()`
13671367

13681368
<!-- YAML
1369-
added: REPLACEME
1369+
added: v18.17.0
13701370
-->
13711371

13721372
Get the value of `dnsOrder`.

doc/api/events.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1269,7 +1269,7 @@ const { getEventListeners, EventEmitter } = require('node:events');
12691269
## `events.getMaxListeners(emitterOrTarget)`
12701270

12711271
<!-- YAML
1272-
added: REPLACEME
1272+
added: v18.17.0
12731273
-->
12741274

12751275
* `emitterOrTarget` {EventEmitter|EventTarget}

doc/api/fs.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ number of bytes read is zero.
449449
<!-- YAML
450450
added: v17.0.0
451451
changes:
452-
- version: REPLACEME
452+
- version: v18.17.0
453453
pr-url: https://github.com/nodejs/node/pull/46933
454454
description: Added option to create a 'bytes' stream.
455455
-->
@@ -962,7 +962,7 @@ try {
962962
<!-- YAML
963963
added: v16.7.0
964964
changes:
965-
- version: REPLACEME
965+
- version: v18.17.0
966966
pr-url: https://github.com/nodejs/node/pull/47084
967967
description: Accept an additional `mode` option to specify
968968
the copy behavior as the `mode` argument of `fs.copyFile()`.
@@ -1214,7 +1214,7 @@ a colon, Node.js will open a file system stream, as described by
12141214
<!-- YAML
12151215
added: v12.12.0
12161216
changes:
1217-
- version: REPLACEME
1217+
- version: v18.17.0
12181218
pr-url: https://github.com/nodejs/node/pull/41439
12191219
description: Added `recursive` option.
12201220
- version:
@@ -1265,7 +1265,7 @@ closed after the iterator exits.
12651265
<!-- YAML
12661266
added: v10.0.0
12671267
changes:
1268-
- version: REPLACEME
1268+
- version: v18.17.0
12691269
pr-url: https://github.com/nodejs/node/pull/41439
12701270
description: Added `recursive` option.
12711271
- version: v10.11.0
@@ -2285,7 +2285,7 @@ copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL, callback);
22852285
<!-- YAML
22862286
added: v16.7.0
22872287
changes:
2288-
- version: REPLACEME
2288+
- version: v18.17.0
22892289
pr-url: https://github.com/nodejs/node/pull/47084
22902290
description: Accept an additional `mode` option to specify
22912291
the copy behavior as the `mode` argument of `fs.copyFile()`.
@@ -3355,7 +3355,7 @@ Functions based on `fs.open()` exhibit this behavior as well:
33553355
<!-- YAML
33563356
added: v12.12.0
33573357
changes:
3358-
- version: REPLACEME
3358+
- version: v18.17.0
33593359
pr-url: https://github.com/nodejs/node/pull/41439
33603360
description: Added `recursive` option.
33613361
- version: v18.0.0
@@ -3493,7 +3493,7 @@ above values.
34933493
<!-- YAML
34943494
added: v0.1.8
34953495
changes:
3496-
- version: REPLACEME
3496+
- version: v18.17.0
34973497
pr-url: https://github.com/nodejs/node/pull/41439
34983498
description: Added `recursive` option.
34993499
- version: v18.0.0
@@ -5155,7 +5155,7 @@ copyFileSync('source.txt', 'destination.txt', constants.COPYFILE_EXCL);
51555155
<!-- YAML
51565156
added: v16.7.0
51575157
changes:
5158-
- version: REPLACEME
5158+
- version: v18.17.0
51595159
pr-url: https://github.com/nodejs/node/pull/47084
51605160
description: Accept an additional `mode` option to specify
51615161
the copy behavior as the `mode` argument of `fs.copyFile()`.
@@ -5493,7 +5493,7 @@ object with an `encoding` property specifying the character encoding to use.
54935493
<!-- YAML
54945494
added: v12.12.0
54955495
changes:
5496-
- version: REPLACEME
5496+
- version: v18.17.0
54975497
pr-url: https://github.com/nodejs/node/pull/41439
54985498
description: Added `recursive` option.
54995499
- version:
@@ -5553,7 +5553,7 @@ this API: [`fs.open()`][].
55535553
<!-- YAML
55545554
added: v0.1.21
55555555
changes:
5556-
- version: REPLACEME
5556+
- version: v18.17.0
55575557
pr-url: https://github.com/nodejs/node/pull/41439
55585558
description: Added `recursive` option.
55595559
- version: v10.10.0
@@ -6418,7 +6418,7 @@ value is determined by the `options.encoding` passed to [`fs.readdir()`][] or
64186418
#### `dirent.path`
64196419
64206420
<!-- YAML
6421-
added: REPLACEME
6421+
added: v18.17.0
64226422
-->
64236423
64246424
* {string}

doc/api/globals.md

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

126126
<!-- YAML
127-
added: REPLACEME
127+
added: v18.17.0
128128
-->
129129

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

doc/api/http.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3168,7 +3168,7 @@ Found'`.
31683168
<!-- YAML
31693169
added: v0.1.13
31703170
changes:
3171-
- version: REPLACEME
3171+
- version: v18.17.0
31723172
pr-url: https://github.com/nodejs/node/pull/47405
31733173
description: The `highWaterMark` option is supported now.
31743174
- version: v18.0.0

doc/api/net.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1504,7 +1504,7 @@ then returns the `net.Socket` that starts the connection.
15041504
<!-- YAML
15051505
added: v0.5.0
15061506
changes:
1507-
- version: REPLACEME
1507+
- version: v18.17.0
15081508
pr-url: https://github.com/nodejs/node/pull/47405
15091509
description: The `highWaterMark` option is supported now.
15101510
- version:

doc/api/stream.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -2432,7 +2432,7 @@ await Readable.from([1, 2, 3, 4]).take(2).toArray(); // [1, 2]
24322432
<!-- YAML
24332433
added: v17.5.0
24342434
changes:
2435-
- version: REPLACEME
2435+
- version: v18.17.0
24362436
pr-url: https://github.com/nodejs/node/pull/48102
24372437
description: Using the `asIndexedPairs` method emits a runtime warning that
24382438
it will be removed in a future version.
@@ -3056,7 +3056,7 @@ added: v17.0.0
30563056
<!-- YAML
30573057
added: v16.8.0
30583058
changes:
3059-
- version: REPLACEME
3059+
- version: v18.17.0
30603060
pr-url: https://github.com/nodejs/node/pull/46190
30613061
description: The `src` argument can now be a `ReadableStream` or
30623062
`WritableStream`.
@@ -3332,7 +3332,7 @@ reader.read().then(({ value, done }) => {
33323332
### `stream.getDefaultHighWaterMark(objectMode)`
33333333

33343334
<!-- YAML
3335-
added: REPLACEME
3335+
added: v18.17.0
33363336
-->
33373337

33383338
* `objectMode` {boolean}
@@ -3344,7 +3344,7 @@ Defaults to `16384` (16 KiB), or `16` for `objectMode`.
33443344
### `stream.setDefaultHighWaterMark(objectMode, value)`
33453345

33463346
<!-- YAML
3347-
added: REPLACEME
3347+
added: v18.17.0
33483348
-->
33493349

33503350
* `objectMode` {boolean}

doc/api/test.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ test('spies on an object method', (t) => {
512512
<!-- YAML
513513
added: v18.15.0
514514
changes:
515-
- version: REPLACEME
515+
- version: v18.17.0
516516
pr-url: https://github.com/nodejs/node/pull/47238
517517
description: Reporters are now exposed at `node:test/reporters`.
518518
-->
@@ -711,7 +711,7 @@ unless a destination is explicitly provided.
711711
<!-- YAML
712712
added: v18.9.0
713713
changes:
714-
- version: REPLACEME
714+
- version: v18.17.0
715715
pr-url: https://github.com/nodejs/node/pull/47628
716716
description: Add a testNamePatterns option.
717717
-->
@@ -771,7 +771,7 @@ run({ files: [path.resolve('./tests/test.js')] })
771771
<!-- YAML
772772
added: v18.0.0
773773
changes:
774-
- version: REPLACEME
774+
- version: v18.17.0
775775
pr-url: https://github.com/nodejs/node/pull/47909
776776
description: Added the `skip`, `todo`, and `only` shorthands.
777777
- version: v18.8.0
@@ -1504,7 +1504,7 @@ Emitted when no more tests are queued for execution in watch mode.
15041504
<!-- YAML
15051505
added: v18.0.0
15061506
changes:
1507-
- version: REPLACEME
1507+
- version: v18.17.0
15081508
pr-url: https://github.com/nodejs/node/pull/47586
15091509
description: The `before` function was added to TestContext.
15101510
-->
@@ -1516,7 +1516,7 @@ exposed as part of the API.
15161516
### `context.before([fn][, options])`
15171517

15181518
<!-- YAML
1519-
added: REPLACEME
1519+
added: v18.17.0
15201520
-->
15211521

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

doc/api/url.md

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

132132
<!--
133133
changes:
134-
- version: REPLACEME
134+
- version: v18.17.0
135135
pr-url: https://github.com/nodejs/node/pull/47339
136136
description: ICU requirement is removed.
137137
-->
@@ -669,7 +669,7 @@ ID that isn't registered will silently fail.
669669
#### `URL.canParse(input[, base])`
670670

671671
<!-- YAML
672-
added: REPLACEME
672+
added: v18.17.0
673673
-->
674674

675675
* `input` {string} The absolute or relative input URL to parse. If `input`
@@ -1034,7 +1034,7 @@ added:
10341034
- v7.4.0
10351035
- v6.13.0
10361036
changes:
1037-
- version: REPLACEME
1037+
- version: v18.17.0
10381038
pr-url: https://github.com/nodejs/node/pull/47339
10391039
description: ICU requirement is removed.
10401040
-->
@@ -1076,7 +1076,7 @@ added:
10761076
- v7.4.0
10771077
- v6.13.0
10781078
changes:
1079-
- version: REPLACEME
1079+
- version: v18.17.0
10801080
pr-url: https://github.com/nodejs/node/pull/47339
10811081
description: ICU requirement is removed.
10821082
-->
@@ -1254,7 +1254,7 @@ added:
12541254
- v15.7.0
12551255
- v14.18.0
12561256
changes:
1257-
- version: REPLACEME
1257+
- version: v18.17.0
12581258
pr-url: https://github.com/nodejs/node/pull/46989
12591259
description: The returned object will also contain all the own enumerable
12601260
properties of the `url` argument.

doc/api/webcrypto.md

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

33
<!-- YAML
44
changes:
5-
- version: REPLACEME
5+
- version: v18.17.0
66
pr-url: https://github.com/nodejs/node/pull/46067
77
description: Arguments are now coerced and validated as per their WebIDL
88
definitions like in other Web Crypto API implementations.

0 commit comments

Comments
 (0)