Skip to content
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

v17.8.0 proposal #42425

Merged
merged 70 commits into from Mar 22, 2022
Merged

v17.8.0 proposal #42425

merged 70 commits into from Mar 22, 2022

Conversation

bengl
Copy link
Member

@bengl bengl commented Mar 21, 2022

2022-03-22, Version 17.8.0 (Current), @bengl

Notable Changes

Commits

  • [1796f035c7] - build: rename tools workflow and add undici to it (Michaël Zasso) #42246
  • [f27bcec2ea] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
  • [f48c3baf5a] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
  • [1d0468f749] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
  • [a4632a3dc2] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
  • [3b55946452] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
  • [84fd6e54b0] - deps: upgrade npm to 8.5.5 (npm team) #42382
  • [f2178fcc1a] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
  • [063ff08cb1] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
  • [b60262ee9f] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
  • [70c0758308] - deps: upgrade npm to 8.5.3 (npm team) #42205
  • [fd51e78963] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
  • [db83c4d6dc] - doc: improve README.md usability (Rich Trott) #42378
  • [88d3401329] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
  • [04a7c0061b] - doc: update instructions for openssl updates (Michael Dawson) #42353
  • [78b858dd4b] - doc: document goal to have examples (Michael Dawson) #42274
  • [a5e42f0113] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
  • [6c265e7243] - doc: remove unneeded lint disable comment (Rich Trott) #42374
  • [46d3d23e64] - doc: revise async_hooks docs (Rich Trott) #42337
  • [3bd0078457] - doc: add @ShogunPanda to collaborators (Shogun) #42362
  • [e7e8eb9f03] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
  • [fd7e4ab654] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
  • [96dc591b55] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
  • [72dd50016a] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
  • [8b99099063] - doc: improve pipe description (Mikael Finstad) #42295
  • [701dc14fdf] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
  • [23354673be] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • [f3c6c00963] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
  • [19851f8d2d] - doc: readline 'line' event emits final line (Matt Probert) #42214
  • [e55283b978] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
  • [e17db8f0fa] - esm: improve typings and code coverage (Bradley Farias) #42305
  • [4829a1047f] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
  • [da42ffb85e] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
  • [88dee3c6b5] - http2: fix potential integer overflow (Michael Dawson) #42248
  • [1fe0b69c31] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
  • [69a3792540] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
  • [1c87ce6a32] - meta: update AUTHORS (Node.js GitHub Bot) #42404
  • [e7b8d83acd] - meta: update AUTHORS (Node.js GitHub Bot) #42317
  • [7fc4b9f08d] - meta: add dependencies label to label-pr-config (Mestery) #42129
  • [e96042442b] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
  • [21198c1407] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
  • [846b074075] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
  • [8b84e68cbd] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
  • [9500e5862e] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
  • [08e2d8ab86] - src: check return value of HMAC_Final (Tobias Nießen) #42303
  • [9fc4b9b04e] - src: include internal/options in the snapshot (Joyee Cheung) #42203
  • [e43aa30982] - src: remove redundant buffer size check (Tobias Nießen) #42257
  • [d06e92dba0] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
  • [9af908305d] - src: use emplace_back instead of push_back (Yash Ladha) #42159
  • [62d9a7f5db] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
  • [58763d7f9d] - src,crypto: avoid tristate Maybe<bool> in ExportJWKEcKey() (Darshan Sen) #42223
  • [5367002bc8] - stream: do cleanup when iterator is destroyed (Khoo Hao Yit) #42320
  • [3492a0eb1e] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
  • [d9a5c2b284] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
  • [b82bac09ff] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
  • [dfdce7c182] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
  • [4941791f29] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
  • [94e5eaa7e9] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
  • [a4aa9eb97f] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
  • [26d4a2d489] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
  • [4fd2aff42e] - tools: make update-undici script executable (Michaël Zasso) #42406
  • [38e7681ac7] - tools: update lint-md-dependencies to rollup@2.70.1 (Node.js GitHub Bot) #42403
  • [b7a4b4b1fd] - tools: update doc to highlight.js@11.5.0 unified@10.1.2 (Node.js GitHub Bot) #42315
  • [30ea1889d5] - tools: update lint-md-dependencies to rollup@2.70.0 unified@10.1.2 (Node.js GitHub Bot) #42316
  • [eb0e1a1147] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
  • [e95426fd3a] - tools: fix web streams API links (Brian White) #42153
  • [fe01940f35] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
  • [b89f4d5c17] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
  • [229fb40edc] - worker: do not send message if port is closing (Rich Trott) #42357

mhdawson and others added 30 commits March 20, 2022 17:27
Fix unchecked return warning from coverity in
src/env.cc. Added check in same manner as other
places where uv_async_init is called.

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: #42176
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Updated docs to reflect current behaviour of readline:
final line of input will be emitted via `'line'` event
when input stream `'end'` event is emitted even when
the input is not newline terminated.

Refs: nodejs/node-v0.x-archive#7238

PR-URL: #42214
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #42155
Reviewed-By: Darshan Sen <raisinten@gmail.com>
PR-URL: #42153
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #42129
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
The function generating fingerprint strings never accesses more than
EVP_MAX_MD_SIZE * 3 characters, including the terminating '\0'.

PR-URL: #42175
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
If `ccache` is available, use it during V8 builds on ppc64le and s390x.
Only create the `gcc` and `g++` shims if necessary.

PR-URL: #42204
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Emulate the WHATWHG URL parse behavior of trimming leading and trailing
C0 control characters. This moves url.parse() slightly closer to
WHATWHG URL behavior. The current behavior is possibly insecure for some
uses. (The url.parse() API is marked as Legacy and the documentation
specifically says it has known bugs and insecure behaviors. Still this
change makes a lot of sense.)

This issue was reported by P0cas. https://github.com/P0cas

PR-URL: #42196
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This makes the function throw an exception from JS instead of crashing.

Fixes: #41949
Signed-off-by: Darshan Sen <raisinten@gmail.com>

PR-URL: #42062
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
The last release line that did not support the new openssl list command
was OpenSSL 1.1.0, which reached its end-of-life status years ago.

PR-URL: #42235
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #42205
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
PR-URL: #42177
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Bradley Farias <bradley.meck@gmail.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This also affects `fs.writeFile`, `fs.appendFile`, and
`fs.appendFileSync`

Refs: #41677

PR-URL: #42149
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #42159
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #42236
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
The function currently uses the return value to convey whether an
exception was thrown while it was running by using either Just(true) or
Nothing<bool>(). Unfortunately, Maybe<bool> also has a third state -
Just(false), which doesn't make any sense here. So this change avoids
the possibility of a tristate return value by making use of Maybe<void>
which only has two valid states - JustVoid() / Nothing<void>(), which
fits right in.

Signed-off-by: Darshan Sen <raisinten@gmail.com>

PR-URL: #42223
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #42267
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
This also adds a script to automate the update and includes the sources
included in the npm tarball.

PR-URL: #42246
Fixes: #42199
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
The workflow already updates Corepack, which is a `deps`, not a `tool`.
Add subsystem and label variables to the matrix to better control the
automated pull requests and add undici to the updated deps.

PR-URL: #42246
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
resolve: #42239

PR-URL: #42241
Fixes: #42239
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Fix report from coverity on potential integer overflow
in http2.

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: #42248
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
PR-URL: #42252
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Rich Trott <rtrott@gmail.com>
- Use `final` to indicate the classes that we actually
  instantiate
- Properly use `const` (and the necessary associated `const_cast`
  for zlib because we don’t define `ZLIB_CONST` and allow shared
  builds)
- Store the JS callback in an internal field rather than a `Global`
  (which improves memory leak debugging capabilities, removes
  a potential future memory leak footgun, and aligns the code
  with the rest of the codebase more closely)
- Other minor C++ cleanup

PR-URL: #42247
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message:

    [riscv64] Fix segmentation fault of webpack-make from cockpit

    issue: riscv-collab/v8#520

    Change-Id: I7fe298ad16a2f599805929db0f084a81c4eb7f7a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3503170
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Reviewed-by: Yahan Lu <yahan@iscas.ac.cn>
    Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#79376}

Refs: v8/v8@c6f6626

PR-URL: #42240
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
This condition is already checked by the CHECK_BUFLEN_IN_RANGE macro,
so if it was true here, that would contradict the previous check.

PR-URL: #42257
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #42279

PR-URL: #42283
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
A null character in the middle of an invalid URL was resulting in an
error message that truncated the input string. This preserves the entire
input string in the error message.

Refs: #39592

PR-URL: #42263
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This patch enables internal/options to be included in the snapshot,
so that when lazy loading the run time options, the modules only
need to make sure that the options are queried lazily and do not
have to lazy load the internal/options module together. We can
still guarantee that no run time options are serialized into the
state-independent bootstrap snapshot with the assertion inside
GetCLIOptions().

PR-URL: #42203
Refs: #37476
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Bradley Farias <bradley.meck@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #42317
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Original commit message:

Asterisks should be allowed in host validation as CNAMEs may reference
wildcard domains

CloudFlare appears to use this logic in CNAMEs as per
#42171

Fixes: c-ares/c-ares#457
Fix By: Brad House (@bradh352)

PR-URL: #42216
Fixes: #42171
Fixes: #457
Refs: c-ares/c-ares#457
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michael Dawson <midawson@redhat.com>
@targos targos added release Issues and PRs related to Node.js releases. and removed fast-track PRs that do not need to wait for 48 hours to land. needs-ci PRs that need a full CI run. dont-land-on-v12.x dependencies Pull requests that update a dependency file. labels Mar 21, 2022
Notable changes:

doc:
  * add @ShogunPanda to collaborators (Shogun) #42362
  * deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) #42149
http:
  * (SEMVER-MINOR) trace http client by perf_hooks (theanarkh) #42345
deps:
  * upgrade npm to 8.5.5 (npm team) #42382
  * update undici to 4.15.1 (Michaël Zasso) #42246

PR-URL: #42425
@nodejs-github-bot

This comment was marked as outdated.

@bengl
Copy link
Member Author

bengl commented Mar 21, 2022

I accidentally included a file in the release commit that shouldn't have been there. I've amended, re-pushed and kicked off CI again, omitting CITGM because there's no way a random text file in the root of the project should affect CITGM (I'd hope).

CI: https://ci.nodejs.org/job/node-test-pull-request/43153/
V8: https://ci.nodejs.org/job/node-test-commit-v8-linux/4583/

@bengl bengl merged commit 123661e into v17.x Mar 22, 2022
bengl added a commit that referenced this pull request Mar 22, 2022
bengl added a commit that referenced this pull request Mar 22, 2022
Notable changes:

doc:
  * add @ShogunPanda to collaborators (Shogun) #42362
  * deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) #42149
http:
  * (SEMVER-MINOR) trace http client by perf_hooks (theanarkh) #42345
deps:
  * upgrade npm to 8.5.5 (npm team) #42382
  * update undici to 4.15.1 (Michaël Zasso) #42246

PR-URL: #42425
bengl added a commit to bengl/nodejs.org that referenced this pull request Mar 22, 2022
bengl added a commit to nodejs/nodejs.org that referenced this pull request Mar 22, 2022
@bengl bengl deleted the v17.8.0-proposal branch March 22, 2022 14:58
xtx1130 pushed a commit to xtx1130/node that referenced this pull request Apr 25, 2022
Notable changes:

doc:
  * add @ShogunPanda to collaborators (Shogun) nodejs#42362
  * deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) nodejs#42149
http:
  * (SEMVER-MINOR) trace http client by perf_hooks (theanarkh) nodejs#42345
deps:
  * upgrade npm to 8.5.5 (npm team) nodejs#42382
  * update undici to 4.15.1 (Michaël Zasso) nodejs#42246

PR-URL: nodejs#42425
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet