-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v16.17.0 release proposal #44098
v16.17.0 release proposal #44098
Conversation
This commit adds a new command line option named '--openssl-shared-config' intended to allow reverting to the old OpenSSL configuration behavior where Node.js would use the configuration section name (called appname in OpenSSL) 'openssl_conf' which could potentially be used my other applications.. PR-URL: #43124 Backport-PR-URL: #43892 Refs: #40366 Refs: nodejs/nodejs.org#4713 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Beth Griggs <[email protected]>
PR-URL: #43483 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #43452 Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #43227 Refs: #43198 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
PR-URL: #43236 Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: #43228 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Rich Trott <[email protected]>
V8 considers gc(true) legacy, and the new signature is much more expressive. PR-URL: #43493 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #43151 Refs: #40678 Reviewed-By: Masashi Hirano <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #43497 Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
This was split into a separate page 2 days ago: mdn/content@d2b5012 PR-URL: #43530 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Some platforms may return `EOVERFLOW` errors instead of `EFBIG`. PR-URL: #43510 Refs: #42999 Refs: #43509 Reviewed-By: LiviaMedeiros <[email protected]> Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
Ran through onboaring with Juan today. Add him to the rotation for security stewards. Signed-off-by: Michael Dawson <[email protected]> PR-URL: #43512 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
My availability has become smaller and smaller and I think for now the best thing to do is to move to TSC Emeritus. Perhaps I'll have more time to focus on Node.js Leadership again in the future, but for now I think it's best to officially step back a bit. So long, and thanks for all the modules o/ PR-URL: #43524 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Danielle Adams <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
Should fix test flakiness that is presumably caused by the asynchronous nature of the unlink operation on Windows. It's been observed that sub-tests randomly fail with "permission denied" errors when trying to create a new file in a directory with appropriate permissions. The DeleteFile() NT API call makes a file inaccessible and marks it for deletion but doesn't actually delete it until the last open handle has been closed. Accessing such a file fails with ERROR_ACCESS_DENIED. Processes can close handles manually or wait for the operating system to close them asynchronously after process termination. I speculate it's the latter that's causing the test to turn flaky. Fixes: #43502 PR-URL: #43504 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: LiviaMedeiros <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Rich Trott <[email protected]>
On IBM i rss memory information is not available and always returns `0`. PR-URL: #43511 Refs: #43509 Refs: libuv/libuv#2732 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #43481 Refs: #33864 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Tierney Cyren <[email protected]>
PR-URL: #43500 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #43454 Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #43361 Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
Fixes: #43360 PR-URL: #43381 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #43544 Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #43573 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
In the manual page, there is a statement that ciphersuites contain explicit default settings - all TLS 1.3 ciphersuites enabled. In node, we assume that an empty setting mean no ciphersuites and we disable TLS 1.3. A correct approach to disabling TLS 1.3 is to disable TLS 1.3 and by not override the default ciphersuits with an empty string. So, only override OpenSSL's TLS 1.3 ciphersuites with an explicit list of ciphers. If none are acceptable, the correct approach is to disable TLS 1.3 instead elsewhere. Fixes: #43419 PR-URL: #43427 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #43557 Fixes: nodejs/build#2968 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #43472 Reviewed-By: Guy Bedford <[email protected]>
PR-URL: #43473 Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #43506 Co-authored-by: Moshe Atlow <[email protected]> Fixes: #43468 Reviewed-By: LiviaMedeiros <[email protected]>
PR-URL: #43543 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Yongsheng Zhang <[email protected]> Reviewed-By: James M Snell <[email protected]>
Cover malformed mappings scenario. PR-URL: #43285 Reviewed-By: Ben Coe <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #43601 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
@nodejs/releasers @nodejs/lts Unless there are objections or additional suggestions to the changelog, I'm going to promote the release as-is on Tuesday. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, although there are a few oddities in the release commit message with commits that had more than one subsystem:
(SEMVER-MINOR) moduleepl**: support 'node:'-only core modules (Colin Ihrig) [#42325](https://github.com/nodejs/node/pull/42325)
(SEMVER-MINOR) nodepi**: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) [#36510](https://github.com/nodejs/node/pull/36510)
(SEMVER-MINOR) perfhooks**: add PerformanceResourceTiming (RafaelGSS) [#42725](https://github.com/nodejs/node/pull/42725)
(SEMVER-MINOR) srcoc,test**: add --openssl-shared-config option (Daniel Bevenius) [#43124](https://github.com/nodejs/node/pull/43124)
The equivalent entries in the changelog look okay, FWIW.
Notable changes: 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 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 (https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details. Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias. #42623 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. 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 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 (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427 (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816 (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) #43176 doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738 (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714 (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008 (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885 (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) #43514 (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008 (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008 (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601 (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) #42768 (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806 (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580 (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361 (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397 (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008 (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901 (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008 (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951 (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714 (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396 (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325 (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582 (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112 (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510 (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725 (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116 (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478 (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757 (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124 (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008 (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849 (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802 (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008 (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329 (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784 (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849 PR-URL: #44098
cd03cc3
to
30187ba
Compare
I rewrote the commit message. It should be better now. |
It might be too late, but the most recent version of npm is now 8.17.0 if we are able to update it prior to the release, but assuming you've done all the testing and that would be a big drag I wouldn't worry about it |
also I don't believe 8.17.0 went out in a node18 release yet, which is usually nicer to wait for |
What @ruyadorno said, and I don't have enough time to add more commits before the release. |
@nodejs/documentation I don't know how to handle the conflict about
I'm going to push with the first line. If that's wrong somebody can open a PR to fix it up. |
Both are wrong IIRC: |
Notable changes: 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 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 (https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details. Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias. #42623 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. 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 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 (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427 (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #42816 (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) #43176 doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #43738 (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #42714 (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008 (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885 (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) #43514 (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008 (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008 (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #42601 (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) #42768 (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #43806 (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580 (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361 (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397 (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008 (SEMVER-MINOR) http2: compat support for array headers (OneNail) #42901 (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008 (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951 (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714 (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396 (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325 (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582 (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #43112 (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #36510 (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #42725 (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116 (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478 (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757 (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124 (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008 (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849 (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #40802 (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008 (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329 (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784 (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849 PR-URL: #44098
Also @nodejs/releasers @MylesBorins note that https://github.com/nodejs/node/releases/tag/v16.17.0 is truncated because GitHub imposes a size limit on the contents. |
Notable changes: 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. nodejs#42675 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 (https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details. Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias. nodejs#42623 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. 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. nodejs#42507 nodejs#43310 Updated Corepack to 0.12.1 - nodejs#43965 Updated ICU to 71.1 - nodejs#42655 Updated npm to 8.15.0 - nodejs#43917 Updated Undici to 5.8.0 - nodejs#43886 (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) nodejs#42427 (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) nodejs#42816 (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) nodejs#43176 doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) nodejs#43738 (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) nodejs#42714 (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) nodejs#41008 (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) nodejs#43885 (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) nodejs#43514 (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) nodejs#41008 (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) nodejs#41008 (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) nodejs#42601 (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) nodejs#42768 (SEMVER-MINOR) http: add drop request event for http server (theanarkh) nodejs#43806 (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) nodejs#43580 (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) nodejs#43361 (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) nodejs#41397 (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) nodejs#41008 (SEMVER-MINOR) http2: compat support for array headers (OneNail) nodejs#42901 (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) nodejs#41008 (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) nodejs#40951 (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) nodejs#42714 (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) nodejs#43396 (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) nodejs#42325 (SEMVER-MINOR) net: add drop event for net server (theanarkh) nodejs#43582 (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) nodejs#43112 (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) nodejs#36510 (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) nodejs#42725 (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) nodejs#43116 (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) nodejs#40478 (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) nodejs#42757 (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) nodejs#43124 (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) nodejs#41008 (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) nodejs#41849 (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) nodejs#40802 (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) nodejs#41008 (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) nodejs#43329 (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) nodejs#42784 (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) nodejs#42849 PR-URL: nodejs#44098
Notable changes: 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. nodejs/node#42675 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 (https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details. Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias. nodejs/node#42623 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. 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. nodejs/node#42507 nodejs/node#43310 Updated Corepack to 0.12.1 - nodejs/node#43965 Updated ICU to 71.1 - nodejs/node#42655 Updated npm to 8.15.0 - nodejs/node#43917 Updated Undici to 5.8.0 - nodejs/node#43886 (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) nodejs/node#42427 (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) nodejs/node#42816 (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) nodejs/node#43176 doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) nodejs/node#43738 (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) nodejs/node#42714 (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) nodejs/node#41008 (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) nodejs/node#43885 (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) nodejs/node#43514 (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) nodejs/node#41008 (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) nodejs/node#41008 (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) nodejs/node#42601 (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) nodejs/node#42768 (SEMVER-MINOR) http: add drop request event for http server (theanarkh) nodejs/node#43806 (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) nodejs/node#43580 (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) nodejs/node#43361 (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) nodejs/node#41397 (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) nodejs/node#41008 (SEMVER-MINOR) http2: compat support for array headers (OneNail) nodejs/node#42901 (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) nodejs/node#41008 (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) nodejs/node#40951 (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) nodejs/node#42714 (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) nodejs/node#43396 (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) nodejs/node#42325 (SEMVER-MINOR) net: add drop event for net server (theanarkh) nodejs/node#43582 (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) nodejs/node#43112 (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) nodejs/node#36510 (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) nodejs/node#42725 (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) nodejs/node#43116 (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) nodejs/node#40478 (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) nodejs/node#42757 (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) nodejs/node#43124 (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) nodejs/node#41008 (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) nodejs/node#41849 (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) nodejs/node#40802 (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) nodejs/node#41008 (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) nodejs/node#43329 (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) nodejs/node#42784 (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) nodejs/node#42849 PR-URL: nodejs/node#44098
Scheduled date
2022-08-16
Release candidate
https://nodejs.org/download/rc/v16.17.0-rc.1/
Classified list of commits
https://github.com/nodejs/node/blob/v16.17.0-proposal/doc/changelogs/CHANGELOG_V16.md#commits
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
callsbar-loader
callsqux-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:
'Ed25519'
,'Ed448'
,'X25519'
, and'X448'
algorithms.'NODE-DSA'
,'NODE-DH'
,'NODE-SCRYPT'
,'NODE-ED25519'
,'NODE-ED448'
,'NODE-X25519'
, and'NODE-X448'
algorithms were removed.'node.keyObject'
import/export format was removed.Contributed by Filip Skokan - #42507, #43310
Dependency updates
Other notable changes
5f1e9e2030
] - (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) #42427934077a137
] - (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) #428167683e9623c
] - (SEMVER-MINOR) dns: export error code constants fromdns/promises
(Feng Yu) #43176302a134b83
] - doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) #437384884f18ce5
] - (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) #4271490f395dda9
] - (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #410087a5de2cc0c
] - (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) #43885087adbb7a3
] - (SEMVER-MINOR) events: addCustomEvent
(Daeyeon Jeong) #43514979c98a3cb
] - (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008e04c8a4921
] - (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008464830993e
] - (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) #426013d7808ec3f
] - (SEMVER-MINOR) fs: addread(buffer[, options])
versions (LiviaMedeiros) #42768082a2630fd
] - (SEMVER-MINOR) http: add drop request event for http server (theanarkh) #438065a74939770
] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580f05fd1a423
] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #433619d1b4b7e29
] - (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) #41397fa5ac5a2eb
] - (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #4100894070f152e
] - (SEMVER-MINOR) http2: compat support for array headers (OneNail) #4290136dd39dec0
] - (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #410088adf7d5e91
] - (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #409513c1ed86840
] - (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) #42714e6186af5cc
] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #433963d851d6d6b
] - (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) #42325303bd08d88
] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582da03e9f484
] - (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) #4311273f852e1e3
] - (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) #365106dcdcd7f50
] - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) #427255750358872
] - (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) #43116e7b99e8c8d
] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #404781281a48b89
] - (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #427579ea9797d34
] - (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) #43124046debaee0
] - (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #410086641fda10a
] - (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) #41849edec73032c
] - (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) #408022aae868fa2
] - (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008513f52445b
] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329a8eca74450
] - (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) #42784845279e331
] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849