Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
This is a security release.

Notable changes:

The following CVEs are fixed in this release:

- CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP
                  address (Medium)

PR-URL: nodejs-private/node-private#363
13 contributors

Users who have contributed to this file

@BethGriggs @danielleadams @targos @Trott @richardlau @ruyadorno @juanarbol @RafaelGSS @ShogunPanda @mhdawson @lpinca @ljharb
4306 lines (3993 sloc) 677 KB

Node.js 16 ChangeLog

LTS 'Gallium' Current
16.18.1
16.18.0
16.17.1
16.17.0
16.16.0
16.15.1
16.15.0
16.14.2
16.14.1
16.14.0
16.13.2
16.13.1
16.13.0
16.12.0
16.11.1
16.11.0
16.10.0
16.9.1
16.9.0
16.8.0
16.7.0
16.6.2
16.6.1
16.6.0
16.5.0
16.4.2
16.4.1
16.4.0
16.3.0
16.2.0
16.1.0
16.0.0

2022-11-04, Version 16.18.1 'Gallium' (LTS), @BethGriggs

This is a security release.

Notable changes

The following CVEs are fixed in this release:

  • CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)

More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.

Commits

2022-10-12, Version 16.18.0 'Gallium' (LTS), @juanarbol

Notable changes

  • [1cc050eaa8] - (SEMVER-MINOR) assert: add getCalls and reset to callTracker (Moshe Atlow) #44191
  • [e5c9975f11] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201
  • [317cd051ce] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201
  • [f80bdc5ef3] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588
  • [8398e98b1b] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974
  • [2cd2f56962] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378
  • [6be761e8a9] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045
  • [1400796cef] - (SEMVER-MINOR) net,tls: pass a valid socket on tlsClientError (Daeyeon Jeong) #44021
  • [092239a7f1] - (SEMVER-MINOR) net: add local family (theanarkh) #43975
  • [381e11e18e] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
  • [2ba547aa5b] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
  • [6ed3367155] - (SEMVER-MINOR) stream: add ReadableByteStream.tee() (Daeyeon Jeong) #44505
  • [0fbedac6ce] - (SEMVER-MINOR) test_runner: add before/after/each hooks (Moshe Atlow) #43730
  • [70563b53c5] - (SEMVER-MINOR) util: add maxArrayLength option to Set and Map (Kohei Ueno) #43576

More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.

Commits

2022-09-23, Version 16.17.1 'Gallium' (LTS), @ruyadorno

This is a security release.

Notable changes

The following CVEs are fixed in this release:

More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.

Commits

2022-08-16, Version 16.17.0 'Gallium' (LTS), @targos

Notable Changes

Experimental command-line argument parser API

Adds util.parseArgs helper for higher level command-line argument parsing.

Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi, Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband - #42675

Experimental ESM Loader Hooks API

Node.js ESM Loader hooks now support multiple custom loaders, and composition is achieved via "chaining": foo-loader calls bar-loader calls qux-loader (a custom loader must now signal a short circuit when intentionally not calling the next). See the ESM docs for details.

Real-world use-cases are laid out for end-users with working examples in the article Custom ESM loaders: Who, what, when, where, why, how.

Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - #42623

Experimental test runner

The node:test module, which was initially introduced in Node.js v18.0.0, is now available with all the changes done to it up to Node.js v18.7.0.

Improved interoperability of the Web Crypto API

To better align Node.js' experimental implementation of the Web Crypto API with other runtimes, several changes were made:

  • Support for CFRG curves was added, with the 'Ed25519', 'Ed448', 'X25519', and 'X448' algorithms.
  • The proprietary 'NODE-DSA', 'NODE-DH', 'NODE-SCRYPT', 'NODE-ED25519', 'NODE-ED448', 'NODE-X25519', and 'NODE-X448' algorithms were removed.
  • The proprietary 'node.keyObject' import/export format was removed.

Contributed by Filip Skokan - #42507, #43310

Dependency updates

  • Updated Corepack to 0.12.1 - #43965
  • Updated ICU to 71.1 - #42655
  • Updated npm to 8.15.0 - #43917
  • Updated Undici to 5.8.0 - #43886

Other notable changes

  • [5f1e9e2030] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
  • [934077a137] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
  • [7683e9623c] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
  • [302a134b83] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738
  • [4884f18ce5] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
  • [90f395dda9] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008
  • [7a5de2cc0c] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
  • [087adbb7a3] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
  • [979c98a3cb] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008
  • [e04c8a4921] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008
  • [464830993e] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
  • [3d7808ec3f] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
  • [082a2630fd] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
  • [5a74939770] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
  • [f05fd1a423] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
  • [9d1b4b7e29] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [fa5ac5a2eb] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008
  • [94070f152e] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901
  • [36dd39dec0] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008
  • [8adf7d5e91] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951
  • [3c1ed86840] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
  • [e6186af5cc] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
  • [3d851d6d6b] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
  • [303bd08d88] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
  • [da03e9f484] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
  • [73f852e1e3] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
  • [6dcdcd7f50] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
  • [5750358872] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
  • [e7b99e8c8d] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
  • [1281a48b89] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
  • [9ea9797d34] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
  • [046debaee0] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008
  • [6641fda10a] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849
  • [edec73032c] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
  • [2aae868fa2] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008
  • [513f52445b] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
  • [a8eca74450] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784
  • [845279e331] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849

Commits

Semver-minor commits

  • [58279d5b76] - (SEMVER-MINOR) buffer: graduate Blob from experimental (James M Snell) #41270
  • [72a0c5c743] - (SEMVER-MINOR) crypto: remove Node.js-specific webcrypto extensions (Filip Skokan) #43310
  • [2e3a69a2ba] - (SEMVER-MINOR) crypto: add CFRG curves to Web Crypto API (Filip Skokan) #42507
  • [5f1e9e2030] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427
  • [934077a137] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816
  • [7683e9623c] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
  • [4884f18ce5] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714
  • [90f395dda9] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008
  • [247a6f6e85] - (SEMVER-MINOR) esm: add chaining to loaders (Jacob Smith) #42623
  • [7a5de2cc0c] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885
  • [087adbb7a3] - (SEMVER-MINOR) events: add CustomEvent (Daeyeon Jeong) #43514
  • [979c98a3cb] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008
  • [e04c8a4921] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008
  • [464830993e] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601
  • [3d7808ec3f] - (SEMVER-MINOR) fs: add read(buffer[, options]) versions (LiviaMedeiros) #42768
  • [082a2630fd] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806
  • [5a74939770] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
  • [f05fd1a423] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
  • [9d1b4b7e29] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397
  • [fa5ac5a2eb] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008
  • [94070f152e] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901
  • [36dd39dec0] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008
  • [8adf7d5e91] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951
  • [3c1ed86840] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714
  • [e6186af5cc] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
  • [3d851d6d6b] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325
  • [303bd08d88] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
  • [da03e9f484] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112
  • [73f852e1e3] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510
  • [6dcdcd7f50] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725
  • [5750358872] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116
  • [e7b99e8c8d] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478
  • [1281a48b89] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
  • [9ea9797d34] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124
  • [046debaee0] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008
  • [6641fda10a] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849
  • [edec73032c] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802
  • [9a530832cb] - (SEMVER-MINOR) test: add initial test module (Colin Ihrig) #42325
  • [61a2ddc597] - (SEMVER-MINOR) test_runner: expose describe and it (Moshe Atlow) #43420
  • [cd6f24be4c] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
  • [a4b277cb4d] - (SEMVER-MINOR) test_runner: support 'only' tests (Colin Ihrig) #42514
  • [2aae868fa2] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008
  • [432e3054be] - (SEMVER-MINOR) util: add tokens to parseArgs (John Gee) #43459
  • [a1e122be62] - (SEMVER-MINOR) util: add parseArgs module (Benjamin Coe) #42675
  • [513f52445b] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329
  • [a8eca74450] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784
  • [845279e331] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849

Semver-patch commits

  • [480a754ddc] - assert: callTracker throw a specific error message when possible (Moshe Atlow) #43640
  • [ebb334b124] - assert: fix CallTracker wraps the function causes the length to be lost (OneNail) #42909
  • [7f8f83d4d0] - assert: make assert.fail less affected by prototype tampering (Antoine du Hamel) #42918
  • [a6a46f9578] - async_hooks: use kEmptyObject (LiviaMedeiros) #43159
  • [84075821be] - async_hooks: remove destroyed symbol on Promises (Gerhard Stöbich) #42402
  • [b69396a41a] - async_hooks: avoid decrementing iterator after erase (Gabriel Bota) #42749
  • [6b7c6192ff] - bootstrap: move global initialization to js (Alena Khineika) #43625
  • [4fbe24588a] - bootstrap: use the isolate snapshot in workers (Joyee Cheung) #42702
  • [3a83e5cfd9] - bootstrap: move embedded snapshot to SnapshotBuilder (Joyee Cheung) #42702
  • [b4201ace9b] - bootstrap: reset process._exit and process.exitCode in pre-execution (Joyee Cheung) #42466
  • [f8f7c1e5bd] - bootstrap: run inspector and event loop in snapshot builder (Joyee Cheung) #42466
  • [2d79480fcb] - bootstrap: make I/O streams work with user-land snapshot (Joyee Cheung) #42466
  • [1b2946b1a4] - bootstrap: refresh options in pre-execution (Joyee Cheung) #42466
  • [ca57563522] - bootstrap: use SnapshotData to pass snapshot data around (Joyee Cheung) #42360
  • [60d032b89c] - buffer: do not leak memory if buffer is too big (Keyhan Vakil) #43938
  • [5ddd367bec] - buffer: improve Blob constructor error message when passing a string (Xuguang Mei) #42338
  • [691e5d8bf3] - buffer: fix atob input validation (Antoine du Hamel) #42539
  • [a948fb8b56] - build: add .gitattributes for npm and other shims (Hrishikesh Kadam) #43879
  • [623dd2a70b] - build: remove precompiled header and debug information for host builds (Niyas Sait) #42538
  • [129b05e0c5] - build: fix various shared library build issues (William Marlow) #41850
  • [fba6e96326] - build: fix indeterminacy of icu_locales value (Sergey Nazaryev) #42865
  • [74bce1c448] - build: improve reliability of find_python.cmd script (Luigi Pinca) #42810
  • [637af6c068] - build: windows/arm64 native compilation support (Niyas Sait) #42408
  • [fe661fadad] - build: add --node-snapshot-main configure option (Joyee Cheung) #42466
  • [daadd58baa] - build,test: increase stack size limit on Windows (Tobias Nießen) #43632
  • [1e1634ae99] - child_process: do not need to count length when maxBuffer is Infinity (theanarkh) #43822
  • [2b6e98b6b2] - child_process: improve ipc write performance (rubikscraft) #42931
  • [7aac430b3f] - child_process: speed up 'advanced' ipc receiving (rubikscraft) #42931
  • [6844930290] - child_process: use kEmptyObject (LiviaMedeiros) #43159
  • [72400b7a7b] - child_process: add env contents types in JSDoc (Rich Trott) #42494
  • [fe57e5685d] - cluster: send connection to other server when worker drop it (theanarkh) #43747
  • [61b5d4a999] - cluster: fix closing dgram sockets in cluster workers throws errors (Ouyang Yadong) #43709
  • [97f4cc7766] - cluster: fix fd leak (theanarkh) #43650
  • [1cb19ec96a] - cluster: use kEmptyObject (LiviaMedeiros) #43159
  • [c8706f3a7f] - cluster, net: fix listen pipe with readable and writable in cluster (theanarkh) #43634
  • [35fc1c205e] - console: fix console.dir crash on a revoked proxy (Daeyeon Jeong) #43100
  • [3449472f3d] - crypto: remove unneeded guard (Rich Trott) #43856
  • [a3a845b8ba] - crypto: don't disable TLS 1.3 without suites (Adam Majer) #43427
  • [588a84e11d] - crypto: handle webcrypto generateKey() usages edge case (Filip Skokan) #43454
  • [224d3f40dc] - crypto: update Wrapping and unwrapping keys webcrypto example (Filip Skokan) #43452
  • [8dca8d7805] - crypto: fix webcrypto generateKey() with empty usages (Filip Skokan) #43431
  • [bef600e787] - crypto: fix webcrypto digest() invalid algorithm (Filip Skokan) #43431
  • [077ad7e90d] - crypto: fix webcrypto RSA generateKey() use of publicExponent (Filip Skokan) #43431
  • [04572ec914] - crypto: fix webcrypto AES-KW keys accepting encrypt/decrypt usages (Filip Skokan) #43431
  • [52ea86908d] - crypto: fix webcrypto deriveBits for non-byte lengths (Filip Skokan) #43431
  • [97b2fef24a] - crypto: fix webcrypto import of cfrg raw public keys (Filip Skokan) #43404
  • [a57149d14e] - crypto: fix webcrypto JWK EC and OKP import crv check (Filip Skokan) #43346
  • [1cb267261c] - crypto: test webcrypto ec raw public key import (Filip Skokan) #43405
  • [02cf57b8d6] - crypto: use kEmptyObject (LiviaMedeiros) #43159
  • [4600892a45] - crypto: adjust minimum length in generateKey('hmac', ...) (LiviaMedeiros) #42944
  • [baaf77898b] - crypto: clean up parameter validation in HKDF (Tobias Nießen) #42924
  • [3f43dadeda] - crypto: validate this in all webcrypto methods and getters (Filip Skokan) #42815
  • [297e374565] - crypto: do not add undefined hash in webcrypto normalizeAlgorithm (Filip Skokan) #42559
  • [c764e81a69] - crypto: cleanup webcrypto jwk code (Filip Skokan) #42562
  • [c605ad1343] - crypto: fix webcrypto derive key lengths (Filip Skokan) #42542
  • [0b1b616a9c] - crypto: improve prime size argument validation (Tobias Nießen) #42234
  • [f1c12aa6df] - debugger: throw a more useful error when the frame is missing (Kohei Ueno) #42776
  • [f75a5a92ec] - debugger: fix inconsistent inspector output of exec new Map() (Kohei Ueno) #42423
  • [e3d8893265] - deps: V8: backport 22698d267667 (Chengzhong Wu) #43751
  • [06a6bdaf7a] - deps: update corepack to 0.12.1 (Node.js GitHub Bot) #43965
  • [c7be356dd7] - deps: update hast-util-raw (Moshe Atlow) #43927
  • [62c27d0d84] - deps: update undici to 5.8.0 (Node.js GitHub Bot) #43886
  • [92051cb4a1] - deps: cherry-pick libuv/[email protected] (Ben Noordhuis) #43950
  • [8835898e43] - deps: cherry-pick libuv/[email protected] (Ben Noordhuis) #43950
  • [1566854218] - deps: upgrade npm to 8.15.0 (npm team) #43917
  • [e6baa8a113] - deps: upgrade npm to 8.14.0 (npm team) #43826
  • [aa137caac3] - deps: update corepack to 0.12.0 (Node.js GitHub Bot) #43748
  • [04188e54f5] - deps: update undici to 5.7.0 (Node.js GitHub Bot) #43790
  • [09f9060f7d] - deps: upgrade npm to 8.13.2 (npm team) #43622
  • [1343615224] - deps: upgrade npm to 8.13.1 (npm team) #43552
  • [49080bc42f] - deps: patch V8 to 9.4.146.26 (Michaël Zasso) #43778
  • [705a8afd81] - deps: update Corepack to 0.11.2 (Maël Nison) #43402
  • [552e91121b] - deps: update undici to 5.5.1 (Node.js GitHub Bot) #43412
  • [0ff00945d5] - deps: update undici to 5.4.0 (Node.js GitHub Bot) #43262
  • [170bec811b] - deps: update undici to 5.3.0 (Node.js GitHub Bot) #43197
  • [b97075dfec] - deps: update undici to 5.2.0 (Node.js GitHub Bot) #43059
  • [4d4e00a6b0] - deps: update undici to 5.1.1 (Michaël Zasso) #42939
  • [cba4f6c8a0] - deps: update Acorn to v8.7.0 (Michaël Zasso) #42667
  • [a5507fd409] - deps: update ICU to 71.1 (Michaël Zasso) #42655
  • [cbb253e61e] - deps: upgrade npm to 8.12.1 (npm team) #43301
  • [01e7d1f349] - deps: cherry-pick 4ab70f6 from V8 upstream (Khaidi Chu) #43328
  • [fea892a168] - dns: fix getServers return undefined (jiahao.si) #43922
  • [43a3239d85] - dns: fix cares memory leak (theanarkh) #43912
  • [8d2a256bf4] - dns: make promise API fully constructed from lib/internal/dns/promises (Feng Yu) #43227
  • [71f7b00fca] - domain: fix vm promise tracking while keeping isolation (Stephen Belanger) #43556
  • [9f75f26ad9] - errors: extract type detection & use in ERR_INVALID_RETURN_VALUE (Jacob Smith) #43558
  • [f5115b4abc] - errors,console: refactor to use ES2021 syntax (小菜) #42872
  • [85ba4e069d] - errors,vm: update error and use cause (Gus Caplan) #42820
  • [ae157d9098] - esm: fix loader hooks accepting too many arguments (Jacob Smith) #44109
  • [3139c110dc] - esm: remove superfluous argument (Rich Trott) #43884
  • [63228efe08] - esm: throw on any non-2xx response (LiviaMedeiros) #43742
  • [a6d4d31da5] - esm: fix erroneous re-initialization of ESMLoader (Jacob Smith) #43763
  • [953e663e58] - esm: treat 307 and 308 as redirects in HTTPS imports (Kid) #43689
  • [33a2902a33] - esm: restore next<HookName>'s context as optional arg (Jacob Smith) #43553
  • [df3f5cb93e] - esm: fix chain advances when loader calls next<HookName> multiple times (Jacob Smith) #43303
  • [eac4e20525] - esm: refactor responseURL handling (Guy Bedford) #43164
  • [e114ed0cda] - esm: fix http(s) import via custom loader (Jacob Smith) #43130
  • [6564e69c78] - esm: fix imports from non-file module (Antoine du Hamel) #42881
  • [e1bc88764d] - esm: graduate top-level-await to stable (Antoine du Hamel) #42875
  • [14a929b0b0] - esm: emit experimental warnings in common place (Jacob Smith) #42314
  • [0167988ce3] - events: improve Event compatibility (Daeyeon Jeong) #43461
  • [e51c0e9939] - events: improve EventListener validation (Daeyeon Jeong) #43491
  • [393c021d7f] - events: fix adding abort listener in events.once (Daeyeon Jeong) #43373
  • [a7eaf3981d] - events: use kEmptyObject (LiviaMedeiros) #43159
  • [fcf74c53d8] - fs: refactor realpath with Map and Set (LiviaMedeiros) #43569
  • [bfb8a0bfac] - fs: don't end fs promises on Isolate termination (Santiago Gimeno) #42910
  • [ca4157ea40] - fs: use kEmptyObject (LiviaMedeiros) #43159
  • [835056cbcb] - fs: remove unnecessary ?? operator (Morgan Roderick) #43073
  • [8b89c7fbab] - fs: export constants from fs/promises (Feng Yu) #43177
  • [b0d9915bc6] - fs: add trailing commas (LiviaMedeiros) #43127
  • [637820d1e3] - fs: fix write methods param validation and docs (LiviaMedeiros) #41677
  • [5d8b2cb51d] - fs: fix mkdirSync so ENOSPC is correctly reported (Santiago Gimeno) #42811
  • [58eebaf717] - http: defer reentrant execution of Parser::Execute (Paolo Insogna) #43369
  • [ea3ca874da] - http: fix http agent keep alive (theanarkh) #43380
  • [85d93f0bf6] - http: use kEmptyObject (LiviaMedeiros) #43159
  • [1bfff396ac] - http: document that ClientRequest inherits from OutgoingMessage (K.C.Ashish Kumar) #42642
  • [db53e9b387] - http2: log debug only when in debug mode (Basit) #43626
  • [95083cb0ad] - http2: use kEmptyObject (LiviaMedeiros) #43159
  • [367454205d] - http2: set origin name correctly when servername is empty (ofirbarak) #42838
  • [c73f739acd] - http2: improve tests and docs (Daeyeon Jeong) #42858
  • [4fbedffb55] - https: use kEmptyObject (LiviaMedeiros) #43159
  • [5879642260] - inspector: set sampling interval before start (Shelley Vohr) #43779
  • [096f7fc59a] - inspector: add missing initialization (Michael Dawson) #43254
  • [a8c24185f8] - lib: refactor to avoid unsafe regex primordials (Antoine du Hamel) #43475
  • [2a5d5e0726] - lib: modify DOMException to pass WPT (Khaidi Chu) #41517
  • [26d63f004f] - lib: implement safe alternatives to Promise static methods (Antoine du Hamel) #43728
  • [aab5adbcbe] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43473
  • [a97d0ba3af] - lib: fix TODO in freeze_intrinsics (Antoine du Hamel) #43472
  • [519cdd94c0] - lib: use kEmptyObject in various places (LiviaMedeiros) #43159
  • [7d5e7b43f6] - lib: give names to promisified methods (LiviaMedeiros) #43218
  • [cd55e221b5] - lib: use null-prototype objects for property descriptors (Antoine du Hamel) #43270
  • [9e613f7f3d] - lib: prepare files for no-var lint rule (Rich Trott) #42573
  • [327da6acde] - lib: source maps filter null prefix (Fabian Cook) #42522
  • [58f80b0dcc] - lib: improve the coverage of the validator (mawaregetsuka) #42443
  • [e48ccf5934] - lib: update JSDoc for linting (Rich Trott) #42489
  • [abc134cacc] - lib,src: add source map support for global eval (Chengzhong Wu) #43428
  • [288d9fbe5a] - loader: make require.resolve throw for unknown builtin modules (木杉) #43336
  • [7c4e1ad1ed] - module: also enable subpath imports in REPL (Ray) #43450
  • [c284eb3745] - module: ensure 'node:'-only modules can access node_modules (Colin Ihrig) #42430
  • [70a4033841] - module: cjs-module-lexer WebAssembly fallback (Guy Bedford) #43612
  • [abda05a3a7] - module: prefer async/await in https imports (Benjamin Gruenbaum) #41950
  • [f66872e36c] - net: fix socket._getpeername (Daeyeon Jeong) #43010
  • [b2d02bc2c0] - net: remove redundant connecting assignment (Ouyang Yadong) #43710
  • [ff5310a9c7] - net: fix net keepalive and noDelay (theanarkh) #43561
  • [265810a1e5] - net: prevent /32 ipv4 mask from matching all ips (supriyo-biswas) #43381
  • [e4a5bd1cf8] - net: fix net.Server keepalive and noDelay (theanarkh) #43497
  • [d766cfaca9] - net,dns: move hasObserver out of perf function (theanarkh) #43217
  • [b240868960] - net,dns: trace tcp connection and dns by perf_hooks (theanarkh) #42390
  • [112bce394d] - node-api: explicitly set __cdecl for API functions (Vladimir Morozov) #42780
  • [49103e3240] - node-api: fix napi_get_all_property_names (Vladimir Morozov) #42463
  • [5a1e1b3f33] - node-api: format Node-API related code (Vladimir Morozov) #42396
  • [31ee218eff] - node-api,src: fix module registration in MSVC C++ (Vladimir Morozov) #42459
  • [e7899ba1f7] - os: avoid unnecessary usage of var (Mohammed Keyvanzadeh) #42563
  • [463f9a6c4f] - perf_hooks: add initiatorType getter (Rafael Gonzaga) #43593
  • [096a2d9434] - perf_hooks: fix miscounted gc performance entry starttime (#43066) (Xuguang Mei) #43066
  • [f08a282098] - perf_hooks: use kEmptyObject (LiviaMedeiros) #43159
  • [8b0ae63316] - perf_hooks: fix start_time of perf_hooks (theanarkh) #43069
  • [7a5972fe9e] - perf_hooks: fix function wrapped by timerify to work correctly (Kohei Ueno) #43330
  • [5ab3da3f26] - perf_hooks: return different functions in timerify (Himself65) #42854
  • [15da462cea] - process: use defineProperty instead of assignment (Mark S. Miller) #43907
  • [67e91aa20f] - readline: fix to not access a property on an undefined value (Kohei Ueno) #43543
  • [37066f0319] - readline: use kEmptyObject (LiviaMedeiros) #43159
  • [d260569b85] - repl: fix overzealous top-level await (Tobias Nießen) #43827
  • [0bd4a04c42] - repl: use SafePromiseAll and SafePromiseRace (Antoine du Hamel) #43758
  • [bef9a36024] - repl: make autocomplete case-insensitive (Sergey Petushkov) #41632
  • [0dc96e4474] - src: pass only Isolate* and env_vars to EnabledDebugList::Parse() (Darshan Sen) #43668
  • [be3343aed3] - src: use named struct instead of typedef (Tobias Nießen) #43881
  • [eaa611c53a] - src: use named enum instead of typedef (Tobias Nießen) #43880
  • [3a32f0ecb2] - src: fix node watchdog race condition (theanarkh) #43780
  • [67ecd274b7] - src: fix napi_check_object_type_tag() (Daeyeon Jeong) #43788
  • [364b67cf7e] - src: slim down env-inl.h (Ben Noordhuis) #43745
  • [ccac1fc2e7] - src: improve and update ByteSource description (Tobias Nießen) #43478
  • [a1f1ff197e] - src: merge RunInThisContext() with RunInContext() (Daeyeon Jeong) #43225
  • [3e21ae8733] - src: fix crash on FSReqPromise destructor (Santiago Gimeno) #43533
  • [b9649a4959] - src: delegate NodeArrayBufferAllocator to v8's allocator (Jeremy Rose) #43594
  • [26e4dc83a8] - src: remove a stale comment in async_hooks (Daeyeon Jeong) #43317
  • [733739dd3f] - src: remove CopyBuffer (Tobias Nießen) #43463
  • [bf553fd26a] - src: register StreamBase while registering LibuvStreamWrap (Darshan Sen) #43321
  • [f18867b2c0] - src: fix static analysis warning and use smart ptr (Tobias Nießen) #43117
  • [094d5fc31a] - src: fix json utils escapes for U+000B (Chengzhong Wu) #43206
  • [c82d992b77] - src: convey potential exceptions during StreamPipe construction (Darshan Sen) #43240
  • [07b7f8375e] - src: make SecureContext fields private (Tobias Nießen) #43173
  • [eb2c504542] - src: reuse GetServerName (Tobias Nießen) #43168
  • [7bdd31929c] - src: remove SecureContext::operator* (Tobias Nießen) #43121
  • [438c4723f6] - src: replace TraceEventScope with sync events (Chengzhong Wu) #42977
  • [32446d8c8a] - src: delete AllocatedBuffer (Darshan Sen) #43008
  • [4cfcb6f883] - src: remove unnecessary comment (Kohei Ueno) #42952
  • [6adbb062e6] - src: fix memory leak for v8.serialize (liuxingbaoyu) #42695
  • [e769a0f19b] - src: use node: prefix in example (Antoine du Hamel) #42794
  • [b19018468c] - src: large page attributing an id on Linux (David CARLIER) #42644
  • [a26fd031bf] - src: fix coverity report (Michael Dawson) #42663
  • [8687ba8732] - src: fix alphabetically sorted binding list (Tobias Nießen) #42687
  • [4e1378b2d6] - src: fix typo in InspectorIoDelegate constructor (Kohei Ueno) #42520
  • [1dc912ebdc] - src: remove unnecessary static qualifier in crypto_dh.cc (Darshan Sen) #42492
  • [a280f88266] - src: address 3 useless call coverity warnings (Michael Dawson) #42426
  • [5195ea3cd2] - src: properly report exceptions from AddressToJS() (Darshan Sen) #42054
  • [a8553151ee] - src: suppress false coverity warning (Michael Dawson) #42284
  • [1e8611f048] - src: refactor IsSupportedAuthenticatedMode (Tobias Nießen) #42368
  • [7778ebecaa] - src: turn SSL_CTX_new CHECK/segfault into JS exception (Anna Henningsen) #42799
  • [4ffc08861a] - src: add proper mutexes for accessing FIPS state (Anna Henningsen) #42278
  • [6353a4dc8a] - src,bootstrap: remove NodeMainInstance::registry_ (Darshan Sen) #43392
  • [1a98f166bf] - src,crypto: remove uses of AllocatedBuffer from crypto_rsa.cc (Darshan Sen) #42852
  • [c336ffc059] - src,crypto: remove uses of AllocatedBuffer from crypto_ec.cc (Darshan Sen) #42766
  • [1669b94cd6] - src,crypto: remove uses of AllocatedBuffer from crypto_tls.cc (Darshan Sen) #42589
  • [6d98a51970] - src,crypto: handle empty maybe correctly in crypto_dh.cc (Darshan Sen) #42492
  • [5a2e277f93] - src,crypto: remove uses of AllocatedBuffer from crypto_dh.cc (Darshan Sen) #42492
  • [4a6649cb28] - src,stream: change return type to Maybe (Daeyeon Jeong) #43575
  • [99a3b19974] - stream: fix 0 transform hwm backpressure (Robert Nagy) #43685
  • [c4dc8b6297] - stream: add more filter tests (Benjamin Gruenbaum) #41936
  • [4b17a94b67] - stream: port more test262 tests (Benjamin Gruenbaum) #41974
  • [3bc12c69a4] - stream: avoid usage of deprecated APIs (Mohammed Keyvanzadeh) #41871
  • [4ad5a28b54] - stream: refactor to use more validators (Mohammed Keyvanzadeh) #41871
  • [545b2cd4c2] - stream: use standard for loop instead of for..of (Mohammed Keyvanzadeh) #41871
  • [3ef9f8da30] - stream: initial port of test262 tests (Benjamin Gruenbaum) #41775
  • [f793ed550a] - stream: use synchronous error validation & validate abort signal option (iMoses) #41777
  • [31cee4f914] - stream: never flatten on toArray (Benjamin Gruenbaum) #41615
  • [d63c4c68a0] - stream: use kEmptyObject (LiviaMedeiros) #43159
  • [6f9c62206b] - test_runner: add support for boolean values for concurrency option (Lenvin Gonsalves) #43887
  • [e33f6bd384] - test_runner: validate timeout option (Antoine du Hamel) #43843
  • [a167daa311] - test_runner: pass signal on timeout (Moshe Atlow) #43911
  • [b1db85023e] - test_runner: do not report an error when tests are passing (Antoine du Hamel) #43919
  • [f193ac6cd5] - test_runner: recieve and pass AbortSignal (Moshe Atlow) #43554
  • [f8f1d16097] - test_runner: fix it concurrency (Moshe Atlow) #43757
  • [e9ca1efe67] - test_runner: support timeout for tests (Moshe Atlow) #43505
  • [5dca44d5eb] - test_runner: catch errors thrown within describe (Moshe Atlow) #43729
  • [0bdc141dd0] - test_runner: protect internals against prototype tampering (Antoine du Hamel) #43578
  • [4d4dcade90] - test_runner: cancel on termination (Moshe Atlow) #43549
  • [dccbd9ee95] - test_runner: wait for stderr and stdout to complete (Moshe Atlow) #43666
  • [27841bee3d] - test_runner: use kEmptyObject (LiviaMedeiros) #43159
  • [1a4235961e] - test_runner: add Subtest to tap protocol output (Moshe Atlow) #43417
  • [3fbc5e441c] - timers: use kEmptyObject (LiviaMedeiros) #43159
  • [444d77391c] - tls: use kEmptyObject (LiviaMedeiros) #43159
  • [ba3cf5d59e] - tls: fix performance regression in convertALPNProtocols() (LiviaMedeiros) #43250
  • [4a3a8a6164] - tls: fix convertALPNProtocols accepting ArrayBufferViews (LiviaMedeiros) #43211
  • [a6710f50c4] - trace_events: trace net connect event (theanarkh) #43903
  • [8cda4156a5] - url: update WHATWG URL parser to align with latest spec (Feng Yu) #43190
  • [69f9a3a78e] - url,lib: pass urlsearchparams-constructor.any.js (Khaidi Chu) #41197
  • [24cabbf32f] - util: remove unicode support todo for perf implications (Rhys) #43762
  • [0f9d5ac0b0] - util: refactor to use validateObject (Kohei Ueno) #43769
  • [5edfccfc4c] - util: add AggregateError.prototype.errors to inspect output (LiviaMedeiros) #43646
  • [fa89a617bc] - util: remove unnecessary template string (Ruben Bridgewater) #41082
  • [fa74d45e09] - util: mark cwd grey while inspecting errors (Ruben Bridgewater) #41082
  • [053368c3d0] - util: avoid inline access to Symbol.iterator (Kohei Ueno) #43683
  • [3959dffc7d] - util: fix TypeError of symbol in template literals (cola119) #42790
  • [053347ca55] - util: freeze kEnumerableProperty (LiviaMedeiros) #43390
  • [2cdae4332d] - util: add kEmptyObject to internal/util (LiviaMedeiros) #43159
  • [49cbed6ced] - v8: serialize BigInt64Array and BigUint64Array (Ben Noordhuis) #43571
  • [ca8da5f3f8] - vm: use kEmptyObject (LiviaMedeiros) #43159
  • [3ccf5acd23] - wasi: use WasmMemoryObject handle for perf (#43544) (snek) #43544
  • [4ff19daf54] - wasi: use kEmptyObject (LiviaMedeiros) #43159
  • [bbbc54f8d4] - wasi: remove unecessary null check (Michael Dawson) #42819
  • [51633a23c7] - worker: use kEmptyObject (LiviaMedeiros) #43159
  • [c4caf20ec3] - worker: fix heap snapshot crash on exit (Chengzhong Wu) #43123
  • [c583508324] - worker: fix stream racing with terminate (Keyhan Vakil) #42874
  • [293bab7684] - worker: add hasRef() to the handle object (Darshan Sen) #42756

Documentation commits

Other commits

2022-07-07, Version 16.16.0 'Gallium' (LTS), @danielleadams

This is a security release.

Notable changes

  • deps:
    • upgrade openssl sources to OpenSSL_1_1_1q (RafaelGSS) #43692
  • src:
    • add OpenSSL config appname (Daniel Bevenius) #43124

Commits

2022-06-01, Version 16.15.1 'Gallium' (LTS), @BethGriggs prepared by @juanarbol

Notable Changes

Commits

2022-04-26, Version 16.15.0 'Gallium' (LTS), @danielleadams

Notable changes

Add fetch API

Adds experimental support to the fetch API. This adds the --experimental-fetch flag that installs the fetch, Request, Response, Headers, and FormData globals.

  • (SEMVER-MINOR) add fetch (Michaël Zasso) #41749
  • (SEMVER-MINOR) add FormData global when fetch is enabled (Michaël Zasso) #41956

Other notable changes

  • build:
    • remove broken x32 arch support (Ben Noordhuis) #41905
  • crypto:
    • (SEMVER-MINOR) add KeyObject.prototype.equals method (Filip Skokan) #42093
  • doc:
    • add @ShogunPanda to collaborators (Paolo Insogna) #42362
    • add JakobJingleheimer to collaborators list (Jacob Smith) #42185
    • add joesepi to collaborators (Joe Sepi) #41914
    • add marsonya to collaborators (Akhil Marsonya) #41991
    • deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
    • deprecate notice for process methods (Yash Ladha) #41587
  • esm:
    • (SEMVER-MINOR) support https remotely and http locally under flag (Bradley Farias) #36328
  • module:
    • (SEMVER-MINOR) unflag esm json modules (Geoffrey Booth) #41736
  • node-api:
    • (SEMVER-MINOR) add node_api_symbol_for() (Darshan Sen) #41329
  • process:
    • deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • stream:
    • (SEMVER-MINOR) support some and every (Benjamin Gruenbaum) #41573
    • (SEMVER-MINOR) add toArray (Benjamin Gruenbaum) #41553
    • (SEMVER-MINOR) add forEach method (Benjamin Gruenbaum) #41445

Commits

  • [3d4df9cd70] - (SEMVER-MINOR) benchmark: add subarray to buffer-slice (Benjamin Gruenbaum) #41596
  • [d40f5a177a] - buffer: improve blob read performance (Xuguang Mei) #42117
  • [84752a495f] - (SEMVER-MINOR) buffer: alias subarray and slice (Benjamin Gruenbaum) #41596
  • [c5da1dda4a] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
  • [ba56e41953] - build: drop shortened URL from lint-commit-message (Richard Lau) #42168
  • [b2c88ec69c] - build: fix usage of input in feature action (Michael Dawson) #42150
  • [bcabd70d93] - build: increase max ops for stale feature action (Michael Dawson) #42130
  • [042fb6f4d5] - build: add corepack to the auto-updated dependencies (Maël Nison) #42090
  • [611cbf13a6] - build: last test of the stale feature action (Michael Dawson) #42085
  • [0d8f76ff2f] - build: update feature close action for testing (Michael Dawson) #42082
  • [bc3d8a752f] - build: cancel running CI jobs when a PR is updated (Michaël Zasso) #42017
  • [e049173bce] - build: increase operations and test tag (Michael Dawson) #42038
  • [4c47d59e9b] - build: allow manual run of feature request action (Michael Dawson) #42037
  • [692ee2ae06] - build: add action to close stale feature requests (Michael Dawson) #41981
  • [290a2bfd81] - build: prevent concurrent CI and CQ workflow runs (Michaël Zasso) #42016
  • [d2c1624279] - build: use zoslib_include_dir provided by node-gyp (alexcfyung) #41713
  • [db4a3dc1a6] - build: move tool updates workflow runtime a day later (Rich Trott) #41982
  • [24d0c32af4] - build: extend yamllint configuration (Mestery) #41756
  • [428b967ea4] - build: remove broken x32 arch support (Ben Noordhuis) #41905
  • [51847e0d24] - build: revert fast-track changes (Filip Skokan) #41892
  • [1452f8d6f1] - build: improve consistency between workflows (Mestery) #41791
  • [9677da4b46] - (SEMVER-MINOR) build: add --v8-enable-hugepage flag (Daoming Qiu) #41487
  • [5468de5317] - build,tools: change the quotes in YAML (Mestery) #41756
  • [f32c39762c] - child_process: kHideConsoleWindows for spawnSync (Raymond Zhao) #41412
  • [914f9071ba] - cluster: respect listen backlog set by workers (Elad Nava) #41623
  • [f990308972] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
  • [7f43f94304] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
  • [602f34eeb8] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
  • [4eecb25125] - crypto: validate this value for webcrypto.getRandomValues (Antoine du Hamel) #41760
  • [b7599d8b14] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
  • [70ae0ae8a0] - crypto: check result of BIO_new in X509ToObject (Tobias Nießen) #41979
  • [36b9028f4f] - crypto: rename X509_NAME_FLAGS (Tobias Nießen) #42001
  • [a592442218] - (SEMVER-MINOR) crypto: expose Web Crypto API on the global scope (Antoine du Hamel) #41938
  • [46dda316df] - crypto: do not advertise unsupported algorithms (Brian White) #41864
  • [adb88fcb46] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) #41569
  • [e9d7af1cc6] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
  • [e6019a4cc0] - debugger: add debugger alias for exec(expr) (Xuguang Mei) #41907
  • [83691ada5b] - debugger: remove duplicate setPauseOnException call (Balakrishna Avulapati) #41838
  • [7e73e5e46b] - deps: upgrade npm to 8.5.5 (npm team) #42382
  • [8d734cbde6] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
  • [ba1d949ce0] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
  • [6b721d7103] - deps: upgrade npm to 8.5.3 (npm team) #42205
  • [baeb66a35a] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
  • [1a0f26f55c] - deps: upgrade npm to 8.5.2 (npm team) #42122
  • [396240bf80] - deps: V8: cherry-pick 77d515484864 (Lu Yahan) #42067
  • [3f09a6d227] - deps: V8: cherry-pick b66334313c8b (Lu Yahan) #42067
  • [a73536b286] - deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • [c64b0381ee] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583
  • [a670c1fb5f] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
  • [721d10751b] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
  • [83a667621b] - deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • [208ab5723e] - doc: improve README.md usability (Rich Trott) #42378
  • [682248c980] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
  • [83391d185c] - doc: document goal to have examples (Michael Dawson) #42274
  • [7073017efb] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
  • [cb07930bda] - doc: remove unneeded lint disable comment (Rich Trott) #42374
  • [fb42f99514] - doc: revise async_hooks docs (Rich Trott) #42337
  • [835e65b78e] - doc: add @ShogunPanda to collaborators (Paolo Insogna) #42362
  • [df1909982d] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
  • [4f6b187059] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
  • [3188dcb390] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
  • [f53b454e2e] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
  • [43b8a4fc57] - doc: improve pipe description (Mikael Finstad) #42295
  • [9fa6e445d5] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
  • [a84896ea2c] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • [436bdde654] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
  • [6763bede4c] - doc: readline 'line' event emits final line (Matt Probert) #42214
  • [6545094a94] - doc: update stale feature messages (Michael Dawson) #42217
  • [275b66d54e] - doc: remove erroneous comma in cluster explainer (Tobias Nießen) #42238
  • [cda623cc1d] - doc: remove "considered" for clarity (Rich Trott) #42218
  • [17172fef20] - doc: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) #42198
  • [126045356a] - doc: add note about nghttp2 hd pair size (Rafael Silva) #42172
  • [63b468f753] - doc: use parenthesis instead of em dash (Antoine du Hamel) #42202
  • [19b62ddd68] - doc: add next-10 to strategic initiatives (Michael Dawson) #42167
  • [993a943f2c] - doc: add missing single-quotes to http.OutgoingMessage (Juan José Arboleda) #42162
  • [d0ce089622] - doc: fix typos (apeltop) #42146
  • [88e67b8ec3] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
  • [5322c73241] - doc: remove reference to obsolete security program (Rich Trott) #42144
  • [5980b6d133] - doc: remove repeated a word (apeltop) #42138
  • [a70a1ce3a9] - doc: make building with ninja more discoverable (Balakrishna Avulapati) #41840
  • [bc457c2339] - doc: document change to IncomingMessage.headers enumerability (Arnold Zokas) #42095
  • [1eb4d8b89c] - doc: add meixg to triagers (Xuguang Mei) #42066
  • [3d75c8748c] - doc: clarify persistent ref behavior (Michael Dawson) #42035
  • [8c26d8cea1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
  • [0c21b58d57] - doc: clarify supported versus enabled TLS ciphers (Tobias Nießen) #42063
  • [a658437c64] - doc: add missing api entries on performance (legendecas) #42018
  • [51cb78022e] - doc: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) #42060
  • [40ddfa4e69] - doc: make minor fixes to contributing guides (T-O-R-U-S) #41966
  • [60d6409af0] - doc: use openpgp.org for keyserver examples (Nick Schonning) #39227
  • [9800719237] - doc: adjust a/an word usage (Derek Wolpert) #41915
  • [43894b1bc4] - doc: capitalize valgrind (T•Ø•R•Ü•S) #41986
  • [a34cc75026] - doc: fix deprecation number (Antoine du Hamel) #41990
  • [dd88f54d57] - doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • [8858950a9f] - doc: deprecate notice for process methods (Yash Ladha) #41587
  • [d77db88386] - doc: fix bug in readable.unshift code example (Xuguang Mei) #41944
  • [81e56c9178] - doc: add missing buffer in the stream/consumers import example (Mestery) #41961
  • [c08efba968] - doc: fix typo in readableStream.locked description (Tobias Nießen) #41923
  • [e21831bad1] - doc: fix wrong indent in stream documentation (Xuguang Mei) #41943
  • [e55f340052] - doc: emphasize security warning in vm module doc (Rich Trott) #41916
  • [ce15007fd7] - doc: clarify tls.Server 'connection' event documentation (Austin Cheney) #41917
  • [6fc0a25b64] - doc: improve scrollbar appearance in dark mode (Aaron Xie) #41890
  • [90d955100d] - doc: replace text with paths in toggle SVGs (Brian White) #41885
  • [6fd538331d] - doc: edit process.config deprecation text (Rich Trott) #41889
  • [55caa10c54] - doc: add joesepi to collaborators (Joe Sepi) #41914
  • [73f3a2cf96] - doc: remove unneeded ellipsis in header (Rich Trott) #41888
  • [b950f5db84] - doc: fix webstream close reject state state doc (Benjamin Gruenbaum) #41860
  • [e46c7d6f69] - (SEMVER-MINOR) doc: deprecate buffer.slice (Benjamin Gruenbaum) #41596
  • [83129729c6] - doc: fix backticks around 'default' (Tobias Nießen) #41613
  • [f8819e86fd] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
  • [12bf85a606] - doc,tools: improve navigability of API docs (Paolo Insogna) #41404
  • [37f6f92905] - errors: do not access .stack in debug (Benjamin Coe) #42096
  • [166eb782f9] - esm: fix base URL for network imports (Bradley Farias) #42131
  • [b68db72746] - esm: fix relative imports for https (Bradley Farias) #42119
  • [c777cb3368] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
  • [2e42ccf1a5] - esm: improve typings and code coverage (Bradley Farias) #42305
  • [25017ca107] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
  • [1324023fea] - esm: improve fetch_module test coverage and remove hack (Antoine du Hamel) #41947
  • [9b8c927d29] - esm: remove erroneous context.parentURL property passed to load hook (Jacob Smith) #41975
  • [47cefec5c9] - esm: fix typo in fetch_module (Michael Scovetta) #41924
  • [0d185f7930] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • [b0a83115db] - events: set default handler value (Benjamin Gruenbaum) #41970
  • [6b55ba2fa2] - fs: adjust default length for fs.readSync and fsPromises/read (Livia Medeiros) #42128
  • [da87c731b8] - fs: fix default length parameter for fs.read (wbt) #40349
  • [33e4a32f9e] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • [571eb6dc74] - fs: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) #41932
  • [257a7a5802] - fs: fix writev empty array error behavior (Benjamin Gruenbaum) #41919
  • [2d165652f1] - fs: refactor to use ES2020 syntax (小菜) #41903
  • [39fb114dde] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
  • [16c00c6ac8] - http: add default argument for Agent.prototype.getName (小菜) #41906
  • [d301a8825b] - http2: fix potential integer overflow (Michael Dawson) #42248
  • [ddef6bbcb8] - http2: add edge case to GOAWAY request (Rafael Silva) #42190
  • [28af75ef65] - http2: close stream and session on frameError (Rafael Silva) #42147
  • [ebe2b6d21e] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
  • [dcebb99dfc] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
  • [e1704407ae] - lib: clean after the cancel algorithm throw error (Chen Gang) #41366
  • [91a06bd629] - lib: add legacy built-in functions to primordials (Antoine du Hamel) #42049
  • [e80043fb61] - lib: stop installing webcrypto if no_browser_globals is true (Mestery) #41971
  • [9946b9bceb] - lib: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) #41887
  • [f4e39171de] - lib: restrict usage of fetch related globals in core internals (Antoine du Hamel) #41957
  • [b1f0cc6412] - lib: move kEnumerableProperty to internal/util (Mestery) #41877
  • [2a85e0ac00] - lib: add internal genericNodeError() function (Rich Trott) #41879
  • [647805a747] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • [f17ce913c9] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
  • [2cbf45b8a5] - loader: fix esm resolve for symlink file (Xuguang Mei) #42197
  • [a363842261] - meta: update AUTHORS (Node.js GitHub Bot) #42404
  • [a122eb1989] - meta: update AUTHORS (Node.js GitHub Bot) #42317
  • [c56e15a0eb] - meta: add dependencies label to label-pr-config (Mestery) #42129
  • [137ca4e1d4] - meta: update AUTHORS (Node.js GitHub Bot) #42227
  • [09ab04696f] - meta: update AUTHORS (Node.js GitHub Bot) #42142
  • [d4d9c00949] - meta: correct link to feature request document (Simen Bekkhus) #42092
  • [2135f8e6cb] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42068
  • [b969a278eb] - meta: remove collaborator (Rich Trott) #42073
  • [de035bceda] - meta: update AUTHORS (Node.js GitHub Bot) #42058
  • [f5ffa34f77] - meta: use plain emojis instead of escape sequences (Mestery) #41989
  • [6f1adf1f3e] - meta: update AUTHORS and .mailmap (Rich Trott) #41953
  • [363028c887] - (SEMVER-MINOR) module: unflag esm json modules (Geoffrey Booth) #41736
  • [b3afb20b44] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
  • [bd48ad9c16] - node-api: fix typo in node_api.cc (Austin Kelleher) #42110
  • [11ec3345e7] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
  • [7c0b8ca5ac] - perf_hooks: do not return all entries with getEntriesBy[Name|Type] (Xuguang Mei) #42104
  • [b7a307f0ed] - perf_hooks: use arrays to store EntryBuffers (Xuguang Mei) #42032
  • [61ecdf8f12] - process: fix named report export (madflow) #41861
  • [bc08165953] - process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • [a88d4a2e2c] - repl: remove preview when press escape (meixg) #42053
  • [83267aaa7f] - repl: #41690 REPL gives wrong autocomplete on literals (Xuguang Mei) #41883
  • [73ce911a6f] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
  • [7fe16ecc7a] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
  • [5b30e28eb4] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
  • [57b619da46] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
  • [0e3e3fda22] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
  • [5eaa59159f] - src: check return value of HMAC_Final (Tobias Nießen) #42303
  • [376b3c4293] - src: include internal/options in the snapshot (Joyee Cheung) #42203
  • [268fd97925] - src: remove redundant buffer size check (Tobias Nießen) #42257
  • [90ce5c9fc5] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
  • [de3748a7e7] - src: use emplace_back instead of push_back (Yash Ladha) #42159
  • [830f93d892] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
  • [db9f7752a9] - src: return proper URLs from node_api_get_module_file_name (Anna Henningsen) #41758
  • [d4b1b5cf85] - src: skip revoke_data_object if uuid is not found (Xuguang Mei) #42212
  • [3026449009] - src: remove dead code in AddFingerprintDigest (Tobias Nießen) #42145
  • [29fd5ff37d] - src: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) #42118
  • [447ae8c5a3] - src: simplify TLSWrap::SetSession (Tobias Nießen) #42087
  • [2fe17f3891] - src: prefer bool over int in crypto_common (Tobias Nießen) #42097
  • [237f47e38e] - src: simplify arg type of AddFingerprintDigest (Tobias Nießen) #42101
  • [4244b1a0bb] - src: do not ignore return value of BIO_reset (Tobias Nießen) #42103
  • [e77a7cf985] - src: simplify GetExponentString (Tobias Nießen) #42121
  • [c811b8a1cb] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
  • [af73a853f5] - src: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) #41759
  • [703593ab2a] - src: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) #41759
  • [170a6cb33e] - src: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) #41759
  • [86b9d3af98] - src: don't print interface if sin6_scope_id is 0 (Santiago Gimeno) #41547
  • [fdea60e958] - src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) #41945
  • [bf1f485c8d] - src,crypto: avoid tristate Maybe<bool> in ExportJWKEcKey() (Darshan Sen) #42223
  • [a5b189cda7] - stream: use .chunk when calling adapters's writev (Xuguang Mei) #42161
  • [0c690456cf] - stream: add more forEach tests (Benjamin Gruenbaum) #41937
  • [f12cf6db47] - (SEMVER-MINOR) stream: add reduce (Benjamin Gruenbaum) #41669
  • [4b6343964e] - stream: use synchronous error validation on iteration helpers (iMoses) #41652
  • [60e28ba507] - stream: add asIndexedPairs (Benjamin Gruenbaum) #41681
  • [88a48197c4] - stream: add drop and take (Benjamin Gruenbaum) #41630
  • [205c018ab4] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) #41612
  • [0be2321d53] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
  • [ac8526e9a5] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [dcc58314b9] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [f21f104c7c] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
  • [e3bced182c] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
  • [04243a85c7] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
  • [6d422ad807] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
  • [3d37efe588] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
  • [245577e15c] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
  • [3cc06de597] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
  • [623be18fa3] - test: cover 32-bit sizes in generatePrime (Tobias Nießen) #42207
  • [70281e17ad] - test: fix test-process-env-tz.js by using RegExp (Khaidi Chu) #42113
  • [33b11a3548] - test: update V8 trace events test expectations (Nikolaos Papaspyrou) #42120
  • [978b50fe44] - test: deflake test-common-expect-warning (Luigi Pinca) #42046
  • [629d06ace8] - test: validate EventEmitterAsyncResource methods throw on invalid this (Yoshiki Kurihara) #42041
  • [17af006e38] - test: increase Fibonacci argument to 40 (Rich Trott) #42055
  • [b06780801c] - test: remove test-stdout-close-catch flaky designation (Rich Trott) #42045
  • [9ae6982387] - test: check that fetch globals are disabled by default (Michaël Zasso) #42015
  • [2a1a94bbbb] - test: improve vm test coverage (Yoshiki Kurihara) #41847
  • [3e354da097] - test: run webmessaging/broadcastchannel WPT (Ben Noordhuis) #41962
  • [711e863084] - test: fix names of tests marked flaky on IBM i (Richard Lau) #41984
  • [95eb03c298] - test: fix typographical error (Rich Trott) #41983
  • [31def41391] - test: fix intl tests on small-icu builds (Antoine du Hamel) #41939
  • [11e76fcba4] - test: remove lint rule for setTimeout() arguments (Rich Trott) #41901
  • [fd8bf09608] - test: move test-crypto-engine to addon (Michael Dawson) #41830
  • [25109a6471] - test: improve stability of oom test (Benjamin Gruenbaum) #41681
  • [ad17c9ce0c] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
  • [9649d656ba] - tls: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) #41523
  • [789e6041a6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42403
  • [1c1061549a] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #42315
  • [97aa236083] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #42316
  • [7636370bdb] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
  • [359395393f] - tools: fix web streams API links (Brian White) #42153
  • [fe5578b627] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42226
  • [8532f83c8e] - tools: update lint-md rollup dependencies (Node.js GitHub Bot) #42141
  • [f2a16158a0] - tools: update eslint to 8.10.0 (Node.js GitHub Bot) #42143
  • [11f747b0e4] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #42057
  • [c47b436bd0] - tools: enable es2022 env in ESLint config (Michaël Zasso) #42043
  • [bbdf285a39] - tools: add console to the list of restricted globals (Antoine du Hamel) #42012
  • [aace6c2626] - tools: lint deprecation codes (Antoine du Hamel) #41992
  • [c229889022] - tools: fix bugs in prefer-primordials linter rule (Antoine du Hamel) #42010
  • [410d0ce44a] - tools: add timers functions to the list of restricted globals (Antoine du Hamel) #42013
  • [06d8c53e62] - tools: reduce list of globals in ESLint config (Rich Trott) #41996
  • [82b64f44fc] - tools: update remark-preset-lint-node to 3.3.1 (Rich Trott) #41999
  • [1db9cc7e59] - tools: update ESLint to 8.9.0 (Luigi Pinca) #41973
  • [f8c6232f90] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41941
  • [57d5576c4d] - tools: fix typo in prefer-primordials.js (Ikko Ashimine) #41891
  • [4bba27935a] - tools,lib: remove global and Intl from the list of globals (Antoine du Hamel) #42014
  • [e918570d10] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
  • [962a8ec350] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
  • [78647edba7] - url, src: modify one special_back_slash (Khaidi Chu) #42112
  • [a458fbf949] - worker: do not send message if port is closing (Rich Trott) #42357
  • [604621a275] - worker: fix typo in debug statement (Antoine du Hamel) #42011
  • [237affc951] - (SEMVER-MINOR) worker: graduate get/setEnvironmentData APIs (James M Snell) #41272

2022-03-17, Version 16.14.2 'Gallium' (LTS), @richardlau

This is a security release.

Notable Changes

Update to OpenSSL 1.1.1n, which addresses the following vulnerability:

Commits

  • [3924618c74] - deps: update archs files for OpenSSL-1.1.1 (Hassaan Pasha) #42352
  • [7a6a870d58] - deps: upgrade openssl sources to OpenSSL_1_1_1n (Hassaan Pasha) #42352
  • [c533b430f4] - test: fix tests affected by OpenSSL update (Michael Dawson) #42352

2022-03-15, Version 16.14.1 'Gallium' (LTS), @danielleadams

Notable changes

  • doc:
    • add release key for Bryan English (Bryan English) #42102

Commits

2022-02-08, Version 16.14.0 'Gallium' (LTS), @danielleadams

Notable changes

Importing JSON modules now requires experimental import assertions syntax

This release adds experimental support for the import assertions stage 3 proposal.

To keep Node.js ESM implementation as compatible as possible with the HTML spec, import assertions are now required to import JSON modules (still behind the --experimental-json-modules CLI flag):

import info from './package.json' assert { type: 'json' };

Or use dynamic import:

const info = await import('./package.json', { assert: { type: 'json' } });

Contributed by Antoine du Hamel and Geoffrey Booth #40250

Other notable changes

  • async_hooks:
    • (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) #40760
  • child_process:
    • (SEMVER-MINOR) add support for URL to cp.fork (Antoine du Hamel) #41225
  • doc:
    • add @Mesteery to collaborators (Mestery) #41543
    • add @bnb as a collaborator (Tierney Cyren) #41100
  • esm:
    • (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) #41267
    • (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) #41246
  • events:
    • (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) #40899
  • fs:
    • (SEMVER-MINOR) accept URL as argument for fs.rm and fs.rmSync (Antoine du Hamel) #41132
  • lib:
    • (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) #41050
    • (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) #40899
    • (SEMVER-MINOR) add reason to AbortSignal (James M Snell) #40807
    • (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) #40433
    • (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) #40433
  • loader:
    • (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) #40980
  • perf_hooks:
    • (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) #41153
  • process:
    • (SEMVER-MINOR) add getActiveResourcesInfo() (Darshan Sen) #40813
  • src:
    • (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) #39809
    • (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) #40339
  • stream:
    • (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) #41354
    • (SEMVER-MINOR) add isReadable helper (Robert Nagy) #41199
    • (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) #40815
    • deprecate thenable support (Antoine du Hamel) #40860
  • util:
    • (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
    • (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) #41003
    • (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
  • timers:
    • (SEMVER-MINOR) add experimental scheduler api (James M Snell) #40909
  • v8:
    • (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) #39283

Commits

  • [336010341f] - assert: prefer reference comparison over string comparison (Darshan Sen) #41015
  • [2d471e47a0] - assert: use stricter stack frame detection in .ifError() (Ruben Bridgewater) #41006
  • [f788a47b8b] - async_hooks: add missing initialization (Michael Dawson) #41288
  • [b688f201df] - async_hooks: fix AsyncLocalStorage in unhandledRejection cases (Bradley Farias) #41202
  • [6af3e34b6b] - Revert "async_hooks: merge resource_symbol with owner_symbol" (Darshan Sen) #40741
  • [85a02ec979] - async_hooks: eliminate require side effects (Stephen Belanger) #40782
  • [078a0c996f] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760
  • [4a09904d05] - benchmark: simplify http benchmarker regular expression (Rich Trott) #38206
  • [bc48ed2834] - benchmark: fix benchmark/run.js handling of --set (Rich Trott) #41334
  • [e68bf84e31] - benchmark,test: use Object.hasOwn() where applicable (Rich Trott) #41229
  • [799cf57581] - buffer: fix Blob constructor on various TypedArrays (Irakli Gozalishvili) #40706
  • [5c1dc5f307] - build: fix npm version detection (Michaël Zasso) #41575
  • [3e4d977c28] - build: fix node build failures in WSL Ubuntu (MrJithil) #41476
  • [6ffb1e878c] - build: fix workflow access to git history (Rich Trott) #41472
  • [c49a651e67] - build: start build on z/OS (alexcfyung) #41273
  • [c65ac72b6c] - build: use list for mutable retval rather than tuple (Rich Trott) #41372
  • [ff48705372] - build: remove Python 2 workaround (Rich Trott) #41357
  • [c10fcb1f05] - build: improve readability of texts in workflows (Mestery) #40988
  • [93450e5e8e] - build: use '<(python)' instead of 'python' (Cheng Zhao) #41146
  • [0b411c436a] - build: fix comment-labeled workflow (Mestery) #41176
  • [7756e1c692] - build: use gh cli in workflows file (Mestery) #40985
  • [d3289b2506] - build: fix commit-queue-rebase functionality (Rich Trott) #41140
  • [860d552431] - build: skip documentation generation if no ICU (Rich Trott) #41091
  • [c8625d18ba] - build: re-enable V8 concurrent marking (Michaël Zasso) #41013
  • [74557c3ac1] - build: add --without-corepack (Jonah Snider) #41060
  • [f826c866e9] - build: fail early in test-macos.yml (Rich Trott) #41035
  • [535bb5fb6b] - build: add tools/doc to tools.yml updates (Rich Trott) #41036
  • [20c4c6aa72] - build: update Actions versions (Mestery) #40987
  • [70fd4a15fc] - build: set persist-credentials: false on workflows (Rich Trott) #40972
  • [b72e50e5ef] - build: add OpenSSL gyp artifacts to .gitignore (Luigi Pinca) #40967
  • [066e0d6b44] - build: remove legacy -J test.py option from Makefile/vcbuild (Rich Trott) #40945
  • [f5233b004a] - build: ignore unrelated workflow changes in slow Actions tests (Rich Trott) #40928
  • [a905dfe8d5] - build: remove extraneous quotation marks from commit body (Rich Trott) #40963
  • [6971e5720b] - build: fix branch name for lint-md-dependencies update (Rich Trott) #40924
  • [a09bc8bf1d] - build: fix make invocation in tools.yml (Rich Trott) #40890
  • [323c058fed] - build: fix tools.yml errors (Rich Trott) #40870
  • [e354464c3e] - build: add GitHub Action to update tools modules (Rich Trott) #40644
  • [bfbb7fc24a] - build,tools: automate enforcement of emeritus criteria (Rich Trott) #41155
  • [fc38d15483] - build,tools,win: trim unused VCBUILD_PYTHON_LOCATION variable (David Sanders) #41235
  • [9086338549] - child_process: queue pending messages (Erick Wendel) #41221
  • [d25b17279f] - child_process: revise argument processing (Rich Trott) #41280
  • [15e5d7acf4] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #41225
  • [06b775cd5c] - cluster: use linkedlist for round_robin_handle (twchn) #40615
  • [a40989faea] - crypto: fix error capture when loading engine (Tobias Nießen) #41187
  • [3055edec2f] - crypto: add missing null check (Michael Dawson) #40598
  • [cf3423d8b6] - crypto: trim input for NETSCAPE_SPKI_b64_decode (Shelley Vohr) #40757
  • [e60841b598] - crypto: throw errors in SignTraits::DeriveBits (Tobias Nießen) #40796
  • [00fd7d28ef] - crypto: fix build without scrypt (Martin Jansa) #40613
  • [ebc370cac8] - deps: V8: cherry-pick cc9a8a37445e (Gus Caplan) #41825
  • [a59ade62cf] - deps: upgrade npm to 8.3.1 (npm-robot) #41503
  • [9dd097325a] - deps: V8: cherry-pick 3b6b21f595f6 (Michaël Zasso) #41457
  • [af6f1d512d] - deps: upgrade to libuv 1.43.0 (Colin Ihrig) #41398
  • [875fa40960] - deps: upgrade npm to 8.3.0 (npm team) #41127
  • [3c13bbd8aa] - deps: upgrade npm to 8.2.0 (npm team) #41065
  • [6c7088890e] - deps: update Acorn to v8.6.0 (Michaël Zasso) #40993
  • [e092fdebea] - deps: upgrade npm to 8.1.4 (npm team) #40865
  • [3e388ef28d] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656
  • [58889e2463] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882
  • [7cbbe0d982] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656
  • [f260bbc0ab] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882
  • [a3aa9bcaf8] - deps: update to uvwasi 0.0.12 (Colin Ihrig) #40847
  • [c0200e20a0] - deps: upgrade npm to 8.1.3 (npm team) #40726
  • [036650e046] - deps: V8: backport 77599ffe0a74 (Lu Yahan) #41566
  • [0b27486895] - deps: V8: cherry-pick e74d6918fb9f (Lu Yahan) #41566
  • [77ad5dd0ff] - deps: V8: cherry-pick 471f862954f3 (Lu Yahan) #41566
  • [dc6843cabe] - deps: V8: cherry-pick 3cab84c24723 (Lu Yahan) #41566
  • [e391da45cf] - deps: V8: cherry-pick d8dc66f92169 (Lu Yahan) #41566
  • [5aa45ae757] - deps: update ICU to 70.1 (Michaël Zasso) #40658
  • [0466400d7a] - deps: update archs files for OpenSSL-1.1.1m+quic (Richard Lau) #41175
  • [553246c1e4] - deps: upgrade openssl sources to OpenSSL_1_1_1m+quic (Richard Lau) #41175
  • [95c19c36a9] - deps: add -fno-strict-aliasing flag to libuv (Daniel Bevenius) #40631
  • [ce525e9661] - doc: align links in table to top (nikoladev) #41396
  • [1db154fa96] - doc: remove statement about client private keys (Tobias Nießen) #41505
  • [7ba53103a5] - doc: fix typo in onboarding.md (Antoine du Hamel) #41544
  • [0d009aebd5] - doc: add Mesteery to collaborators (Mestery) #41543
  • [2bea4bd9ee] - doc: add missing word in readable.read() text (Rich Trott) #41524
  • [d5ad2b7fcd] - doc: add missing YAML tag in esm.md (Antoine du Hamel) #41516
  • [c914d95494] - doc: expand fs.access() mode parameter docs (Colin Ihrig) #41484
  • [d4458162a4] - doc: correct checkHost behavior with wildcards etc (Tobias Nießen) #41468
  • [dea8895091] - doc: remove extraneous colon in legacy subject (Tobias Nießen) #41477
  • [e425f369ea] - doc: remove SameValue comparison reference (Rich Trott) #41460
  • [30cb6948f1] - doc: update mailmap entries for mhdawson (Michael Dawson) #41437
  • [2586f098ac] - doc: add guidance on order vulns are listed in (Michael Dawson) #41429
  • [790898eaae] - doc: update output in inspector examples (David Sanders) #41390
  • [00333fe737] - doc: add note regarding unfinished TLA (Antoine du Hamel) #41434
  • [fe24cb2cd9] - doc: add reference for === operator in assert.md (Rich Trott) #41442
  • [52a988bfb8] - doc: clarify uncaughtException origin for ESM (Antoine du Hamel) #41339
  • [91c3e28018] - doc: revise HTTPRequestOptions text (Rich Trott) #41407
  • [b281bf59ff] - doc: add reference for == and != operators (Rich Trott) #41413
  • [66b90f9d02] - doc: add @RaisinTen to the TSC (Michael Dawson) #41419
  • [14068f8728] - doc: update Abstract Equality Comparison text in assert.md (Rich Trott) #41375
  • [c95151247a] - doc: fix example commands for REPLACEME updates (Richard Lau) #41269
  • [04a81b3e21] - doc: document that require.main may be undefined (Antoine du Hamel) #41384
  • [71bc352328] - doc: clarify entry point behavior when using loader hooks (Antoine du Hamel) #41304
  • [add1184b74] - doc: clarify require behavior with non .js extensions (Antoine du Hamel) #41345
  • [7618b551dc] - doc: revise frozen-intrinsics text (Rich Trott) #41342
  • [41cfc32602] - doc: fix example description for worker_threads (Dmitry Petrov) #41341
  • [46c38eb5fc] - doc: make pull-request guide default branch agnostic (Antoine du Hamel) #41299
  • [1c0c140ae5] - doc: fix sync comment in observer snippet (Eric Jacobson) #41262
  • [081f72e4c0] - doc: remove section about amending commits in PR guide (Thiago Santos) #41287
  • [720fad8876] - doc: remove legacy in-page links in v8.md (Rich Trott) #41291
  • [9eb8233bf6] - doc: include stack trace difference in ES modules (Marcos Bérgamo) #41157
  • [f3b0dfc325] - doc: fix example in node-api docs (Michael Dawson) #41264
  • [aa04a2c562] - doc: add usage recommendation for writable._destroy (Rafael Gonzaga) #41040
  • [a6e7cf5bd4] - doc: make function signature comply with JSDoc comment (Rich Trott) #41242
  • [e7d57ac2cc] - doc: align maxHeaderSize default with current value (Gil Pedersen) #41183
  • [ad06e3d3e0] - doc: add unhandledRejection to strict mode (Colin Ihrig) #41194
  • [11a5f7a81f] - doc: adding estimated execution time (mawaregetsuka) #41142
  • [ba85147a33] - doc: fix syntax error in nested conditions example (Mateusz Burzyński) #41205
  • [8be5b66201] - doc: fix closing parenthesis (AlphaDio) #41190
  • [f0693cb5f9] - doc: add security steward on/offboarding steps (Michael Dawson) #41129
  • [ac025f17b2] - doc: align module resolve algorithm with implementation (Qingyu Deng) #38837
  • [f6bf74748d] - doc: update nodejs-sec managers (Michael Dawson) #41128
  • [c4a5db6e2c] - doc: move style guide to findable location (Rich Trott) #41119
  • [35d0a4eb92] - doc: fix comments in test-fs-watch.js (jakub-g) #41046
  • [22970c67fc] - doc: document support building with Python 3.10 on Windows (Christian Clauss) #41098
  • [f35bd5223f] - doc: add note about pip being required (Piotr Rybak) #40669
  • [179886fa1d] - doc: remove OpenJSF Slack nodejs from support doc (Rich Trott) #41108
  • [e401e6c1af] - doc: simplify major release preparation (Bethany Nicolle Griggs) #40816
  • [ecc086cc7f] - doc: clarify escaping for ES modules (notroid5) #41074
  • [7930725014] - doc: add @bnb as a collaborator (Tierney Cyren) #41100
  • [6a9db2ebdb] - doc: add explicit declaration of fd with null val (Henadzi) #40704
  • [084decdcf8] - doc: expand entries for isIP(), isIPv4(), and isIPv6() (Rich Trott) #41028
  • [3f6106c538] - doc: link to commit queue guide (Geoffrey Booth) #41030
  • [c52ce19c80] - doc: specify that message.socket can be nulled (Luigi Pinca) #41014
  • [341a999fdb] - doc: fix JSDoc in ESM loaders examples (Mestery) #40984
  • [268771c85b] - doc: remove legacy -J test.py option from BUILDING.md (Rich Trott) #40945
  • [90ac3dc85e] - doc: add information on suppressing initial break in debugger (Rich Trott) #40960
  • [d9fc06b158] - doc: improve grammar in API description (Tobias Nießen) #40959
  • [02e9c2e7fe] - doc: update BUILDING.md section on running tests (Rich Trott) #40933
  • [9f14f66009] - doc: remove experimental abortcontroller flag (FrankQiu) #38968
  • [d217809fba] - doc: clarify more optional parameters in node-api (Michael Dawson) #40888
  • [dead21c68c] - doc: define "types", "deno" community conditions (Guy Bedford) #40708
  • [019b25fa5d] - doc: document optional params in napi_get_cb_info (Michael Dawson) #40821
  • [38f02dc4c1] - doc: improve README.md lede section (Rich Trott) #40837
  • [1a2c80957b] - doc: add pref to using draft PR versus WIP label (Michael Dawson) #40824
  • [e70c3616c8] - doc: tweak guidance for modules in core (Michael Dawson) #40601
  • [c10b01e857] - doc: claim ABI version for Electron 18 (Keeley Hammond) #40768
  • [7fba4e5819] - doc: fix transform stream example (Evan Lucas) #40777
  • [a74673fc7c] - doc: fix linter-enforced formatting in crypto.md (Mohammed Keyvanzadeh) #40780
  • [d9ae43ef0e] - doc: fix corepack grammar for --force flag (Steven) #40762
  • [7f9bf21241] - doc: clarify getAuthTag with authTagLength (Tobias Nießen) #40713
  • [fbf732de4f] - doc: fix order of announce work (Michael Dawson) #40725
  • [ac56a114ad] - doc: add initial list of technical priorities (Michael Dawson) #40235
  • [f47d6a37f5] - doc: fix lint re-enabling comment in README.md (Rich Trott) #40647
  • [a9adbb680b] - doc: fix spelling of 'WebAssembly' (Geoffrey Booth) #40785
  • [9e68c00d8e] - doc: format v8.md in preparation for stricter linting (Rich Trott) #40647
  • [82facfbe3e] - doc: final round of markdown format changes (Rich Trott) #40645
  • [fe1b6fb0b5] - doc: simplify CHANGELOG.md (Rich Trott) #40475
  • [5c90975275] - doc: correct esm spec scope lookup definition (Guy Bedford) #40592
  • [ce2dc48588] - doc: use GFM footnotes in BUILDING.md (Rich Trott) #40474
  • [ab28dc5e7f] - doc: update maintaining ICU guide (Michaël Zasso) #40658
  • [f4493c1691] - doc: format changelog for v16.13.2 (Danielle Adams) #41483
  • [59d159f6c3] - doc,lib,tools: align multiline comments (Rich Trott) #41109
  • [3cfe85615c] - esm: make process.exit() default to exit code 0 (Gang Chen) #41388
  • [a0a8f4de58] - esm: reconcile JSDoc vs. actual parameter name (Rich Trott) #41238
  • [a554821f67] - (SEMVER-MINOR) esm: working mock test (Bradley Farias) #39240
  • [4e0502625b] - esm: refactor esm tests out of test/message (Geoffrey Booth) #41352
  • [1b8169a842] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250
  • [1280e191e2] - events: clarify JSDoc entries (Rich Trott) #41311
  • [24b40b3b05] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #41267
  • [3185772b66] - events: add jsdoc details for Event and EventTarget (James M Snell) #41274
  • [b79fdd5775] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #41246
  • [78a8c1b0bd] - (SEMVER-MINOR) events: propagate weak option for kNewListener (James M Snell) #40899
  • [b671194b85] - (SEMVER-MINOR) fs: accept URL as argument for fs.rm and fs.rmSync (Antoine du Hamel) #41132
  • [66556b39e0] - fs: use async directory processing in cp() (Colin Ihrig) #41351
  • [f4cef533c3] - fs: correct param names in JSDoc comments (Rich Trott) #41237
  • [eaab8d0498] - fs: fix error codes for fs.cp (Antoine du Hamel) #41106
  • [67c6170dc7] - fs: fix length option being ignored during read() (Shinho Ahn) #40906
  • [0377edcceb] - fs: nullish coalescing to respect zero positional reads (Omar El-Mihilmy) #40716
  • [d3839041f5] - http: remove duplicate code (Shaw) #39239
  • [0bf829192a] - http: don't write empty data on req/res end() (Santiago Gimeno) #41116
  • [86bbb427ce] - http: add missing initialization (Michael Dawson) #40555
  • [be53296a1d] - http: change totalSocketCount only on socket creation/close (Subhi Al Hasan) #40572
  • [3c99a4d7c0] - http2: handle existing socket data when creating HTTP/2 server sessions (Tim Perry) #41185
  • [5356dfd296] - inspector: add missing initialization (Michael Dawson) #41022
  • [283f1e8721] - lib: fix linting warnings and errors (Danielle Adams) #41805
  • [c776c7c531] - lib: include return types in JSDoc (Rich Trott) #41130
  • [f6cf39a2d5] - lib: remove spurious JSDoc entry (Rich Trott) #41240
  • [a47fc90c1a] - lib: fix checking syntax of esm module (Qingyu Deng) #41198
  • [438b9cfe02] - (SEMVER-MINOR) lib: make AbortSignal cloneable/transferable (James M Snell) #41050
  • [eda57a9160] - lib: use consistent types in JSDoc @returns (Rich Trott) #41089
  • [f40e099e35] - lib: do not lazy load EOL in blob (Ruben Bridgewater) #41004
  • [157753bf26] - (SEMVER-MINOR) lib: add AbortSignal.timeout (James M Snell) #40899
  • [e08df49d7a] - (SEMVER-MINOR) lib: add reason to AbortSignal (James M Snell) #40807
  • [4bcff4c5f8] - Revert "lib: use helper for readability" (Darshan Sen) #40741
  • [4cb1e7c9c2] - lib: fix typos in lib code comments (Yoshiki) #40792
  • [5e606b54b7] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433
  • [594fe5502d] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433
  • [cf6379a543] - lib,test,tools: use consistent JSDoc types (Rich Trott) #40989
  • [4814667189] - lib,tools: remove empty lines between JSDoc tags (Rich Trott) #41147
  • [d422e585c8] - loader: fix package resolution for edge case (Gabriel Bota) #41218
  • [694dc12fab] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #40980
  • [121199f971] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41456
  • [9467aa9bcf] - meta: update AUTHORS (Node.js GitHub Bot) #41475
  • [e83e41634a] - meta: correct my name in AUTHORS (Jacob Smith) #41444
  • [8dfc1434c2] - meta: update AUTHORS (Node.js GitHub Bot) #41449
  • [dc536f4d14] - meta: add required fields in issue templates (Rich Trott) #41378
  • [5d5c52fa67] - meta: update AUTHORS (Node.js GitHub Bot) #41374
  • [970de5331c] - meta: replace API docs issue template with form (Rich Trott) #41348
  • [08f5c8d131] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41336
  • [51e6ed014a] - meta: replace feature request template with form (Rich Trott) #41317
  • [bb997ff494] - meta: update AUTHORS (Node.js GitHub Bot) #41322
  • [9319fa3394] - meta: update node-api team name (Richard Lau) #41268
  • [93b5a2781b] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41248
  • [d3444a55aa] - meta: update AUTHORS (Node.js GitHub Bot) #41234
  • [115775fd12] - meta: remove community-committee from CODEOWNERS (Rich Trott) #41169
  • [5ac60276d6] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41154
  • [f8c6055af0] - meta: move to emeritus automatically after 18 months (Rich Trott) #41155
  • [7f3604aa5d] - meta: move silverwind to emeriti (Roman Reiss) #41171
  • [d8dbced939] - meta: update AUTHORS (Node.js GitHub Bot) #41144
  • [25d3103f38] - meta: update AUTHORS (Node.js GitHub Bot) #41088
  • [714efe431c] - meta: move one or more TSC members to emeritus (Node.js GitHub Bot) #40908
  • [f51ce33836] - meta: increase security policy response targets (Matteo Collina) #40968
  • [23e925e1fb] - meta: add feature request label for issue template (Mestery) #40970
  • [ad1056d29e] - meta: update AUTHORS (Node.js GitHub Bot) #40900
  • [317cd3fc2b] - meta: update name and email (Viero Fernando) #40848
  • [eb0106d61d] - meta: update AUTHORS (Node.js GitHub Bot) #40809
  • [3a435a3328] - meta: edit GOVERNANCE.md for minor updates (Rich Trott) #40798
  • [1626d17cbe] - meta: update AUTHORS (Node.js GitHub Bot) #40748
  • [442ad8d787] - module: import assertions improvements (Geoffrey Booth) #40785
  • [e7391ea1b3] - module: resolver & spec hardening /w refactoring (Guy Bedford) #40510
  • [03490cb311] - node-api: add missing initialization of last error (Michael Dawson) #41290
  • [375d04a455] - node-api,doc: document parms which can be optional (Michael Dawson) #41021
  • [c021b385c8] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #41153
  • [7b6db6df39] - policy: add missing JSDoc @param entry (Rich Trott) #41239
  • [c60cff9091] - (SEMVER-MINOR) process: add getActiveResourcesInfo() (Darshan Sen) #40813
  • [f0860bc3c8] - process: support hrtime in the snapshot (Joyee Cheung) #40649
  • [ef337294cc] - readline: skip escaping characters again (Ruben Bridgewater) #41005
  • [370bfda154] - repl: fix and extend require/import tab complete (Mestery) #40216
  • [3c4e3c03ce] - src: gracefully handle errors in GetX509NameObject (Tobias Nießen) #41490
  • [b4d245446f] - src: fix out-of-bounds check of serialization indices (JoostK) #41452
  • [cb30038447] - src: do IWYU for some STL includes (David Sanders) #41236
  • [fe4158aa4e] - src: split out async stack corruption detection from inline fn (Anna Henningsen) #41331
  • [72921f4b31] - src: store native async execution resources as v8::Local (Anna Henningsen) #41331
  • [59625f70ad] - src: guard slightly costly check in MakeCallback more strongly (Anna Henningsen) #41331
  • [2ca37149ad] - src: fix limit calculation (Michael Dawson) #41026
  • [5f01d03acc] - src: use a higher limit in the NearHeapLimitCallback (Joyee Cheung) #41041
  • [7237bcc2d9] - src: reset error struct if error code is napi_ok (JckXia) #40552
  • [9cc2bb75e5] - src: prevent extra copies of TimerWrap::TimerCb (Darshan Sen) #40665
  • [bd9a6a0194] - (SEMVER-MINOR) src: add x509.fingerprint512 to crypto module (3nprob) #39809
  • [7681fdfd7d] - src: add and fix some preprocessor comments (Tobias Nießen) #40701
  • [a9826b09d4] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #40339
  • [b1f785cd72] - src,crypto: remove uses of AllocatedBuffer from crypto_sig (Darshan Sen) #40895
  • [807536c541] - src,crypto: use ByteSource::ToBuffer() in crypto_dh (Darshan Sen) #40903
  • [51b86550ae] - src,crypto: remove AllocatedBuffers from crypto_spkac (Darshan Sen) #40752
  • [cebf40396f] - src,crypto: refactor crypto_tls.* (Darshan Sen) #40675
  • [df574f3109] - src,doc: add SyntaxError napi support (Idan Attias) #40736
  • [5e890be360] - stream: remove always-false condition check (Rich Trott) #41488
  • [ae30b391c2] - stream: fix error-path function call (Rich Trott) #41433
  • [5d27f4acbb] - stream: remove unused function argument (Rich Trott) #41403
  • [77c18680ae] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum) #41354
  • [7cef7699e3] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #41199
  • [9c718f8af0] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum) #40815
  • [8cf507abf1] - stream: fix enqueue race condition on esm modules (Rafael Gonzaga) #40901
  • [4522216660] - stream: add isErrored helper (Robert Nagy) #41121
  • [2251bbae0d] - stream: remove whatwg streams experimental warning (James M Snell) #40971
  • [3b1c01216c] - stream: drain Transform with 0 highWaterMark (Robert Nagy) #40947
  • [436e07b36e] - stream: deprecate thenable support (Antoine du Hamel) #40860
  • [9811617b18] - stream: fix the ReadableStreamBYOBReader error message (James M Snell) #40846
  • [e110c96f48] - stream: pipeline with end option (Robert Nagy) #40886
  • [c9f1398faf] - stream: pipeline should drain empty readable (Robert Nagy) #40654
  • [55c9349afa] - stream: fix non readable Duplex readableAborted (Robert Nagy) #40801
  • [1f722a1c77] - stream: allow calling callback before promise (Robert Nagy) #40772
  • [1de552caeb] - test: add ignore for regex space rule (Danielle Adams) #41805
  • [40c09600fd] - test: improve test coverage of dns/promises (Yoshiki Kurihara) #41425
  • [fa425a1aa2] - test: remove broken wiki link from test/common doc (Yoshiki Kurihara) #41426
  • [9242c1900c] - test: do not OR F_OK in fs.access() test (Colin Ihrig) #41484
  • [3bd8e92bbb] - test: mark test-performance-eventloopdelay flaky (Michael Dawson) #41409
  • [874000ff6b] - test: mark test-repl-sigint-nested-eval as flaky (Michael Dawson) #41302
  • [404c8f5501] - test: use spawnSync() full name in test-stdio-pipe-stderr (Rich Trott) #41332
  • [256bf9e6b6] - test: improve expectWarning error message (Rich Trott) #41326
  • [b1e4387c92] - test: use spawnSync() full name (Rich Trott) #41327
  • [8d15bacf2b] - test: add comments explaining _setSimultaneousAccepts deprecation tests (Yoshiki Kurihara) #41307
  • [a53399edbb] - test: mark test-worker-take-heapsnapshot flaky (Michael Dawson) #41253
  • [e444b41093] - test: mark wpt/test-user-timing test flaky (Michael Dawson) #41203
  • [8926d956c1] - test: correct param name in JSDoc comment (Rich Trott) #41241
  • [2e133d5555] - test: mark test-crypto-keygen slow on windows (Michael Dawson) #41207
  • [28c52f60f6] - test: skip ESLint tests if no Intl (Rich Trott) #41105
  • [d6b15424da] - test: add missing JSDoc parameter name (Rich Trott) #41057
  • [3450227ba2] - test: deflake test-trace-atomics-wait (Luigi Pinca) #41018
  • [b9567d99fc] - test: add auth option case for url.format (Hirotaka Tagawa / wafuwafu13) #40516
  • [38fd30f34b] - Revert "test: skip different params test for OpenSSL 3.x" (Daniel Bevenius) #40640
  • [28a216a6dc] - test: mark test-fs-watch-non-recursive flaky on Windows (Luigi Pinca) #40916
  • [ab398b6c80] - test: deflake cluster-concurrent-disconnect (Luigi Pinca) #40877
  • [9e2e4437b9] - test: deflake fs-promises-watch (Luigi Pinca) #40863
  • [55678af57d] - test: fix argument order in assertion (Luigi Pinca) #40842
  • [4978689713] - test: deflake http2-pipe-named-pipe (Luigi Pinca) #40842
  • [f17789addf] - test: use descriptive name for destination file (Luigi Pinca) #40842
  • [48e2b60c44] - test: add AsyncLocalStorage tests using udp, tcp and tls sockets (Darshan Sen) #40741
  • [c002930a62] - test: add tests for invalid UTF-8 (git-srinivas) #40351
  • [25a166dd25] - test: fix flaky test-policy-integrity (Rich Trott) #40763
  • [25b3187021] - test: add semicolons for linter update (Rich Trott) #40720
  • [b4fea14cc3] - test: disable warnings to fix flaky test (Antoine du Hamel) #40739
  • [2c84c3eee8] - test: do not load absolute path crypto engines twice (Richard Lau) #41175
  • [b5b3750678] - timers: use ref counts to count timers (Darshan Sen) #41231
  • [c5f9e96ac4] - (SEMVER-MINOR) timers: add experimental scheduler api (James M Snell) #40909
  • [00abb811ac] - tls: use optional chaining to simplify checks (Antoine du Hamel) #41337
  • [ffca1a71ce] - tls: permit null as a pfx value (CallMeLaNN) #41170
  • [3b5b893abb] - tls: improve handling of shutdown (Jameson Nash) #36111
  • [99a90dbd4a] - tools: enable jsdoc/require-returns-type ESLint rule (Rich Trott) #41130
  • [66feaf429c] - tools: fix small not-quite-a-bug in find-inactive-tsc.mjs (Rich Trott) #41469
  • [7d5686dc9c] - tools: enable ESLint recommended configuration (Rich Trott) #41463
  • [ecf3b6db44] - tools: enable ESLint no-constant-condition rule (Rich Trott) #41463
  • [12ea18ded9] - tools: enable ESLint require-yield rule (Rich Trott) #41463
  • [609a310e2a] - tools: enable ESLint no-sparse-arrays rule (Rich Trott) #41463
  • [063abe52aa] - tools: enable ESLint no-loss-of-precision rule (Rich Trott) #41463
  • [86ece9843f] - tools: replace for loop with map() (Rich Trott) #41451
  • [70ea7462a6] - tools: use GITHUB_ACTIONS env var in inactivity scripts (Rich Trott) #41422
  • [62450d38a8] - tools: replace while+exec() with matchAll() (Rich Trott) #41406
  • [2bc381ee55] - tools: fix argv bug in find-inactive-tsc.mjs (Rich Trott) #41394
  • [3ecc964a29] - tools: remove conditional assignment in custom ESLint rule (Rich Trott) #41325
  • [a136d56aa6] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #41369
  • [003dd37717] - tools: update doc to [email protected] (Node.js GitHub Bot) #41367
  • [e8f00fd2ff] - tools: remove last of error-masking in commit-queue.sh (Rich Trott) #41356
  • [530c1275a0] - tools: update eslint to 8.6.0 (Node.js GitHub Bot) #41368
  • [9f2365c4e1] - tools: do not mask errors on multiple commit retrieval (Rich Trott) #41340
  • [f31a3a27bf] - tools: enable jsdoc/check-param-names lint rule (Rich Trott) #41311
  • [1d2e676f8d] - tools: improve section tag additions in HTML doc generator (Rich Trott) #41318
  • [12c5333546] - tools: simplify commit-queue.sh merge command (Rich Trott) #41314
  • [85438e367e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #41315
  • [f890582760] - tools: use Object.hasOwn() in alljson.mjs (Rich Trott) #41306
  • [b6a0afc99e] - tools: avoid generating duplicate id attributes (Rich Trott) #41291
  • [7815fbd751] - tools: be intentional about masking possible error in start-ci.sh (Rich Trott) #41284
  • [4011be0d19] - tools: use {N} for spaces in regex (Rich Trott) #41295
  • [599c119de8] - tools: consolidate update-authors.js logic (Rich Trott) #41255
  • [0f728e0825] - tools: update doc dependency mdast-util-gfm-table to 1.0.2 (Rich Trott) #41260
  • [ae32af308a] - tools: make license-builder.sh comply with shellcheck 0.8.0 (Rich Trott) #41258
  • [d51e8ffb22] - tools: use arrow function for callback in lint-sh.js (Rich Trott) #41256
  • [1523aa5a02] - tools: add double-quotes to make-v8.sh (Rich Trott) #41257
  • [49dc1f278e] - tools: enable prefer-object-has-own lint rule (Rich Trott) #41245
  • [f926a490e5] - tools: update eslint to 8.5.0 (Node.js GitHub Bot) #41228
  • [91fc85ae1b] - tools: enable jsdoc/tag-lines ESLint rule (Rich Trott) #41147
  • [de2140d851] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #41227
  • [433274ac2c] - tools: fix CQ and auto-start-ci jobs (Antoine du Hamel) #41230
  • [95568dc877] - tools: fix GitHub Actions status when CQ is empty (Antoine du Hamel) #41193
  • [719c39d230] - tools: update doc to [email protected] (Node.js GitHub Bot) #41149
  • [0b2144028f] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #41150
  • [3dc8483345] - tools: update ESLint to 8.4.1 (Rich Trott) #41114
  • [33be3e8451] - tools: enable JSDoc check-alignment lint rule (Rich Trott) #41109
  • [2c28f86eb9] - tools: strip comments from lint-md rollup output (Rich Trott) #41092
  • [1ff152120e] - tools: update highlight.js to 11.3.1 (Rich Trott) #41091
  • [2c009ccc24] - tools: enable jsdoc/require-returns-check lint rule (Rich Trott) #41089
  • [4aae04bb1a] - tools: update ESLint to 8.4.0 (Luigi Pinca) #41085
  • [50420c654c] - tools: enable jsdoc/require-param-name lint rule (Rich Trott) #41057
  • [0983f6b29b] - tools: use jsdoc recommended rules (Rich Trott) #41057
  • [f9cf50f543] - tools: rollback highlight.js (Richard Lau) #41078
  • [5bfa0ea9c4] - tools: remove Babel from license-builder.sh (Rich Trott) #41049
  • [f74d8b56b8] - tools: udpate packages in tools/doc (Rich Trott) #41036
  • [af9b05fc11] - tools: install and enable JSDoc linting in ESLint (Rich Trott) #41027
  • [45e7affa9c] - tools: include JSDoc in ESLint updating tool (Rich Trott) #41027
  • [9e770d4cfd] - tools: ignore unrelated workflow changes in slow Actions tests (Antoine du Hamel) #40990
  • [e5cccdfd74] - tools: remove unneeded tool in update-eslint.sh (Rich Trott) #40995
  • [017cdcd76a] - tools: consolidate ESLint dependencies (Rich Trott) #40995
  • [83f946855f] - tools: update ESLint update script to consolidate dependencies (Rich Trott) #40995
  • [0ed4775069] - tools: run ESLint update to minimize diff on subsequent update (Rich Trott) #40995
  • [5527e9bfac] - tools: update gyp-next to v0.10.1 (Michaël Zasso) #40934
  • [307dd76a90] - tools: fix commit-lint GH Actions CI (Antoine du Hamel) #40845
  • [da35d4fc4b] - tools: ping TSC members identified as inactive (Rich Trott) #40915
  • [2ffe08dc3e] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #40929
  • [5336e488f1] - tools: update lint-md dependencies (Rich Trott) #40894
  • [96cfab14d0] - tools: update ESLint to 8.3.0 (Luigi Pinca) #40917
  • [b54d53b9dd] - tools: add find-inactive-tsc (Rich Trott) #40884
  • [4ffbff25f3] - tools: update @babel/eslint-parser to 7.16.3 (Node.js GitHub Bot) #40889
  • [c5d0b3cf84] - tools: only validate first commit message of a PR (Antoine du Hamel) #40740
  • [6b6fb83673] - tools: improve update scripts (Rich Trott) #40644
  • [e915cec505] - tools: notify user if format-md needs to be run (Rich Trott) #40647
  • [ea75ef5fbd] - tools: update babel-eslint-parser to 7.16.0 (Rich Trott) #40720
  • [3580286818] - tools: avoid unnecessary escaping in markdown formatter (Rich Trott) #40645
  • [362f5edf8c] - tools,benchmark,lib,test: enable no-case-declarations lint rule (Rich Trott) #41385
  • [5d70195d56] - tools,lib,test: enable ESLint no-regex-spaces rule (Rich Trott) #41463
  • [53570a8a7a] - tools,test: make -J behavior default for test.py (Rich Trott) #40945
  • [5380de725c] - typings: add types for symbol and accessor properties on primordials (ExE Boss) #40992
  • [782dbbd38c] - typings: add JSDoc for string_decoder (Qingyu Deng) #38229
  • [08c2512bbf] - url: detect hostname more reliably in url.parse() (Rich Trott) #41031
  • [2c7f17c72c] - util: do not reduce to a single line if not appropriate using inspect (Ruben Bridgewater) #41083
  • [7b6c71ab1c] - util: display a present-but-undefined error cause (Jordan Harband) #41247
  • [2602c0ca62] - util: serialize falsy cause values while inspecting errors (Ruben Bridgewater) #41097
  • [89d955658b] - util: make sure error causes of any type may be inspected (Ruben Bridgewater) #41097
  • [8ce85882bd] - (SEMVER-MINOR) util: pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019
  • [4f300a5b00] - util: escape lone surrogate code points using .inspect() (Ruben Bridgewater) #41001
  • [45a3e2454d] - (SEMVER-MINOR) util: add numericSeparator to util.inspect (Ruben Bridgewater) #41003
  • [b15f5e48fa] - (SEMVER-MINOR) util: always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
  • [e29bd4699d] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283

2022-01-10, Version 16.13.2 'Gallium' (LTS), @danielleadams

This is a security release.

Notable changes

Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)

Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.

Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.

More details will be available at CVE-2021-44531 after publication.

Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)

Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.

Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.

More details will be available at CVE-2021-44532 after publication.

Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)

Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.

Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.

More details will be available at CVE-2021-44533 after publication.

Prototype pollution via console.table properties (Low)(CVE-2022-21824)

Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.

Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.

More details will be available at CVE-2022-21824 after publication.

Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.

Commits

2021-12-01, Version 16.13.1 'Gallium' (LTS), @BethGriggs

Notable Changes

  • [c14eb2325d] - deps: upgrade npm to 8.1.2 (npm team) #40643
  • [a901b6c53c] - deps: update c-ares to 1.18.1 (Richard Lau) #40660
    • This release contains a c-ares update to fix a regression introduced in Node.js v16.6.2 resolving CNAME records containing underscores (#39780).
  • [755c08573f] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [881dd7ba2a] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325

Commits

  • [996bc6e840] - benchmark: increase crypto DSA keygen params (Brian White) #40416
  • [27009092c8] - build: skip long-running Actions for README-only modifications (Rich Trott) #40571
  • [4581997ed0] - build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418
  • [17433060d4] - build: fix actions pull request's branch (Mestery) #40494
  • [bfdd32fa62] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465
  • [134e8afc59] - build: update codeowners-validator to 0.6 (FrankQiu) #40307
  • [de125a556c] - crypto: avoid double free (Michael Dawson) #40380
  • [c14eb2325d] - deps: upgrade npm to 8.1.2 (npm team) #40643
  • [a901b6c53c] - deps: update c-ares to 1.18.1 (Richard Lau) #40660
  • [76e2c3769e] - deps: upgrade npm to 8.1.1 (npm team) #40554
  • [91c3cf5d0a] - deps: V8: cherry-pick 422dc378a1da (Ray Wang) #40450
  • [769336ab8c] - deps: add riscv64 config into openssl gypi (Lu Yahan) #40473
  • [76d1b5d868] - deps: patch V8 to 9.4.146.24 (Michaël Zasso) #40616
  • [23d11a1dd9] - dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568
  • [45bdc77dc0] - doc: update cjs-module-lexer repo link (Guy Bedford) #40707
  • [de5c5c8509] - doc: remove --experimental-modules documentation (FrankQiu) #38974
  • [befac5ddd9] - doc: update tracking issues of startup performance (Joyee Cheung) #40629
  • [3cb74d72f8] - doc: fix markdown syntax and HTML tag misses (ryan) #40608
  • [eea061f8f1] - doc: use 'GitHub Actions workflow' instead (Mestery) #40586
  • [7a6e833677] - doc: add node: url scheme (Daniel Nalborczyk) #40573
  • [d72fb7df4a] - doc: call cwd function (Daniel Nalborczyk) #40573
  • [d732ff4614] - doc: remove unused imports (Daniel Nalborczyk) #40573
  • [e2114e21f4] - doc: add info on project's usage of coverity (Michael Dawson) #40506
  • [d38077babe] - doc: fix typo in changelogs (Luigi Pinca) #40585
  • [7c7f8791c6] - doc: update onboarding task (Rich Trott) #40570
  • [0a7c4ff248] - doc: simplify ccache instructions (Rich Trott) #40550
  • [5593dd1b25] - doc: fix macOS environment variables for ccache (Rich Trott) #40550
  • [2d4a042675] - doc: improve async_context introduction (Michaël Zasso) #40560
  • [9fcfef09ac] - doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477
  • [579f01c0a3] - doc: describe buffer limit of v8.serialize (Ray Wang) #40243
  • [3b6cf090a0] - doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476
  • [dea701004e] - doc: fix fs.symlink code example (Juan José Arboleda) #40414
  • [595117ff0b] - doc: explain backport labels (Stephen Belanger) #40520
  • [042f01e3ed] - doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563
  • [755c08573f] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566
  • [c029d0b61f] - doc: document considerations for inclusion in core (Rich Trott) #40338
  • [836fc274e4] - Revert "doc: fix typo in stream docs" (Luigi Pinca) #40819
  • [b3a12767a4] - doc: update link in onboarding doc (Rich Trott) #40539
  • [aa47c9f38f] - doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458
  • [bf88328bdc] - doc: add updating expected assets to release guide (Richard Lau) #40470
  • [621266afc7] - doc: format doc/api/*.md with markdown formatter (Rich Trott) #40403
  • [7b746381ce] - doc: specify that maxFreeSockets is per host (Luigi Pinca) #40483
  • [934dcc85c3] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456
  • [4724e07476] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371
  • [3b1499c971] - doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617
  • [881dd7ba2a] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325
  • [0a8c33123e] - lib,url: correct URL's argument to pass idlharness (Khaidi Chu) #39848
  • [480f0e1d20] - meta: use form schema for flaky test template (Michaël Zasso) #40737
  • [55ff97342d] - meta: update AUTHORS (Node.js GitHub Bot) #40668
  • [ef46cb428d] - meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599
  • [7230b6d33d] - meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620
  • [9e12ed4f68] - meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619
  • [97aa8e42b8] - meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596
  • [7b1c89f357] - meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589
  • [0003cb6b3b] - meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569
  • [7590bacec1] - meta: update AUTHORS (Node.js GitHub Bot) #40580
  • [a5475df083] - meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527
  • [c021a7f169] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464
  • [d64cf1706c] - meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523
  • [d09b8239bf] - meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517
  • [66192060e7] - meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490
  • [b4f51276cb] - meta: update AUTHORS (Node.js GitHub Bot) #40485
  • [2a2b549a28] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469
  • [618bbbf2f4] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447
  • [06706e8dd2] - meta: add typings to label-pr-config (Mestery) #40401
  • [e2c9e1ccdd] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430
  • [dab574e937] - policy: fix message for invalid manifest specifier (Rich Trott) #40574
  • [58de6cebb6] - process: refactor execution (Voltrex) #40664
  • [bc0eb0a3ea] - src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607
  • [2c8a6ec28e] - src: remove usage of AllocatedBuffer from node_http2 (Darshan Sen) #40584
  • [59c26a2b2c] - src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639
  • [789fef1309] - src: throw error instead of assertion (Ray Wang) #40243
  • [7a8a6deee7] - src: register external references in os bindings (Joyee Cheung) #40239
  • [7bb3d43432] - src: register external references in crypto bindings (Joyee Cheung) #40239
  • [143c881ccb] - src: add missing inialization in agent.h (Michael Dawson) #40379
  • [c15afda79f] - src: get embedder options on-demand (Joyee Cheung) #40357
  • [ff3b7d228e] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405
  • [774bc46327] - src,crypto: remove AllocatedBuffer from crypto_cipher.cc (Darshan Sen) #40400
  • [4030eff3d6] - src,fs: remove ToLocalChecked() call from fs::AfterMkdirp() (Darshan Sen) #40386
  • [3ac99a2417] - src,stream: remove *Check*() calls from non-Initialize() functions (Darshan Sen) #40425
  • [36d3b123a0] - stream: support array of streams in promises pipeline (Mestery) #40193
  • [01ffe0316c] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838
  • [63b44fc429] - test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607
  • [3d50997ccb] - test: add semicolon after chunk size (Luigi Pinca) #40487
  • [f114e35115] - test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659
  • [f778fa230b] - test: test crypto.setEngine() using an actual engine (Darshan Sen) #40481
  • [b9533c592a] - test: use conventional argument order in assertion (Tobias Nießen) #40591
  • [e72c95c580] - test: fix test description (Luigi Pinca) #40486
  • [af4e682758] - test: pass URL's toascii.window.js WPT (Khaidi Chu) #39910
  • [6de88bc5ed] - test: adjust CLI flags test to ignore blank lines in doc (Rich Trott) #40403
  • [8226690097] - test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684
  • [50c6666b37] - test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684
  • [9227f2af79] - test: split test-crypto-dh.js (Joyee Cheung) #40451
  • [c593cff0af] - test,doc: correct documentation for runBenchmark() (Rich Trott) #40683
  • [aef809f5c8] - test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684
  • [908f6447cd] - test,tools: increase timeout for benchmark tests (Rich Trott) #40684
  • [64c6575f44] - tools: simplify and fix commit queue (Michaël Zasso) #40742
  • [cba8eaf264] - tools: ensure the PR was not pushed before merging (Antoine du Hamel) #40747
  • [1c8590e1fe] - tools: update ESLint to 8.2.0 (Luigi Pinca) #40734
  • [18800dee0a] - tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666
  • [48a785edb7] - tools: fix bug in prefer-primordials ESLint rule (Antoine du Hamel) #40628
  • [adde2a7a8c] - tools: add script to update c-ares (Richard Lau) #40660
  • [c12ce898e8] - tools: abort CQ session when landing several commits (Antoine du Hamel) #40577
  • [dd08e532a2] - tools: fix commit-lint workflow (Antoine du Hamel) #40673
  • [b4a80dba79] - tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128
  • [2a53995442] - tools: update ESLint to 8.1.0 (Luigi Pinca) #40582
  • [8648e50183] - tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600
  • [59de0f703f] - tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477
  • [abf3b84d77] - tools: add support for import assertions in linter (Antoine du Hamel) #39924
  • [04c2cbecb9] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445
  • [a9990876f7] - tools: update lint-md dependencies (Rich Trott) #40404
  • [f45814bad1] - tools,meta: remove exclusions from AUTHORS (Rich Trott) #40648
  • [7d550ad966] - tty: support more CI services in getColorDepth (Richie Bendall) #40385
  • [cdea5b671b] - typings: add more bindings typings (Mestery) #40415
  • [67c7d11f1a] - typings: add JSDoc typings for inspector (Voltrex) #38390
  • [fbe0323ebf] - typings: improve internal bindings typings (Mestery) #40411
  • [63ab0031c3] - typings: separate internalBinding typings (Mestery) #40409

2021-10-26, Version 16.13.0 'Gallium' (LTS), @richardlau

Notable Changes

This release marks the transition of Node.js 16.x into Long Term Support (LTS) with the codename 'Gallium'. The 16.x release line now moves into "Active LTS" and will remain so until October 2022. After that time, it will move into "Maintenance" until end of life in April 2024.

2021-10-20, Version 16.12.0 (Current), @richardlau

Notable Changes

Experimental ESM Loader Hooks API

Node.js ESM Loader hooks have been consolidated to represent the steps involved needed to facilitate future loader chaining:

  1. resolve: resolve [+ getFormat]
  2. load: getFormat + getSource + transformSource

For consistency, getGlobalPreloadCode has been renamed to globalPreload.

A loader exporting obsolete hook(s) will trigger a single deprecation warning (per loader) listing the errant hooks.

Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - #37468

Other Notable Changes

  • [8fdabcb918] - deps: upgrade npm to 8.1.0 (npm team) #40463
  • [d1d9f2de30] - doc: deprecate (doc-only) http abort related (dr-js) #36670
  • [4116b6c907] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249

Commits