From 57613f8c564982494c5af8070816d675544386bb Mon Sep 17 00:00:00 2001 From: Beth Griggs Date: Tue, 1 Sep 2020 21:16:46 +0100 Subject: [PATCH] 2020-10-20, Version 15.0.0 (Current) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Notable changes: Deprecations and Removals: - **build**: remove --build-v8-with-gn configure option (Yang Guo) (https://github.com/nodejs/node/pull/27576) - **build**: drop support for VS2017 (Michaël Zasso) (https://github.com/nodejs/node/pull/33694) - **doc**: move DEP0018 to End-of-Life (Rich Trott) (https://github.com/nodejs/node/pull/35316) - **fs**: deprecation warning on recursive rmdir (Ian Sutherland) (https://github.com/nodejs/node/pull/35562) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **net**: remove long deprecated server.connections property (James M Snell) (https://github.com/nodejs/node/pull/33647) - **repl**: remove deprecated repl.memory function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated .rli (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **src**: remove deprecated node debug command (James M Snell) (https://github.com/nodejs/node/pull/33648) - **timers**: introduce timers/promises (James M Snell) (https://github.com/nodejs/node/pull/33950) - **util**: change default value of `maxStringLength` to 10000 (unknown) (https://github.com/nodejs/node/pull/32744) - **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) npm 7 (https://github.com/nodejs/node/pull/35631): Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default. Throw On Unhandled Rejections (https://github.com/nodejs/node/pull/33021): As of Node.js 15, the default mode for `unhandledRejection` is changed to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection` hook is not set, the `unhandledRejection` is raised as an uncaught exception. Users that have an `unhandledRejection` hook should see no change in behavior, and it’s still possible to switch modes using the `--unhandled-rejections=mode` process flag. QUIC (https://github.com/nodejs/node/pull/32379): Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the `--experimental-quic` configuration flag. The Node.js QUIC implementation is exposed by the core `net` module. V8 8.6 (https://github.com/nodejs/node/pull/35415): The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features: * `Promise.any()` (from V8 8.5) * `AggregateError` (from V8 8.5) * `String.prototype.replaceAll()` (from V8 8.5) * Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5) Other Notable Changes: - **assert**: add `assert/strict` alias module (ExE Boss) (https://github.com/nodejs/node/pull/34001) - **dns**: add dns/promises alias (shisama) (https://github.com/nodejs/node/pull/32953) - **fs**: reimplement read and write streams using stream.construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **http2**: allow Host in HTTP/2 requests (Alba Mendez) (https://github.com/nodejs/node/pull/34664) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **lib**: unflag AbortController (James M Snell) (https://github.com/nodejs/node/pull/33527) - **lib**: initial experimental AbortController implementation (James M Snell) (https://github.com/nodejs/node/pull/33527) - **net**: autoDestroy Socket (Robert Nagy) (https://github.com/nodejs/node/pull/31806) - **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) (https://github.com/nodejs/node/pull/33874) - **stream**: construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) Semver-Major Commits: - **assert**: add `assert/strict` alias module (ExE Boss) (https://github.com/nodejs/node/pull/34001) - **build**: reset embedder string to "-node.0" (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **build**: remove --build-v8-with-gn configure option (Yang Guo) (https://github.com/nodejs/node/pull/27576) - **build**: drop support for VS2017 (Michaël Zasso) (https://github.com/nodejs/node/pull/33694) - **crypto**: refactoring internals, add WebCrypto (James M Snell) (https://github.com/nodejs/node/pull/35093) - **crypto**: move node\_crypto files to src/crypto (James M Snell) (https://github.com/nodejs/node/pull/35093) - **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: fix V8 build issue with inline methods (Jiawen Geng) (https://github.com/nodejs/node/pull/35415) - **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: update V8 postmortem metadata script (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) - **deps**: update V8 to 8.6.395 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: upgrade npm to 7.0.0 (Myles Borins) (https://github.com/nodejs/node/pull/35631) - **deps**: update npm to 7.0.0-rc.3 (Myles Borins) (https://github.com/nodejs/node/pull/35474) - **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan) (https://github.com/nodejs/node/pull/33600) - **dns**: add dns/promises alias (shisama) (https://github.com/nodejs/node/pull/32953) - **doc**: move DEP0018 to End-of-Life (Rich Trott) (https://github.com/nodejs/node/pull/35316) - **doc**: update support macos version for 15.x (Ash Cripps) (https://github.com/nodejs/node/pull/35022) - **fs**: deprecation warning on recursive rmdir (Ian Sutherland) (https://github.com/nodejs/node/pull/35562) - **fs**: reimplement read and write streams using stream.construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **http**: fixed socket.setEncoding fatal error (iskore) (https://github.com/nodejs/node/pull/33405) - **http**: emit 'error' on aborted server request (Robert Nagy) (https://github.com/nodejs/node/pull/33172) - **http**: cleanup end argument handling (Robert Nagy) (https://github.com/nodejs/node/pull/31818) - **http2**: allow Host in HTTP/2 requests (Alba Mendez) (https://github.com/nodejs/node/pull/34664) - **http2**: add `invalidheaders` test (Pranshu Srivastava) (https://github.com/nodejs/node/pull/33161) - **http2**: refactor state code validation for the http2Stream class (rickyes) (https://github.com/nodejs/node/pull/33535) - **http2**: header field valid checks (Pranshu Srivastava) (https://github.com/nodejs/node/pull/33193) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **lib**: remove ERR\_INVALID\_OPT\_VALUE and ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko) (https://github.com/nodejs/node/pull/34682) - **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys Otrishko) (https://github.com/nodejs/node/pull/34022) - **lib**: remove NodeError from the prototype of errors with code (Michaël Zasso) (https://github.com/nodejs/node/pull/33857) - **lib**: unflag AbortController (James M Snell) (https://github.com/nodejs/node/pull/33527) - **lib**: initial experimental AbortController implementation (James M Snell) (https://github.com/nodejs/node/pull/33527) - **net**: check args in net.connect() and socket.connect() calls (Denys Otrishko) (https://github.com/nodejs/node/pull/34022) - **net**: remove long deprecated server.connections property (James M Snell) (https://github.com/nodejs/node/pull/33647) - **net**: autoDestroy Socket (Robert Nagy) (https://github.com/nodejs/node/pull/31806) - **process**: update v8 fast api calls usage (Maya Lekova) (https://github.com/nodejs/node/pull/35415) - **process**: change default --unhandled-rejections=throw (Dan Fabulich) (https://github.com/nodejs/node/pull/33021) - **process**: use v8 fast api calls for hrtime (Gus Caplan) (https://github.com/nodejs/node/pull/33600) - **process**: delay throwing an error using `throwDeprecation` (Ruben Bridgewater) (https://github.com/nodejs/node/pull/32312) - **repl**: remove deprecated repl.memory function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated .rli (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **src**: implement NodePlatform::PostJob (Clemens Backes) (https://github.com/nodejs/node/pull/35415) - **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **src**: error reporting on CPUUsage (Yash Ladha) (https://github.com/nodejs/node/pull/34762) - **src**: use node:moduleName as builtin module filename (Michaël Zasso) (https://github.com/nodejs/node/pull/35498) - **src**: enable wasm trap handler on windows (Gus Caplan) (https://github.com/nodejs/node/pull/35033) - **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso) (https://github.com/nodejs/node/pull/33579) - **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) (https://github.com/nodejs/node/pull/33874) - **src**: remove \_third\_party\_main support (Anna Henningsen) (https://github.com/nodejs/node/pull/33971) - **src**: remove deprecated node debug command (James M Snell) (https://github.com/nodejs/node/pull/33648) - **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen) (https://github.com/nodejs/node/pull/32859) - **stream**: try to wait for flush to complete before 'finish' (Robert Nagy) (https://github.com/nodejs/node/pull/34314) - **stream**: cleanup and fix Readable.wrap (Robert Nagy) (https://github.com/nodejs/node/pull/34204) - **stream**: add promises version to utility functions (rickyes) (https://github.com/nodejs/node/pull/33991) - **stream**: fix writable.end callback behavior (Robert Nagy) (https://github.com/nodejs/node/pull/34101) - **stream**: construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **stream**: write should throw on unknown encoding (Robert Nagy) (https://github.com/nodejs/node/pull/33075) - **stream**: fix \_final and 'prefinish' timing (Robert Nagy) (https://github.com/nodejs/node/pull/32780) - **stream**: simplify Transform stream implementation (Robert Nagy) (https://github.com/nodejs/node/pull/32763) - **stream**: use callback to properly propagate error (Robert Nagy) (https://github.com/nodejs/node/pull/29179) - **test**: update tests after increasing typed array size to 4GB (Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415) - **test**: fix tests for npm 7.0.0 (Myles Borins) (https://github.com/nodejs/node/pull/35631) - **test**: fix test suite to work with npm 7 (Myles Borins) (https://github.com/nodejs/node/pull/35474) - **test**: update WPT harness and tests (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **timers**: introduce timers/promises (James M Snell) (https://github.com/nodejs/node/pull/33950) - **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma) (https://github.com/nodejs/node/pull/35415) - **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma) (https://github.com/nodejs/node/pull/35415) - **url**: file URL path normalization (Daijiro Wachi) (https://github.com/nodejs/node/pull/35477) - **url**: verify domain is not empty after "ToASCII" (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **url**: remove U+0000 case in the fragment state (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **url**: remove gopher from special schemes (Michaël Zasso) (https://github.com/nodejs/node/pull/33325) - **url**: forbid lt and gt in url host code point (Yash Ladha) (https://github.com/nodejs/node/pull/33328) - **util**: change default value of `maxStringLength` to 10000 (unknown) (https://github.com/nodejs/node/pull/32744) - **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) - **win, child_process**: sanitize env variables (Bartosz Sosnowski) (https://github.com/nodejs/node/pull/35210) - **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **worker**: set trackUnmanagedFds to true by default (Anna Henningsen) (https://github.com/nodejs/node/pull/34394) - **worker**: rename error code to be more accurate (Anna Henningsen) (https://github.com/nodejs/node/pull/33872) PR-URL: https://github.com/nodejs/node/pull/35014 --- CHANGELOG.md | 5 + doc/abi_version_registry.json | 2 +- doc/api/assert.md | 2 +- doc/api/buffer.md | 6 +- doc/api/cli.md | 6 +- doc/api/crypto.md | 54 ++-- doc/api/deprecations.md | 18 +- doc/api/dns.md | 4 +- doc/api/embedding.md | 2 +- doc/api/errors.md | 52 ++-- doc/api/events.md | 6 +- doc/api/globals.md | 24 +- doc/api/http2.md | 4 +- doc/api/net.md | 14 +- doc/api/process.md | 2 +- doc/api/quic.md | 302 ++++++++++---------- doc/api/stream.md | 2 +- doc/api/url.md | 6 +- doc/api/webcrypto.md | 250 ++++++++--------- doc/changelogs/CHANGELOG_IOJS.md | 1 + doc/changelogs/CHANGELOG_V010.md | 1 + doc/changelogs/CHANGELOG_V012.md | 1 + doc/changelogs/CHANGELOG_V10.md | 1 + doc/changelogs/CHANGELOG_V11.md | 1 + doc/changelogs/CHANGELOG_V12.md | 1 + doc/changelogs/CHANGELOG_V13.md | 1 + doc/changelogs/CHANGELOG_V14.md | 1 + doc/changelogs/CHANGELOG_V15.md | 456 +++++++++++++++++++++++++++++++ doc/changelogs/CHANGELOG_V4.md | 1 + doc/changelogs/CHANGELOG_V5.md | 1 + doc/changelogs/CHANGELOG_V6.md | 1 + doc/changelogs/CHANGELOG_V7.md | 1 + doc/changelogs/CHANGELOG_V8.md | 1 + doc/changelogs/CHANGELOG_V9.md | 1 + src/node_version.h | 2 +- 35 files changed, 854 insertions(+), 379 deletions(-) create mode 100644 doc/changelogs/CHANGELOG_V15.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 28474869adefef..e5d1128ee71bcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Select a Node.js version below to view the changelog history: +* [Node.js 15](doc/changelogs/CHANGELOG_V15.md) **Current** * [Node.js 14](doc/changelogs/CHANGELOG_V14.md) **Current** * [Node.js 13](doc/changelogs/CHANGELOG_V13.md) End-of-Life * [Node.js 12](doc/changelogs/CHANGELOG_V12.md) **Long Term Support** @@ -24,12 +25,16 @@ release. + +
15Current 14Current 12LTS 10LTS
+15.0.0
+
14.14.0
14.13.1
14.13.0
diff --git a/doc/abi_version_registry.json b/doc/abi_version_registry.json index 96d83e608fb81f..ec76e74aaf1bf6 100644 --- a/doc/abi_version_registry.json +++ b/doc/abi_version_registry.json @@ -1,6 +1,6 @@ { "NODE_MODULE_VERSION": [ - { "modules": 88, "runtime": "node", "variant": "v8_8.6", "versions": "15.0.0-pre" }, + { "modules": 88, "runtime": "node", "variant": "v8_8.6", "versions": "15.0.0" }, { "modules": 87, "runtime": "electron", "variant": "electron", "versions": "12" }, { "modules": 86, "runtime": "node", "variant": "v8_8.4", "versions": "15.0.0-pre" }, { "modules": 85, "runtime": "electron", "variant": "electron", "versions": "11" }, diff --git a/doc/api/assert.md b/doc/api/assert.md index 1478515c811608..54e4bc172ab34a 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -13,7 +13,7 @@ invariants. @@ -548,7 +548,7 @@ Silence all process warnings (including deprecations). ### `--node-memory-debug` Enable extra debug checks for memory leaks in Node.js internals. This is diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 2e1744910b9f9f..95a5c68baf4bb2 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -57,7 +57,7 @@ data. The most common usage is handling output generated by the HTML5 * `type`: {string} The intended use of the generated secret key. Currently @@ -2245,7 +2245,7 @@ generateKey('hmac', { length: 64 }, (err, key) => { ### `crypto.generateKeySync(type, options)` * `type`: {string} The intended use of the generated secret key. Currently @@ -2426,7 +2426,7 @@ console.log(ciphers); // ['aes-128-cbc', 'aes-128-ccm', ...] ### `crypto.getCipherInfo(nameOrNid[, options])` * `nameOrNid`: {string|number} The name or nid of the cipher to query. @@ -2525,7 +2525,7 @@ console.log(hashes); // ['DSA', 'DSA-SHA', 'DSA-SHA1', ...] ### `crypto.hkdf(digest, key, salt, info, keylen, callback)` * `digest` {string} The digest algorithm to use. @@ -2562,7 +2562,7 @@ crypto.hkdf('sha512', 'key', 'salt', 'info', 64, (err, derivedKey) => { ### `crypto.hkdfSync(digest, key, salt, info, keylen)` * `digest` {string} The digest algorithm to use. @@ -2597,7 +2597,7 @@ console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653' @@ -3376,7 +3376,7 @@ not introduce timing vulnerabilities. @@ -3420,7 +3420,7 @@ key may be passed for `key`. ### `crypto.webcrypto` Type: {Crypto} An implementation of the Web Crypto API standard. diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index 093bef796dab7c..326f4705856596 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -426,7 +426,7 @@ See [`Intl.Segmenter`](https://github.com/tc39/proposal-intl-segmenter). ### DEP0018: Unhandled promise rejections * `hostname` {string} @@ -917,7 +917,7 @@ Here is an example of the result object: ## `dnsPromises.resolveCaa(hostname)` * `hostname` {string} diff --git a/doc/api/embedding.md b/doc/api/embedding.md index 82c87f5890f181..4bae63aae2a658 100644 --- a/doc/api/embedding.md +++ b/doc/api/embedding.md @@ -69,7 +69,7 @@ int main(int argc, char** argv) { ### Per-instance state Initialization of the crypto subsystem failed. @@ -798,7 +798,7 @@ Initialization of the crypto subsystem failed. ### `ERR_CRYPTO_INVALID_AUTH_TAG` An invalid authentication tag was provided. @@ -806,7 +806,7 @@ An invalid authentication tag was provided. ### `ERR_CRYPTO_INVALID_COUNTER` An invalid counter was provided for a counter-mode cipher. @@ -814,7 +814,7 @@ An invalid counter was provided for a counter-mode cipher. ### `ERR_CRYPTO_INVALID_CURVE` An invalid elliptic-curve was provided. @@ -827,7 +827,7 @@ An invalid [crypto digest algorithm][] was specified. ### `ERR_CRYPTO_INVALID_IV` An invalid initialization vector was provided. @@ -835,7 +835,7 @@ An invalid initialization vector was provided. ### `ERR_CRYPTO_INVALID_JWK` An invalid JSON Web Key was provided. @@ -848,7 +848,7 @@ The given crypto key object's type is invalid for the attempted operation. ### `ERR_CRYPTO_INVALID_KEYLEN` An invalid key length was provided. @@ -856,7 +856,7 @@ An invalid key length was provided. ### `ERR_CRYPTO_INVALID_KEYPAIR` An invalid key pair was provided. @@ -864,7 +864,7 @@ An invalid key pair was provided. ### `ERR_CRYPTO_INVALID_KEYTYPE` An invalid key type was provided. @@ -872,7 +872,7 @@ An invalid key type was provided. ### `ERR_CRYPTO_INVALID_MESSAGELEN` An invalid message length was provided. @@ -880,7 +880,7 @@ An invalid message length was provided. ### `ERR_CRYPTO_INVALID_SCRYPT_PARAMS` Invalid scrypt algorithm parameters were provided. @@ -894,7 +894,7 @@ instance, calling [`cipher.getAuthTag()`][] before calling `cipher.final()`. ### `ERR_CRYPTO_INVALID_TAG_LENGTH` An invalid authentication tag length was provided. @@ -902,7 +902,7 @@ An invalid authentication tag length was provided. ### `ERR_CRYPTO_JOB_INIT_FAILED` Initialization of an asynchronous crypto operation failed. @@ -910,7 +910,7 @@ Initialization of an asynchronous crypto operation failed. ### `ERR_CRYPTO_OPERATION_FAILED` A crypto operation failed for an otherwise unspecified reason. @@ -958,7 +958,7 @@ An unknown Diffie-Hellman group name was given. See ### `ERR_DLOPEN_FAILED` A call to `process.dlopen()` failed. @@ -971,7 +971,7 @@ The [`fs.Dir`][] was previously closed. ### `ERR_CRYPTO_UNSUPPORTED_OPERATION` An attempt to invoke an unsupported crypto operation was made. @@ -1508,7 +1508,7 @@ An IP address is not valid. ### `ERR_INVALID_MODULE` An attempt was made to load a module that does not exist or was otherwise not @@ -1575,7 +1575,7 @@ type on execution, such as when a function is expected to return a promise. ### `ERR_INVALID_STATE` Indicates that an operation cannot be completed due to an invalid state. @@ -1763,14 +1763,14 @@ this error will not occur with standard builds of Node.js. ### `ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST` An object that needs to be explicitly listed in the `transferList` argument is in the object passed to a [`postMessage()`][] call, but is not provided in the `transferList` for that call. Usually, this is a `MessagePort`. -In Node.js versions prior to REPLACEME, the error code being used here was +In Node.js versions prior to v15.0.0, the error code being used here was [`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`][]. However, the set of transferable object types has been expanded to cover more types than `MessagePort`. @@ -2530,7 +2530,7 @@ A given index was out of the accepted range (e.g. negative offsets). ### `ERR_INVALID_OPT_VALUE` An invalid or unexpected value was passed in an options object. @@ -2539,7 +2539,7 @@ An invalid or unexpected value was passed in an options object. ### `ERR_INVALID_OPT_VALUE_ENCODING` An invalid or unknown file encoding was passed. @@ -2547,11 +2547,11 @@ An invalid or unknown file encoding was passed. ### `ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST` This error code was replaced by [`ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`][] -in Node.js REPLACEME, because it is no longer accurate as other types of +in Node.js v15.0.0, because it is no longer accurate as other types of transferable objects also exist now. @@ -2572,7 +2572,7 @@ A Node.js API was called in an unsupported manner, such as ### `ERR_OPERATION_FAILED` An operation failed. This is typically used to signal the general failure @@ -2723,7 +2723,7 @@ closed. ### `ERR_CPU_USAGE` The native call from `process.cpuUsage` could not be processed. diff --git a/doc/api/events.md b/doc/api/events.md index 68e23231677fda..b6403e812ec3a6 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -1076,7 +1076,7 @@ process.nextTick(() => ac.abort()); @@ -1354,7 +1354,7 @@ The event type identifier. > Stability: 1 - Experimental @@ -42,7 +42,7 @@ console.log(ac.signal.aborted); // Prints True ### `abortController.abort()` Triggers the abort signal, causing the `abortController.signal` to emit @@ -50,14 +50,14 @@ the `'abort'` event. ### `abortController.signal` * Type: {AbortSignal} ### Class: `AbortSignal` * Extends: {EventTarget} @@ -67,7 +67,7 @@ The `AbortSignal` is used to notify observers when the #### Event: `'abort'` The `'abort'` event is emitted when the `abortController.abort()` method @@ -97,14 +97,14 @@ Failure to do so may result in memory leaks. #### `abortSignal.aborted` * Type: {boolean} True after the `AbortController` has been aborted. #### `abortSignal.onabort` * Type: {Function} @@ -171,7 +171,7 @@ Used to print to stdout and stderr. See the [`console`][] section. ## `Event` @@ -183,7 +183,7 @@ A browser-compatible implementation of the `Event` class. See ## `EventTarget` @@ -213,7 +213,7 @@ Node.js this is different. The top-level scope is not the global scope; ## `MessageChannel` @@ -222,7 +222,7 @@ The `MessageChannel` class. See [`MessageChannel`][] for more details. ## `MessageEvent` @@ -231,7 +231,7 @@ The `MessageEvent` class. See [`MessageEvent`][] for more details. ## `MessagePort` diff --git a/doc/api/http2.md b/doc/api/http2.md index 632930da7e0387..bc3bebd11b9c71 100644 --- a/doc/api/http2.md +++ b/doc/api/http2.md @@ -2,7 +2,7 @@ * {symbol} diff --git a/doc/api/net.md b/doc/api/net.md index d23b8c0c91c6a0..7c777df33a2a4f 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -57,7 +57,7 @@ net.createServer().listen( ## Class: `net.BlockList` The `BlockList` object can be used with some network APIs to specify rules for @@ -66,7 +66,7 @@ IP subnets. ### `blockList.addAddress(address[, type])` * `address` {string} An IPv4 or IPv6 address. @@ -76,7 +76,7 @@ Adds a rule to block the given IP address. ### `blockList.addRange(start, end[, type])` * `start` {string} The starting IPv4 or IPv6 address in the range. @@ -88,7 +88,7 @@ Adds a rule to block a range of IP addresses from `start` (inclusive) to ### `blockList.addSubnet(net, prefix[, type])` * `net` {string} The network IPv4 or IPv6 address. @@ -101,7 +101,7 @@ Adds a rule to block a range of IP addresses specified as a subnet mask. ### `blockList.check(address[, type])` * `address` {string} The IP address to check @@ -128,7 +128,7 @@ console.log(blockList.check('::ffff:123.123.123.123', 'ipv6')); // Prints: true ### `blockList.rules` * Type: {string[]} @@ -1207,7 +1207,7 @@ then returns the `net.Socket` that starts the connection. ## `net.createQuicSocket([options])` Creates and returns a new `QuicSocket`. Please refer to the [QUIC documentation][] diff --git a/doc/api/process.md b/doc/api/process.md index 5568adfb6fc203..fd7e499ee6ecfb 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -1915,7 +1915,7 @@ Additional documentation is available in the [report documentation][]. added: v11.12.0 changes: - version: - - REPLACEME + - v15.0.0 pr-url: https://github.com/nodejs/node/pull/35654 description: This API is no longer experimental. --> diff --git a/doc/api/quic.md b/doc/api/quic.md index 1cd72dd41b9190..78428f7c24e196 100644 --- a/doc/api/quic.md +++ b/doc/api/quic.md @@ -1,6 +1,6 @@ # QUIC - + > Stability: 1 - Experimental @@ -251,7 +251,7 @@ TBD ### `net.createQuicSocket([options])` * `options` {Object} @@ -294,7 +294,7 @@ instances associated with a local UDP address. ### Class: `QuicEndpoint` The `QuicEndpoint` wraps a local UDP binding used by a `QuicSocket` to send @@ -305,7 +305,7 @@ Users will not create instances of `QuicEndpoint` directly. #### `quicendpoint.addMembership(address, iface)` * `address` {string} @@ -320,7 +320,7 @@ interface. #### `quicendpoint.address` * Type: Address @@ -338,7 +338,7 @@ If the `QuicEndpoint` is not bound, `quicendpoint.address` is an empty object. #### `quicendpoint.bind([options])` Binds the `QuicEndpoint` if it has not already been bound. User code will @@ -366,7 +366,7 @@ pending `Promise` will be returned. If the additional call to #### `quicendpoint.bound` * Type: {boolean} @@ -375,7 +375,7 @@ Set to `true` if the `QuicEndpoint` is bound to the local UDP port. #### `quicendpoint.close()` Closes and destroys the `QuicEndpoint`. Returns a `Promise` that is resolved @@ -389,7 +389,7 @@ The `Promise` cannot be canceled. Once `quicendpoint.close()` is called, the #### `quicendpoint.closing` * Type: {boolean} @@ -398,7 +398,7 @@ Set to `true` if the `QuicEndpoint` is in the process of closing. #### `quicendpoint.destroy([error])` * `error` {Object} An `Error` object. @@ -407,7 +407,7 @@ Closes and destroys the `QuicEndpoint` instance making it unusable. #### `quicendpoint.destroyed` * Type: {boolean} @@ -416,7 +416,7 @@ Set to `true` if the `QuicEndpoint` has been destroyed. #### `quicendpoint.dropMembership(address, iface)` * `address` {string} @@ -432,7 +432,7 @@ drop membership on all valid interfaces. #### `quicendpoint.fd` * Type: {integer} @@ -442,7 +442,7 @@ is not set on Windows. #### `quicendpoint.pending` * Type: {boolean} @@ -452,12 +452,12 @@ the local UDP port. #### `quicendpoint.ref()` #### `quicendpoint.setBroadcast([on])` * `on` {boolean} @@ -467,7 +467,7 @@ packets may be sent to a local interface's broadcast address. #### `quicendpoint.setMulticastInterface(iface)` * `iface` {string} @@ -493,7 +493,7 @@ successful use of this call. ##### Examples: IPv6 outgoing multicast interface On most systems, where scope format uses the interface name: @@ -519,7 +519,7 @@ socket.on('ready', () => { ##### Example: IPv4 outgoing multicast interface All systems use an IP of the host on the desired physical interface: @@ -554,7 +554,7 @@ the system for future multicast packets. #### `quicendpoint.setMulticastLoopback([on])` * `on` {boolean} @@ -564,7 +564,7 @@ multicast packets will also be received on the local interface. #### `quicendpoint.setMulticastTTL(ttl)` * `ttl` {number} @@ -580,7 +580,7 @@ The argument passed to `setMulticastTTL()` is a number of hops between #### `quicendpoint.setTTL(ttl)` * `ttl` {number} @@ -596,12 +596,12 @@ The default on most systems is `64` but can vary. #### `quicendpoint.unref()` ### Class: `QuicSession extends EventEmitter` * Extends: {EventEmitter} @@ -612,7 +612,7 @@ Users will not create instances of `QuicSession` directly. #### Event: `'close'` Emitted after the `QuicSession` has been destroyed and is no longer usable. @@ -621,7 +621,7 @@ The `'close'` event will not be emitted more than once. #### Event: `'error'` Emitted immediately before the `'close'` event if the `QuicSession` was @@ -635,7 +635,7 @@ The `'error'` event will not be emitted more than once. #### Event: `'keylog'` Emitted when key material is generated or received by a `QuicSession` @@ -660,7 +660,7 @@ The `'keylog'` event will be emitted multiple times. #### Event: `'pathValidation'` Emitted when a path validation result has been determined. This event @@ -678,7 +678,7 @@ The `'pathValidation'` event will be emitted multiple times. #### Event: `'secure'` Emitted after the TLS handshake has been completed. @@ -698,7 +698,7 @@ The `'secure'` event will not be emitted more than once. #### Event: `'stream'` Emitted when a new `QuicStream` has been initiated by the connected peer. @@ -707,7 +707,7 @@ The `'stream'` event may be emitted multiple times. #### `quicsession.ackDelayRetransmitCount` * Type: {number} @@ -716,7 +716,7 @@ The number of retransmissions caused by delayed acknowledgments. #### `quicsession.address` * Type: {Object} @@ -730,7 +730,7 @@ the `QuicSession` is currently associated. #### `quicsession.alpnProtocol` * Type: {string} @@ -739,7 +739,7 @@ The ALPN protocol identifier negotiated for this session. #### `quicsession.authenticated` * Type: {boolean} @@ -755,7 +755,7 @@ representing the reason the peer certificate verification failed. #### `quicsession.bidiStreamCount` * Type: {number} @@ -764,7 +764,7 @@ The total number of bidirectional streams created for this `QuicSession`. #### `quicsession.blockCount` * Type: {number} @@ -777,7 +777,7 @@ quickly enough by the connected peer. #### `quicsession.bytesInFlight` * Type: {number} @@ -787,7 +787,7 @@ to the connected peer. #### `quicsession.bytesReceived` * Type: {number} @@ -796,7 +796,7 @@ The total number of bytes received from the peer. #### `quicsession.bytesSent` * Type: {number} @@ -805,7 +805,7 @@ The total number of bytes sent to the peer. #### `quicsession.cipher` * Type: {Object} @@ -816,7 +816,7 @@ Information about the cipher algorithm selected for the session. #### `quicsession.close()` Begins a graceful close of the `QuicSession`. Existing `QuicStream` instances @@ -827,7 +827,7 @@ instance will be destroyed. Returns a `Promise` that is resolved once the #### `quicsession.closeCode` * Type: {Object} * `code` {number} The error code reported when the `QuicSession` closed. @@ -837,7 +837,7 @@ added: REPLACEME #### `quicsession.closing` * Type: {boolean} @@ -846,7 +846,7 @@ Set to `true` if the `QuicSession` is in the process of a graceful shutdown. #### `quicsession.destroy([error])` * `error` {any} @@ -859,7 +859,7 @@ Any `QuicStream` instances that are still opened will be abruptly closed. #### `quicsession.destroyed` * Type: {boolean} @@ -868,7 +868,7 @@ Set to `true` if the `QuicSession` has been destroyed. #### `quicsession.duration` * Type: {number} @@ -877,7 +877,7 @@ The length of time the `QuicSession` was active. #### `quicsession.getCertificate()` * Returns: {Object} A [Certificate Object][]. @@ -890,7 +890,7 @@ an empty object will be returned. #### `quicsession.getPeerCertificate([detailed])` * `detailed` {boolean} Include the full certificate chain if `true`, otherwise @@ -907,21 +907,21 @@ representing the issuer's certificate. #### `quicsession.handshakeAckHistogram` TBD #### `quicsession.handshakeContinuationHistogram` TBD #### `quicsession.handshakeComplete` * Type: {boolean} @@ -930,7 +930,7 @@ Set to `true` if the TLS handshake has completed. #### `quicsession.handshakeConfirmed` * Type: {boolean} @@ -939,7 +939,7 @@ Set to `true` when the TLS handshake completion has been confirmed. #### `quicsession.handshakeDuration` * Type: {number} @@ -948,7 +948,7 @@ The length of time taken to complete the TLS handshake. #### `quicsession.idleTimeout` * Type: {boolean} @@ -957,7 +957,7 @@ Set to `true` if the `QuicSession` was closed due to an idle timeout. #### `quicsession.keyUpdateCount` * Type: {number} @@ -966,7 +966,7 @@ The number of key update operations that have occurred. #### `quicsession.latestRTT` * Type: {number} @@ -975,7 +975,7 @@ The most recently recorded RTT for this `QuicSession`. #### `quicsession.lossRetransmitCount` * Type: {number} @@ -985,7 +985,7 @@ this `QuicSession`. #### `quicsession.maxDataLeft` * Type: {number} @@ -995,7 +995,7 @@ send to the connected peer. #### `quicsession.maxInFlightBytes` * Type: {number} @@ -1004,7 +1004,7 @@ The maximum number of in-flight bytes recorded for this `QuicSession`. #### `quicsession.maxStreams` * Type: {Object} @@ -1018,7 +1018,7 @@ of the `QuicSession` as the connected peer allows new streams to be created. #### `quicsession.minRTT` * Type: {number} @@ -1027,7 +1027,7 @@ The minimum RTT recorded so far for this `QuicSession`. #### `quicsession.openStream([options])` * `options` {Object} * `halfOpen` {boolean} Set to `true` to open a unidirectional stream, `false` @@ -1048,7 +1048,7 @@ from opening a new stream. #### `quicsession.ping()` The `ping()` method will trigger the underlying QUIC connection to serialize @@ -1061,7 +1061,7 @@ of the `ping()` operation. #### `quicsession.peerInitiatedStreamCount` * Type: {number} @@ -1070,7 +1070,7 @@ The total number of `QuicStreams` initiated by the connected peer. #### `quicsession.qlog` * Type: {stream.Readable} @@ -1083,7 +1083,7 @@ is emitted. #### `quicsession.remoteAddress` * Type: {Object} @@ -1096,7 +1096,7 @@ An object containing the remote address information for the connected peer. #### `quicsession.selfInitiatedStreamCount` * Type: {number} @@ -1105,7 +1105,7 @@ The total number of `QuicStream` instances initiated by this `QuicSession`. #### `quicsession.servername` * Type: {string} @@ -1114,7 +1114,7 @@ The SNI servername requested for this session by the client. #### `quicsession.smoothedRTT` * Type: {number} @@ -1123,7 +1123,7 @@ The modified RTT calculated for this `QuicSession`. #### `quicsession.socket` * Type: {QuicSocket} @@ -1132,7 +1132,7 @@ The `QuicSocket` the `QuicSession` is associated with. #### `quicsession.statelessReset` * Type: {boolean} @@ -1141,7 +1141,7 @@ True if the `QuicSession` was closed due to QUIC stateless reset. #### `quicsession.uniStreamCount` * Type: {number} @@ -1150,7 +1150,7 @@ The total number of unidirectional streams created on this `QuicSession`. #### `quicsession.updateKey()` * Returns: {boolean} `true` if the key update operation is successfully @@ -1163,7 +1163,7 @@ is equal to `true`. #### `quicsession.usingEarlyData` * Type: {boolean} @@ -1175,7 +1175,7 @@ accepted by the server. ### Class: `QuicClientSession extends QuicSession` * Extends: {QuicSession} @@ -1185,7 +1185,7 @@ Instances are created using the `quicsocket.connect()` method. #### Event: `'sessionTicket'` The `'sessionTicket'` event is emitted when a new TLS session ticket has been @@ -1203,7 +1203,7 @@ The `'sessionTicket'` event may be emitted multiple times. #### Event: `'qlog'` The `'qlog'` event is emitted when the `QuicClientSession` is ready to begin @@ -1214,7 +1214,7 @@ providing `qlog` event data. The callback is invoked with a single argument: #### Event: `'usePreferredAddress'` The `'usePreferredAddress'` event is emitted when the client `QuicSession` @@ -1233,7 +1233,7 @@ The `'usePreferredAddress'` event will not be emitted more than once. #### `quicclientsession.ephemeralKeyInfo` * Type: {Object} @@ -1248,7 +1248,7 @@ For example: `{ type: 'ECDH', name: 'prime256v1', size: 256 }`. #### `quicclientsession.setSocket(socket[, natRebinding])` * `socket` {QuicSocket} A `QuicSocket` instance to move this session to. @@ -1264,7 +1264,7 @@ to attempting the migration. ### Class: `QuicServerSession extends QuicSession` * Extends: {QuicSession} @@ -1275,7 +1275,7 @@ Instances are created internally and are emitted using the `QuicSocket` ### Class: `QuicSocket` New instances of `QuicSocket` are created using the `net.createQuicSocket()` @@ -1283,7 +1283,7 @@ method, and can be used as both a client and a server. #### Event: `'busy'` Emitted when the server busy state has been toggled using @@ -1311,7 +1311,7 @@ This `'busy'` event may be emitted multiple times. #### Event: `'close'` Emitted after the `QuicSocket` has been destroyed and is no longer usable. @@ -1320,7 +1320,7 @@ The `'close'` event will only ever be emitted once. #### Event: `'endpointClose'` Emitted after a `QuicEndpoint` associated with the `QuicSocket` closes and @@ -1335,7 +1335,7 @@ closed, the `QuicEndpoint` will also automatically close. #### Event: `'error'` Emitted before the `'close'` event if the `QuicSocket` was destroyed with an @@ -1345,7 +1345,7 @@ The `'error'` event will only ever be emitted once. #### Event: `'listening'` Emitted after `quicsocket.listen()` is called and the `QuicSocket` has started @@ -1356,7 +1356,7 @@ The `'listening'` event will only ever be emitted once. #### Event: `'ready'` Emitted once the `QuicSocket` has been bound to a local UDP port. @@ -1365,7 +1365,7 @@ The `'ready'` event will only ever be emitted once. #### Event: `'session'` Emitted when a new `QuicServerSession` has been created. The callback is @@ -1395,7 +1395,7 @@ automatically and emitting a `'sessionError'` event on the `QuicSocket`. #### Event: `'sessionError'` Emitted when an error occurs processing an event related to a specific @@ -1425,7 +1425,7 @@ server.on('sessionError', (error, session) => { #### `quicsocket.addEndpoint(options)` * `options`: {Object} An object describing the local address to bind to. @@ -1447,7 +1447,7 @@ the `QuicSocket` has been destroyed. #### `quicsocket.blockList` * Type: {net.BlockList} @@ -1465,7 +1465,7 @@ connection attempt will be rejected. #### `quicsocket.bound` * Type: {boolean} @@ -1482,7 +1482,7 @@ Read-only. #### `quicsocket.boundDuration` * Type: {number} @@ -1493,7 +1493,7 @@ Read-only. #### `quicsocket.bytesReceived` * Type: {number} @@ -1504,7 +1504,7 @@ Read-only. #### `quicsocket.bytesSent` * Type: {number} @@ -1515,7 +1515,7 @@ Read-only. #### `quicsocket.clientSessions` * Type: {number} @@ -1527,7 +1527,7 @@ Read-only. #### `quicsocket.close()` * Returns: {Promise} @@ -1539,7 +1539,7 @@ the `QuicSocket` is destroyed. #### `quicsocket.connect([options])` * `options` {Object} @@ -1671,7 +1671,7 @@ Returns a `Promise` that resolves a new `QuicClientSession`. #### `quicsocket.destroy([error])` * `error` {any} @@ -1681,7 +1681,7 @@ event will be emitted after `'close'` if the `error` is not `undefined`. #### `quicsocket.destroyed` * Type: {boolean} @@ -1692,7 +1692,7 @@ Read-only. #### `quicsocket.duration` * Type: {number} @@ -1703,7 +1703,7 @@ Read-only. #### `quicsocket.endpoints` * Type: {QuicEndpoint[]} @@ -1714,7 +1714,7 @@ Read-only. #### `quicsocket.listen([options])` * `options` {Object} @@ -1837,7 +1837,7 @@ once the `QuicSocket` is actively listening. #### `quicsocket.listenDuration` * Type: {number} @@ -1848,7 +1848,7 @@ Read-only #### `quicsocket.listening` * Type: {boolean} @@ -1859,7 +1859,7 @@ Read-only. #### `quicsocket.packetsIgnored` * Type: {number} @@ -1870,7 +1870,7 @@ Read-only. #### `quicsocket.packetsReceived` * Type: {number} @@ -1881,7 +1881,7 @@ Read-only #### `quicsocket.packetsSent` * Type: {number} @@ -1892,7 +1892,7 @@ Read-only #### `quicsocket.pending` * Type: {boolean} @@ -1903,12 +1903,12 @@ Read-only. #### `quicsocket.ref()` #### `quicsocket.serverBusy` * Type: {boolean} When `true`, the `QuicSocket` will reject new connections. @@ -1920,7 +1920,7 @@ error code. To begin receiving connections again, disable busy mode by setting #### `quicsocket.serverBusyCount` * Type: {number} @@ -1931,7 +1931,7 @@ Read-only. #### `quicsocket.serverSessions` * Type: {number} @@ -1943,7 +1943,7 @@ Read-only. #### `quicsocket.setDiagnosticPacketLoss(options)` * `options` {Object} @@ -1960,7 +1960,7 @@ This method is *not* to be used in production applications. #### `quicsocket.statelessReset` * Type: {boolean} `true` if stateless reset processing is enabled; `false` @@ -1974,7 +1974,7 @@ off dynamically through the lifetime of the `QuicSocket`. #### `quicsocket.statelessResetCount` * Type: {number} @@ -1985,19 +1985,19 @@ Read-only. #### `quicsocket.unref();` ### Class: `QuicStream extends stream.Duplex` * Extends: {stream.Duplex} #### Event: `'blocked'` Emitted when the `QuicStream` has been prevented from sending queued data for @@ -2005,7 +2005,7 @@ the `QuicStream` due to congestion control. #### Event: `'close'` Emitted when the `QuicStream` has is completely closed and the underlying @@ -2013,22 +2013,22 @@ resources have been freed. #### Event: `'data'` #### Event: `'end'` #### Event: `'error'` #### Event: `'informationalHeaders'` Emitted when the `QuicStream` has received a block of informational headers. @@ -2048,7 +2048,7 @@ stream('informationalHeaders', (headers) => { #### Event: `'initialHeaders'` Emitted when the `QuicStream` has received a block of initial headers. @@ -2070,7 +2070,7 @@ stream('initialHeaders', (headers) => { #### Event: `'trailingHeaders'` Emitted when the `QuicStream` has received a block of trailing headers. @@ -2092,12 +2092,12 @@ stream('trailingHeaders', (headers) => { #### Event: `'readable'` #### `quicstream.bidirectional` * Type: {boolean} @@ -2109,7 +2109,7 @@ Read-only. #### `quicstream.bytesReceived` * Type: {number} @@ -2120,7 +2120,7 @@ Read-only. #### `quicstream.bytesSent` * Type: {number} @@ -2131,7 +2131,7 @@ Read-only. #### `quicstream.clientInitiated` * Type: {boolean} @@ -2143,7 +2143,7 @@ Read-only. #### `quicstream.close()` * Returns: {Promise} @@ -2153,27 +2153,27 @@ Returns a `Promise` that is resolved once the `QuicStream` has been destroyed. #### `quicstream.dataAckHistogram` TBD #### `quicstream.dataRateHistogram` TBD #### `quicstream.dataSizeHistogram` TBD #### `quicstream.duration` * Type: {number} @@ -2184,7 +2184,7 @@ Read-only. #### `quicstream.finalSize` * Type: {number} @@ -2195,7 +2195,7 @@ Read-only. #### `quicstream.id` * Type: {number} @@ -2206,7 +2206,7 @@ Read-only. #### `quicstream.maxAcknowledgedOffset` * Type: {number} @@ -2217,7 +2217,7 @@ Read-only. #### `quicstream.maxExtendedOffset` * Type: {number} @@ -2228,7 +2228,7 @@ Read-only. #### `quicstream.maxReceivedOffset` * Type: {number} @@ -2239,7 +2239,7 @@ Read-only. #### `quicstream.pushStream(headers[, options])` * `headers` {Object} An object representing a block of headers to be @@ -2265,7 +2265,7 @@ error will be thrown. #### `quicstream.serverInitiated` * Type: {boolean} @@ -2277,7 +2277,7 @@ Read-only. #### `quicstream.session` * Type: {QuicSession} @@ -2289,7 +2289,7 @@ Read-only. #### `quicstream.sendFD(fd[, options])` * `fd` {number|FileHandle} A readable file descriptor. @@ -2315,7 +2315,7 @@ after a stream has finished is supported. #### `quicstream.sendFile(path[, options])` * `path` {string|Buffer|URL} @@ -2337,7 +2337,7 @@ bytes that are read from the file. #### `quicstream.submitInformationalHeaders(headers)` * `headers` {Object} @@ -2345,7 +2345,7 @@ TBD #### `quicstream.submitInitialHeaders(headers)` * `headers` {Object} @@ -2353,7 +2353,7 @@ TBD #### `quicstream.submitTrailingHeaders(headers)` * `headers` {Object} @@ -2361,7 +2361,7 @@ TBD #### `quicstream.unidirectional` * Type: {boolean} diff --git a/doc/api/stream.md b/doc/api/stream.md index 20c7b0db6a43f5..fd70a662ac251a 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -423,7 +423,7 @@ Is `true` after [`writable.destroy()`][writable-destroy] has been called. @@ -423,7 +423,7 @@ Invalid URL protocol values assigned to the `protocol` property are ignored. ##### Special schemes diff --git a/doc/api/webcrypto.md b/doc/api/webcrypto.md index 9a067ceabec51a..ce9999a744f78e 100644 --- a/doc/api/webcrypto.md +++ b/doc/api/webcrypto.md @@ -1,6 +1,6 @@ # Web Crypto API - + > Stability: 1 - Experimental @@ -310,7 +310,7 @@ implementation and the APIs supported for each: ## Class: `Crypto` Calling `require('crypto').webcrypto` returns an instance of the `Crypto` class. @@ -318,7 +318,7 @@ Calling `require('crypto').webcrypto` returns an instance of the `Crypto` class. ### `crypto.subtle` * Type: {SubtleCrypto} @@ -327,7 +327,7 @@ Provides access to the `SubtleCrypto` API. ### `crypto.getRandomValues(typedArray)` * `typedArray` {Buffer|TypedArray|DataView|ArrayBuffer} @@ -340,12 +340,12 @@ An error will be thrown if the given `typedArray` is larger than 65,536 bytes. ## Class: `CryptoKey` ### `cryptoKey.algorithm` @@ -359,7 +359,7 @@ Read-only. ### `cryptoKey.extractable` * Type: {boolean} @@ -371,7 +371,7 @@ Read-only. ### `cryptoKey.type` * Type: {string} One of `'secret'`, `'private'`, or `'public'`. @@ -381,7 +381,7 @@ asymmetric (`'private'` or `'public'`) key. ### `cryptoKey.usages` * Type: {string[]} @@ -425,7 +425,7 @@ Valid key usages depend on the key algorithm (identified by ## Class: `CryptoKeyPair` The `CryptoKeyPair` is a simple dictionary object with `publicKey` and @@ -433,26 +433,26 @@ The `CryptoKeyPair` is a simple dictionary object with `publicKey` and ### `cryptoKeyPair.privateKey` * Type: {CryptoKey} A {CryptoKey} whose `type` will be `'private'`. ### `cryptoKeyPair.publicKey` * Type: {CryptoKey} A {CryptoKey} whose `type` will be `'public'`. ## Class: `SubtleCrypto` ### `subtle.decrypt(algorithm, key, data)` * `algorithm`: {RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams} @@ -474,7 +474,7 @@ The algorithms currently supported include: ### `subtle.deriveBits(algorithm, baseKey, length)` @@ -502,7 +502,7 @@ The algorithms currently supported include: ### `subtle.deriveKey(algorithm, baseKey, derivedKeyAlgorithm, extractable, keyUsages)` @@ -535,7 +535,7 @@ The algorithms currently supported include: ### `subtle.digest(algorithm, data)` * `algorithm`: {string|Object} @@ -558,7 +558,7 @@ whose value is one of the above. ### `subtle.encrypt(algorithm, key, data)` * `algorithm`: {RsaOaepParams|AesCtrParams|AesCbcParams|AesGcmParams} @@ -579,7 +579,7 @@ The algorithms currently supported include: ### `subtle.exportKey(format, key)` * `format`: {string} Must be one of `'raw'`, `'pkcs8'`, `'spki'`, `'jwk'`, or @@ -625,7 +625,7 @@ extension that allows converting a {CryptoKey} into a Node.js {KeyObject}. ### `subtle.generateKey(algorithm, extractable, keyUsages)` @@ -662,7 +662,7 @@ The {CryptoKey} (secret key) generating algorithms supported include: ### `subtle.importKey(format, keyData, algorithm, extractable, keyUsages)` * `format`: {string} Must be one of `'raw'`, `'pkcs8'`, `'spki'`, `'jwk'`, or @@ -709,7 +709,7 @@ The algorithms currently supported include: ### `subtle.sign(algorithm, key, data)` @@ -736,7 +736,7 @@ The algorithms currently supported include: ### `subtle.unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgo, unwrappedKeyAlgo, extractable, keyUsages)` * `format`: {string} Must be one of `'raw'`, `'pkcs8'`, `'spki'`, or `'jwk'`. @@ -786,7 +786,7 @@ The unwrapped key algorithms supported include: ### `subtle.verify(algorithm, key, signature, data)` @@ -814,7 +814,7 @@ The algorithms currently supported include: ### `subtle.wrapKey(format, key, wrappingKey, wrapAlgo)` * `format`: {string} Must be one of `'raw'`, `'pkcs8'`, `'spki'`, or `'jwk'`. @@ -849,12 +849,12 @@ are simple JavaScript dictionary objects. ### Class: `AesCbcParams` #### `aesCbcParams.iv` * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -864,19 +864,19 @@ and should be unpredictable and cryptographically random. #### `aesCbcParams.name` * Type: {string} Must be `'AES-CBC'`. ### Class: `AesCtrParams` #### `aesCtrParams.counter` * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -888,7 +888,7 @@ counter and the remaining bits as the nonce. #### `aesCtrParams.length` * Type: {number} The number of bits in the `aesCtrParams.counter` that are @@ -896,19 +896,19 @@ added: REPLACEME #### `aesCtrParams.name` * Type: {string} Must be `'AES-CTR'`. ### Class: `AesGcmParams` #### `aesGcmParams.additionalData` * Type: {ArrayBuffer|TypedArray|DataView|Buffer|undefined} @@ -919,7 +919,7 @@ encrypted but is included in the authentication of the data. The use of #### `aesGcmParams.iv` * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -930,14 +930,14 @@ this contain at least 12 random bytes. #### `aesGcmParams.name` * Type: {string} Must be `'AES-GCM'`. #### `aesGcmParams.tagLength` * Type: {number} The size in bits of the generated authentication tag. @@ -946,12 +946,12 @@ added: REPLACEME ### Class: `AesImportParams` #### 'aesImportParams.name` * Type: {string} Must be one of `'AES-CTR'`, `'AES-CBC'`, `'AES-GCM'`, or @@ -959,12 +959,12 @@ added: REPLACEME ### Class: `AesKeyGenParams` #### `aesKeyGenParams.length` * Type: {number} @@ -974,7 +974,7 @@ or `256`. #### `aesKeyGenParams.name` * Type: {string} Must be one of `'AES-CBC'`, `'AES-CTR'`, `'AES-GCM'`, or @@ -982,31 +982,31 @@ added: REPLACEME ### Class: `AesKwParams` #### `aesKwParams.name` * Type: {string} Must be `'AES-KW'`. ### Class: `EcdhKeyDeriveParams` #### `ecdhKeyDeriveParams.name` * Type: {string} Must be `'ECDH'`. #### `ecdhKeyDeriveParams.public` * Type: {CryptoKey} @@ -1018,12 +1018,12 @@ key. ### Class: `EcdsaParams` #### `ecdsaParams.hash` * Type: {string|Object} @@ -1040,57 +1040,57 @@ whose value is one of the above listed values. #### `ecdsaParams.name` * Type: {string} Must be `'ECDSA'`. ### Class: `EcKeyGenParams` #### `ecKeyGenParams.name` * Type: {string} Must be one of `'ECDSA'` or `'ECDH'`. #### `ecKeyGenParams.namedCurve` * Type: {string} Must be one of `'P-256'`, `'P-384'` or `'P-521'`. ### Class: `EcKeyImportParams` #### `ecKeyImportParams.name` * Type: {string} Must be one of `'ECDSA'` or `'ECDH'`. #### `ecKeyImportParams.namedCurve` * Type: {string} Must be one of `'P-256'`, `'P-384'` or `'P-521'`. ### Class: `HkdfParams` #### `hkdfParams.hash` * Type: {string|Object} @@ -1107,7 +1107,7 @@ whose value is one of the above listed values. #### `hkdfParams.info` * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -1117,14 +1117,14 @@ This can be zero-length but must be provided. #### `hkdfParams.name` * Type: {string} Must be `'HKDF'`. #### `hkdfParams.salt` * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -1136,12 +1136,12 @@ digest, the salt should be 256-bits of random data). ### Class: `HmacImportParams` #### 'hmacImportParams.hash` * Type: {string|Object} @@ -1158,7 +1158,7 @@ whose value is one of the above listed values. #### `hmacImportParams.length` * Type: {number} @@ -1168,19 +1168,19 @@ be omitted for most cases. #### `hmacImportParams.name` * Type: {string} Must be `'HMAC'`. ### Class: `HmacKeyGenParams` #### `hmacKeyGenParams.hash` * Type: {string|Object} @@ -1197,7 +1197,7 @@ whose value is one of the above listed values. #### `hmacKeyGenParams.length` * Type: {number} @@ -1208,43 +1208,43 @@ This is optional and should be omitted for most cases. #### `hmacKeyGenParams.name` * Type: {string} Must be `'HMAC'`. ### Class: `HmacParams` #### `hmacParams.name` * Type: {string} Must be `'HMAC`. ### Class: `Pbkdf2ImportParams` #### `pbkdf2ImportParams.name` * Type: {string} Must be `'PBKDF2'` ### Class: `Pbkdf2Params` #### `pbkdb2Params.hash` * Type: {string|Object} @@ -1261,7 +1261,7 @@ whose value is one of the above listed values. #### `pbkdf2Params.iterations` * Type: {number} @@ -1270,14 +1270,14 @@ The number of iterations the PBKDF2 algorithm should make when deriving bits. #### `pbkdf2Params.name` * Type: {string} Must be `'PBKDF2'`. #### `pbkdf2Params.salt` * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -1286,12 +1286,12 @@ Should be at least 16 random or pseudo-random bytes. ### Class: `RsaHashedImportParams` #### `rsaHashedImportParams.hash` * Type: {string|Object} @@ -1308,7 +1308,7 @@ whose value is one of the above listed values. #### `rsaHashedImportParams.name` * Type: {string} Must be one of `'RSASSA-PKCS1-v1_5'`, `'RSA-PSS'`, or @@ -1316,12 +1316,12 @@ added: REPLACEME ### Class: `RsaHashedKeyGenParams` #### `rsaHashedKeyGenParams.hash` * Type: {string|Object} @@ -1338,7 +1338,7 @@ whose value is one of the above listed values. #### `rsaHashedKeyGenParams.modulusLength` * Type: {number} @@ -1348,7 +1348,7 @@ at least `2048`. #### `rsaHashedKeyGenParams.name` * Type: {string} Must be one of `'RSASSA-PKCS1-v1_5'`, `'RSA-PSS'`, or @@ -1356,7 +1356,7 @@ added: REPLACEME #### `rsaHashedKeyGenParams.publicExponent` * Type: {Uint8Array} @@ -1369,12 +1369,12 @@ there is reason to use a different value, use `new Uint8Array([1, 0, 1])` ### Class: `RsaOaepParams` #### rsaOaepParams.label * Type: {ArrayBuffer|TypedArray|DataView|Buffer} @@ -1386,26 +1386,26 @@ The `rsaOaepParams.label` parameter is optional. #### rsaOaepParams.name * Type: {string} must be `'RSA-OAEP'`. ### Class: `RsaPssParams` #### `rsaPssParams.name` * Type: {string} Must be `'RSA-PSS'`. #### `rsaPssParams.saltLength` * Type: {number} @@ -1414,12 +1414,12 @@ The length (in bytes) of the random salt to use. ### Class: `RsaSignParams` #### `rsaSignParams.name` * Type: {string} Must be `'RSASSA-PKCS1-v1_5'` @@ -1438,7 +1438,7 @@ of code to other environments. ### `NODE-DH` Algorithm The `NODE-DH` algorithm is the common implementation of Diffie-Hellman @@ -1446,64 +1446,64 @@ key agreement. #### Class: `NodeDhImportParams` ##### `nodeDhImportParams.name` * Type: {string} Must be `'NODE-DH'`. #### Class: NodeDhKeyGenParams` ##### `nodeDhKeyGenParams.generator` * Type: {number} A custom generator. ##### `nodeDhKeyGenParams.group` * Type: {string} The Diffie-Hellman group name. ##### `nodeDhKeyGenParams.prime` * Type: {Buffer} The prime parameter. ##### `nodeDhKeyGenParams.primeLength` * Type: {number} The length in bits of the prime. #### Class: NodeDhDeriveBitsParams ##### `nodeDhDeriveBitsParams.public` * Type: {CryptoKey} The other parties public key. ### `NODE-DSA` Algorithm The `NODE-DSA` algorithm is the common implementation of the DSA digital @@ -1511,12 +1511,12 @@ signature algorithm. #### Class: `NodeDsaImportParams` ##### `nodeDsaImportParams.hash` * Type: {string|Object} @@ -1533,19 +1533,19 @@ whose value is one of the above listed values. ##### `nodeDsaImportParams.name` * Type: {string} Must be `'NODE-DSA'`. #### Class: `NodeDsaKeyGenParams` ##### `nodeDsaKeyGenParams.divisorLength` * Type: {number} @@ -1554,7 +1554,7 @@ The optional length in bits of the DSA divisor. ##### `nodeDsaKeyGenParams.hash` * Type: {string|Object} @@ -1571,7 +1571,7 @@ whose value is one of the above listed values. ##### `nodeDsaKeyGenParams.modulusLength` * Type: {number} @@ -1581,26 +1581,26 @@ at least `2048`. ##### `nodeDsaKeyGenParams.name` * Type: {string} Must be `'NODE-DSA'`. #### Class: `NodeDsaSignParams` ##### `nodeDsaSignParams.name` * Type: {string} Must be `'NODE-DSA'` ### `NODE-SCRYPT` Algorithm The `NODE-SCRYPT` algorithm is the common implementation of the scrypt key @@ -1608,31 +1608,31 @@ derivation algorithm. #### Class: `NodeScryptImportParams` ##### `nodeScryptImportParams.name` * Type: {string} Must be `'NODE-SCRYPT'`. #### Class: `NodeScryptParams` ##### `nodeScryptParams.encoding` * Type: {string} The string encoding when `salt` is a string. ##### `nodeScryptParams.maxmem` * Type: {number} Memory upper bound. It is an error when (approximately) @@ -1640,7 +1640,7 @@ added: REPLACEME ##### `nodeScryptParams.N` * Type: {number} The CPU/memory cost parameter. Must e a power of two @@ -1648,21 +1648,21 @@ added: REPLACEME ##### `nodeScryptParams.p` * Type: {number} Parallelization parameter. **Default** `1`. ##### `nodeScryptParams.r` * Type: {number} Block size parameter. **Default**: `8`. ##### `nodeScryptParams.salt` * Type: {string|ArrayBuffer|Buffer|TypedArray|DataView} diff --git a/doc/changelogs/CHANGELOG_IOJS.md b/doc/changelogs/CHANGELOG_IOJS.md index 540e244f1139a9..cb6832ab574e1b 100644 --- a/doc/changelogs/CHANGELOG_IOJS.md +++ b/doc/changelogs/CHANGELOG_IOJS.md @@ -64,6 +64,7 @@
* Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V010.md b/doc/changelogs/CHANGELOG_V010.md index d4b579e6b5b88b..50ad492c21bd06 100644 --- a/doc/changelogs/CHANGELOG_V010.md +++ b/doc/changelogs/CHANGELOG_V010.md @@ -66,6 +66,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V012.md b/doc/changelogs/CHANGELOG_V012.md index d0485ffc58f652..d518019b97db57 100644 --- a/doc/changelogs/CHANGELOG_V012.md +++ b/doc/changelogs/CHANGELOG_V012.md @@ -34,6 +34,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V10.md b/doc/changelogs/CHANGELOG_V10.md index 7bd6ce7fe71949..a649fe55b575bd 100644 --- a/doc/changelogs/CHANGELOG_V10.md +++ b/doc/changelogs/CHANGELOG_V10.md @@ -54,6 +54,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V11.md b/doc/changelogs/CHANGELOG_V11.md index be1cd8102e74a5..8264af62cf2e0c 100644 --- a/doc/changelogs/CHANGELOG_V11.md +++ b/doc/changelogs/CHANGELOG_V11.md @@ -32,6 +32,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index 51d3c4ab50e7de..ee9d5c9715f5bd 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -51,6 +51,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [11.x](CHANGELOG_V11.md) diff --git a/doc/changelogs/CHANGELOG_V13.md b/doc/changelogs/CHANGELOG_V13.md index a20395c97300ac..c26fd235d48f68 100644 --- a/doc/changelogs/CHANGELOG_V13.md +++ b/doc/changelogs/CHANGELOG_V13.md @@ -32,6 +32,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [12.x](CHANGELOG_V12.md) * [11.x](CHANGELOG_V11.md) diff --git a/doc/changelogs/CHANGELOG_V14.md b/doc/changelogs/CHANGELOG_V14.md index b01680c3801114..bc76441cbd554b 100644 --- a/doc/changelogs/CHANGELOG_V14.md +++ b/doc/changelogs/CHANGELOG_V14.md @@ -31,6 +31,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) * [11.x](CHANGELOG_V11.md) diff --git a/doc/changelogs/CHANGELOG_V15.md b/doc/changelogs/CHANGELOG_V15.md new file mode 100644 index 00000000000000..a37dfd400e695d --- /dev/null +++ b/doc/changelogs/CHANGELOG_V15.md @@ -0,0 +1,456 @@ +# Node.js 15 ChangeLog + + + + + + + + + + + + +
Current
+15.0.0
+
+ +* Other Versions + * [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) + + +## 2020-10-20, Version 15.0.0 (Current), @BethGriggs + +### Notable Changes + +#### Deprecations and Removals + +* [[`a11788736a`](https://github.com/nodejs/node/commit/a11788736a)] - **(SEMVER-MAJOR)** **build**: remove --build-v8-with-gn configure option (Yang Guo) [#27576](https://github.com/nodejs/node/pull/27576) +* [[`89428c7a2d`](https://github.com/nodejs/node/commit/89428c7a2d)] - **(SEMVER-MAJOR)** **build**: drop support for VS2017 (Michaël Zasso) [#33694](https://github.com/nodejs/node/pull/33694) +* [[`c25cf34ac1`](https://github.com/nodejs/node/commit/c25cf34ac1)] - **(SEMVER-MAJOR)** **doc**: move DEP0018 to End-of-Life (Rich Trott) [#35316](https://github.com/nodejs/node/pull/35316) +* [[`2002d90abd`](https://github.com/nodejs/node/commit/2002d90abd)] - **(SEMVER-MAJOR)** **fs**: deprecation warning on recursive rmdir (Ian Sutherland) [#35562](https://github.com/nodejs/node/pull/35562) +* [[`eee522ac29`](https://github.com/nodejs/node/commit/eee522ac29)] - **(SEMVER-MAJOR)** **lib**: add EventTarget-related browser globals (Anna Henningsen) [#35496](https://github.com/nodejs/node/pull/35496) +* [[`41796ebd30`](https://github.com/nodejs/node/commit/41796ebd30)] - **(SEMVER-MAJOR)** **net**: remove long deprecated server.connections property (James M Snell) [#33647](https://github.com/nodejs/node/pull/33647) +* [[`a416692e93`](https://github.com/nodejs/node/commit/a416692e93)] - **(SEMVER-MAJOR)** **repl**: remove deprecated repl.memory function (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`f217b2dfb0`](https://github.com/nodejs/node/commit/f217b2dfb0)] - **(SEMVER-MAJOR)** **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`a1bcad8dc0`](https://github.com/nodejs/node/commit/a1bcad8dc0)] - **(SEMVER-MAJOR)** **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`4ace010b53`](https://github.com/nodejs/node/commit/4ace010b53)] - **(SEMVER-MAJOR)** **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`37524307fe`](https://github.com/nodejs/node/commit/37524307fe)] - **(SEMVER-MAJOR)** **repl**: remove deprecated .rli (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`a85ce885bd`](https://github.com/nodejs/node/commit/a85ce885bd)] - **(SEMVER-MAJOR)** **src**: remove deprecated node debug command (James M Snell) [#33648](https://github.com/nodejs/node/pull/33648) +* [[`a8904e8eee`](https://github.com/nodejs/node/commit/a8904e8eee)] - **(SEMVER-MAJOR)** **timers**: introduce timers/promises (James M Snell) [#33950](https://github.com/nodejs/node/pull/33950) +* [[`1211b9a72f`](https://github.com/nodejs/node/commit/1211b9a72f)] - **(SEMVER-MAJOR)** **util**: change default value of `maxStringLength` to 10000 (unknown) [#32744](https://github.com/nodejs/node/pull/32744) +* [[`ca8f3ef2e5`](https://github.com/nodejs/node/commit/ca8f3ef2e5)] - **(SEMVER-MAJOR)** **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) [#35415](https://github.com/nodejs/node/pull/35415) + +#### npm 7 - [#35631](https://github.com/nodejs/node/pull/35631) + +Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default. + +#### Throw On Unhandled Rejections - [#33021](https://github.com/nodejs/node/pull/33021) + +As of Node.js 15, the default mode for `unhandledRejection` is changed to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection` hook is not set, the `unhandledRejection` is raised as an uncaught exception. Users that have an `unhandledRejection` hook should see no change in behavior, and it’s still possible to switch modes using the `--unhandled-rejections=mode` process flag. + +#### QUIC - [#32379](https://github.com/nodejs/node/pull/32379) + +Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the `--experimental-quic` configuration flag. The Node.js QUIC implementation is exposed by the core `net` module. + +#### V8 8.6 - [#35415](https://github.com/nodejs/node/pull/35415) + +The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features: +* `Promise.any()` (from V8 8.5) +* `AggregateError` (from V8 8.5) +* `String.prototype.replaceAll()` (from V8 8.5) +* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5) + +#### Other Notable Changes + +* [[`50228cf6ff`](https://github.com/nodejs/node/commit/50228cf6ff)] - **(SEMVER-MAJOR)** **assert**: add `assert/strict` alias module (ExE Boss) [#34001](https://github.com/nodejs/node/pull/34001) +* [[`039cd00a9a`](https://github.com/nodejs/node/commit/039cd00a9a)] - **(SEMVER-MAJOR)** **dns**: add dns/promises alias (shisama) [#32953](https://github.com/nodejs/node/pull/32953) +* [[`54b36e401d`](https://github.com/nodejs/node/commit/54b36e401d)] - **(SEMVER-MAJOR)** **fs**: reimplement read and write streams using stream.construct (Robert Nagy) [#29656](https://github.com/nodejs/node/pull/29656) +* [[`f5c0e282cc`](https://github.com/nodejs/node/commit/f5c0e282cc)] - **(SEMVER-MAJOR)** **http2**: allow Host in HTTP/2 requests (Alba Mendez) [#34664](https://github.com/nodejs/node/pull/34664) +* [[`eee522ac29`](https://github.com/nodejs/node/commit/eee522ac29)] - **(SEMVER-MAJOR)** **lib**: add EventTarget-related browser globals (Anna Henningsen) [#35496](https://github.com/nodejs/node/pull/35496) +* [[`a8b26d72c5`](https://github.com/nodejs/node/commit/a8b26d72c5)] - **(SEMVER-MAJOR)** **lib**: unflag AbortController (James M Snell) [#33527](https://github.com/nodejs/node/pull/33527) +* [[`74ca960aac`](https://github.com/nodejs/node/commit/74ca960aac)] - **(SEMVER-MAJOR)** **lib**: initial experimental AbortController implementation (James M Snell) [#33527](https://github.com/nodejs/node/pull/33527) +* [[`efefdd668d`](https://github.com/nodejs/node/commit/efefdd668d)] - **(SEMVER-MAJOR)** **net**: autoDestroy Socket (Robert Nagy) [#31806](https://github.com/nodejs/node/pull/31806) +* [[`0fb91acedf`](https://github.com/nodejs/node/commit/0fb91acedf)] - **(SEMVER-MAJOR)** **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) [#33874](https://github.com/nodejs/node/pull/33874) +* [[`21782277c2`](https://github.com/nodejs/node/commit/21782277c2)] - **(SEMVER-MAJOR)** **src**: use node:moduleName as builtin module filename (Michaël Zasso) [#35498](https://github.com/nodejs/node/pull/35498) +* [[`fb8cc72e73`](https://github.com/nodejs/node/commit/fb8cc72e73)] - **(SEMVER-MAJOR)** **stream**: construct (Robert Nagy) [#29656](https://github.com/nodejs/node/pull/29656) +* [[`705d888387`](https://github.com/nodejs/node/commit/705d888387)] - **(SEMVER-MAJOR)** **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) [#35496](https://github.com/nodejs/node/pull/35496) + +### Semver-Major Commits + +* [[`50228cf6ff`](https://github.com/nodejs/node/commit/50228cf6ff)] - **(SEMVER-MAJOR)** **assert**: add `assert/strict` alias module (ExE Boss) [#34001](https://github.com/nodejs/node/pull/34001) +* [[`d701247165`](https://github.com/nodejs/node/commit/d701247165)] - **(SEMVER-MAJOR)** **build**: reset embedder string to "-node.0" (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`a11788736a`](https://github.com/nodejs/node/commit/a11788736a)] - **(SEMVER-MAJOR)** **build**: remove --build-v8-with-gn configure option (Yang Guo) [#27576](https://github.com/nodejs/node/pull/27576) +* [[`89428c7a2d`](https://github.com/nodejs/node/commit/89428c7a2d)] - **(SEMVER-MAJOR)** **build**: drop support for VS2017 (Michaël Zasso) [#33694](https://github.com/nodejs/node/pull/33694) +* [[`dae283d96f`](https://github.com/nodejs/node/commit/dae283d96f)] - **(SEMVER-MAJOR)** **crypto**: refactoring internals, add WebCrypto (James M Snell) [#35093](https://github.com/nodejs/node/pull/35093) +* [[`ba77dc8597`](https://github.com/nodejs/node/commit/ba77dc8597)] - **(SEMVER-MAJOR)** **crypto**: move node\_crypto files to src/crypto (James M Snell) [#35093](https://github.com/nodejs/node/pull/35093) +* [[`9378070da0`](https://github.com/nodejs/node/commit/9378070da0)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`efee8341ad`](https://github.com/nodejs/node/commit/efee8341ad)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`b006fa8730`](https://github.com/nodejs/node/commit/b006fa8730)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`3c23af4cb7`](https://github.com/nodejs/node/commit/3c23af4cb7)] - **(SEMVER-MAJOR)** **deps**: fix V8 build issue with inline methods (Jiawen Geng) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`b803b3f48b`](https://github.com/nodejs/node/commit/b803b3f48b)] - **(SEMVER-MAJOR)** **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`47cb9f14e8`](https://github.com/nodejs/node/commit/47cb9f14e8)] - **(SEMVER-MAJOR)** **deps**: update V8 postmortem metadata script (Colin Ihrig) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`a1d639ba5d`](https://github.com/nodejs/node/commit/a1d639ba5d)] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.6.395 (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`3ddcad55fb`](https://github.com/nodejs/node/commit/3ddcad55fb)] - **(SEMVER-MAJOR)** **deps**: upgrade npm to 7.0.0 (Myles Borins) [#35631](https://github.com/nodejs/node/pull/35631) +* [[`2e54524955`](https://github.com/nodejs/node/commit/2e54524955)] - **(SEMVER-MAJOR)** **deps**: update npm to 7.0.0-rc.3 (Myles Borins) [#35474](https://github.com/nodejs/node/pull/35474) +* [[`e983b1cece`](https://github.com/nodejs/node/commit/e983b1cece)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan) [#33600](https://github.com/nodejs/node/pull/33600) +* [[`039cd00a9a`](https://github.com/nodejs/node/commit/039cd00a9a)] - **(SEMVER-MAJOR)** **dns**: add dns/promises alias (shisama) [#32953](https://github.com/nodejs/node/pull/32953) +* [[`c25cf34ac1`](https://github.com/nodejs/node/commit/c25cf34ac1)] - **(SEMVER-MAJOR)** **doc**: move DEP0018 to End-of-Life (Rich Trott) [#35316](https://github.com/nodejs/node/pull/35316) +* [[`8bf37ee496`](https://github.com/nodejs/node/commit/8bf37ee496)] - **(SEMVER-MAJOR)** **doc**: update support macos version for 15.x (Ash Cripps) [#35022](https://github.com/nodejs/node/pull/35022) +* [[`2002d90abd`](https://github.com/nodejs/node/commit/2002d90abd)] - **(SEMVER-MAJOR)** **fs**: deprecation warning on recursive rmdir (Ian Sutherland) [#35562](https://github.com/nodejs/node/pull/35562) +* [[`54b36e401d`](https://github.com/nodejs/node/commit/54b36e401d)] - **(SEMVER-MAJOR)** **fs**: reimplement read and write streams using stream.construct (Robert Nagy) [#29656](https://github.com/nodejs/node/pull/29656) +* [[`32b641e528`](https://github.com/nodejs/node/commit/32b641e528)] - **(SEMVER-MAJOR)** **http**: fixed socket.setEncoding fatal error (iskore) [#33405](https://github.com/nodejs/node/pull/33405) +* [[`8a6fab02ad`](https://github.com/nodejs/node/commit/8a6fab02ad)] - **(SEMVER-MAJOR)** **http**: emit 'error' on aborted server request (Robert Nagy) [#33172](https://github.com/nodejs/node/pull/33172) +* [[`d005f490a8`](https://github.com/nodejs/node/commit/d005f490a8)] - **(SEMVER-MAJOR)** **http**: cleanup end argument handling (Robert Nagy) [#31818](https://github.com/nodejs/node/pull/31818) +* [[`f5c0e282cc`](https://github.com/nodejs/node/commit/f5c0e282cc)] - **(SEMVER-MAJOR)** **http2**: allow Host in HTTP/2 requests (Alba Mendez) [#34664](https://github.com/nodejs/node/pull/34664) +* [[`1e4187fcf4`](https://github.com/nodejs/node/commit/1e4187fcf4)] - **(SEMVER-MAJOR)** **http2**: add `invalidheaders` test (Pranshu Srivastava) [#33161](https://github.com/nodejs/node/pull/33161) +* [[`d79c330186`](https://github.com/nodejs/node/commit/d79c330186)] - **(SEMVER-MAJOR)** **http2**: refactor state code validation for the http2Stream class (rickyes) [#33535](https://github.com/nodejs/node/pull/33535) +* [[`df31f71f1e`](https://github.com/nodejs/node/commit/df31f71f1e)] - **(SEMVER-MAJOR)** **http2**: header field valid checks (Pranshu Srivastava) [#33193](https://github.com/nodejs/node/pull/33193) +* [[`1428db8a1f`](https://github.com/nodejs/node/commit/1428db8a1f)] - **(SEMVER-MAJOR)** **lib**: refactor Socket.\_getpeername and Socket.\_getsockname (himself65) [#32969](https://github.com/nodejs/node/pull/32969) +* [[`eee522ac29`](https://github.com/nodejs/node/commit/eee522ac29)] - **(SEMVER-MAJOR)** **lib**: add EventTarget-related browser globals (Anna Henningsen) [#35496](https://github.com/nodejs/node/pull/35496) +* [[`c66e6471e7`](https://github.com/nodejs/node/commit/c66e6471e7)] - **(SEMVER-MAJOR)** **lib**: remove ERR\_INVALID\_OPT\_VALUE and ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko) [#34682](https://github.com/nodejs/node/pull/34682) +* [[`b546a2b469`](https://github.com/nodejs/node/commit/b546a2b469)] - **(SEMVER-MAJOR)** **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys Otrishko) [#34022](https://github.com/nodejs/node/pull/34022) +* [[`a86a295fd7`](https://github.com/nodejs/node/commit/a86a295fd7)] - **(SEMVER-MAJOR)** **lib**: remove NodeError from the prototype of errors with code (Michaël Zasso) [#33857](https://github.com/nodejs/node/pull/33857) +* [[`a8b26d72c5`](https://github.com/nodejs/node/commit/a8b26d72c5)] - **(SEMVER-MAJOR)** **lib**: unflag AbortController (James M Snell) [#33527](https://github.com/nodejs/node/pull/33527) +* [[`74ca960aac`](https://github.com/nodejs/node/commit/74ca960aac)] - **(SEMVER-MAJOR)** **lib**: initial experimental AbortController implementation (James M Snell) [#33527](https://github.com/nodejs/node/pull/33527) +* [[`78ca61e2cf`](https://github.com/nodejs/node/commit/78ca61e2cf)] - **(SEMVER-MAJOR)** **net**: check args in net.connect() and socket.connect() calls (Denys Otrishko) [#34022](https://github.com/nodejs/node/pull/34022) +* [[`41796ebd30`](https://github.com/nodejs/node/commit/41796ebd30)] - **(SEMVER-MAJOR)** **net**: remove long deprecated server.connections property (James M Snell) [#33647](https://github.com/nodejs/node/pull/33647) +* [[`efefdd668d`](https://github.com/nodejs/node/commit/efefdd668d)] - **(SEMVER-MAJOR)** **net**: autoDestroy Socket (Robert Nagy) [#31806](https://github.com/nodejs/node/pull/31806) +* [[`6cfba9f7f6`](https://github.com/nodejs/node/commit/6cfba9f7f6)] - **(SEMVER-MAJOR)** **process**: update v8 fast api calls usage (Maya Lekova) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`3b10f7f933`](https://github.com/nodejs/node/commit/3b10f7f933)] - **(SEMVER-MAJOR)** **process**: change default --unhandled-rejections=throw (Dan Fabulich) [#33021](https://github.com/nodejs/node/pull/33021) +* [[`d8eef83757`](https://github.com/nodejs/node/commit/d8eef83757)] - **(SEMVER-MAJOR)** **process**: use v8 fast api calls for hrtime (Gus Caplan) [#33600](https://github.com/nodejs/node/pull/33600) +* [[`49745cdef0`](https://github.com/nodejs/node/commit/49745cdef0)] - **(SEMVER-MAJOR)** **process**: delay throwing an error using `throwDeprecation` (Ruben Bridgewater) [#32312](https://github.com/nodejs/node/pull/32312) +* [[`a416692e93`](https://github.com/nodejs/node/commit/a416692e93)] - **(SEMVER-MAJOR)** **repl**: remove deprecated repl.memory function (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`f217b2dfb0`](https://github.com/nodejs/node/commit/f217b2dfb0)] - **(SEMVER-MAJOR)** **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`a1bcad8dc0`](https://github.com/nodejs/node/commit/a1bcad8dc0)] - **(SEMVER-MAJOR)** **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`4ace010b53`](https://github.com/nodejs/node/commit/4ace010b53)] - **(SEMVER-MAJOR)** **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`37524307fe`](https://github.com/nodejs/node/commit/37524307fe)] - **(SEMVER-MAJOR)** **repl**: remove deprecated .rli (Ruben Bridgewater) [#33286](https://github.com/nodejs/node/pull/33286) +* [[`b65e5aeaa7`](https://github.com/nodejs/node/commit/b65e5aeaa7)] - **(SEMVER-MAJOR)** **src**: implement NodePlatform::PostJob (Clemens Backes) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`b1e8e0e604`](https://github.com/nodejs/node/commit/b1e8e0e604)] - **(SEMVER-MAJOR)** **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`eeb6b473fd`](https://github.com/nodejs/node/commit/eeb6b473fd)] - **(SEMVER-MAJOR)** **src**: error reporting on CPUUsage (Yash Ladha) [#34762](https://github.com/nodejs/node/pull/34762) +* [[`21782277c2`](https://github.com/nodejs/node/commit/21782277c2)] - **(SEMVER-MAJOR)** **src**: use node:moduleName as builtin module filename (Michaël Zasso) [#35498](https://github.com/nodejs/node/pull/35498) +* [[`05771279af`](https://github.com/nodejs/node/commit/05771279af)] - **(SEMVER-MAJOR)** **src**: enable wasm trap handler on windows (Gus Caplan) [#35033](https://github.com/nodejs/node/pull/35033) +* [[`b7cf823410`](https://github.com/nodejs/node/commit/b7cf823410)] - **(SEMVER-MAJOR)** **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso) [#33579](https://github.com/nodejs/node/pull/33579) +* [[`0fb91acedf`](https://github.com/nodejs/node/commit/0fb91acedf)] - **(SEMVER-MAJOR)** **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) [#33874](https://github.com/nodejs/node/pull/33874) +* [[`53fb2b6b41`](https://github.com/nodejs/node/commit/53fb2b6b41)] - **(SEMVER-MAJOR)** **src**: remove \_third\_party\_main support (Anna Henningsen) [#33971](https://github.com/nodejs/node/pull/33971) +* [[`a85ce885bd`](https://github.com/nodejs/node/commit/a85ce885bd)] - **(SEMVER-MAJOR)** **src**: remove deprecated node debug command (James M Snell) [#33648](https://github.com/nodejs/node/pull/33648) +* [[`ac3714637e`](https://github.com/nodejs/node/commit/ac3714637e)] - **(SEMVER-MAJOR)** **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen) [#32859](https://github.com/nodejs/node/pull/32859) +* [[`a65218f5e8`](https://github.com/nodejs/node/commit/a65218f5e8)] - **(SEMVER-MAJOR)** **stream**: try to wait for flush to complete before 'finish' (Robert Nagy) [#34314](https://github.com/nodejs/node/pull/34314) +* [[`4e3f6f355b`](https://github.com/nodejs/node/commit/4e3f6f355b)] - **(SEMVER-MAJOR)** **stream**: cleanup and fix Readable.wrap (Robert Nagy) [#34204](https://github.com/nodejs/node/pull/34204) +* [[`527e2147af`](https://github.com/nodejs/node/commit/527e2147af)] - **(SEMVER-MAJOR)** **stream**: add promises version to utility functions (rickyes) [#33991](https://github.com/nodejs/node/pull/33991) +* [[`c7e55c6b72`](https://github.com/nodejs/node/commit/c7e55c6b72)] - **(SEMVER-MAJOR)** **stream**: fix writable.end callback behavior (Robert Nagy) [#34101](https://github.com/nodejs/node/pull/34101) +* [[`fb8cc72e73`](https://github.com/nodejs/node/commit/fb8cc72e73)] - **(SEMVER-MAJOR)** **stream**: construct (Robert Nagy) [#29656](https://github.com/nodejs/node/pull/29656) +* [[`4bc7025309`](https://github.com/nodejs/node/commit/4bc7025309)] - **(SEMVER-MAJOR)** **stream**: write should throw on unknown encoding (Robert Nagy) [#33075](https://github.com/nodejs/node/pull/33075) +* [[`ea87809bb6`](https://github.com/nodejs/node/commit/ea87809bb6)] - **(SEMVER-MAJOR)** **stream**: fix \_final and 'prefinish' timing (Robert Nagy) [#32780](https://github.com/nodejs/node/pull/32780) +* [[`0bd5595509`](https://github.com/nodejs/node/commit/0bd5595509)] - **(SEMVER-MAJOR)** **stream**: simplify Transform stream implementation (Robert Nagy) [#32763](https://github.com/nodejs/node/pull/32763) +* [[`8f86986985`](https://github.com/nodejs/node/commit/8f86986985)] - **(SEMVER-MAJOR)** **stream**: use callback to properly propagate error (Robert Nagy) [#29179](https://github.com/nodejs/node/pull/29179) +* [[`94dd7b9f94`](https://github.com/nodejs/node/commit/94dd7b9f94)] - **(SEMVER-MAJOR)** **test**: update tests after increasing typed array size to 4GB (Kim-Anh Tran) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`d9e98df01b`](https://github.com/nodejs/node/commit/d9e98df01b)] - **(SEMVER-MAJOR)** **test**: fix tests for npm 7.0.0 (Myles Borins) [#35631](https://github.com/nodejs/node/pull/35631) +* [[`c87641aa97`](https://github.com/nodejs/node/commit/c87641aa97)] - **(SEMVER-MAJOR)** **test**: fix test suite to work with npm 7 (Myles Borins) [#35474](https://github.com/nodejs/node/pull/35474) +* [[`eb9d7a437e`](https://github.com/nodejs/node/commit/eb9d7a437e)] - **(SEMVER-MAJOR)** **test**: update WPT harness and tests (Michaël Zasso) [#33770](https://github.com/nodejs/node/pull/33770) +* [[`a8904e8eee`](https://github.com/nodejs/node/commit/a8904e8eee)] - **(SEMVER-MAJOR)** **timers**: introduce timers/promises (James M Snell) [#33950](https://github.com/nodejs/node/pull/33950) +* [[`c55f661551`](https://github.com/nodejs/node/commit/c55f661551)] - **(SEMVER-MAJOR)** **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`80e8aec4a5`](https://github.com/nodejs/node/commit/80e8aec4a5)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`faeb9607c6`](https://github.com/nodejs/node/commit/faeb9607c6)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`bb62f4ad9e`](https://github.com/nodejs/node/commit/bb62f4ad9e)] - **(SEMVER-MAJOR)** **url**: file URL path normalization (Daijiro Wachi) [#35477](https://github.com/nodejs/node/pull/35477) +* [[`69ef4c2375`](https://github.com/nodejs/node/commit/69ef4c2375)] - **(SEMVER-MAJOR)** **url**: verify domain is not empty after "ToASCII" (Michaël Zasso) [#33770](https://github.com/nodejs/node/pull/33770) +* [[`4831278a16`](https://github.com/nodejs/node/commit/4831278a16)] - **(SEMVER-MAJOR)** **url**: remove U+0000 case in the fragment state (Michaël Zasso) [#33770](https://github.com/nodejs/node/pull/33770) +* [[`0d08d5ae7c`](https://github.com/nodejs/node/commit/0d08d5ae7c)] - **(SEMVER-MAJOR)** **url**: remove gopher from special schemes (Michaël Zasso) [#33325](https://github.com/nodejs/node/pull/33325) +* [[`9be51ee9a1`](https://github.com/nodejs/node/commit/9be51ee9a1)] - **(SEMVER-MAJOR)** **url**: forbid lt and gt in url host code point (Yash Ladha) [#33328](https://github.com/nodejs/node/pull/33328) +* [[`1211b9a72f`](https://github.com/nodejs/node/commit/1211b9a72f)] - **(SEMVER-MAJOR)** **util**: change default value of `maxStringLength` to 10000 (unknown) [#32744](https://github.com/nodejs/node/pull/32744) +* [[`ca8f3ef2e5`](https://github.com/nodejs/node/commit/ca8f3ef2e5)] - **(SEMVER-MAJOR)** **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) [#35415](https://github.com/nodejs/node/pull/35415) +* [[`abd8cdfc4e`](https://github.com/nodejs/node/commit/abd8cdfc4e)] - **(SEMVER-MAJOR)** **win, child_process**: sanitize env variables (Bartosz Sosnowski) [#35210](https://github.com/nodejs/node/pull/35210) +* [[`705d888387`](https://github.com/nodejs/node/commit/705d888387)] - **(SEMVER-MAJOR)** **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) [#35496](https://github.com/nodejs/node/pull/35496) +* [[`7603c7e50c`](https://github.com/nodejs/node/commit/7603c7e50c)] - **(SEMVER-MAJOR)** **worker**: set trackUnmanagedFds to true by default (Anna Henningsen) [#34394](https://github.com/nodejs/node/pull/34394) +* [[`5ef5116311`](https://github.com/nodejs/node/commit/5ef5116311)] - **(SEMVER-MAJOR)** **worker**: rename error code to be more accurate (Anna Henningsen) [#33872](https://github.com/nodejs/node/pull/33872) + +### Semver-Minor Commits + +* [[`1d5fa88eb8`](https://github.com/nodejs/node/commit/1d5fa88eb8)] - **(SEMVER-MINOR)** **cli**: add --node-memory-debug option (Anna Henningsen) [#35537](https://github.com/nodejs/node/pull/35537) +* [[`095be6a01f`](https://github.com/nodejs/node/commit/095be6a01f)] - **(SEMVER-MINOR)** **crypto**: add getCipherInfo method (James M Snell) [#35368](https://github.com/nodejs/node/pull/35368) +* [[`df1023bb22`](https://github.com/nodejs/node/commit/df1023bb22)] - **(SEMVER-MINOR)** **events**: allow use of AbortController with on (James M Snell) [#34912](https://github.com/nodejs/node/pull/34912) +* [[`883fc779b6`](https://github.com/nodejs/node/commit/883fc779b6)] - **(SEMVER-MINOR)** **events**: allow use of AbortController with once (James M Snell) [#34911](https://github.com/nodejs/node/pull/34911) +* [[`e876c0c308`](https://github.com/nodejs/node/commit/e876c0c308)] - **(SEMVER-MINOR)** **http2**: add support for sensitive headers (Anna Henningsen) [#34145](https://github.com/nodejs/node/pull/34145) +* [[`6f34498148`](https://github.com/nodejs/node/commit/6f34498148)] - **(SEMVER-MINOR)** **net**: add support for resolving DNS CAA records (Danny Sonnenschein) [#35466](https://github.com/nodejs/node/pull/35466) +* [[`37a8179673`](https://github.com/nodejs/node/commit/37a8179673)] - **(SEMVER-MINOR)** **net**: make blocklist family case insensitive (James M Snell) [#34864](https://github.com/nodejs/node/pull/34864) +* [[`1f9b20b637`](https://github.com/nodejs/node/commit/1f9b20b637)] - **(SEMVER-MINOR)** **net**: introduce net.BlockList (James M Snell) [#34625](https://github.com/nodejs/node/pull/34625) +* [[`278d38f4cf`](https://github.com/nodejs/node/commit/278d38f4cf)] - **(SEMVER-MINOR)** **src**: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) [#35486](https://github.com/nodejs/node/pull/35486) +* [[`2310f679a1`](https://github.com/nodejs/node/commit/2310f679a1)] - **(SEMVER-MINOR)** **src**: move node\_binding to modern THROW\_ERR\* (James M Snell) [#35469](https://github.com/nodejs/node/pull/35469) +* [[`744a284ccc`](https://github.com/nodejs/node/commit/744a284ccc)] - **(SEMVER-MINOR)** **stream**: support async for stream impl functions (James M Snell) [#34416](https://github.com/nodejs/node/pull/34416) +* [[`bfbdc84738`](https://github.com/nodejs/node/commit/bfbdc84738)] - **(SEMVER-MINOR)** **timers**: allow promisified timeouts/immediates to be canceled (James M Snell) [#33833](https://github.com/nodejs/node/pull/33833) +* [[`a8971f87d3`](https://github.com/nodejs/node/commit/a8971f87d3)] - **(SEMVER-MINOR)** **url**: support non-special URLs (Daijiro Wachi) [#34925](https://github.com/nodejs/node/pull/34925) + +### Semver-Patch Commits + +* [[`d10c59fc60`](https://github.com/nodejs/node/commit/d10c59fc60)] - **benchmark,test**: remove output from readable-async-iterator benchmark (Rich Trott) [#34411](https://github.com/nodejs/node/pull/34411) +* [[`8a12e9994f`](https://github.com/nodejs/node/commit/8a12e9994f)] - **bootstrap**: use file URL instead of relative url (Daijiro Wachi) [#35622](https://github.com/nodejs/node/pull/35622) +* [[`f8bde7ce06`](https://github.com/nodejs/node/commit/f8bde7ce06)] - **bootstrap**: build fast APIs in pre-execution (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`b18651bcd2`](https://github.com/nodejs/node/commit/b18651bcd2)] - **build**: do not pass mode option to test-v8 command (Michaël Zasso) [#35705](https://github.com/nodejs/node/pull/35705) +* [[`bb2945ed6b`](https://github.com/nodejs/node/commit/bb2945ed6b)] - **build**: add GitHub Action for code coverage (Benjamin Coe) [#35653](https://github.com/nodejs/node/pull/35653) +* [[`cfbbeea4a1`](https://github.com/nodejs/node/commit/cfbbeea4a1)] - **build**: use GITHUB\_ENV file to set env variables (Michaël Zasso) [#35638](https://github.com/nodejs/node/pull/35638) +* [[`8a93b371a3`](https://github.com/nodejs/node/commit/8a93b371a3)] - **build**: do not install jq in workflows (Michaël Zasso) [#35638](https://github.com/nodejs/node/pull/35638) +* [[`ccbd1d5efa`](https://github.com/nodejs/node/commit/ccbd1d5efa)] - **build**: add quic to github action (gengjiawen) [#34336](https://github.com/nodejs/node/pull/34336) +* [[`f4f191bbc2`](https://github.com/nodejs/node/commit/f4f191bbc2)] - **build**: define NODE\_EXPERIMENTAL\_QUIC in mkcodecache and node\_mksnapshot (Joyee Cheung) [#34454](https://github.com/nodejs/node/pull/34454) +* [[`5b2c263ba8`](https://github.com/nodejs/node/commit/5b2c263ba8)] - **deps**: fix typo in zlib.gyp that break arm-fpu-neon build (lucasg) [#35659](https://github.com/nodejs/node/pull/35659) +* [[`5b9593f727`](https://github.com/nodejs/node/commit/5b9593f727)] - **deps**: upgrade npm to 7.0.2 (Myles Borins) [#35667](https://github.com/nodejs/node/pull/35667) +* [[`dabc6ddddc`](https://github.com/nodejs/node/commit/dabc6ddddc)] - **deps**: upgrade npm to 7.0.0-rc.4 (Myles Borins) [#35576](https://github.com/nodejs/node/pull/35576) +* [[`757bac6711`](https://github.com/nodejs/node/commit/757bac6711)] - **deps**: update nghttp3 (James M Snell) [#34752](https://github.com/nodejs/node/pull/34752) +* [[`c788be2e6e`](https://github.com/nodejs/node/commit/c788be2e6e)] - **deps**: update ngtcp2 (James M Snell) [#34752](https://github.com/nodejs/node/pull/34752) +* [[`7816e5f7b9`](https://github.com/nodejs/node/commit/7816e5f7b9)] - **deps**: fix indenting of sources in ngtcp2.gyp (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`f5343d1b40`](https://github.com/nodejs/node/commit/f5343d1b40)] - **deps**: re-enable OPENSSL\_NO\_QUIC guards (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`9de95f494e`](https://github.com/nodejs/node/commit/9de95f494e)] - **deps**: temporary fixup for ngtcp2 to build on windows (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`ec7ad1d0ec`](https://github.com/nodejs/node/commit/ec7ad1d0ec)] - **deps**: cherry-pick akamai/openssl/commit/bf4b08ecfbb7a26ca4b0b9ecaee3b31d18d7bda9 (Tatsuhiro Tsujikawa) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`c3d85b7637`](https://github.com/nodejs/node/commit/c3d85b7637)] - **deps**: cherry-pick akamai/openssl/commit/a5a08cb8050bb69120e833456e355f482e392456 (Benjamin Kaduk) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`bad1a150ea`](https://github.com/nodejs/node/commit/bad1a150ea)] - **deps**: cherry-pick akamai/openssl/commit/d5a13ca6e29f3ff85c731770ab0ee2f2487bf8b3 (Benjamin Kaduk) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`74cbfd3f36`](https://github.com/nodejs/node/commit/74cbfd3f36)] - **deps**: cherry-pick akamai/openssl/commit/a6282c566d88db11300c82abc3c84a4e2e9ea568 (Benjamin Kaduk) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`8a9763a8ea`](https://github.com/nodejs/node/commit/8a9763a8ea)] - **deps**: update nghttp3 (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`6b27d07779`](https://github.com/nodejs/node/commit/6b27d07779)] - **deps**: update ngtcp2 (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`a041723774`](https://github.com/nodejs/node/commit/a041723774)] - **deps**: fix indentation for sources in nghttp3.gyp (Daniel Bevenius) [#33942](https://github.com/nodejs/node/pull/33942) +* [[`a0cbd676e7`](https://github.com/nodejs/node/commit/a0cbd676e7)] - **deps**: add defines to nghttp3/ngtcp2 gyp configs (Daniel Bevenius) [#33942](https://github.com/nodejs/node/pull/33942) +* [[`bccb514936`](https://github.com/nodejs/node/commit/bccb514936)] - **deps**: maintaining ngtcp2 and nghttp3 (James M Snell) [#32379](https://github.com/nodejs/node/pull/32379) +* [[`834fa8f23f`](https://github.com/nodejs/node/commit/834fa8f23f)] - **deps**: add ngtcp2 and nghttp3 (James M Snell) [#32379](https://github.com/nodejs/node/pull/32379) +* [[`f96b981528`](https://github.com/nodejs/node/commit/f96b981528)] - **deps**: details for updating openssl quic support (James M Snell) [#32379](https://github.com/nodejs/node/pull/32379) +* [[`98c8498552`](https://github.com/nodejs/node/commit/98c8498552)] - **deps**: update archs files for OpenSSL-1.1.0 (James M Snell) [#32379](https://github.com/nodejs/node/pull/32379) +* [[`2c549e505e`](https://github.com/nodejs/node/commit/2c549e505e)] - **deps**: add support for BoringSSL QUIC APIs (Todd Short) [#32379](https://github.com/nodejs/node/pull/32379) +* [[`1103b15af6`](https://github.com/nodejs/node/commit/1103b15af6)] - **doc**: fix YAML lint error on master (Rich Trott) [#35709](https://github.com/nodejs/node/pull/35709) +* [[`7798e59e98`](https://github.com/nodejs/node/commit/7798e59e98)] - **doc**: upgrade stability status of report API (Gireesh Punathil) [#35654](https://github.com/nodejs/node/pull/35654) +* [[`ce03a182cf`](https://github.com/nodejs/node/commit/ce03a182cf)] - **doc**: clarify experimental API elements in vm.md (Rich Trott) [#35594](https://github.com/nodejs/node/pull/35594) +* [[`89defff3b9`](https://github.com/nodejs/node/commit/89defff3b9)] - **doc**: correct order of metadata for deprecation (Rich Trott) [#35668](https://github.com/nodejs/node/pull/35668) +* [[`ee85eb9f8a`](https://github.com/nodejs/node/commit/ee85eb9f8a)] - **doc**: importModuleDynamically gets Script, not Module (Simen Bekkhus) [#35593](https://github.com/nodejs/node/pull/35593) +* [[`9e5a27a9d3`](https://github.com/nodejs/node/commit/9e5a27a9d3)] - **doc**: fix EventEmitter examples (Sourav Shaw) [#33513](https://github.com/nodejs/node/pull/33513) +* [[`2c2c87e291`](https://github.com/nodejs/node/commit/2c2c87e291)] - **doc**: fix stability indicator in webcrypto doc (Rich Trott) [#35672](https://github.com/nodejs/node/pull/35672) +* [[`f59d4e05a2`](https://github.com/nodejs/node/commit/f59d4e05a2)] - **doc**: add example code for process.getgroups() (Pooja D.P) [#35625](https://github.com/nodejs/node/pull/35625) +* [[`8a3808dc37`](https://github.com/nodejs/node/commit/8a3808dc37)] - **doc**: use kbd element in tty doc (Rich Trott) [#35613](https://github.com/nodejs/node/pull/35613) +* [[`4079bfd462`](https://github.com/nodejs/node/commit/4079bfd462)] - **doc**: Remove reference to io.js (Hussaina Begum Nandyala) [#35618](https://github.com/nodejs/node/pull/35618) +* [[`e6d5af3c95`](https://github.com/nodejs/node/commit/e6d5af3c95)] - **doc**: fix typos in quic.md (Luigi Pinca) [#35444](https://github.com/nodejs/node/pull/35444) +* [[`524123fbf0`](https://github.com/nodejs/node/commit/524123fbf0)] - **doc**: update releaser in v12.18.4 changelog (Beth Griggs) [#35217](https://github.com/nodejs/node/pull/35217) +* [[`ccdd1bd82a`](https://github.com/nodejs/node/commit/ccdd1bd82a)] - **doc**: fix incorrectly marked Buffer in quic.md (Rich Trott) [#35075](https://github.com/nodejs/node/pull/35075) +* [[`cc754f2985`](https://github.com/nodejs/node/commit/cc754f2985)] - **doc**: make AbortSignal text consistent in events.md (Rich Trott) [#35005](https://github.com/nodejs/node/pull/35005) +* [[`f9c362ff6c`](https://github.com/nodejs/node/commit/f9c362ff6c)] - **doc**: revise AbortSignal text and example using events.once() (Rich Trott) [#35005](https://github.com/nodejs/node/pull/35005) +* [[`7aeff6b8c8`](https://github.com/nodejs/node/commit/7aeff6b8c8)] - **doc**: claim ABI version for Electron v12 (Shelley Vohr) [#34816](https://github.com/nodejs/node/pull/34816) +* [[`7a1220a1d7`](https://github.com/nodejs/node/commit/7a1220a1d7)] - **doc**: fix headings in quic.md (Anna Henningsen) [#34717](https://github.com/nodejs/node/pull/34717) +* [[`d5c7aec3cb`](https://github.com/nodejs/node/commit/d5c7aec3cb)] - **doc**: use \_can\_ to describe actions in quic.md (Rich Trott) [#34613](https://github.com/nodejs/node/pull/34613) +* [[`319c275b26`](https://github.com/nodejs/node/commit/319c275b26)] - **doc**: use \_can\_ to describe actions in quic.md (Rich Trott) [#34613](https://github.com/nodejs/node/pull/34613) +* [[`2c30920886`](https://github.com/nodejs/node/commit/2c30920886)] - **doc**: use sentence-case in quic.md headers (Rich Trott) [#34453](https://github.com/nodejs/node/pull/34453) +* [[`8ada27510d`](https://github.com/nodejs/node/commit/8ada27510d)] - **doc**: add missing backticks in timers.md (vsemozhetbyt) [#34030](https://github.com/nodejs/node/pull/34030) +* [[`862d005e60`](https://github.com/nodejs/node/commit/862d005e60)] - **doc**: make globals Extends usage consistent (Colin Ihrig) [#33777](https://github.com/nodejs/node/pull/33777) +* [[`85dbd17bde`](https://github.com/nodejs/node/commit/85dbd17bde)] - **doc**: make perf\_hooks Extends usage consistent (Colin Ihrig) [#33777](https://github.com/nodejs/node/pull/33777) +* [[`2e49010bc8`](https://github.com/nodejs/node/commit/2e49010bc8)] - **doc**: make events Extends usage consistent (Colin Ihrig) [#33777](https://github.com/nodejs/node/pull/33777) +* [[`680fb8fc62`](https://github.com/nodejs/node/commit/680fb8fc62)] - **doc**: fix deprecation "End-of-Life" capitalization (Colin Ihrig) [#33691](https://github.com/nodejs/node/pull/33691) +* [[`458677f5ef`](https://github.com/nodejs/node/commit/458677f5ef)] - **errors**: print original exception context (Benjamin Coe) [#33491](https://github.com/nodejs/node/pull/33491) +* [[`b1831fed3a`](https://github.com/nodejs/node/commit/b1831fed3a)] - **events**: simplify event target agnostic logic in on and once (Denys Otrishko) [#34997](https://github.com/nodejs/node/pull/34997) +* [[`7f25fe8b67`](https://github.com/nodejs/node/commit/7f25fe8b67)] - **fs**: remove unused assignment (Rich Trott) [#35642](https://github.com/nodejs/node/pull/35642) +* [[`2c4f30deea`](https://github.com/nodejs/node/commit/2c4f30deea)] - **fs**: fix when path is buffer on fs.symlinkSync (himself65) [#34540](https://github.com/nodejs/node/pull/34540) +* [[`db0e991d52`](https://github.com/nodejs/node/commit/db0e991d52)] - **fs**: remove custom Buffer pool for streams (Robert Nagy) [#33981](https://github.com/nodejs/node/pull/33981) +* [[`51a2df4439`](https://github.com/nodejs/node/commit/51a2df4439)] - **fs**: document why isPerformingIO is required (Robert Nagy) [#33982](https://github.com/nodejs/node/pull/33982) +* [[`999e7d7b44`](https://github.com/nodejs/node/commit/999e7d7b44)] - **gyp,build**: consistent shared library location (Rod Vagg) [#35635](https://github.com/nodejs/node/pull/35635) +* [[`30cc54275d`](https://github.com/nodejs/node/commit/30cc54275d)] - **http**: don't emit error after close (Robert Nagy) [#33654](https://github.com/nodejs/node/pull/33654) +* [[`ddff2b2b22`](https://github.com/nodejs/node/commit/ddff2b2b22)] - **lib**: honor setUncaughtExceptionCaptureCallback (Gireesh Punathil) [#35595](https://github.com/nodejs/node/pull/35595) +* [[`a8806535d9`](https://github.com/nodejs/node/commit/a8806535d9)] - **lib**: use Object static properties from primordials (Michaël Zasso) [#35380](https://github.com/nodejs/node/pull/35380) +* [[`11f1ad939f`](https://github.com/nodejs/node/commit/11f1ad939f)] - **module**: only try to enrich CJS syntax errors (Michaël Zasso) [#35691](https://github.com/nodejs/node/pull/35691) +* [[`aaf225a2a0`](https://github.com/nodejs/node/commit/aaf225a2a0)] - **module**: add setter for module.parent (Antoine du Hamel) [#35522](https://github.com/nodejs/node/pull/35522) +* [[`109a296e2a`](https://github.com/nodejs/node/commit/109a296e2a)] - **quic**: fix typo in code comment (Ikko Ashimine) [#35308](https://github.com/nodejs/node/pull/35308) +* [[`186230527b`](https://github.com/nodejs/node/commit/186230527b)] - **quic**: fix error message on invalid connection ID (Rich Trott) [#35026](https://github.com/nodejs/node/pull/35026) +* [[`e5116b304f`](https://github.com/nodejs/node/commit/e5116b304f)] - **quic**: remove unused function arguments (Rich Trott) [#35010](https://github.com/nodejs/node/pull/35010) +* [[`449f73e05f`](https://github.com/nodejs/node/commit/449f73e05f)] - **quic**: remove undefined variable (Rich Trott) [#35007](https://github.com/nodejs/node/pull/35007) +* [[`44e6a6af67`](https://github.com/nodejs/node/commit/44e6a6af67)] - **quic**: use qlog fin flag (James M Snell) [#34752](https://github.com/nodejs/node/pull/34752) +* [[`2a80737278`](https://github.com/nodejs/node/commit/2a80737278)] - **quic**: fixups after ngtcp2/nghttp3 update (James M Snell) [#34752](https://github.com/nodejs/node/pull/34752) +* [[`c855c3e8ca`](https://github.com/nodejs/node/commit/c855c3e8ca)] - **quic**: use net.BlockList for limiting access to a QuicSocket (James M Snell) [#34741](https://github.com/nodejs/node/pull/34741) +* [[`bfc35354c1`](https://github.com/nodejs/node/commit/bfc35354c1)] - **quic**: consolidate stats collecting in QuicSession (James M Snell) [#34741](https://github.com/nodejs/node/pull/34741) +* [[`94aa291348`](https://github.com/nodejs/node/commit/94aa291348)] - **quic**: clarify TODO statements (James M Snell) [#34741](https://github.com/nodejs/node/pull/34741) +* [[`19e712b9b2`](https://github.com/nodejs/node/commit/19e712b9b2)] - **quic**: resolve InitializeSecureContext TODO comment (James M Snell) [#34741](https://github.com/nodejs/node/pull/34741) +* [[`240592228b`](https://github.com/nodejs/node/commit/240592228b)] - **quic**: fixup session ticket app data todo comments (James M Snell) [#34741](https://github.com/nodejs/node/pull/34741) +* [[`c17eaa3f3f`](https://github.com/nodejs/node/commit/c17eaa3f3f)] - **quic**: add natRebinding argument to docs (James M Snell) [#34669](https://github.com/nodejs/node/pull/34669) +* [[`442968c92a`](https://github.com/nodejs/node/commit/442968c92a)] - **quic**: check setSocket natRebinding argument, extend test (James M Snell) [#34669](https://github.com/nodejs/node/pull/34669) +* [[`10d5047a4f`](https://github.com/nodejs/node/commit/10d5047a4f)] - **quic**: fixup set\_socket, fix skipped test (James M Snell) [#34669](https://github.com/nodejs/node/pull/34669) +* [[`344c5e4e50`](https://github.com/nodejs/node/commit/344c5e4e50)] - **quic**: limit push check to http/3 (James M Snell) [#34655](https://github.com/nodejs/node/pull/34655) +* [[`34165f03aa`](https://github.com/nodejs/node/commit/34165f03aa)] - **quic**: resolve some minor TODOs (James M Snell) [#34655](https://github.com/nodejs/node/pull/34655) +* [[`1e6e5c3ef3`](https://github.com/nodejs/node/commit/1e6e5c3ef3)] - **quic**: resolve minor TODO in QuicSocket (James M Snell) [#34655](https://github.com/nodejs/node/pull/34655) +* [[`ba5c64bf45`](https://github.com/nodejs/node/commit/ba5c64bf45)] - **quic**: use AbortController with correct name/message (Anna Henningsen) [#34763](https://github.com/nodejs/node/pull/34763) +* [[`a7477704c4`](https://github.com/nodejs/node/commit/a7477704c4)] - **quic**: prefer modernize-make-unique (gengjiawen) [#34692](https://github.com/nodejs/node/pull/34692) +* [[`5b6cd6fa1a`](https://github.com/nodejs/node/commit/5b6cd6fa1a)] - **quic**: use the SocketAddressLRU to track validation status (James M Snell) [#34618](https://github.com/nodejs/node/pull/34618) +* [[`f75e69a94b`](https://github.com/nodejs/node/commit/f75e69a94b)] - **quic**: use SocketAddressLRU to track known SocketAddress info (James M Snell) [#34618](https://github.com/nodejs/node/pull/34618) +* [[`6b0b33cd4c`](https://github.com/nodejs/node/commit/6b0b33cd4c)] - **quic**: cleanup some outstanding todo items (James M Snell) [#34618](https://github.com/nodejs/node/pull/34618) +* [[`6e65f26b73`](https://github.com/nodejs/node/commit/6e65f26b73)] - **quic**: use QuicCallbackScope consistently for QuicSession (James M Snell) [#34541](https://github.com/nodejs/node/pull/34541) +* [[`d96083bad5`](https://github.com/nodejs/node/commit/d96083bad5)] - **quic**: introduce QuicCallbackScope (James M Snell) [#34541](https://github.com/nodejs/node/pull/34541) +* [[`4b0275ab87`](https://github.com/nodejs/node/commit/4b0275ab87)] - **quic**: refactor clientHello (James M Snell) [#34541](https://github.com/nodejs/node/pull/34541) +* [[`a97b5f9c6a`](https://github.com/nodejs/node/commit/a97b5f9c6a)] - **quic**: use OpenSSL built-in cert and hostname validation (James M Snell) [#34533](https://github.com/nodejs/node/pull/34533) +* [[`7a5fbafe96`](https://github.com/nodejs/node/commit/7a5fbafe96)] - **quic**: fix build for macOS (gengjiawen) [#34336](https://github.com/nodejs/node/pull/34336) +* [[`1f94b89309`](https://github.com/nodejs/node/commit/1f94b89309)] - **quic**: refactor ocsp to use async function rather than event/callback (James M Snell) [#34498](https://github.com/nodejs/node/pull/34498) +* [[`06664298fa`](https://github.com/nodejs/node/commit/06664298fa)] - **quic**: remove no-longer relevant TODO statements (James M Snell) [#34498](https://github.com/nodejs/node/pull/34498) +* [[`2fb92f4cc6`](https://github.com/nodejs/node/commit/2fb92f4cc6)] - **quic**: remove extraneous unused debug property (James M Snell) [#34498](https://github.com/nodejs/node/pull/34498) +* [[`b06fe33de1`](https://github.com/nodejs/node/commit/b06fe33de1)] - **quic**: use async \_construct for QuicStream (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`8bd61d4c38`](https://github.com/nodejs/node/commit/8bd61d4c38)] - **quic**: documentation updates (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`086c916997`](https://github.com/nodejs/node/commit/086c916997)] - **quic**: extensive refactoring of QuicStream lifecycle (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`cf28f8a7dd`](https://github.com/nodejs/node/commit/cf28f8a7dd)] - **quic**: gitignore qlog files (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`83bf0d7e8c`](https://github.com/nodejs/node/commit/83bf0d7e8c)] - **quic**: remove unneeded quicstream.aborted and fixup docs (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`a65296db2c`](https://github.com/nodejs/node/commit/a65296db2c)] - **quic**: remove stream pending code (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`da20287e1a`](https://github.com/nodejs/node/commit/da20287e1a)] - **quic**: simplify QuicStream construction logic (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`6e30fe7a7f`](https://github.com/nodejs/node/commit/6e30fe7a7f)] - **quic**: convert openStream to Promise (James M Snell) [#34351](https://github.com/nodejs/node/pull/34351) +* [[`89453cfc08`](https://github.com/nodejs/node/commit/89453cfc08)] - **quic**: fixup quic.md (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`4523d4a813`](https://github.com/nodejs/node/commit/4523d4a813)] - **quic**: fixup closing/draining period timing (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`ed4882241c`](https://github.com/nodejs/node/commit/ed4882241c)] - **quic**: properly pass readable/writable constructor options (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`57c1129508`](https://github.com/nodejs/node/commit/57c1129508)] - **quic**: implement QuicSession close as promise (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`8e5c5b16ab`](https://github.com/nodejs/node/commit/8e5c5b16ab)] - **quic**: cleanup QuicClientSession constructor (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`fe4e7e4598`](https://github.com/nodejs/node/commit/fe4e7e4598)] - **quic**: use promisified dns lookup (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`346aeaf874`](https://github.com/nodejs/node/commit/346aeaf874)] - **quic**: eliminate "ready"/"not ready" states for QuicSession (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`6665dda9f6`](https://github.com/nodejs/node/commit/6665dda9f6)] - **quic**: implement QuicSocket Promise API, part 2 (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`79c0e892dd`](https://github.com/nodejs/node/commit/79c0e892dd)] - **quic**: implement QuicSocket Promise API, part 1 (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`53b12f0c7b`](https://github.com/nodejs/node/commit/53b12f0c7b)] - **quic**: implement QuicEndpoint Promise API (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`16b32eae3e`](https://github.com/nodejs/node/commit/16b32eae3e)] - **quic**: handle unhandled rejections on QuicSession (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`e5d963e24d`](https://github.com/nodejs/node/commit/e5d963e24d)] - **quic**: fixup kEndpointClose (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`9f552df5b4`](https://github.com/nodejs/node/commit/9f552df5b4)] - **quic**: fix endpointClose error handling, document (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`b80108c033`](https://github.com/nodejs/node/commit/b80108c033)] - **quic**: restrict addEndpoint to before QuicSocket bind (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`81c01bbdba`](https://github.com/nodejs/node/commit/81c01bbdba)] - **quic**: use a getter for stream options (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`b8945ba2ab`](https://github.com/nodejs/node/commit/b8945ba2ab)] - **quic**: clarifying code comments (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`429ab1dce6`](https://github.com/nodejs/node/commit/429ab1dce6)] - **quic**: minor reduction in code duplication (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`aafdc2fcad`](https://github.com/nodejs/node/commit/aafdc2fcad)] - **quic**: replace ipv6Only option with `'udp6-only'` type (James M Snell) [#34283](https://github.com/nodejs/node/pull/34283) +* [[`fbc38ee134`](https://github.com/nodejs/node/commit/fbc38ee134)] - **quic**: clear clang warning (gengjiawen) [#34335](https://github.com/nodejs/node/pull/34335) +* [[`c176d5fac2`](https://github.com/nodejs/node/commit/c176d5fac2)] - **quic**: set destroyed at timestamps for duration calculation (James M Snell) [#34262](https://github.com/nodejs/node/pull/34262) +* [[`48a349efd9`](https://github.com/nodejs/node/commit/48a349efd9)] - **quic**: use Number instead of BigInt for more stats (James M Snell) [#34262](https://github.com/nodejs/node/pull/34262) +* [[`5e769b2eaf`](https://github.com/nodejs/node/commit/5e769b2eaf)] - **quic**: use less specific error codes (James M Snell) [#34262](https://github.com/nodejs/node/pull/34262) +* [[`26493c02a2`](https://github.com/nodejs/node/commit/26493c02a2)] - **quic**: remove no longer valid CHECK (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`458d243f20`](https://github.com/nodejs/node/commit/458d243f20)] - **quic**: proper custom inspect for QuicStream (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`0860b11655`](https://github.com/nodejs/node/commit/0860b11655)] - **quic**: proper custom inspect for QuicSession (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`b047930d76`](https://github.com/nodejs/node/commit/b047930d76)] - **quic**: proper custom inspect for QuicSocket (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`511f8c1138`](https://github.com/nodejs/node/commit/511f8c1138)] - **quic**: proper custom inspect for QuicEndpoint (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`fe11f6bf7c`](https://github.com/nodejs/node/commit/fe11f6bf7c)] - **quic**: cleanup QuicSocketFlags, used shared state struct (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`d08e99de24`](https://github.com/nodejs/node/commit/d08e99de24)] - **quic**: use getter/setter for stateless reset toggle (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`f2753c7695`](https://github.com/nodejs/node/commit/f2753c7695)] - **quic**: unref timers again (Anna Henningsen) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`71236097d0`](https://github.com/nodejs/node/commit/71236097d0)] - **quic**: use Number() instead of bigint for QuicSocket stats (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`94372b124a`](https://github.com/nodejs/node/commit/94372b124a)] - **quic**: refactor/improve/document QuicSocket listening event (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`afc9390ae5`](https://github.com/nodejs/node/commit/afc9390ae5)] - **quic**: refactor/improve QuicSocket ready event handling (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`e3813261b8`](https://github.com/nodejs/node/commit/e3813261b8)] - **quic**: add tests confirming error handling for QuicSocket close event (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`cc89aac5f7`](https://github.com/nodejs/node/commit/cc89aac5f7)] - **quic**: refactor/improve error handling for busy event (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`edc71ef008`](https://github.com/nodejs/node/commit/edc71ef008)] - **quic**: handle errors thrown / rejections in the session event (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`bcde849be9`](https://github.com/nodejs/node/commit/bcde849be9)] - **quic**: remove unnecessary bool conversion (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`c535131627`](https://github.com/nodejs/node/commit/c535131627)] - **quic**: additional minor cleanups in node\_quic\_session.h (James M Snell) [#34247](https://github.com/nodejs/node/pull/34247) +* [[`0f97d6066a`](https://github.com/nodejs/node/commit/0f97d6066a)] - **quic**: use TimerWrap for idle and retransmit timers (James M Snell) [#34186](https://github.com/nodejs/node/pull/34186) +* [[`1b1e985478`](https://github.com/nodejs/node/commit/1b1e985478)] - **quic**: add missing memory tracker fields (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`5a87e9b0a5`](https://github.com/nodejs/node/commit/5a87e9b0a5)] - **quic**: cleanup timers if they haven't been already (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`3837d9cf1f`](https://github.com/nodejs/node/commit/3837d9cf1f)] - **quic**: fixup lint issues (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`7b062ca015`](https://github.com/nodejs/node/commit/7b062ca015)] - **quic**: refactor qlog handling (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`e4d369e96e`](https://github.com/nodejs/node/commit/e4d369e96e)] - **quic**: remove onSessionDestroy callback (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`3acdd6aac7`](https://github.com/nodejs/node/commit/3acdd6aac7)] - **quic**: refactor QuicSession shared state to use AliasedStruct (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`f9c2245fb5`](https://github.com/nodejs/node/commit/f9c2245fb5)] - **quic**: refactor QuicSession close/destroy flow (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`f7510ca439`](https://github.com/nodejs/node/commit/f7510ca439)] - **quic**: additional cleanups on the c++ side (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`b5bf5bb20f`](https://github.com/nodejs/node/commit/b5bf5bb20f)] - **quic**: refactor native object flags for better readability (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`b1750a4d53`](https://github.com/nodejs/node/commit/b1750a4d53)] - **quic**: continued refactoring for quic\_stream/quic\_session (James M Snell) [#34160](https://github.com/nodejs/node/pull/34160) +* [[`31d6d9d0f7`](https://github.com/nodejs/node/commit/31d6d9d0f7)] - **quic**: reduce duplication of code (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`b5fe31ef19`](https://github.com/nodejs/node/commit/b5fe31ef19)] - **quic**: avoid using private JS fields for now (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`2afc1abd05`](https://github.com/nodejs/node/commit/2afc1abd05)] - **quic**: fixup constant exports, export all protocol error codes (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`b1fab88ff0`](https://github.com/nodejs/node/commit/b1fab88ff0)] - **quic**: remove unused callback function (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`3bae2d5073`](https://github.com/nodejs/node/commit/3bae2d5073)] - **quic**: consolidate onSessionClose and onSessionSilentClose (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`def8e76999`](https://github.com/nodejs/node/commit/def8e76999)] - **quic**: fixup set\_final\_size (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`d6034186d6`](https://github.com/nodejs/node/commit/d6034186d6)] - **quic**: cleanups for QuicSocket (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`73a51bb9dc`](https://github.com/nodejs/node/commit/73a51bb9dc)] - **quic**: cleanups in JS API (James M Snell) [#34137](https://github.com/nodejs/node/pull/34137) +* [[`204f20f2d1`](https://github.com/nodejs/node/commit/204f20f2d1)] - **quic**: minor cleanups in quic\_buffer (James M Snell) [#34087](https://github.com/nodejs/node/pull/34087) +* [[`68634d2592`](https://github.com/nodejs/node/commit/68634d2592)] - **quic**: remove redundant cast (gengjiawen) [#34086](https://github.com/nodejs/node/pull/34086) +* [[`213cac0b94`](https://github.com/nodejs/node/commit/213cac0b94)] - **quic**: temporarily skip quic-ipv6only test (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`99f7c4bb5e`](https://github.com/nodejs/node/commit/99f7c4bb5e)] - **quic**: possibly resolve flaky assertion failure in ipv6only test (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`2a5922e483`](https://github.com/nodejs/node/commit/2a5922e483)] - **quic**: temporarily disable packetloss tests (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`86e67aaa69`](https://github.com/nodejs/node/commit/86e67aaa69)] - **quic**: updates to implement for h3-29 (James M Snell) [#34033](https://github.com/nodejs/node/pull/34033) +* [[`adf14e2617`](https://github.com/nodejs/node/commit/adf14e2617)] - **quic**: fix lint error in node\_quic\_crypto (Daniel Bevenius) [#34019](https://github.com/nodejs/node/pull/34019) +* [[`9f2e00fb99`](https://github.com/nodejs/node/commit/9f2e00fb99)] - **quic**: temporarily disable preferred address tests (James M Snell) [#33934](https://github.com/nodejs/node/pull/33934) +* [[`0e7c8bdc0c`](https://github.com/nodejs/node/commit/0e7c8bdc0c)] - **quic**: return 0 from SSL\_CTX\_sess\_set\_new\_cb callback (Anna Henningsen) [#33931](https://github.com/nodejs/node/pull/33931) +* [[`c7d859e756`](https://github.com/nodejs/node/commit/c7d859e756)] - **quic**: refactor and improve ipv6Only (James M Snell) [#33935](https://github.com/nodejs/node/pull/33935) +* [[`1b7434dfc0`](https://github.com/nodejs/node/commit/1b7434dfc0)] - **quic**: set up FunctionTemplates more cleanly (Anna Henningsen) [#33968](https://github.com/nodejs/node/pull/33968) +* [[`8ef86a920c`](https://github.com/nodejs/node/commit/8ef86a920c)] - **quic**: fix clang warning (gengjiawen) [#33963](https://github.com/nodejs/node/pull/33963) +* [[`013cd1ac6f`](https://github.com/nodejs/node/commit/013cd1ac6f)] - **quic**: use Check instead of FromJust in node\_quic.cc (Daniel Bevenius) [#33937](https://github.com/nodejs/node/pull/33937) +* [[`09330fc155`](https://github.com/nodejs/node/commit/09330fc155)] - **quic**: fix clang-tidy performance-faster-string-find issue (gengjiawen) [#33975](https://github.com/nodejs/node/pull/33975) +* [[`9743624c0b`](https://github.com/nodejs/node/commit/9743624c0b)] - **quic**: fix typo in comments (gengjiawen) [#33975](https://github.com/nodejs/node/pull/33975) +* [[`88ef15812c`](https://github.com/nodejs/node/commit/88ef15812c)] - **quic**: remove unused string include http3\_application (Daniel Bevenius) [#33926](https://github.com/nodejs/node/pull/33926) +* [[`1bd88a3ac6`](https://github.com/nodejs/node/commit/1bd88a3ac6)] - **quic**: fix up node\_quic\_stream includes (Daniel Bevenius) [#33921](https://github.com/nodejs/node/pull/33921) +* [[`d7d79f2163`](https://github.com/nodejs/node/commit/d7d79f2163)] - **quic**: avoid memory fragmentation issue (James M Snell) [#33912](https://github.com/nodejs/node/pull/33912) +* [[`16116f5f5f`](https://github.com/nodejs/node/commit/16116f5f5f)] - **quic**: remove noop code (Robert Nagy) [#33914](https://github.com/nodejs/node/pull/33914) +* [[`272b46e04d`](https://github.com/nodejs/node/commit/272b46e04d)] - **quic**: skip test-quic-preferred-address-ipv6.js when no ipv6 (James M Snell) [#33919](https://github.com/nodejs/node/pull/33919) +* [[`4b70f95d64`](https://github.com/nodejs/node/commit/4b70f95d64)] - **quic**: use Check instead of FromJust in QuicStream (Daniel Bevenius) [#33909](https://github.com/nodejs/node/pull/33909) +* [[`133a97f60d`](https://github.com/nodejs/node/commit/133a97f60d)] - **quic**: always copy stateless reset token (Anna Henningsen) [#33917](https://github.com/nodejs/node/pull/33917) +* [[`14d012ef96`](https://github.com/nodejs/node/commit/14d012ef96)] - **quic**: fix minor linting issue (James M Snell) [#33913](https://github.com/nodejs/node/pull/33913) +* [[`55360443ce`](https://github.com/nodejs/node/commit/55360443ce)] - **quic**: initial QUIC implementation (James M Snell) [#32379](https://github.com/nodejs/node/pull/32379) +* [[`a12a2d892f`](https://github.com/nodejs/node/commit/a12a2d892f)] - **repl**: update deprecation codes (Antoine du HAMEL) [#33430](https://github.com/nodejs/node/pull/33430) +* [[`2b3acc44f0`](https://github.com/nodejs/node/commit/2b3acc44f0)] - **src**: large pages support in illumos/solaris systems (David Carlier) [#34320](https://github.com/nodejs/node/pull/34320) +* [[`84a7880749`](https://github.com/nodejs/node/commit/84a7880749)] - **src**: minor cleanup and simplification of crypto::Hash (James M Snell) [#35651](https://github.com/nodejs/node/pull/35651) +* [[`bfc906906f`](https://github.com/nodejs/node/commit/bfc906906f)] - **src**: combine TLSWrap/SSLWrap (James M Snell) [#35552](https://github.com/nodejs/node/pull/35552) +* [[`9fd6122659`](https://github.com/nodejs/node/commit/9fd6122659)] - **src**: add embedding helpers to reduce boilerplate code (Anna Henningsen) [#35597](https://github.com/nodejs/node/pull/35597) +* [[`f7ed5f4ae3`](https://github.com/nodejs/node/commit/f7ed5f4ae3)] - **src**: remove toLocalChecked in crypto\_context (James M Snell) [#35509](https://github.com/nodejs/node/pull/35509) +* [[`17d5d94921`](https://github.com/nodejs/node/commit/17d5d94921)] - **src**: replace more toLocalCheckeds in crypto\_\* (James M Snell) [#35509](https://github.com/nodejs/node/pull/35509) +* [[`83eaaf9731`](https://github.com/nodejs/node/commit/83eaaf9731)] - **src**: remove unused AsyncWrapObject (James M Snell) [#35511](https://github.com/nodejs/node/pull/35511) +* [[`ee5f849fda`](https://github.com/nodejs/node/commit/ee5f849fda)] - **src**: fix compiler warning in env.cc (Anna Henningsen) [#35547](https://github.com/nodejs/node/pull/35547) +* [[`40364b181d`](https://github.com/nodejs/node/commit/40364b181d)] - **src**: add check against non-weak BaseObjects at process exit (Anna Henningsen) [#35490](https://github.com/nodejs/node/pull/35490) +* [[`bc0c094b74`](https://github.com/nodejs/node/commit/bc0c094b74)] - **src**: unset NODE\_VERSION\_IS\_RELEASE from master (Antoine du Hamel) [#35531](https://github.com/nodejs/node/pull/35531) +* [[`fdf0a84e82`](https://github.com/nodejs/node/commit/fdf0a84e82)] - **src**: move all base64.h inline methods into -inl.h header file (Anna Henningsen) [#35432](https://github.com/nodejs/node/pull/35432) +* [[`ff4cf817a3`](https://github.com/nodejs/node/commit/ff4cf817a3)] - **src**: create helper for reading Uint32BE (Juan José Arboleda) [#34944](https://github.com/nodejs/node/pull/34944) +* [[`c6e1edcc28`](https://github.com/nodejs/node/commit/c6e1edcc28)] - **src**: add Update(const sockaddr\*) variant (James M Snell) [#34752](https://github.com/nodejs/node/pull/34752) +* [[`1c14810edc`](https://github.com/nodejs/node/commit/1c14810edc)] - **src**: allow instances of net.BlockList to be created internally (James M Snell) [#34741](https://github.com/nodejs/node/pull/34741) +* [[`6d1f0aed52`](https://github.com/nodejs/node/commit/6d1f0aed52)] - **src**: add SocketAddressLRU Utility (James M Snell) [#34618](https://github.com/nodejs/node/pull/34618) +* [[`feb93c4e84`](https://github.com/nodejs/node/commit/feb93c4e84)] - **src**: guard against nullptr deref in TimerWrapHandle::Stop (Anna Henningsen) [#34460](https://github.com/nodejs/node/pull/34460) +* [[`7a447bcd54`](https://github.com/nodejs/node/commit/7a447bcd54)] - **src**: snapshot node (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`c943cb4809`](https://github.com/nodejs/node/commit/c943cb4809)] - **src**: reset zero fill toggle at pre-execution (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`0b8ae5f2cd`](https://github.com/nodejs/node/commit/0b8ae5f2cd)] - **src**: snapshot loaders (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`7ecb285842`](https://github.com/nodejs/node/commit/7ecb285842)] - **src**: make code cache test work with snapshots (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`1faf6f459f`](https://github.com/nodejs/node/commit/1faf6f459f)] - **src**: snapshot Environment upon instantiation (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`ef9964f4c1`](https://github.com/nodejs/node/commit/ef9964f4c1)] - **src**: add an ExternalReferenceRegistry class (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`404302fff5`](https://github.com/nodejs/node/commit/404302fff5)] - **src**: split the main context initialization from Environemnt ctor (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`874460a1d1`](https://github.com/nodejs/node/commit/874460a1d1)] - **src**: refactor TimerWrap lifetime management (Anna Henningsen) [#34252](https://github.com/nodejs/node/pull/34252) +* [[`e2f9dc6e5a`](https://github.com/nodejs/node/commit/e2f9dc6e5a)] - **src**: remove user\_data from TimerWrap (Anna Henningsen) [#34252](https://github.com/nodejs/node/pull/34252) +* [[`e19a251824`](https://github.com/nodejs/node/commit/e19a251824)] - **src**: replace InspectorTimer with TimerWrap utility (James M Snell) [#34186](https://github.com/nodejs/node/pull/34186) +* [[`d4f69002b4`](https://github.com/nodejs/node/commit/d4f69002b4)] - **src**: add TimerWrap utility (James M Snell) [#34186](https://github.com/nodejs/node/pull/34186) +* [[`52de4cb107`](https://github.com/nodejs/node/commit/52de4cb107)] - **src**: minor updates to FastHrtime (Anna Henningsen) [#33851](https://github.com/nodejs/node/pull/33851) +* [[`4678e44bb2`](https://github.com/nodejs/node/commit/4678e44bb2)] - **src**: perform bounds checking on error source line (Anna Henningsen) [#33645](https://github.com/nodejs/node/pull/33645) +* [[`7232c2a160`](https://github.com/nodejs/node/commit/7232c2a160)] - **src**: use getauxval in node\_main.cc (Daniel Bevenius) [#33693](https://github.com/nodejs/node/pull/33693) +* [[`6be80e1893`](https://github.com/nodejs/node/commit/6be80e1893)] - **stream**: fix legacy pipe error handling (Robert Nagy) [#35257](https://github.com/nodejs/node/pull/35257) +* [[`2b9003b165`](https://github.com/nodejs/node/commit/2b9003b165)] - **stream**: don't destroy on async iterator success (Robert Nagy) [#35122](https://github.com/nodejs/node/pull/35122) +* [[`9c62e0e384`](https://github.com/nodejs/node/commit/9c62e0e384)] - **stream**: move to internal/streams (Matteo Collina) [#35239](https://github.com/nodejs/node/pull/35239) +* [[`e0d3b758a0`](https://github.com/nodejs/node/commit/e0d3b758a0)] - **stream**: improve Writable.destroy performance (Robert Nagy) [#35067](https://github.com/nodejs/node/pull/35067) +* [[`02c4869bee`](https://github.com/nodejs/node/commit/02c4869bee)] - **stream**: fix Duplex.\_construct race (Robert Nagy) [#34456](https://github.com/nodejs/node/pull/34456) +* [[`5aeaff6499`](https://github.com/nodejs/node/commit/5aeaff6499)] - **stream**: refactor lazyLoadPromises (rickyes) [#34354](https://github.com/nodejs/node/pull/34354) +* [[`a55b77d2d3`](https://github.com/nodejs/node/commit/a55b77d2d3)] - **stream**: finished on closed OutgoingMessage (Robert Nagy) [#34313](https://github.com/nodejs/node/pull/34313) +* [[`e10e292c5e`](https://github.com/nodejs/node/commit/e10e292c5e)] - **stream**: remove unused \_transformState (Robert Nagy) [#33105](https://github.com/nodejs/node/pull/33105) +* [[`f5c11a1a0a`](https://github.com/nodejs/node/commit/f5c11a1a0a)] - **stream**: don't emit finish after close (Robert Nagy) [#32933](https://github.com/nodejs/node/pull/32933) +* [[`089d654dd8`](https://github.com/nodejs/node/commit/089d654dd8)] - **test**: fix addons/dlopen-ping-pong for npm 7.0.1 (Myles Borins) [#35667](https://github.com/nodejs/node/pull/35667) +* [[`9ce5a03148`](https://github.com/nodejs/node/commit/9ce5a03148)] - **test**: add test for listen callback runtime binding (H Adinarayana) [#35657](https://github.com/nodejs/node/pull/35657) +* [[`a3731309cc`](https://github.com/nodejs/node/commit/a3731309cc)] - **test**: refactor test-https-host-headers (himself65) [#32805](https://github.com/nodejs/node/pull/32805) +* [[`30fb4a015d`](https://github.com/nodejs/node/commit/30fb4a015d)] - **test**: add common.mustSucceed (Tobias Nießen) [#35086](https://github.com/nodejs/node/pull/35086) +* [[`c143266b55`](https://github.com/nodejs/node/commit/c143266b55)] - **test**: add a few uncovered url tests from wpt (Daijiro Wachi) [#35636](https://github.com/nodejs/node/pull/35636) +* [[`6751b6dc3d`](https://github.com/nodejs/node/commit/6751b6dc3d)] - **test**: check for AbortController existence (James M Snell) [#35616](https://github.com/nodejs/node/pull/35616) +* [[`9f2e19fa30`](https://github.com/nodejs/node/commit/9f2e19fa30)] - **test**: update url test for win (Daijiro Wachi) [#35622](https://github.com/nodejs/node/pull/35622) +* [[`c88d845db3`](https://github.com/nodejs/node/commit/c88d845db3)] - **test**: update wpt status for url (Daijiro Wachi) [#35335](https://github.com/nodejs/node/pull/35335) +* [[`589dbf1392`](https://github.com/nodejs/node/commit/589dbf1392)] - **test**: update wpt tests for url (Daijiro Wachi) [#35329](https://github.com/nodejs/node/pull/35329) +* [[`46bef7b771`](https://github.com/nodejs/node/commit/46bef7b771)] - **test**: add Actions annotation output (Mary Marchini) [#34590](https://github.com/nodejs/node/pull/34590) +* [[`a9c5b873ca`](https://github.com/nodejs/node/commit/a9c5b873ca)] - **test**: move buffer-as-path symlink test to its own test file (Rich Trott) [#34569](https://github.com/nodejs/node/pull/34569) +* [[`31ba9a20bd`](https://github.com/nodejs/node/commit/31ba9a20bd)] - **test**: run test-benchmark-napi on arm (Rich Trott) [#34502](https://github.com/nodejs/node/pull/34502) +* [[`2c4ebe0426`](https://github.com/nodejs/node/commit/2c4ebe0426)] - **test**: use `.then(common.mustCall())` for all async IIFEs (Anna Henningsen) [#34363](https://github.com/nodejs/node/pull/34363) +* [[`772fdb0cd3`](https://github.com/nodejs/node/commit/772fdb0cd3)] - **test**: fix flaky test-fs-stream-construct (Rich Trott) [#34203](https://github.com/nodejs/node/pull/34203) +* [[`9b8d317d99`](https://github.com/nodejs/node/commit/9b8d317d99)] - **test**: fix flaky test-http2-invalidheaderfield (Rich Trott) [#34173](https://github.com/nodejs/node/pull/34173) +* [[`2ccf15b2bf`](https://github.com/nodejs/node/commit/2ccf15b2bf)] - **test**: ensure finish is emitted before destroy (Robert Nagy) [#33137](https://github.com/nodejs/node/pull/33137) +* [[`27f3530da3`](https://github.com/nodejs/node/commit/27f3530da3)] - **test**: remove unnecessary eslint-disable comment (Rich Trott) [#34000](https://github.com/nodejs/node/pull/34000) +* [[`326a79ebb9`](https://github.com/nodejs/node/commit/326a79ebb9)] - **test**: fix typo in test-quic-client-empty-preferred-address.js (gengjiawen) [#33976](https://github.com/nodejs/node/pull/33976) +* [[`b0b268f5a2`](https://github.com/nodejs/node/commit/b0b268f5a2)] - **test**: fix flaky fs-construct test (Robert Nagy) [#33625](https://github.com/nodejs/node/pull/33625) +* [[`cbe955c227`](https://github.com/nodejs/node/commit/cbe955c227)] - **test**: add net regression test (Robert Nagy) [#32794](https://github.com/nodejs/node/pull/32794) +* [[`5d179cb2ec`](https://github.com/nodejs/node/commit/5d179cb2ec)] - **timers**: use AbortController with correct name/message (Anna Henningsen) [#34763](https://github.com/nodejs/node/pull/34763) +* [[`64d22c320c`](https://github.com/nodejs/node/commit/64d22c320c)] - **timers**: fix multipleResolves in promisified timeouts/immediates (Denys Otrishko) [#33949](https://github.com/nodejs/node/pull/33949) +* [[`fbe33aa52e`](https://github.com/nodejs/node/commit/fbe33aa52e)] - **tools**: bump remark-lint-preset-node to 1.17.1 (Rich Trott) [#35668](https://github.com/nodejs/node/pull/35668) +* [[`35a6946193`](https://github.com/nodejs/node/commit/35a6946193)] - **tools**: update gyp-next to v0.6.2 (Michaël Zasso) [#35690](https://github.com/nodejs/node/pull/35690) +* [[`be80faa0c8`](https://github.com/nodejs/node/commit/be80faa0c8)] - **tools**: update gyp-next to v0.6.0 (Ujjwal Sharma) [#35635](https://github.com/nodejs/node/pull/35635) +* [[`2d83e743d9`](https://github.com/nodejs/node/commit/2d83e743d9)] - **tools**: update ESLint to 7.11.0 (Colin Ihrig) [#35578](https://github.com/nodejs/node/pull/35578) +* [[`0eca660948`](https://github.com/nodejs/node/commit/0eca660948)] - **tools**: update ESLint to 7.7.0 (Colin Ihrig) [#34783](https://github.com/nodejs/node/pull/34783) +* [[`77b68f9a29`](https://github.com/nodejs/node/commit/77b68f9a29)] - **tools**: add linting rule for async IIFEs (Anna Henningsen) [#34363](https://github.com/nodejs/node/pull/34363) +* [[`f04538761f`](https://github.com/nodejs/node/commit/f04538761f)] - **tools**: enable Node.js command line flags in node\_mksnapshot (Joyee Cheung) [#32984](https://github.com/nodejs/node/pull/32984) +* [[`b0d4eb37c7`](https://github.com/nodejs/node/commit/b0d4eb37c7)] - **tools**: update ESLint to 7.4.0 (Colin Ihrig) [#34205](https://github.com/nodejs/node/pull/34205) +* [[`076e4ed2d1`](https://github.com/nodejs/node/commit/076e4ed2d1)] - **tools**: update ESLint from 7.2.0 to 7.3.1 (Rich Trott) [#34000](https://github.com/nodejs/node/pull/34000) +* [[`7afe3af200`](https://github.com/nodejs/node/commit/7afe3af200)] - **url**: fix file url reparse (Daijiro Wachi) [#35671](https://github.com/nodejs/node/pull/35671) diff --git a/doc/changelogs/CHANGELOG_V4.md b/doc/changelogs/CHANGELOG_V4.md index 69f36cf2cea9d9..64a452f8b91231 100644 --- a/doc/changelogs/CHANGELOG_V4.md +++ b/doc/changelogs/CHANGELOG_V4.md @@ -58,6 +58,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V5.md b/doc/changelogs/CHANGELOG_V5.md index c9cd28d692bfaf..00735a73982265 100644 --- a/doc/changelogs/CHANGELOG_V5.md +++ b/doc/changelogs/CHANGELOG_V5.md @@ -34,6 +34,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V6.md b/doc/changelogs/CHANGELOG_V6.md index 20c9370ff0d5ab..6444d9c46b8b20 100644 --- a/doc/changelogs/CHANGELOG_V6.md +++ b/doc/changelogs/CHANGELOG_V6.md @@ -63,6 +63,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V7.md b/doc/changelogs/CHANGELOG_V7.md index a64b973c8c2192..e094ddedc2fe98 100644 --- a/doc/changelogs/CHANGELOG_V7.md +++ b/doc/changelogs/CHANGELOG_V7.md @@ -32,6 +32,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V8.md b/doc/changelogs/CHANGELOG_V8.md index 41e38efcf57206..536e1a58476918 100644 --- a/doc/changelogs/CHANGELOG_V8.md +++ b/doc/changelogs/CHANGELOG_V8.md @@ -54,6 +54,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/doc/changelogs/CHANGELOG_V9.md b/doc/changelogs/CHANGELOG_V9.md index e4cdf50a9381b6..dc5bfe086e81f9 100644 --- a/doc/changelogs/CHANGELOG_V9.md +++ b/doc/changelogs/CHANGELOG_V9.md @@ -33,6 +33,7 @@ * Other Versions + * [15.x](CHANGELOG_V15.md) * [14.x](CHANGELOG_V14.md) * [13.x](CHANGELOG_V13.md) * [12.x](CHANGELOG_V12.md) diff --git a/src/node_version.h b/src/node_version.h index ac060f1cb0bb35..e7cd94fe072e86 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -22,7 +22,7 @@ #ifndef SRC_NODE_VERSION_H_ #define SRC_NODE_VERSION_H_ -#define NODE_MAJOR_VERSION 15 +#define NODE_MAJOR_VERSION 16 #define NODE_MINOR_VERSION 0 #define NODE_PATCH_VERSION 0