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

Release v12.6.0 proposal #28508

Merged
merged 144 commits into from Jul 3, 2019
Merged

Release v12.6.0 proposal #28508

merged 144 commits into from Jul 3, 2019

Conversation

targos
Copy link
Member

@targos targos commented Jul 2, 2019

2019-07-03, Version 12.6.0 (Current), @targos

Notable changes

  • build:
    • Experimental support for building Node.js on MIPS architecture is back #27992.
  • child_process:
    • The promisified versions of child_process.exec and child_process.execFile
      now both return a Promise which has the child instance attached to their
      child property #28325.
  • deps:
    • Updated libuv to 1.30.1 #28449, #28511.
      • Support for the Haiku platform has been added.
      • The maximum UV_THREADPOOL_SIZE has been increased from 128 to 1024.
      • uv_fs_copyfile() now works properly when the source and destination files are the same.
  • process:
    • A new method, process.resourceUsage() was added. It returns resource usage
      for the current process, such as CPU time #28018.
  • src:
    • Fixed an issue related to stdio that could lead to a crash of the process in
      some circumstances #28490.
  • stream:
    • Added a writableFinished property to writable streams. It indicates that
      all the data has been flushed to the underlying system #28007.
  • worker:
    • Fixed an issue that prevented worker threads to listen for data on stdin #28153.
  • meta:

Commits

  • [db65594c33] - benchmark: refactor buffer benchmarks (Ruben Bridgewater) #26418
  • [e607055693] - bootstrap: --frozen-intrinsics override problem workaround (Guy Bedford) #28254
  • [cd71aad62b] - build: expose napi_build_version variable (NickNaso) #27835
  • [4d12cef2a5] - build: link libatomic on mac and linux (Gus Caplan) #28232
  • [cfb5ca3887] - build: enable openssl support for mips64el (mutao) #27992
  • [2cf37f54f0] - Revert "build: remove mips support" (mutao) #27992
  • [dd5e07f9b4] - child_process: attach child in promisification (cjihrig) #28325
  • [f21ddb2131] - crypto: move _impl call out of handleError funct (Daniel Bevenius) #28318
  • [558e9cfb6c] - crypto: move _pbkdf2 call out of handleError funct (Daniel Bevenius) #28318
  • [47b230a92b] - crypto: move _randomBytes call out of handleError funct (Daniel Bevenius) #28318
  • [def96ae278] - crypto: move _scrypt call out of handleError funct (Daniel Bevenius) #28318
  • [990feafcb6] - crypto: fix crash when calling digest after piping (Tobias Nießen) #28251
  • [43677325e1] - deps: upgrade to libuv 1.30.0 (cjihrig) #28449
  • [3a493b804e] - deps: upgrade to libuv 1.30.1 (cjihrig) #28511
  • [eee66c5e56] - doc: merge bootstrap/README.md into BUILDING.md (Rod Vagg) #28465
  • [0111c61ec0] - doc: fix swapedOut typo (cjihrig) #28497
  • [14f6cee694] - doc: reformat for-await-of (cjihrig) #28425
  • [3fea2e43c0] - doc: update readline asyncIterator docs (cjihrig) #28425
  • [0d2d116446] - doc: add links to 12.5.0 changelog notable changes (Gus Caplan) #28450
  • [96e8b988d4] - doc: clean up isDead() example (cjihrig) #28421
  • [3c047b3919] - doc: clarify response.finished (Robert Nagy) #28411
  • [5367d02ce1] - doc: replace version with REPLACEME (cjihrig) #28431
  • [e55d0efe36] - doc: remove N-API version for Experimental APIs (Michael Dawson) #28330
  • [e3dd4d5225] - doc: fix nits regarding stream utilities (Vse Mozhet Byt) #28385
  • [3d693c5ead] - doc: cleanup pendingSettingsAck docs (cjihrig) #28388
  • [b6d0cbcf20] - doc: add example code for worker.isDead() to cluster.md (Jesse Cogollo) #28362
  • [0e6196cc17] - doc: add missing word in frameError event docs (cjihrig) #28387
  • [d25d40e1e5] - doc: fix sentence about Http2Stream destruction (cjihrig) #28336
  • [4762399aca] - doc: add example for Buffer.isEncoding() (Angie M. Delgado) #28360
  • [818f08416c] - doc: add example code for fs.existsSync() (nicolasrestrepo) #28354
  • [d759e0fa49] - doc: remove "note that" from assert.md (Rich Trott) #28329
  • [d384911746] - doc: remove "note that" from async_hooks.md (Rich Trott) #28329
  • [9ca7c8603e] - doc: remove "note that" from buffer.md (Rich Trott) #28329
  • [658c7587ff] - doc: remove "note that" from cli.md (Rich Trott) #28329
  • [cb89b3b290] - doc: remove "note that" from cluster.md (Rich Trott) #28329
  • [af05ad123e] - doc: remove "note that" from console.md (Rich Trott) #28329
  • [898b69ccdf] - doc: remove "note that" from crypto.md (Rich Trott) #28329
  • [c41dbf5bc7] - doc: remove "note that" from dgram.md (Rich Trott) #28329
  • [33d9cf5a7c] - doc: remove "note that" from dns.md (Rich Trott) #28329
  • [f3b4449c07] - doc: remove "note that" from domain.md (Rich Trott) #28329
  • [75954865e6] - doc: remove "note that" from errors.md (Rich Trott) #28329
  • [520ef836c1] - doc: remove "note that" from events.md (Rich Trott) #28329
  • [d65c90b545] - doc: remove "note that" from fs.md (Rich Trott) #28329
  • [3174bc14a2] - doc: remove "note that" from http.md (Rich Trott) #28329
  • [f0a857f4b8] - doc: remove "note that" from http2.md (Rich Trott) #28329
  • [f4c6f7a5db] - doc: remove "note that" from modules.md (Rich Trott) #28329
  • [f299c44860] - doc: remove "note that" from net.md (Rich Trott) #28329
  • [b0a6da7e3c] - doc: remove "note that" from process.md (Rich Trott) #28329
  • [eba2e3c0df] - doc: remove "note that" from stream.md (Rich Trott) #28329
  • [7bd2cae197] - doc: remove "note that" from tls.md (Rich Trott) #28329
  • [204c9d8aa8] - doc: remove "note that" from tty.md (Rich Trott) #28329
  • [5e979bff2f] - doc: remove "note that" from url.md (Rich Trott) #28329
  • [c3c86b6da6] - doc: remove "note that" from util.md (Rich Trott) #28329
  • [6d94620bfc] - doc: remove "note that" from zlib.md (Rich Trott) #28329
  • [651ab3f58e] - doc: remove "note that" from pull-requests.md (Rich Trott) #28329
  • [9ac3a553ea] - doc: remove "note that" from maintaining-V8.md (Rich Trott) #28329
  • [a67afc8b60] - doc: remove "note that" from maintaining-the-build-files.md (Rich Trott) #28329
  • [9461ef8afb] - doc: remove "note that" from using-symbols.md (Rich Trott) #28329
  • [ffba80b107] - doc: remove "note that" from writing-and-running-benchmarks.md (Rich Trott) #28329
  • [1591309735] - doc: remove "note that" from writing-tests.md (Rich Trott) #28329
  • [3daced70cf] - doc: remove "make that" from onboarding.md (Rich Trott) #28329
  • [79f23b5aa6] - doc: remove "note that" from releases.md (Rich Trott) #28329
  • [71cf5586a9] - doc: remove "note that" from CPP_STYLE_GUIDE.md (Rich Trott) #28329
  • [3d6ae65181] - doc: remote "note that" from BUILDING.md (Rich Trott) #28329
  • [64f8530adc] - doc: fix typo in process.disconnect() docs (cjihrig) #28328
  • [c9226f5eb3] - doc: drop 'Note that' in addons docs (cjihrig) #28327
  • [a213eb7635] - doc: remove obsolete external link (cjihrig) #28326
  • [632fc1faf5] - doc: make multipleResolves docs less opinionated (cjihrig) #28314
  • [6063cebdd6] - doc: format ECMA-262 with a hyphen (cjihrig) #28309
  • [51742b834d] - doc: revise assert legacy mode text (Rich Trott) #28315
  • [57ac661bcb] - doc: document PerformanceNodeTiming.environment field (Yuriy Vasiyarov) #28280
  • [1f2b8c8cab] - doc: revise strict mode text in assert (Rich Trott) #28285
  • [0856a4d043] - doc: add gengjiawen to collaborators (gengjiawen) #28322
  • [359e20f048] - doc: clarify when http emits aborted event (Robert Nagy) #28262
  • [168c12758b] - doc: tidy AssertionError text (Rich Trott) #28255
  • [17efd9372b] - doc: remove instructions to post CI links (Rich Trott) #28248
  • [91d5a4df04] - doc,n-api: fix metadata for napi_create_threadsafe_function (Richard Lau) #28410
  • [c9a96aeeee] - esm: ensure cwd-relative imports for module --eval (Guy Bedford) #28389
  • [fd4d1e20f3] - http2: remove square brackets from parsed hostname (Luigi Pinca) #28406
  • [d8d4f9b569] - http2: propagate session destroy code to streams (cjihrig) #28435
  • [d8942f877d] - (SEMVER-MINOR) http2: use writableFinished instead of _writableState (zero1five) #28007
  • [d0de204c12] - http2: refactor ping + settings object lifetime management (Anna Henningsen) #28150
  • [5f9ee9f69f] - lib: fix stack overflow check to not break on primitives (kball) #28338
  • [b6a70520d2] - lib: refactor unhandled rejection deprecation warning emission (Joyee Cheung) #28258
  • [d95d610e0e] - meta: update LICENSE (Rich Trott) #28260
  • [ed8cee6b1a] - n-api: add error message for date expected (Gabriel Schulhof) #28303
  • [53297e66cb] - (SEMVER-MINOR) n-api: make func argument of napi_create_threadsafe_function optional (legendecas) #27791
  • [8ad880f3fc] - net: replace _writableState.finished with writableFinished (Rich Trott) #27974
  • [19f9281743] - (SEMVER-MINOR) process: expose uv_rusage on process.resourcesUsage() (vmarchaud) #28018
  • [0fd6524680] - process: split routines used to enhance fatal exception stack traces (Joyee Cheung) #28308
  • [e517b03701] - process: hide NodeEnvironmentFlagsSet's add function (Ruben Bridgewater) #28206
  • [c4a357dada] - report: add report versioning (cjihrig) #28121
  • [035b613f80] - src: don't abort on EIO when restoring tty (Ben Noordhuis) #28490
  • [624fd17064] - src: fix small memory leak (David Carlier) #28452
  • [0044fd2642] - src: add error codes to errors thrown in node_i18n.cc (Yaniv Friedensohn) #28221
  • [5b92eb4686] - src: refactor uncaught exception handling (Joyee Cheung) #28257
  • [c491e4dfe6] - src: fall back to env->exec_path() for default profile directory (Joyee Cheung) #28252
  • [040b9db07b] - src: save exec path when initializing Environment (Joyee Cheung) #28252
  • [1650bcf491] - (SEMVER-MINOR) stream: add writableFinished (zero1five) #28007
  • [8a64b70efe] - test: fix flaky test-vm-timeout-escape-nexttick (Rich Trott) #28461
  • [3f6f968dee] - test: skip tests related to CI failures on AIX (Sam Roberts) #28469
  • [937afcc365] - test: add test to doesNotThrow; validate if actual with regex (estrada9166) #28355
  • [004d26d5a5] - test: add tests to assert.ok and improve coverage (estrada9166) #28355
  • [82b80e0a61] - test: reset validity dates of expired certs (Sam Roberts) #28473
  • [dce4947335] - test: do not use fixed port in async-hooks/test-httparser-reuse (Anna Henningsen) #28312
  • [79b1bf5a09] - test: use assert() in N-API async test (Anna Henningsen) #28423
  • [cd78c5ef7e] - test: fixing broken test (melinamejia95) #28345
  • [d88c697f7f] - test: refactoring test, reordering arguments (David Sánchez) #28343
  • [e63990e383] - test: eliminate duplicate statements (khriztianmoreno) #28342
  • [b822545f84] - test: switch the param order in the assertion (raveneyex) #28341
  • [3bc62b9374] - test: switch assertion order (Yomar) #28339
  • [ecf4494dd2] - test: tls switch arguments order for the assertion (Laura Ciro) #28340
  • [4bca4a5091] - test: change order of arguments (MistyBlunch) #28359
  • [4973f217b8] - test: fix order of assertion arguments in test-event-emitter-num-args (Luis Gallon) #28368
  • [69f17f1ab0] - test: make test-dh-regr more efficient where possible (Rich Trott) #28390
  • [9f508e3a0a] - test: split pummel crypto dh test into two separate tests (Rich Trott) #28390
  • [e161744610] - test: move non-pummel crypto DH tests to parallel (Rich Trott) #28390
  • [16926a8183] - test: duplicated buffer in test-stream2-writable.js (Duvan Monsalve) #28380
  • [758a003f9d] - test: fix assertion argument order in test-buffer-failed-alloc-type (Alex Ramirez) #28349
  • [5047006980] - test: use regex for OpenSSL function name (Daniel Bevenius) #28289
  • [b448db3e01] - test: remove test-ttywrap.writestream.js (Rich Trott) #28316
  • [8346596552] - test: permit test-graph.signal to work without test runner (Rich Trott) #28305
  • [337aef0c2f] - test: normalize location test-worker-process-cwd.js runs tests (Samantha Sample) #28271
  • [c14e4d5bd5] - test: use .code for error in setgid (=) #28219
  • [c44db7fea5] - test: fix flaky test-worker-debug (Anna Henningsen) #28307
  • [424d91aacb] - test: add logging to statwatcher test (Rich Trott) #28270
  • [72f52a330b] - test: add Worker + uncaughtException + process.exit() test (Anna Henningsen) #28259
  • [3a2e67b916] - test: do not spawn rmdir in test-statwatcher (João Reis) #28276
  • [d949eadc38] - test: check custom inspection truncation in assert (Rich Trott) #28234
  • [993c0dbf14] - test: make sure test function resolves in test-worker-debug (Anna Henningsen) #28155
  • [1b4a7fb9cb] - tools: update unified-args to 7.0.0 for md-lint CLI (Rich Trott) #28434
  • [40ae2a6025] - tools: move python code out of jenkins shell (Sam Roberts) #28458
  • [d38b98529c] - tools: fix v8 testing with devtoolset on ppcle (Sam Roberts) #28458
  • [b8084840d8] - tools: change editorconfig's 'ignore' to 'unset' (silverwind) #28440
  • [21d2bdd3ce] - tools: remove unused using declarations (Daniel Bevenius) #28422
  • [3d014e1bf9] - tools: remove out-of-date code-cache-path comment (Daniel Bevenius) #28419
  • [60cf9111cb] - tools: fix typo in js2c.py (Daniel Bevenius) #28417
  • [b744bd9dcb] - tools: update eslint (Ruben Bridgewater) #28173
  • [03e3ccdbe5] - tools: update remark-preset-lint-node to 1.7.0 (Rich Trott) #28393
  • [619eb93942] - tools: fix typo in cache_builder.cc (Daniel Bevenius) #28418
  • [dd53e6aa7f] - tools: update babel-eslint to 10.0.2 (ZYSzys) #28266
  • [e6c7ebe90c] - vm: increase code coverage of source_text_module.js (kball) #28363
  • [2053dd0c9c] - worker: only unref port for stdin if we ref’ed it before (Anna Henningsen) #28153

addaleax and others added 30 commits July 2, 2019 09:07
Use the common `.then(common.mustCall())` check to verify that.
Also, we should not use `process.abort()` in `test/parallel`; if
the test fails, that leaves core dumps lying around on POSIX systems.

PR-URL: #28155
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This makes sure that the `add` function is not visible by default
when inspecting `process.allowedNodeEnvironmentFlags`.

PR-URL: #28206
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Have clearer ownership relations between the `Http2Ping`,
`Http2Settings` and `Http2Session` objects.

Ping and Settings objects are now owned by the `Http2Session`
instance, and deleted along with it, so neither type of object
refers to the session after it is gone.
In the case of `Http2Ping`s, that deletion is slightly delayed,
so we explicitly reset its `session_` property.

Fixes: #28088

PR-URL: #28150
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This reverts commit 9334e45.

PR-URL: #27992
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
V8 now resume supporting for mipsel/mips64el.
This commit add linux64-mips64 platform dependent
files in 'deps/openssl/config/archs/linux64-mips64',
and update the corresponding gypi files and header
files.

Refs: https://groups.google.com/forum/#!topic/v8-dev/oXkv5OVCXyc

PR-URL: #27992
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Remove instructions (in the Collaborator Guide) to post CI links. The
bot does that now.

PR-URL: #28248
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
When piping data into an SHA3 hash, EVP_DigestFinal_ex is called in
hash._flush, bypassing safeguards in the JavaScript layer. Calling
hash.digest causes EVP_DigestFinal_ex to be called again, resulting
in a segmentation fault in the SHA3 implementation of OpenSSL.

A relatively easy solution is to cache the result of calling
EVP_DigestFinal_ex until the Hash object is garbage collected.

PR-URL: #28251
Fixes: #28245
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
The assert module has some truncation logic in a custom inspect
function. This was not covered in tests. Add tests to cover it.

PR-URL: #28234
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Several minor improvements to text. Remove some repetition.

PR-URL: #28255
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #28252
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
When the current working directory is deleted, fall back to
exec_path as the default profile directory.

PR-URL: #28252
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
A few dependencies have been updated or added without running
license_builder.sh. This updates based on current master branch.

PR-URL: #28260
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
PR-URL: #28276
Refs: #21425
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Emit the deprecation warning in the `kDefaultUnhandledRejections`
case to reduce the number of branches on unhandled rejection mode -
there is now only one switch case on it.

Also rename `emitWarning()` to `emitUnhandledRejectionWarning()`
to avoid ambiguity with `process.emitWarning()`

PR-URL: #28258
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
The C++ land `node::FatalException()` is not in fact fatal anymore.
It gives the user a chance to handle the uncaught exception
globally by listening to the `uncaughtException` event. This patch
renames it to `TriggerUncaughtException` in C++ to avoid the confusion.

In addition rename the JS land handler to `onGlobalUncaughtException`
to reflect its purpose - we have to keep the alias
`process._fatalException` and use that for now since it has been
monkey-patchable in the user land.

This patch also

- Adds more comments to the global uncaught exception handling routine
- Puts a few other C++ error handling functions into the `errors`
  namespace
- Moves error-handling-related bindings to the `errors` binding.

Refs: 2b252ac

PR-URL: #28257
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
PR-URL: #28259
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
PR-URL: #28262
Refs: #28172
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Refs: #21425 (comment)

PR-URL: #28270
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #28266
Refs: https://github.com/babel/babel-eslint/releases/tag/v10.0.2
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Address a race condition in the test; the Worker’s exit events
may have been not recorded because the Worker exited before
the listeners were attached.

Fix the by attaching the event listeners before telling the Worker
to exit.

PR-URL: #28307
Fixes: #28299
Fixes: #28106
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
PR-URL: #28322
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
When the 'nobody' user is missing use .code to detect this, its more
robust than than the .message string.

Refs: #19594

PR-URL: #28219
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
We set the `kStartedReading` flag from `_read()` for Worker stdio,
and then `ref()` the port.

However, the `.on('end')` handler is also attached when `._read()`
is not called, e.g. when `process.stdin` inside a Worker is prematurely
ended because stdin was not enabled by the parent thread.

In that case, we should not call `.unref()` for stdin if we did not
also call `.ref()` for it before.

Fixes: #28144
PR-URL: #28153
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This change sets the process' directory to __dirname in order to
normalize where the test is ran.  This addresses the situation that
occurs when node is located in the root, and moving up a directory
results in the same directory.  In that case, an error was thrown
because the test interpreted this as a failed directory change.

Fixes: #28193
PR-URL: #28271
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Currently the buffer benchmarks take significantly too long to
complete. This drastically reduces the overall runtime by removing
obsolete checked variations and reducing the iteration count.

It also improves the benchmarks by removing the deprecated
`new Buffer(size)` usage and some other small improvements.

PR-URL: #26418
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Peter Marshall <petermarshall@chromium.org>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit adds a version to the diagnostic report feature.

PR-URL: #28121
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Revise the text describing `strict` mode.

PR-URL: #28285
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #28280
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #28221
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Fixes #28231

PR-URL: #28232
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@cjihrig cjihrig self-requested a review July 2, 2019 13:41
@cjihrig cjihrig dismissed their stale review July 2, 2019 13:42

Dismissing my LGTM for now.

@cjihrig
Copy link
Contributor

cjihrig commented Jul 2, 2019

Withdrawing my LGTM for now. The libuv 1.30.0 upgrade has build issues on Cygwin and Android (when built with cmake). Both of those are platforms that aren't tested in the CI, but we already have fixes for them.

I'm planning to make a patch release that fixes both of those issues. It might be worth waiting on that. I'd be open to fast tracking a libuv 1.30.1 today, as the release will be of trivial complexity.

@cjihrig
Copy link
Contributor

cjihrig commented Jul 2, 2019

libuv 1.30.1 update PR: #28511

cjihrig and others added 2 commits July 2, 2019 21:54
This upgrade is a small patch release, fixing compilation
errors on Android, Cygwin, and uClibc - none of which are
tested in the CI.

PR-URL: #28511
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Notable changes:

* build:
  * Experimental support for building Node.js on MIPS architecture
    is back. #27992
* child_process:
  * The promisified versions of `child_process.exec` and
    `child_process.execFile` now both return a `Promise` which has the
	child instance attached to their `child` property.
	#28325
* deps:
  * Updated libuv to 1.30.1. #28449,
    #28511
    * Support for the Haiku platform has been added.
    * The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to
	  1024.
    * `uv_fs_copyfile()` now works properly when the source and
	  destination files are the same.
* process:
  * A new method, `process.resourceUsage()` was added. It returns
    resource usage for the current process, such as CPU time.
	#28018
* src:
  * Fixed an issue related to stdio that could lead to a crash of the
    process in some circumstances.
	#28490
* stream:
  * Added a `writableFinished` property to writable streams. It
    indicates that all the data has been flushed to the underlying
	system. #28007
* worker:
  * Fixed an issue that prevented worker threads to listen for data on
    stdin. #28153
* meta:
  * Added Jiawen Geng (https://github.com/gengjiawen) to collaborators.
    #28322

PR-URL: #28508
@targos
Copy link
Member Author

targos commented Jul 2, 2019

Added libuv 1.30.1

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented Jul 3, 2019

One LGTM or 2 for the changelog would be nice :)

Copy link
Contributor

@cclauss cclauss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@targos
Copy link
Member Author

targos commented Jul 3, 2019

Thanks! Release build: https://ci-release.nodejs.org/job/iojs+release/4536/

@targos targos merged commit e71a0f4 into v12.x Jul 3, 2019
targos added a commit that referenced this pull request Jul 3, 2019
@targos targos deleted the v12.6.0-proposal branch July 3, 2019 13:54
targos added a commit that referenced this pull request Jul 3, 2019
Notable changes:

* build:
  * Experimental support for building Node.js on MIPS architecture
    is back. #27992
* child_process:
  * The promisified versions of `child_process.exec` and
    `child_process.execFile` now both return a `Promise` which has the
	child instance attached to their `child` property.
	#28325
* deps:
  * Updated libuv to 1.30.1. #28449,
    #28511
    * Support for the Haiku platform has been added.
    * The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to
	  1024.
    * `uv_fs_copyfile()` now works properly when the source and
	  destination files are the same.
* process:
  * A new method, `process.resourceUsage()` was added. It returns
    resource usage for the current process, such as CPU time.
	#28018
* src:
  * Fixed an issue related to stdio that could lead to a crash of the
    process in some circumstances.
	#28490
* stream:
  * Added a `writableFinished` property to writable streams. It
    indicates that all the data has been flushed to the underlying
	system. #28007
* worker:
  * Fixed an issue that prevented worker threads to listen for data on
    stdin. #28153
* meta:
  * Added Jiawen Geng (https://github.com/gengjiawen) to collaborators.
    #28322

PR-URL: #28508
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 3, 2019
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 3, 2019
@targos targos added release Issues and PRs related to Node.js releases. and removed 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. tools Issues and PRs related to the tools directory. labels Jun 6, 2021
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