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

v13.6.0 proposal #31238

Merged
merged 180 commits into from Jan 7, 2020
Merged

v13.6.0 proposal #31238

merged 180 commits into from Jan 7, 2020

Conversation

BridgeAR
Copy link
Member

@BridgeAR BridgeAR commented Jan 7, 2020

Notable Changes

  • assert:
    • Implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • events:
    • Add EventEmitter.on to async iterate over events (Matteo Collina) #27994
    • Allow monitoring error events (Gerhard Stoebich) #30932
  • fs:
    • Allow overriding fs for streams (Robert Nagy) #29083
  • perf_hooks:
    • Move perf_hooks out of experimental (legendecas) #31101
  • repl:
    • Implement ZSH-like reverse-i-search (Ruben Bridgewater) #31006
  • tls:
    • Add PSK (pre-shared key) support (Denys Otrishko) #23188

Commits

  • [d831dc1b77] - (SEMVER-MINOR) assert: implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • [f8aa365508] - assert: use for...of (Soar) #30983
  • [5fccb508e9] - benchmark: use let instead of var in dgram (dnlup) #31175
  • [827d3fea0e] - benchmark: add benchmark on async_hooks enabled http server (legendecas) #31100
  • [b193142e0a] - benchmark: use let instead of var in crypto (dnlup) #31135
  • [b8ccf30ac1] - benchmark: replace var with let/const in cluster benchmark (dnlup) #31042
  • [01fd3be84a] - benchmark: include writev in benchmark (Robert Nagy) #31066
  • [ca53f02767] - benchmark: use let instead of var in child_process (dnlup) #31043
  • [625744d292] - benchmark: add clear connections to secure-pair (Diego Lafuente) #27971
  • [0e864a383c] - benchmark: update manywrites back pressure (Robert Nagy) #30977
  • [37ffa8c2ae] - bootstrap: use different scripts to setup different configurations (Joyee Cheung) #30862
  • [4df365256f] - buffer: improve .from() error details (Ruben Bridgewater) #29675
  • [9b7cf090c7] - build: don't use -latomic on macOS (Ryan Schmidt) #30099
  • [d2ab877b72] - build: warn upon --use-largepages config option (Gabriel Schulhof) #31103
  • [ca05a5bb64] - build: switch realpath to pwd (bcoe) #31095
  • [d131877398] - build: fixes build for some os versions (David Carlier)
  • [baf8730a47] - build: re-introduce --use-largepages as no-op (Gabriel Schulhof)
  • [ca235112ae] - deps: V8: backport a4545db (David Carlier) #31127
  • [e2ef1a9e63] - deps: V8: bump v8_embedder_string for 0e21c1e (Сковорода Никита Андреевич) #31096
  • [2ec817e02d] - deps: uvwasi: cherry-pick 75b389c (cjihrig) #31076
  • [a5937c7b6c] - deps: uvwasi: cherry-pick 64e59d5 (cjihrig) #31076
  • [647f3c7639] - deps: V8: cherry-pick 687d865fe251 (Сковорода Никита Андреевич) #31007
  • [7fe8399e08] - deps: V8: cherry-pick d406bfd64653 (Sam Roberts) #30819
  • [7e13ae7757] - deps: V8: cherry-pick d3a1a5b6c491 (Michaël Zasso) #31005
  • [32805a9525] - deps,src,test: update to uvwasi 0.0.3 (cjihrig) #30980
  • [44d03e81d4] - dgram: test to add and to drop specific membership (A. Volgin) #31047
  • [21ef3d615e] - dgram: use for...of (Trivikram Kamat) #30999
  • [7b696fe9f4] - doc: remove extra backtick (cjihrig) #31186
  • [dba2ab75d9] - doc: use code markup/markdown in headers (Ruben Bridgewater) #31149
  • [cc44325eed] - doc: update REPL documentation to instantiate the REPL (Ruben Bridgewater) #30928
  • [d3a8088cd5] - doc: improve explanation of package.json "type" field (Ronald J Kimball) #27516
  • [33352c2433] - doc: clarify role of writable.cork() (Colin Grant) #30442
  • [b657a64b77] - doc: de-duplicate security release processes (Sam Roberts) #30996
  • [18b34def41] - doc: fix createDiffieHellman generator type (Tobias Nießen) #31121
  • [1fa8e49f7e] - doc: update mode type for mkdir() functions (cjihrig) #31115
  • [a37a88f40d] - doc: update mode type for process.umask() (cjihrig) #31115
  • [2313b9e33b] - doc: update mode type for fs open() functions (cjihrig) #31115
  • [53c6a1ee34] - doc: update mode type for fchmod() functions (cjihrig) #31115
  • [68557889d3] - doc: update parameter type for fsPromises.chmod() (cjihrig) #31115
  • [72d70d5102] - doc: improve dns introduction (Rich Trott) #31090
  • [4c29a6ee15] - doc: update parameter type for fs.chmod() (Santosh Yadav) #31085
  • [dcce8b68b2] - doc: use code markup/markdown in headers in globals documentation (Rich Trott) #31086
  • [7afe69cee0] - doc: use code markup/markdown in headers in deprecations documentation (Rich Trott) #31086
  • [ff828900f6] - doc: use code markup/markdown in headers in addons documentation (Rich Trott) #31086
  • [ce60a80944] - doc: allow <code> in header elements (Rich Trott) #31086
  • [1033760874] - doc: add --inspect-publish-uid man page entry (cjihrig) #31077
  • [23013e3e31] - doc: add --force-context-aware man page entry (cjihrig) #31077
  • [efc97fd927] - doc: add --enable-source-maps man page entry (cjihrig) #31077
  • [4292f64c27] - doc: fix anchors and subtitle in BUILDING.md (sutangu) #30296
  • [1357c97a70] - doc: standardize usage of hostname vs. host name (Rich Trott) #31073
  • [4caf4578fe] - doc: add unrepresented flags docs for configure (Pranshu Srivastava) #28069
  • [9141366e09] - doc: improve doc net:server.listen (dev-313) #31064
  • [69d6e9732b] - doc: implement minor improvements to BUILDING.md text (Rich Trott) #31070
  • [a7988ab0fa] - doc: avoid using v8::Persistent in addon docs (Anna Henningsen) #31018
  • [a3861147e5] - doc: clarify required flag for extensionless esm (Lucas Azzola) #30657
  • [cc8c0b4cde] - doc: reference worker threads on signal events (legendecas) #30990
  • [7815d5f2cb] - doc: update message.url example in http.IncomingMessage (Tadao Iseki) #30830
  • [118df63d9f] - doc,assert: use code markup/markdown in headers (Rich Trott) #31086
  • [32e5895a2f] - doc,async_hooks: use code markup/markdown in headers (Rich Trott) #31086
  • [0e0d45b02f] - doc,buffer: use code markup/markdown in headers (Rich Trott) #31086
  • [405bf8c8bb] - doc,child_process: use code markup/markdown in headers (Rich Trott) #31086
  • [27790fc76e] - doc,cluster: use code markup/markdown in headers (Rich Trott) #31086
  • [f8a6edaac6] - doc,console: use code markup/markdown in headers (Rich Trott) #31086
  • [df5ec4e7b1] - doc,crypto: use code markup/markdown in headers (Rich Trott) #31086
  • [4a42230fd7] - doc,dgram: use code markup/markdown in headers (Rich Trott) #31086
  • [9979f82716] - doc,dns: use code markup/markdown in headers (Rich Trott) #31086
  • [decfcaf89e] - doc,domain: use code markup/markdown in headers (Rich Trott) #31086
  • [665a662ad1] - doc,errors: use code markup/markdown in headers (Rich Trott) #31086
  • [fbb217a29d] - doc,esm: use code markup/markdown in headers (Rich Trott) #31086
  • [db01d0f947] - doc,events: use code markup/markdown in headers (Rich Trott) #31086
  • [e7f7e45ddb] - doc,fs: use code markup/markdown in headers (Rich Trott) #31086
  • [cdb79fc106] - doc,http: use code markup/markdown in headers (Rich Trott) #31086
  • [3062bcb13c] - doc,http2: use code markup/markdown in headers (Rich Trott) #31086
  • [3571df3115] - doc,https: use code markup/markdown in headers (Rich Trott) #31086
  • [699b31f8fe] - doc,inspector: use code markup/markdown in headers (Rich Trott) #31086
  • [d6f942003b] - doc,lib,src,test: rename WASI CLI flag (cjihrig) #30980
  • [7d25e44bc1] - doc,module: use code markup/markdown in headers (Rich Trott) #31086
  • [927b37f5a3] - doc,net: use code markup/markdown in headers (Rich Trott) #31086
  • [9de914687d] - doc,os: use code markup/markdown in headers (Rich Trott) #31086
  • [5921654eca] - doc,path: use code markup/markdown in headers (Rich Trott) #31086
  • [3ee3e6f5ff] - doc,perf_hooks: use code markup/markdown in headers (Rich Trott) #31086
  • [8c126527d9] - doc,process: use code markup/markdown in headers (Rich Trott) #31086
  • [f0bc62896a] - doc,punycode: use code markup/markdown in headers (Rich Trott) #31086
  • [125a59a0b0] - doc,querystring: use code markup/markdown in headers (Rich Trott) #31086
  • [128a69dde3] - doc,readline: use code markup/markdown in headers (Rich Trott) #31086
  • [38e09f8d17] - doc,repl: use code markup/markdown in headers (Rich Trott) #31086
  • [4c5a9854ec] - doc,stream: use code markup/markdown in headers (Rich Trott) #31086
  • [cf563bbd7f] - doc,string_decoder: use code markup/markdown in headers (Rich Trott) #31086
  • [450d9a27bf] - doc,timers: use code markup/markdown in headers (Rich Trott) #31086
  • [d6d507aa6c] - doc,tls: use code markup/markdown in headers (Rich Trott) #31086
  • [9d2082be94] - doc,tty: use code markup/markdown in headers (Rich Trott) #31086
  • [73c598a905] - doc,url: use code markup/markdown in headers (Rich Trott) #31086
  • [4672e106c1] - doc,util: use code markup/markdown in headers (Rich Trott) #31086
  • [342d3372ef] - doc,v8: use code markup/markdown in headers (Rich Trott) #31086
  • [e6fbde53b3] - doc,vm: use code markup/markdown in headers (Rich Trott) #31086
  • [796a9c0f43] - doc,vm,test: remove _sandbox_ from vm documentation (Rich Trott) #31057
  • [1bcc07b758] - doc,wasi: use code markup/markdown in headers (Rich Trott) #31086
  • [cb3c3fcb3f] - doc,worker: use code markup/markdown in headers (Rich Trott) #31086
  • [a6f16b3e78] - doc,zlib: use code markup/markdown in headers (Rich Trott) #31086
  • [1057a4cdf2] - errors: support prepareSourceMap with source-maps (bcoe) #31143
  • [33c5dbe197] - errors: improve ERR_INVALID_ARG_TYPE (Ruben Bridgewater) #29675
  • [a6c2502686] - esm: better error message for unsupported URL (Thomas) #31129
  • [24a021216d] - esm: empty ext from pkg type/main doesnt affect format (Bradley Farias) #31021
  • [afecc973d5] - (SEMVER-MINOR) events: add EventEmitter.on to async iterate over events (Matteo Collina) #27994
  • [f570de8ea9] - (SEMVER-MINOR) events: allow monitoring error events (Gerhard Stoebich) #30932
  • [4f32bbb816] - fs: use consistent defaults in sync stat functions (cjihrig) #31097
  • [7f6a0ed548] - (SEMVER-MINOR) fs: allow overriding fs for streams (Robert Nagy) #29083
  • [4a54f304a7] - http: http_outgoing rename var to let and const (telenord) #30284
  • [1b720aa802] - http: free listeners on free sockets (Robert Nagy) #29259
  • [b5a71a439d] - http2: set default enableConnectProtocol to 0 (ZYSzys) #31174
  • [b9160351ec] - http2: make HTTP2ServerResponse more streams compliant (Robert Nagy) #30964
  • [ba0682e91c] - http2: wait for session socket writable end on close/destroy (Denys Otrishko) #30854
  • [86f2e869dc] - http2: wait for session to finish writing before destroy (Denys Otrishko) #30854
  • [18acaccf0a] - https: prevent options object from being mutated (Vighnesh Raut) #31151
  • [42d36dca90] - lib: move initialization of APIs for changing process state (Anna Henningsen) #31172
  • [20ecb5dcfb] - lib: replace Map global by the primordials (Sebastien Ahkrin) #31155
  • [f268621ffa] - lib: replace use of Error with primordials (Sebastien Ahkrin) #31163
  • [3f21ad67f8] - lib: replace Set global by the primordials (Sebastien Ahkrin) #31154
  • [542aae4bf0] - lib: replace WeakSet global by the primordials (Sebastien Ahkrin) #31157
  • [0b8eaf2e5c] - lib: replace WeakMap global by the primordials (Sebastien Ahkrin) #31158
  • [1527796661] - lib: replace Set.prototype with SetPrototype primordial (Sebastien Ahkrin) #31161
  • [4b2d8df5b5] - lib: do not catch user errors (Ruben Bridgewater) #31159
  • [97ce0a3b47] - lib: replace var with let/const (kresimirfranin) #30394
  • [614b2c58f0] - lib: further simplify assertions in vm/module (Anna Henningsen) #30815
  • [a83d338102] - lib: improve spelling and grammar in comment (David Newman) #31026
  • [799b50934b] - meta: clarify scope of new nodejs.org issue choice (Derek Lewis) #31123
  • [72c64605c9] - module: unflag resolve self (Guy Bedford) #31002
  • [bd047e8277] - module: self resolve bug fix and esm ordering (Guy Bedford) #31009
  • [d7712213a4] - n-api: keep napi_env alive while it has finalizers (Anna Henningsen) #31140
  • [ae58c9709b] - perf_hooks: use for...of (Kamat, Trivikram) #31049
  • [dcbb97e2c3] - (SEMVER-MINOR) perf_hooks: move perf_hooks out of experimental (legendecas) #31101
  • [ffbf790358] - (SEMVER-MINOR) readline: set null as callback return in case there's no error (Ruben Bridgewater) #31006
  • [92dcf3e4ae] - (SEMVER-MINOR) readline: small refactoring (Ruben Bridgewater) #31006
  • [0999d53df0] - repl: use public getCursorPos() (cjihrig) #31091
  • [09ca8be1f2] - (SEMVER-MINOR) repl: implement reverse search (Ruben Bridgewater) #31006
  • [925dd8e7f9] - (SEMVER-MINOR) repl: fix preview of lines that exceed the terminal columns (Ruben Bridgewater) #31006
  • [892e7b0d7f] - src: suppress warning in src/node_env_var.cc (Harshitha KP) #31136
  • [2c6f81730b] - src: make large_pages node.cc include conditional (Denys Otrishko) #31078
  • [54caadc6ef] - src: enable stack trace printing for V8 check failures (Anna Henningsen) #31079
  • [60dd1838e9] - src: prevent hard coding stack trace limit (legendecas) #30752
  • [80732cdf9c] - src: port --bash-completion to C++ (Joyee Cheung) #25901
  • [49a7e73898] - src: make --use-largepages a runtime option (Gabriel Schulhof) #30954
  • [6b65cafacf] - src: list used functions on headers (Juan José Arboleda) #30827
  • [e5a41552e6] - src: fix compiler warning in env.cc (Anna Henningsen) #31020
  • [a27edd8335] - src,test: use v8::Global instead of v8::Persistent (Anna Henningsen) #31018
  • [5bf27729dd] - stream: group all properties using defineProperties (antsmartian) #31144
  • [ca22ce2698] - stream: pipeline should use req.abort() to destroy response (Robert Nagy) #31054
  • [bca23b9e16] - stream: reset flowing state if no 'readable' or 'data' listeners (Robert Nagy) #31036
  • [146321410c] - stream: simplify isBuf (Robert Nagy) #31067
  • [21d96645db] - test: change buffer offset to accommodate V8 BackingStore (Thang Tran) #31171
  • [bd6a29c60b] - test: use spread object (Fran Herrero) #30423
  • [efa0bd8e25] - test: refactor common.expectsError (Ruben Bridgewater) #31092
  • [16f60cedb3] - test: increase coverage for _http_incoming.js (Rich Trott) #31093
  • [990760e57f] - test: log errors in test-http2-propagate-session-destroy-code (Denys Otrishko) #31072
  • [e28e873fb6] - test: skip the unsupported test cases for IBM i (Xu Meng) #30819
  • [07e82db764] - test: get lib/wasi.js coverage to 100% (cjihrig) #31039
  • [e5980a106c] - test: cover vm with negative tests (Andrew Kuzmenko) #31028
  • [3c9e435f56] - test: unflake async hooks statwatcher test (Denys Otrishko) #30362
  • [dadccb7761] - test: fix common.enoughTestMem (Rich Trott) #31035
  • [93cf1231db] - test: fix long lines (cjihrig) #31014
  • [54c471a3bf] - test: fix flaky test-http2-client-upload (Gerhard Stoebich) #29889
  • [3753f47677] - test: use tmpdir.refresh() in test-esm-windows.js (Richard Lau) #30997
  • [d36ae62bd7] - test: remove obsolete WASI test (cjihrig) #30980
  • [fe4f55ee13] - timers: fix refresh for expired timers (Anatoli Papirovski) #27345
  • [83330a00a0] - timers: do less work in insert (Anatoli Papirovski) #27345
  • [7b2bf20f7e] - (SEMVER-MINOR) tls: add PSK support (Denys Otrishko) #23188
  • [c23bbc6fe2] - tools: remove prefer-common-expectserror lint rule (cjihrig) #31147
  • [85d152fccf] - tools: allow the travis commit message job to fail (Ruben Bridgewater) #31116
  • [048b7f469c] - tools: fix Raspbian armv7 build (Andrey Hohutkin) #31041
  • [c779421f41] - tools: update ESLint to 6.8.0 (cjihrig) #31044
  • [28a62c30be] - tools,src: forbid usage of v8::Persistent (Anna Henningsen) #31018
  • [697908e8d9] - util: improve prototype inspection using inspect() and showHidden (Ruben Bridgewater) #31113
  • [a6998085d2] - util: add (typed) array length to the default output (Ruben Bridgewater) #31027
  • [7611d5b47b] - util: add colors to debuglog() (Ruben Bridgewater) #30930
  • [614b074f3b] - wasi: refactor destructuring object on constructor (himself65) #31185
  • [8491e1c3c6] - wasi: fix serdes bugs from snapshot1 migration (cjihrig) #31122
  • [87f15c03bc] - wasi: throw on failed uvwasi_init() (cjihrig) #31076
  • [10f7169d58] - zlib: use for...of (Kamat, Trivikram) #31051
  • [31bbae7c92] - zlib: allow writes after readable 'end' to finish (Anna Henningsen) #31082

soar-beep and others added 30 commits January 3, 2020 16:12
Refs: #30960

PR-URL: #30983
Refs: #30960
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit updates to uvwasi 0.0.3, which implements a newer
version of the WASI spec, snapshot_1. Since the WASI API has
changed, this also requires updating the WebAssembly memory
interfacing logic and recompiling the WASI tests with a
version of wasi-libc that supports snapshot_1.

PR-URL: #30980
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
The WASI API has moved from preview0 to preview1. This commit
updates the CLI flag accordingly.

PR-URL: #30980
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
test-wasi-binding.js was added during the initial WASI
development, but it is now considered obsolete. It also does
not provide any additional test coverage. This commit removes
it.

PR-URL: #30980
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Make manywrites benchmark a bit more realistic by
taking back pressure into account. Otherwise
memory usage would no correspond well with
real world usage.

PR-URL: #30977
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Update message.url example to use The WHATWG URL API.
This is because the old example suggests using deprecated url API.

Fixes: #30048
PR-URL: #30830
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Use `tmpdir.refresh()` in `test/es-module/test-esm-windows.js` so
that the temporary directory is cleaned before use and when the test
exits.

PR-URL: #30997
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Allow overriding open, write, and close when using createReadStream()
and createWriteStream().

PR-URL: #29083
Refs: #29050
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #30990
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Fixes: #30655

PR-URL: #30657
Reviewed-By: Yorkie Liu <yorkiefixer@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
This fixes the following warning:

    ../src/env.cc: In member function ‘void node::Environment::Exit(int)’:
    ../src/env.cc:946:77: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
           fprintf(stderr, "(node:%d, thread:%llu) ", uv_os_getpid(), thread_id());
                                                                      ~~~~~~~~~~~^

PR-URL: #31020
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
PR-URL: #30827
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Installing an error listener has a side effect that emitted errors are
considered as handled. This is quite bad for monitoring/logging tools
which tend to be interested in errors but don't want to cause side
effects like swallow an exception.

There are some workarounds in the wild like monkey patching emit or
remit the error if monitoring tool detects that it is the only listener
but this is error prone and risky.

This PR allows to install a listener to monitor errors with the side
effect to consume the error. To avoid conflicts with other events it
exports a symbol on EventEmitter which owns this special meaning.

Refs: open-telemetry/opentelemetry-js#225

PR-URL: #30932
Refs: open-telemetry/opentelemetry-js#225
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This makes sure the original input is passed to the error in case
no matching inputs are found. Instead of passing along all values,
only valid or possibliy valid values are passed through. That way
invalid values end up in the error case with the original input.

PR-URL: #29675
Reviewed-By: Rich Trott <rtrott@gmail.com>
ERR_INVALID_ARG_TYPE is the most common error used throughout the
code base. This improves the error message by providing more details
to the user and by indicating more precisely which values are allowed
ones and which ones are not.

It adds the actual input to the error message in case it's a primitive.
If it's a class instance, it'll print the class name instead of
"object" and "falsy" or similar entries are not named "type" anymore.

PR-URL: #29675
Reviewed-By: Rich Trott <rtrott@gmail.com>
Wait for close event on server stream before shuting down server and
client to avoid races seen on windows CI.

Refs: #20750 (comment)

PR-URL: #29889
Refs: #29852
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
adds clear connections to the secure-pair performance test to prove
that in some cases (when the sender send the data in small chunks)
clear connections perform worse than TLS connections

Also add a byte chunk size test to benchmark/net/net-pipe.js

Refs: #27970

PR-URL: #27971
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit addresses several lines that are unnecessarily
longer than the 80 character limit. The only reason they pass
linting, I believe, is because they contain URLs.

PR-URL: #31014
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This patch splits the handling of `isMainThread` and
`ownsProcessState` from conditionals in
`lib/internal/bootstrap/node.js` into different scripts under
`lib/internal/bootstrap/switches/`, and call them accordingly
from C++ after `node.js` is run.

This:

- Creates a common denominator of the main thread and the worker
  thread bootstrap that can be snapshotted and shared by
  both.
- Makes it possible to override the configurations on-the-fly.

PR-URL: #30862
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
PR-URL: #30999
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
A typo introduced in 1ddcb6d causes common.enoughTestMem to always
be false, resulting in a lot of tests being skipped. Fix the typo.

PR-URL: #31035
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: David Carlier <devnexen@gmail.com>
Under high load 2 types of issues arise with this test.
* filesystem calls gets queued even when the 'sync' is used which leads
  to async_hooks being called with the events of tmpdir clean or
  initial file write after clean.
  This is solved by counting all 'change' calls while making sure there
  is no dependency of StatWatcher's on one another and the expected
  changes are waited for.

* some events are getting lost with the current
  clean->write->write_and_watch strategy. Specifically I observed the
  file size going from 0 to 5 entirely skipping 3 even though the write
  call was there (this happened reliably on -j128).
  So I've changed the strategy to avoid additional write considering
  this still tests the hooks correctly.
  This may indicate some sort of bug in async_hooks though I'm not sure.

Closes: #21425

PR-URL: #30362
Fixes: #21425
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Test the impossibility of creating
an abstract instance of the Module.
Test of SyntheticModule to throw exception
if invalid params in constructor

PR-URL: #31028
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #31026
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Moves the option that instructs Node.js to-remap its static code to
large pages from a configure-time option to a runtime option. This
should make it easy to assess the performance impact of such a change
without having to custom-build.

PR-URL: #30954
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Co-authored-by: David Carlier <devnexen@gmail.com>
Update ESLint to 6.8.0

PR-URL: #31044
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
This commit covers the last remaining uncovered code in
lib/wasi.js.

PR-URL: #31039
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Fixes: #27847
PR-URL: #27994
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Original commit message:

    [objects] Fix memory leak in PrototypeUsers::Add

    PrototypeUsers::Add now iterates the WeakArrayList to find empty slots
    before growing the array. Not reusing empty slots caused a memory leak.

    It might also be desirable to shrink the WeakArrayList in the future.
    Right now it is only compacted when invoking CreateBlob.

    Also removed unused PrototypeUsers::IsEmptySlot declaration.

    Bug: v8:10031
    Change-Id: I570ec78fca37e8f0c794f1f40846a4daab47c225
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967317
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65456}

Refs: v8/v8@d3a1a5b
Fixes: #30753

PR-URL: #31005
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: #30755

PR-URL: #30815
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
@nodejs-github-bot nodejs-github-bot added the wasi Issues and PRs related to the WebAssembly System Interface. label Jan 7, 2020
BridgeAR added a commit that referenced this pull request Jan 7, 2020
Notable changes:

* assert:
  * Implement `assert.match()` and `assert.doesNotMatch()` (Ruben
    Bridgewater) #30929
* events:
  * Add `EventEmitter.on` to async iterate over events (Matteo Collina)
    #27994
  * Allow monitoring error events (Gerhard Stoebich)
    #30932
* fs:
  * Allow overriding `fs` for streams (Robert Nagy)
    #29083
* perf_hooks:
  * Move `perf_hooks` out of experimental (legendecas)
    #31101
* repl:
  * Implement ZSH-like reverse-i-search (Ruben Bridgewater)
    #31006
* tls:
  * Add PSK (pre-shared key) support (Denys Otrishko)
    #23188

PR-URL: #31238
@BridgeAR BridgeAR requested a review from a team January 7, 2020 07:59
doc/api/fs.md Outdated Show resolved Hide resolved
doc/api/fs.md Outdated Show resolved Hide resolved
@BridgeAR
Copy link
Member Author

BridgeAR commented Jan 7, 2020

@nodejs/v8-update three V8 tests failed:

v8tests.cctest/test-bytecode-generator/AsyncModules
v8tests.cctest/test-bytecode-generator/StaticPrivateMethodAccess
v8tests.cctest/test-bytecode-generator/StaticPrivateMethodDeclaration

It would be great if you could have a closer look!

Notable changes:

* assert:
  * Implement `assert.match()` and `assert.doesNotMatch()` (Ruben
    Bridgewater) #30929
* events:
  * Add `EventEmitter.on` to async iterate over events (Matteo Collina)
    #27994
  * Allow monitoring error events (Gerhard Stoebich)
    #30932
* fs:
  * Allow overriding `fs` for streams (Robert Nagy)
    #29083
* perf_hooks:
  * Move `perf_hooks` out of experimental (legendecas)
    #31101
* repl:
  * Implement ZSH-like reverse-i-search (Ruben Bridgewater)
    #31006
* tls:
  * Add PSK (pre-shared key) support (Denys Otrishko)
    #23188

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

This comment has been minimized.

@addaleax
Copy link
Member

addaleax commented Jan 7, 2020

@BridgeAR For the V8 failures, I they have been around for a while: #30774 (comment)

I’m still good with the resolution we agreed upon where, i.e. leaving them alone because they’re tests for experimental features behind flags. If this only affects v13.x, I’d suggest commenting out the tests altogether maybe?

@BridgeAR
Copy link
Member Author

BridgeAR commented Jan 7, 2020

@addaleax sounds good. Thanks for the heads up. I'll open a PR for the tests later on.

@nodejs-github-bot

This comment has been minimized.

@nodejs-github-bot
Copy link
Collaborator

@BridgeAR
Copy link
Member Author

BridgeAR commented Jan 7, 2020

The ARM CI is a huge bottleneck and is likely going to take multiple hours more to finish. This is already tracked by the build team without any solution yet.

It's not possible to wait that long for the CI and all other builds are green and CITGM looks good as well. I am therefore releasing it now without the ARM CI finished but I'll let it run.

@BridgeAR BridgeAR merged commit 1a552f6 into v13.x Jan 7, 2020
BridgeAR added a commit that referenced this pull request Jan 7, 2020
@targos targos deleted the v13.6.0-proposal branch January 7, 2020 23:13
BridgeAR added a commit that referenced this pull request Jan 7, 2020
Notable changes:

* assert:
  * Implement `assert.match()` and `assert.doesNotMatch()` (Ruben
    Bridgewater) #30929
* events:
  * Add `EventEmitter.on` to async iterate over events (Matteo Collina)
    #27994
  * Allow monitoring error events (Gerhard Stoebich)
    #30932
* fs:
  * Allow overriding `fs` for streams (Robert Nagy)
    #29083
* perf_hooks:
  * Move `perf_hooks` out of experimental (legendecas)
    #31101
* repl:
  * Implement ZSH-like reverse-i-search (Ruben Bridgewater)
    #31006
* tls:
  * Add PSK (pre-shared key) support (Denys Otrishko)
    #23188

PR-URL: #31238
BridgeAR added a commit to nodejs/nodejs.org that referenced this pull request Jan 7, 2020
BridgeAR added a commit to nodejs/nodejs.org that referenced this pull request Jan 7, 2020
@liudonghua123
Copy link
Contributor

Hope to update v8 to 8.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. wasi Issues and PRs related to the WebAssembly System Interface.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet