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

[pull] master from Melon-Tropics:master #680

Merged
merged 243 commits into from
Nov 14, 2020
Merged

Conversation

pull[bot]
Copy link

@pull pull bot commented Nov 4, 2020

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

watilde and others added 30 commits October 19, 2020 15:52
Fixes: nodejs#35571
Refs: whatwg/url#550
Refs: web-platform-tests/wpt#25989

PR-URL: nodejs#35671
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Remove redundant "should not be considered stable" (it immediately
follows a clause saying that it is "experimental") and replace with a
more clear (to me, at least) statement that we don't recommend using the
feature in production.

PR-URL: nodejs#35594
Reviewed-By: James M Snell <jasnell@gmail.com>
The property `process.report.reportOnFatalError`
was deemed experimental, as it was not honored
under certain scenarios (for example out of memory
conditions). The report configuration were previously
stored on the `environment` structure which was not
available on these types of fatal error cases.

The referenced PR has addressed this case (sometime
back), and the property is working as intended.

Refs: nodejs#32207
PR-URL: nodejs#35654
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Refs: https://github.com/nodejs/node/runs/1275049330

PR-URL: nodejs#35709
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: nodejs#35651
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
It was removed upstream and is now inferred from the build config.

PR-URL: nodejs#35705
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
    Making sure using apis supported by both.

    PR-URL: nodejs#34320
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
PR-URL: nodejs#32969
Refs: https://github.com/nodejs/node/blob/7893c70970adfbefb1684c48d42aff7385a2afb8/src/node_internals.h#L79-L85
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
PR-URL: nodejs#35659
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
It is guaranteed that V8 throws a syntax error when `import` or `export`
is used outside of ESM.

Fixes: nodejs#35687

PR-URL: nodejs#35691
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: nodejs#35585
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Use kbd element for key strokes and remove extra parentheses.

PR-URL: nodejs#35656
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
PR-URL: nodejs#35693
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: nodejs#31553
Refs: nodejs#32953
Refs: nodejs#33950
Refs: nodejs#34001
Refs: nodejs#34002
Refs: nodejs#34055

PR-URL: nodejs#34962
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Notable changes:

Deprecations and Removals:

- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(nodejs#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(nodejs#33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(nodejs#35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(nodejs#35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(nodejs#35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (nodejs#33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(nodejs#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (nodejs#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (nodejs#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (nodejs#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(nodejs#33286)
- **src**: remove deprecated node debug command (James M Snell)
(nodejs#33648)
- **timers**: introduce timers/promises (James M Snell)
(nodejs#33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (nodejs#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(nodejs#35415)

npm 7 (nodejs#35631):

Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.

Throw On Unhandled Rejections
(nodejs#33021):

As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.

QUIC (nodejs#32379):

Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.

V8 8.6 (nodejs#35415):

The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)

Other Notable Changes:

- **assert**: add `assert/strict` alias module (ExE Boss)
(nodejs#34001)
- **dns**: add dns/promises alias (shisama)
(nodejs#32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (nodejs#29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(nodejs#34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(nodejs#35496)
- **lib**: unflag AbortController (James M Snell)
(nodejs#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (nodejs#33527)
- **net**: autoDestroy Socket (Robert Nagy)
(nodejs#31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (nodejs#33874)
- **stream**: construct (Robert Nagy)
(nodejs#29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (nodejs#35496)

Semver-Major Commits:

- **assert**: add `assert/strict` alias module (ExE Boss)
(nodejs#34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(nodejs#35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(nodejs#27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(nodejs#33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(nodejs#35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(nodejs#35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(nodejs#35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(nodejs#35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(nodejs#35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(nodejs#35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (nodejs#35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(nodejs#35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(nodejs#35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(nodejs#35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(nodejs#35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(nodejs#33600)
- **dns**: add dns/promises alias (shisama)
(nodejs#32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(nodejs#35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(nodejs#35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(nodejs#35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (nodejs#29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(nodejs#33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(nodejs#33172)
- **http**: cleanup end argument handling (Robert Nagy)
(nodejs#31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(nodejs#34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(nodejs#33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (nodejs#33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(nodejs#33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(nodejs#35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(nodejs#34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (nodejs#34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (nodejs#33857)
- **lib**: unflag AbortController (James M Snell)
(nodejs#33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (nodejs#33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (nodejs#34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (nodejs#33647)
- **net**: autoDestroy Socket (Robert Nagy)
(nodejs#31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(nodejs#35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (nodejs#33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(nodejs#33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (nodejs#32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(nodejs#33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (nodejs#33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (nodejs#33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (nodejs#33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(nodejs#33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(nodejs#35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(nodejs#35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(nodejs#34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (nodejs#35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(nodejs#35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(nodejs#33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (nodejs#33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(nodejs#33971)
- **src**: remove deprecated node debug command (James M Snell)
(nodejs#33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(nodejs#32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (nodejs#34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(nodejs#34204)
- **stream**: add promises version to utility functions (rickyes)
(nodejs#33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(nodejs#34101)
- **stream**: construct (Robert Nagy)
(nodejs#29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(nodejs#33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(nodejs#32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(nodejs#32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(nodejs#29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (nodejs#35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(nodejs#35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(nodejs#35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(nodejs#33770)
- **timers**: introduce timers/promises (James M Snell)
(nodejs#33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(nodejs#35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(nodejs#35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(nodejs#35415)
- **url**: file URL path normalization (Daijiro Wachi)
(nodejs#35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(nodejs#33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(nodejs#33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(nodejs#33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(nodejs#33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (nodejs#32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(nodejs#35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(nodejs#35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (nodejs#35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (nodejs#34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(nodejs#33872)

PR-URL: nodejs#35014
Add Danielle Adams's release key.

PR-URL: nodejs#35545
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Refs: nodejs#31553
Refs: nodejs#32953
Refs: nodejs#33950
Refs: nodejs#34001
Refs: nodejs#34002

PR-URL: nodejs#34055
Refs: nodejs#34962
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>

Fixes: nodejs#35722
PR-URL: nodejs#35723
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
PR-URL: nodejs#35698
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: nodejs#35707
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit sets the OpenSSL error mark before calling
X509_STORE_load_locations and pops the error mark afterwards.

The motivation for this is that it is possible that
X509_STORE_load_locations can produce errors if the configuration
option --openssl-system-ca-path file does not exist. Later if a
different function is called which calls an OpenSSL function it could
fail because these errors might still be on the OpenSSL error stack.

Currently, all functions that call NewRootCertStore clear the
OpenSSL error queue upon returning, but this was not the case for
example in v12.18.0.

PR-URL: nodejs#35514
Fixes: nodejs#35456
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
The update to V8 8.6 already included the changes from that version,
but it wasn't tagged yet. Having the wrong version in tree breaks
node-core-utils.

PR-URL: nodejs#35732
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
PR-URL: nodejs#35724
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This patch adds a --heapsnapshot-near-heap-limit CLI option
that takes heap snapshots when the V8 heap is approaching
the heap size limit. It will try to write the snapshots
to disk before the program crashes due to OOM.

PR-URL: nodejs#33010
Refs: nodejs#27552
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Notable changes:

- **crypto**: fix regression on randomFillSync (James M Snell)
  (nodejs#35723)
  - This fixes issue nodejs#35722.
- **deps**: upgrade npm to 7.0.3 (Ruy Adorno)
  (nodejs#35724)
- **doc**: add release key for Danielle Adams (Danielle Adams)
  (nodejs#35545)

PR-URL: nodejs#35736
Original commit message:

    parser: better error message for await+tla

    Bug: v8:9344, v8:6513
    Change-Id: I1854e483515e7da99192367b6764a0ec7c8b41d9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411687
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Gus Caplan <snek@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70099}

Refs: v8/v8@4263f8a

PR-URL: nodejs#35650
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Collect Windows and C++ coverage. Configure codecov so that
comments are more concise and are only left when coverage
varies.

PR-URL: nodejs#35670
Fixes: nodejs#35696
Refs: nodejs#35653
Refs: nodejs#35646
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Add an v8.takeCoverage() API that allows the user to write the
coverage started by NODE_V8_COVERAGE to disk on demand.
The coverage can be written multiple times during the lifetime
of the process, each time the execution counter will be reset.
When the process is about to exit, one last coverage will
still be written to disk.

Also refactors the internal profiler connection code
so that we use the inspector response id to identify
the profile response instead of using an ad-hoc flag in C++.

PR-URL: nodejs#33807
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ben Coe <bencoe@gmail.com>
Add a v8.stopCoverage() API to stop the coverage collection
started by NODE_V8_COVERAGE - this would be useful in
conjunction with v8.takeCoverage() if the user don't want
to emit the coverage at the process exit but still want
to collect it on demand at some point.

PR-URL: nodejs#33807
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ben Coe <bencoe@gmail.com>
PR-URL: nodejs#35712
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Trott and others added 28 commits November 11, 2020 05:10
Add missing coverage for setLocalAddress() method of dns.Resolver class.
The case where a valid IPv4 argument was supplied along with an invalid
IPv6 argument was not being checked.

Refs: https://coverage.nodejs.org/coverage-85b42af4398073f8/lib/internal/dns/utils.js.html#L124

PR-URL: nodejs#36039
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: nodejs#35985
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: nodejs#35978
Fixes: nodejs#31084
Refs: nodejs#26962
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ricky Zhou <0x19951125@gmail.com>
PR-URL: nodejs#36085
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Cleaup and improvement of crypto_context and SecureContext.

Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: nodejs#35665
Reviewed-By: Alba Mendez <me@alba.sh>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
So that “config.gypi” gets serialized correctly in cases such as:

    ./configure --v8-options='--write-protect-code-memory \
    --wasm-write-protect-code-memory'

Where “v8_options” gets prettyprinted into a multiline string.

PR-URL: nodejs#35982
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: nodejs#36020
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
remark-parse@9.0.0 combined with our html.js tool ends a list if a
multi-line item does not include indentation. Update our docs for this
formatting.

I looked around for a lint rule to enforce this but didn't find one
readily available. (Happy to be shown that I'm wrong about that!) We may
need to write one.

PR-URL: nodejs#36049
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
PR-URL: nodejs#36049
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Remove flaky designation for test-worker-eventlooputil fixed in 9dbde1d.

PR-URL: nodejs#35961
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Fixes: nodejs#36045

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>

PR-URL: nodejs#36052
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Original commit message:

    [wasm][mac] Support w^x codespaces for Apple Silicon

    Apple's upcoming arm64 devices will prevent rwx access to memory,
    but in turn provide a new per-thread way to switch between write
    and execute permissions. This patch puts that system to use for
    the WebAssembly subsystem.
    The approach relies on CodeSpaceWriteScope objects for now. That
    isn't optimal for background threads (which could stay in "write"
    mode permanently instead of toggling), but its simplicity makes
    it a good first step.

    Background:
    https://developer.apple.com/documentation/apple_silicon/porting_just-in-time_compilers_to_apple_silicon

    Bug: chromium:1117591
    Change-Id: I3b60f0efd34c0fed924dfc71ee2c7805801c5d42
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378307
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69791}

PR-URL: nodejs#35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [platform] Add Permission::kNoAccessWillJitLater enum value

    This value is unused for now. This CL is part 1 of a 3-step dance.
    Part 2 will be teaching Chrome's Platform implementation to accept
    the new value. Part 3 will then actually use it in V8.

    Bug: chromium:1117591
    Change-Id: Ie3aed20d4cc58f3def3be2a3a03bba4c3a37bf44
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2450056
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70335}

PR-URL: nodejs#35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [mac] Set MAP_JIT only when necessary

    This is a "minimal" change to achieve the required goal: seeing that
    there is only one place where we need to indicate that memory should
    be reserved with MAP_JIT, we can add a value to the Permissions enum
    instead of adding a second, orthogonal parameter.
    That way we avoid changing public API functions, which makes this CL
    easier to undo once we have platform-independent w^x in Wasm.

    Bug: chromium:1117591
    Change-Id: I6333d69ab29d5900c689f08dcc892a5f1c1159b8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2435365
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70379}

PR-URL: nodejs#35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [mac-arm64] Fix missing #include

    For an "#if defined(MAP_JIT)" test to work as expected, <sys/mman.h>
    must be included in the compilation unit.

    Bug: chromium:1144200
    Change-Id: Ia0bf35ec1872c02457f1fbc0ee6689c7f7d27d4a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2517689
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70986}

PR-URL: nodejs#35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
PR-URL: nodejs#35845
Fixes: nodejs#35833
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: nodejs#26725
Fixes: nodejs#29813
Refs: nodejs#29814

PR-URL: nodejs#35755
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
The test is not nearly as unreliable as it used to be but we're still
seeing failures around the timing checks that will definitely be
affected by other tests running in other processes. So move it to
sequential.

Refs: nodejs#35961 (comment)

PR-URL: nodejs#35996
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
The test uses a file name twice, causing unreliability in CI. In
particular, it's failing a lot on the Raspberry Pi devices.

Fixes: nodejs#36090

PR-URL: nodejs#36102
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Add libuv's cumulative idle time in the diagnostic report.
Add the data under the libuv's loop section

Refs: nodejs#34938
PR-URL: nodejs#35940
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Use apostrophe for possessive.

PR-URL: nodejs#36066
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Replace `var` with `const` in vm context for test-util-inspect.js.

PR-URL: nodejs#36069
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
For scenario where target env is explicitly specified as vs2019, do
not clear VCINSTALLDIR which was being cleared to handle fallback to
vs2017 block when attempting to find a matching available VS.

Fixes: nodejs#35856

PR-URL: nodejs#36009
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
We were fetching the buffer from the float array to send out the
response in js land, however that logic is being duplicated in
node_process.h. Now they will be using an inline to fetch the array
buffers and making it more generic.

PR-URL: nodejs#34553
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: nodejs#35998
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: nodejs#36003
Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: https://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface
Fixes: nodejs#36083

PR-URL: nodejs#36087
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
PR-URL: nodejs#36011
Reviewed-By: Rich Trott <rtrott@gmail.com>
@pull pull bot merged commit c7d2a45 into meonBot:master Nov 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.