diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b9d45bae3ae90..14c10c30e1ce49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Select a Node.js version below to view the changelog history: +* [Node.js 17](doc/changelogs/CHANGELOG_V17.md) **Current** * [Node.js 16](doc/changelogs/CHANGELOG_V16.md) **Current** * [Node.js 15](doc/changelogs/CHANGELOG_V15.md) End-of-Life * [Node.js 14](doc/changelogs/CHANGELOG_V14.md) **Long Term Support** @@ -26,11 +27,15 @@ release. + +
17Current 16Current 14LTS 12LTS
+17.0.0
+
16.9.1
16.9.0
diff --git a/doc/api/cli.md b/doc/api/cli.md index dc0f813a8468d0..d6c5d6b2ff6e48 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -600,7 +600,7 @@ This option is a no-op. It is kept for compatibility. ### `--no-addons` Disable the `node-addons` exports condition as well as disable loading @@ -616,7 +616,7 @@ Silence deprecation warnings. ### `--no-extra-info-on-fatal-exception` Hide extra information on fatal exception that causes exit. @@ -631,7 +631,7 @@ dynamically when `async_hooks` is enabled. ### `--no-global-search-paths` Do not search modules from global paths like `$HOME/.node_modules` and diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 00bdfbc6fdc5a2..e915a94ab7450e 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -3375,7 +3375,7 @@ generateKey('hmac', { length: 64 }, (err, key) => { @@ -2820,10 +2820,10 @@ and `'mgf1HashAlgorithm'`. ### DEP0155: Trailing slashes in pattern specifier resolutions Loading native addons has been disabled using [`--no-addons`][]. diff --git a/doc/api/esm.md b/doc/api/esm.md index 2ad2e690ae9edc..08f3a7933ca855 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -6,7 +6,7 @@ added: v8.5.0 changes: - version: - - REPLACEME + - v17.0.0 pr-url: https://github.com/nodejs/node/pull/37468 description: Consolidate loader hooks, removed `getFormat`, `getSource`, diff --git a/doc/api/fs.md b/doc/api/fs.md index d8b6c4bd587fb7..4e4f4219ec964b 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -302,7 +302,7 @@ number of bytes read is zero. #### `filehandle.readableWebStream()` > Stability: 1 - Experimental @@ -1933,10 +1933,10 @@ behavior is similar to `cp dir1/ dir2/`. diff --git a/doc/api/http.md b/doc/api/http.md index 0f5f5a8bb1145d..7f0f5afe7b4be4 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1354,7 +1354,7 @@ explicitly. ### `server.maxRequestsPerSocket` * {number} Requests per socket. **Default:** null (no limit) diff --git a/doc/api/readline.md b/doc/api/readline.md index cf2cf8a15377ce..baf80bc65acca0 100644 --- a/doc/api/readline.md +++ b/doc/api/readline.md @@ -532,12 +532,12 @@ line prompts are included in the calculations. ## Promises API ### Class: `readlinePromises.Interface` * Extends: {readline.InterfaceConstructor} @@ -550,7 +550,7 @@ and is read from, the `input` stream. #### `rl.question(query[, options])` * `query` {string} A statement or query to write to `output`, prepended to the @@ -596,12 +596,12 @@ setTimeout(() => ac.abort(), 10000); ### Class: `readlinePromises.Readline` #### `new readlinePromises.Readline(stream[, options])` * `stream` {stream.Writable} A [TTY][] stream. @@ -610,7 +610,7 @@ added: REPLACEME #### `rl.clearLine(dir)` * `dir` {integer} @@ -627,7 +627,7 @@ was passed to the constructor. #### `rl.clearScreenDown()` * Returns: this @@ -640,7 +640,7 @@ was passed to the constructor. #### `rl.commit()` * Returns: {Promise} @@ -650,7 +650,7 @@ The `rl.commit()` method sends all the pending actions to the associated #### `rl.cursorTo(x[, y])` * `x` {integer} @@ -664,7 +664,7 @@ was passed to the constructor. #### `rl.moveCursor(dx, dy)` * `dx` {integer} @@ -679,7 +679,7 @@ was passed to the constructor. #### `rl.rollback()` * Returns: this @@ -689,7 +689,7 @@ sending it to the associated `stream`. ### `readlinePromises.createInterface(options)` * `options` {Object} @@ -791,7 +791,7 @@ added: v0.1.104 diff --git a/doc/api/stream.md b/doc/api/stream.md index b3b1f628b3a116..ac008c4ccf2d8a 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -2079,7 +2079,7 @@ for performance reasons. ### `stream.Readable.fromWeb(readableStream[, options])` > Stability: 1 - Experimental @@ -2106,7 +2106,7 @@ Returns whether the stream has been read from or cancelled. ### `stream.Readable.toWeb(streamReadable)` > Stability: 1 - Experimental @@ -2116,7 +2116,7 @@ added: REPLACEME ### `stream.Writable.fromWeb(writableStream[, options])` > Stability: 1 - Experimental @@ -2131,7 +2131,7 @@ added: REPLACEME ### `stream.Writable.toWeb(streamWritable)` > Stability: 1 - Experimental @@ -2169,7 +2169,7 @@ A utility method for creating duplex streams. ### `stream.Duplex.fromWeb(pair[, options])` > Stability: 1 - Experimental @@ -2188,7 +2188,7 @@ added: REPLACEME ### `stream.Duplex.toWeb(streamDuplex)` > Stability: 1 - Experimental diff --git a/doc/api/url.md b/doc/api/url.md index 99224c7ff5205a..7aa17007baac5c 100644 --- a/doc/api/url.md +++ b/doc/api/url.md @@ -1384,7 +1384,7 @@ forward-slash characters (`/`) are required following the colon in the #### `new CompressionStream(format)` * `format` {string} One of either `'deflate'` or `'gzip'`. #### `compressionStream.readable` * Type: {ReadableStream} #### `compressionStream.writable` * Type: {WritableStream} ### Class: `DecompressionStream` #### `new DecompressionStream(format)` * `format` {string} One of either `'deflate'` or `'gzip'`. #### `decompressionStream.readable` * Type: {ReadableStream} #### `decompressionStream.writable` * Type: {WritableStream} diff --git a/doc/changelogs/CHANGELOG_IOJS.md b/doc/changelogs/CHANGELOG_IOJS.md index cb6832ab574e1b..e450b415c25339 100644 --- a/doc/changelogs/CHANGELOG_IOJS.md +++ b/doc/changelogs/CHANGELOG_IOJS.md @@ -64,6 +64,7 @@
* Other Versions + * [17.x](CHANGELOG_V17.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) diff --git a/doc/changelogs/CHANGELOG_V010.md b/doc/changelogs/CHANGELOG_V010.md index 5d375fa17ffba3..1a8578a5b815ed 100644 --- a/doc/changelogs/CHANGELOG_V010.md +++ b/doc/changelogs/CHANGELOG_V010.md @@ -66,6 +66,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V012.md b/doc/changelogs/CHANGELOG_V012.md index 8cfe45a7d48a33..b32943d2127fe6 100644 --- a/doc/changelogs/CHANGELOG_V012.md +++ b/doc/changelogs/CHANGELOG_V012.md @@ -34,6 +34,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V10.md b/doc/changelogs/CHANGELOG_V10.md index 21711f018e2151..cc80234550c3c3 100644 --- a/doc/changelogs/CHANGELOG_V10.md +++ b/doc/changelogs/CHANGELOG_V10.md @@ -60,6 +60,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V11.md b/doc/changelogs/CHANGELOG_V11.md index 8ff4527f81f9f8..c9a01693868620 100644 --- a/doc/changelogs/CHANGELOG_V11.md +++ b/doc/changelogs/CHANGELOG_V11.md @@ -32,6 +32,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index 01887997cf953f..f1c14264530e16 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -63,6 +63,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V13.md b/doc/changelogs/CHANGELOG_V13.md index 412824b14d2f65..8beb234f469d2f 100644 --- a/doc/changelogs/CHANGELOG_V13.md +++ b/doc/changelogs/CHANGELOG_V13.md @@ -32,6 +32,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V14.md b/doc/changelogs/CHANGELOG_V14.md index 1af9d1fb427d5c..076703229baae0 100644 --- a/doc/changelogs/CHANGELOG_V14.md +++ b/doc/changelogs/CHANGELOG_V14.md @@ -50,6 +50,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [13.x](CHANGELOG_V13.md) diff --git a/doc/changelogs/CHANGELOG_V15.md b/doc/changelogs/CHANGELOG_V15.md index 1855da132b18f6..b7ab9f723a62b2 100644 --- a/doc/changelogs/CHANGELOG_V15.md +++ b/doc/changelogs/CHANGELOG_V15.md @@ -33,6 +33,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) diff --git a/doc/changelogs/CHANGELOG_V16.md b/doc/changelogs/CHANGELOG_V16.md index 128467175d01df..cb7165e29f196d 100644 --- a/doc/changelogs/CHANGELOG_V16.md +++ b/doc/changelogs/CHANGELOG_V16.md @@ -30,6 +30,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) diff --git a/doc/changelogs/CHANGELOG_V17.md b/doc/changelogs/CHANGELOG_V17.md new file mode 100644 index 00000000000000..55215f2f56bec1 --- /dev/null +++ b/doc/changelogs/CHANGELOG_V17.md @@ -0,0 +1,85 @@ +# Node.js 17 ChangeLog + + + + + + + + + + + + +
Current
+17.0.0
+
+ +* Other Versions + * [16.x](CHANGELOG_V16.md) + * [15.x](CHANGELOG_V15.md) + * [14.x](CHANGELOG_V14.md) + * [13.x](CHANGELOG_V13.md) + * [12.x](CHANGELOG_V12.md) + * [11.x](CHANGELOG_V11.md) + * [10.x](CHANGELOG_V10.md) + * [9.x](CHANGELOG_V9.md) + * [8.x](CHANGELOG_V8.md) + * [7.x](CHANGELOG_V7.md) + * [6.x](CHANGELOG_V6.md) + * [5.x](CHANGELOG_V5.md) + * [4.x](CHANGELOG_V4.md) + * [0.12.x](CHANGELOG_V012.md) + * [0.10.x](CHANGELOG_V010.md) + * [io.js](CHANGELOG_IOJS.md) + * [Archive](CHANGELOG_ARCHIVE.md) + + +## 2021-10-19, Version 17.0.0 (Current), @BethGriggs + +### Notable Changes + +#### Deprecations and Removals + +* TBD + +#### Other Notable Changes + +### Semver-Major Commits + +* [[`40c6e838df`](https://github.com/nodejs/node/commit/40c6e838df)] - **(SEMVER-MAJOR)** **dgram**: tighten `address` validation in `socket.send` (Voltrex) [#39190](https://github.com/nodejs/node/pull/39190) +* [[`f182b9b29f`](https://github.com/nodejs/node/commit/f182b9b29f)] - **(SEMVER-MAJOR)** **dns**: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [#39793](https://github.com/nodejs/node/pull/39793) +* [[`1b2749ecbe`](https://github.com/nodejs/node/commit/1b2749ecbe)] - **(SEMVER-MAJOR)** **dns**: default to verbatim=true in dns.lookup() (Ben Noordhuis) [#39987](https://github.com/nodejs/node/pull/39987) +* [[`59d3d542d6`](https://github.com/nodejs/node/commit/59d3d542d6)] - **(SEMVER-MAJOR)** **errors**: disp ver on fatal except that causes exit (Divlo) [#38332](https://github.com/nodejs/node/pull/38332) +* [[`f9447b71a6`](https://github.com/nodejs/node/commit/f9447b71a6)] - **(SEMVER-MAJOR)** **fs**: fix rmsync error swallowing (Nitzan Uziely) [#38684](https://github.com/nodejs/node/pull/38684) +* [[`f27b7cf95c`](https://github.com/nodejs/node/commit/f27b7cf95c)] - **(SEMVER-MAJOR)** **fs**: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) [#38259](https://github.com/nodejs/node/pull/38259) +* [[`d0a898681f`](https://github.com/nodejs/node/commit/d0a898681f)] - **(SEMVER-MAJOR)** **lib**: add structuredClone() global (Ethan Arrowood) [#39759](https://github.com/nodejs/node/pull/39759) +* [[`e4b1fb5e64`](https://github.com/nodejs/node/commit/e4b1fb5e64)] - **(SEMVER-MAJOR)** **lib**: expose `DOMException` as global (Khaidi Chu) [#39176](https://github.com/nodejs/node/pull/39176) +* [[`64287e4d45`](https://github.com/nodejs/node/commit/64287e4d45)] - **(SEMVER-MAJOR)** **module**: runtime deprecate trailing slash patterns (Guy Bedford) [#40117](https://github.com/nodejs/node/pull/40117) +* [[`341312d78a`](https://github.com/nodejs/node/commit/341312d78a)] - **(SEMVER-MAJOR)** **readline**: add `autoCommit` option (Antoine du Hamel) [#37947](https://github.com/nodejs/node/pull/37947) +* [[`707dd77d86`](https://github.com/nodejs/node/commit/707dd77d86)] - **(SEMVER-MAJOR)** **readline**: validate `AbortSignal`s and remove unused event listeners (Antoine du Hamel) [#37947](https://github.com/nodejs/node/pull/37947) +* [[`8122d243ae`](https://github.com/nodejs/node/commit/8122d243ae)] - **(SEMVER-MAJOR)** **readline**: introduce promise-based API (Antoine du Hamel) [#37947](https://github.com/nodejs/node/pull/37947) +* [[`592d1c3d44`](https://github.com/nodejs/node/commit/592d1c3d44)] - **(SEMVER-MAJOR)** **readline**: refactor `Interface` to ES2015 class (Antoine du Hamel) [#37947](https://github.com/nodejs/node/pull/37947) +* [[`0a7f850123`](https://github.com/nodejs/node/commit/0a7f850123)] - **(SEMVER-MAJOR)** **src**: return Maybe from a couple of functions (Darshan Sen) [#39603](https://github.com/nodejs/node/pull/39603) +* [[`bdaf51bae7`](https://github.com/nodejs/node/commit/bdaf51bae7)] - **(SEMVER-MAJOR)** **src**: allow custom PageAllocator in NodePlatform (Shelley Vohr) [#38362](https://github.com/nodejs/node/pull/38362) +* [[`0c6f345cda`](https://github.com/nodejs/node/commit/0c6f345cda)] - **(SEMVER-MAJOR)** **stream**: fix highwatermark threshold and add the missing error (Rongjian Zhang) [#38700](https://github.com/nodejs/node/pull/38700) +* [[`0e841b45c2`](https://github.com/nodejs/node/commit/0e841b45c2)] - **(SEMVER-MAJOR)** **stream**: don't emit 'data' after 'error' or 'close' (Robert Nagy) [#39639](https://github.com/nodejs/node/pull/39639) +* [[`ef992f6de9`](https://github.com/nodejs/node/commit/ef992f6de9)] - **(SEMVER-MAJOR)** **stream**: do not emit `end` on readable error (Szymon Marczak) [#39607](https://github.com/nodejs/node/pull/39607) +* [[`efd40eadab`](https://github.com/nodejs/node/commit/efd40eadab)] - **(SEMVER-MAJOR)** **stream**: forward errored to callback (Robert Nagy) [#39364](https://github.com/nodejs/node/pull/39364) +* [[`09d8c0c8d2`](https://github.com/nodejs/node/commit/09d8c0c8d2)] - **(SEMVER-MAJOR)** **stream**: destroy readable on read error (Robert Nagy) [#39342](https://github.com/nodejs/node/pull/39342) +* [[`a5dec3a470`](https://github.com/nodejs/node/commit/a5dec3a470)] - **(SEMVER-MAJOR)** **stream**: validate abort signal (Robert Nagy) [#39346](https://github.com/nodejs/node/pull/39346) +* [[`bb275ef2a4`](https://github.com/nodejs/node/commit/bb275ef2a4)] - **(SEMVER-MAJOR)** **stream**: unify stream utils (Robert Nagy) [#39294](https://github.com/nodejs/node/pull/39294) +* [[`b2ae12d422`](https://github.com/nodejs/node/commit/b2ae12d422)] - **(SEMVER-MAJOR)** **stream**: throw on premature close in Readable\[AsyncIterator\] (Darshan Sen) [#39117](https://github.com/nodejs/node/pull/39117) +* [[`0738a2b7bd`](https://github.com/nodejs/node/commit/0738a2b7bd)] - **(SEMVER-MAJOR)** **stream**: finished should error on errored stream (Robert Nagy) [#39235](https://github.com/nodejs/node/pull/39235) +* [[`954217adda`](https://github.com/nodejs/node/commit/954217adda)] - **(SEMVER-MAJOR)** **stream**: error Duplex write/read if not writable/readable (Robert Nagy) [#34385](https://github.com/nodejs/node/pull/34385) +* [[`f4609bdf3f`](https://github.com/nodejs/node/commit/f4609bdf3f)] - **(SEMVER-MAJOR)** **stream**: bypass legacy destroy for pipeline and async iteration (Robert Nagy) [#38505](https://github.com/nodejs/node/pull/38505) +* [[`e1e669b109`](https://github.com/nodejs/node/commit/e1e669b109)] - **(SEMVER-MAJOR)** **url**: throw invalid this on detached accessors (James M Snell) [#39752](https://github.com/nodejs/node/pull/39752) +* [[`70157b9cb7`](https://github.com/nodejs/node/commit/70157b9cb7)] - **(SEMVER-MAJOR)** **url**: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) [#38631](https://github.com/nodejs/node/pull/38631) + +### Semver-Minor Commits + +* TBD + +### Semver-Patch Commits + +* TBD diff --git a/doc/changelogs/CHANGELOG_V4.md b/doc/changelogs/CHANGELOG_V4.md index 089bc23f9d5125..22108c1f352d4d 100644 --- a/doc/changelogs/CHANGELOG_V4.md +++ b/doc/changelogs/CHANGELOG_V4.md @@ -58,6 +58,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V5.md b/doc/changelogs/CHANGELOG_V5.md index 79c92d09418fca..29b512539b90ad 100644 --- a/doc/changelogs/CHANGELOG_V5.md +++ b/doc/changelogs/CHANGELOG_V5.md @@ -34,6 +34,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V6.md b/doc/changelogs/CHANGELOG_V6.md index 68d243d03f6707..9e106424182fc9 100644 --- a/doc/changelogs/CHANGELOG_V6.md +++ b/doc/changelogs/CHANGELOG_V6.md @@ -63,6 +63,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V7.md b/doc/changelogs/CHANGELOG_V7.md index 9f5581129c1fc6..f98067c01d458a 100644 --- a/doc/changelogs/CHANGELOG_V7.md +++ b/doc/changelogs/CHANGELOG_V7.md @@ -32,6 +32,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V8.md b/doc/changelogs/CHANGELOG_V8.md index f64372f41b44e3..e23bcad28f7c0a 100644 --- a/doc/changelogs/CHANGELOG_V8.md +++ b/doc/changelogs/CHANGELOG_V8.md @@ -54,6 +54,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/doc/changelogs/CHANGELOG_V9.md b/doc/changelogs/CHANGELOG_V9.md index 6721296dd422d9..4834941a5281c4 100644 --- a/doc/changelogs/CHANGELOG_V9.md +++ b/doc/changelogs/CHANGELOG_V9.md @@ -33,6 +33,7 @@ * Other Versions + * [17.x](CHANGELOG_V17.md) * [16.x](CHANGELOG_V16.md) * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) diff --git a/src/node_version.h b/src/node_version.h index 3b54c0cb3631a3..31f99dc68c9f8f 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -29,7 +29,7 @@ #define NODE_VERSION_IS_LTS 0 #define NODE_VERSION_LTS_CODENAME "" -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)