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

v12.18.1 proposal #33811

Merged
merged 88 commits into from
Jun 17, 2020
Merged

v12.18.1 proposal #33811

merged 88 commits into from
Jun 17, 2020

Conversation

codebytere
Copy link
Member

@codebytere codebytere commented Jun 9, 2020

2020-06-17, Version 12.18.1 'Erbium' (LTS), @codebytere

Notable Changes

  • deps:
    • V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) #33484
    • update to uvwasi 0.0.9 (Colin Ihrig) #33445
    • upgrade to libuv 1.38.0 (Colin Ihrig) #33446
    • upgrade npm to 6.14.5 (Ruy Adorno) #33239

Commits

  • [ba93c8d87d] - async_hooks: clear async_id_stack for terminations in more places (Anna Henningsen) #33347
  • [964adfafa5] - buffer: improve copy() performance (Nikolai Vavilov) #33214
  • [5c7176bf90] - deps: update to uvwasi 0.0.9 (Colin Ihrig) #33445
  • [402aa1b840] - deps: upgrade to libuv 1.38.0 (Colin Ihrig) #33446
  • [4d6f56a76a] - deps: upgrade npm to 6.14.5 (Ruy Adorno) #33239
  • [98a7026311] - doc: document module.path (Antoine du Hamel) #33323
  • [9572701705] - doc: add fs.open() multiple constants example (Ethan Arrowood) #33281
  • [7d8a226958] - doc: fix typos in handle scope descriptions (Tobias Nießen) #33267
  • [0c9b826ef8] - doc: update function description for decipher.setAAD (Jonathan Buhacoff) #33095
  • [4749156f4b] - doc: add comment about highWaterMark limit (Benjamin Gruenbaum) #33432
  • [a48aeb3f74] - doc: clarify about the Node.js-only extensions in perf_hooks (Joyee Cheung) #33199
  • [a9ed287f00] - doc: fix extension in esm example (Gus Caplan) #33408
  • [d2897a2836] - doc: enhance guides by fixing and making grammar more consistent (Chris Holland) #33152
  • [3d8ba292e2] - doc: add examples for implementing ESM (unknown) #33168
  • [318fcf8188] - doc: add note about clientError writable handling (Paolo Insogna) #33308
  • [30c9cb556f] - doc: fix typo in n-api.md (Daniel Bevenius) #33319
  • [9dde1db332] - doc: add warning for socket.connect reuse (Robert Nagy) #33204
  • [0c7cf24431] - doc: correct description of decipher.setAuthTag in crypto.md (Jonathan Buhacoff)
  • [59619b0c9a] - doc: mention python3-distutils dependency in BUILDING.md (osher) #33174
  • [0cee4c3eae] - doc: removed unnecessary util imports from vm examples (Karol Walasek) #33179
  • [903862089b] - doc: update Buffer(size) documentation (Nikolai Vavilov) #33198
  • [8b44be9b26] - doc: add Uint8Array to end and write (Pranshu Srivastava) #33217
  • [4a584200f8] - doc: specify unit of time passed to fs.utimes (Simen Bekkhus) #33230
  • [ad7a890597] - doc: add troubleshooting guide for AsyncLocalStorage (Andrey Pechkurov) #33248
  • [2262962ab7] - doc: remove AsyncWrap mentions from async_hooks.md (Andrey Pechkurov) #33249
  • [ac5cdd682a] - doc: add warnings about transferring Buffers and ArrayBuffer (James M Snell) #33252
  • [033bc96ec1] - doc: update napi_async_init documentation (Michael Dawson) #33181
  • [ea3a68f74f] - doc: doc and test URLSearchParams discrepancy (James M Snell) #33236
  • [c6cf0483f2] - doc: explicitly doc package.exports is breaking (Myles Borins) #33074
  • [e572cf93e5] - doc: fix style and grammer in buffer.md (Nikolai Vavilov) #33194
  • [5d80576889] - errors: skip fatal error highlighting on windows (Thomas) #33132
  • [a029dca90e] - esm: improve commonjs hint on module not found (Antoine du Hamel) #33220
  • [c129e8809e] - fs: forbid concurrent operations on Dir handle (Anna Henningsen) #33274
  • [aa4611cccb] - fs: clean up Dir.read() uv_fs_t data before calling into JS (Anna Henningsen) #33274
  • [fa4a37c57b] - http2: comment on usage of Object.create(null) (Pranshu Srivastava) #33183
  • [66dbaff848] - http2: add bytesWritten test for Http2Stream (Pranshu Srivastava) #33162
  • [59769c4d14] - lib: fix typo in timers insert function comment (Daniel Bevenius) #33301
  • [6881410951] - lib: refactored scheduling policy assignment (Yash Ladha) #32663
  • [9017bce54b] - lib: fix grammar in internal/bootstrap/loaders.js (szTheory) #33211
  • [d64dbfa1e7] - meta: add issue template for API reference docs (Derek Lewis) #32944
  • [4f6e4ae49d] - module: add specific error for dir import (Antoine du HAMEL) #33220
  • [77caf92314] - module: better error for named exports from cjs (Myles Borins) #33256
  • [82da74b1cd] - n-api: add uint32 test for -1 (Gabriel Schulhof)
  • [68551d22d2] - perf_hooks: fix error message for invalid entryTypes (Michaël Zasso) #33285
  • [e67df04df2] - src: use BaseObjectPtr in StreamReq::Dispose (James M Snell) #33102
  • [c797c7c7ab] - src: reduce duplication in RegisterHandleCleanups (Daniel Bevenius) #33421
  • [548db2e5b9] - src: remove unused IsolateSettings variable (Daniel Bevenius) #33417
  • [e668376b5b] - src: remove unused misc variable (Daniel Bevenius) #33417
  • [9883ba6ddd] - src: add promise_resolve to SetupHooks comment (Daniel Bevenius) #33365
  • [b924910fe7] - src: distinguish refed/unrefed threadsafe Immediates (Anna Henningsen) #33320
  • [29d24db914] - src: add #include <string> in json_utils.h (Cheng Zhao) #33332
  • [a0bc2e3b64] - src: replace to CHECK_NOT_NULL in node_crypto (himself65) #33383
  • [1f159e45f2] - src: add primordials to arguments comment (Daniel Bevenius) #33318
  • [fe780a5fe0] - src: remove unused using declarations in node.cc (Daniel Bevenius) #33261
  • [82c43d1594] - src: delete unused variables to resolve compile time print warning (rickyes) #33358
  • [548672d39c] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33312
  • [f27ae6ef46] - src: fix typo in comment in async_wrap.cc (Daniel Bevenius) #33350
  • [b6300793fb] - src: remove unnecessary Isolate::GetCurrent() calls (Anna Henningsen) #33298
  • [642f81317e] - src: fix invalid windowBits=8 gzip segfault (Ben Noordhuis) #33045
  • [a5e8c5ce0d] - src: split out callback queue implementation from Environment (Anna Henningsen) #33272
  • [ed62d43e79] - src: clean up large pages code (Gabriel Schulhof) #33255
  • [c05483483f] - Revert "src: add test/abort build tasks" (Richard Lau) #33196
  • [b43fc64aa7] - Revert "src: add aliased-buffer-overflow abort test" (Richard Lau) #33196
  • [edf75e4299] - src: use basename(argv0) for --trace-uncaught suggestion (Anna Henningsen) #32798
  • [4294d92b26] - stream: make from read one at a time (Robert Nagy) #33201
  • [194789f25b] - stream: make all streams error in a pipeline (Matteo Collina) #30869
  • [5da7d52a9f] - test: regression tests for async_hooks + Promise + Worker interaction (Anna Henningsen) #33347
  • [9f594be75a] - test: fix test-dns-idna2008 (Rich Trott) #33367
  • [33a787873f] - test: refactor WPTRunner (Joyee Cheung) #33297
  • [fa1631355f] - test: update WPT interfaces and hr-time (Joyee Cheung) #33297
  • [c459832e4b] - test: fix test-net-throttle (Rich Trott) #33329
  • [cd92052935] - test: add hr-time Web platform tests (Michaël Zasso) #33287
  • [0177cbf9e0] - test: rename test-lookupService-promises (rickyes) #33100
  • [139eb6bd68] - test: skip some console tests on dumb terminal (Adam Majer) #33165
  • [1766514c5b] - test: add tests for options.fs in fs streams (Julian Duque) #33185
  • [7315c2288a] - tls: fix --tls-keylog option (Alba Mendez) #33366
  • [e240d56983] - tools: update dependencies for markdown linting (Rich Trott) #33412
  • [2645b1c85b] - tools: update ESLint to 7.0.0 (Colin Ihrig) #33316
  • [cdd7d3a66d] - tools: remove obsolete no-restricted-syntax eslint rules (Ruben Bridgewater) #32161
  • [5d5e66c10c] - tools: add eslint rule to only pass through 'test' to debuglog (Ruben Bridgewater) #32161
  • [22f2c2c871] - wasi: fix poll_oneoff memory interface (Colin Ihrig) #33250
  • [33aacbefb1] - wasi: prevent syscalls before start (Tobias Nießen) #33235
  • [5eed20b3b7] - worker: fix race condition in node_messaging.cc (Anna Henningsen) #33429
  • [b4d903402b] - worker: fix crash when .unref() is called during exit (Anna Henningsen) #33394
  • [8a926982e5] - worker: call CancelTerminateExecution() before exiting Locker (Anna Henningsen) #33347
  • [631e433cf5] - zlib: reject windowBits=8 when mode=GZIP (Ben Noordhuis) #33045

mcollina and others added 30 commits June 6, 2020 09:53
This changes makes all stream in a pipeline emit 'error' in
case of an abnormal termination of the pipeline. If the last stream
is currently being async iterated, this change will make the iteration
reject accordingly.

See: #30861
Fixes: #28194

PR-URL: #30869
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
PR-URL: #33185
Reviewed-By: Adrian Estrada <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: #33194
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
If package authors don't explicitly include all previously supported
entry points introducing package.exports will be a Semver-Major change.

Add a warning about this behavior and offer two potential solutions
for module authors.

Refs: then/is-promise#20

PR-URL: #33074
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Jan Krems <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
This reverts commit babeb58.

PR-URL: #33196
Refs: #31740
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
This reverts commit e08ac09.

PR-URL: #33196
Refs: #31740
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
The WHATWG URL spec is not going to change this behavior so
let's document it

Signed-off-by: James M Snell <[email protected]>

Fixes: #33037

PR-URL: #33236
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Zeyu Yang <[email protected]>
Fixes: #33153

Change documentation to make async_resource required
as opposed to optional in napi-async_init.

Changes over time mean this parameter is required for
proper operation of async hooks (which are still experimental).
This changes the documentation to document what
callers should do. We are doing this only in the doc
in order to avoid a breaking change in N-API. We could
create a new version of the method for which the
parametrer is enforced as mandatory but we should only
do that once async hooks is no longer experimental. In
that case we could deprecate (but not remove this version
of the method).

Signed-off-by: Michael Dawson <[email protected]>

PR-URL: #33181
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Currently from will eagerly buffer up items
which means that errors are also eagerly
encountered and items which are buffer when
an error occurs will be discarded, which is
inconsistent with how generators work.

Fixes: #29428

PR-URL: #33201
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Adds a test to ensure that napi_get_value_uint32 returns 0xffffffff for
-1.

Re: #33117
Signed-off-by: Gabriel Schulhof <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: David Carlier <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Zeyu Yang <[email protected]>
Signed-off-by: James M Snell <[email protected]>

PR-URL: #33252
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Mathias Buus <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
AsyncWrap is a private API and should not be mentioned
in the documentation.

PR-URL: #33249
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #33248
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #33235
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #33230
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Anto Aravinth <[email protected]>
Reviewed-By: Masashi Hirano <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #33217
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
It returns zero-filled memory since v8.0.0.

PR-URL: #33198
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: #33179
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Ran into #30189, solved by this comment:
#30189 (comment)

Refs: #30189
PR-URL: #33174
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
PR-URL: #33211
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Add capabilities to common test module to detect and skip tests
on dumb terminals.

In some of our build environments, like s390x, the terminal
is a dumb terminal meaning it has very rudimentary capabilities.
These in turn prevent some of the tests from completing with errors
as below.

    not ok 1777 parallel/test-readline-tab-complete
      ---
      duration_ms: 0.365
      severity: fail
      exitcode: 1
      stack: |-
        assert.js:103
          throw new AssertionError(obj);
          ^

        AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

        '\t' !== ''

            at /home/abuild/rpmbuild/BUILD/node-git.8698dd98bb/test/parallel/test-readline-tab-complete.js:63:14
            at Array.forEach (<anonymous>)
            at /home/abuild/rpmbuild/BUILD/node-git.8698dd98bb/test/parallel/test-readline-tab-complete.js:18:17
            at Array.forEach (<anonymous>)
            at Object.<anonymous> (/home/abuild/rpmbuild/BUILD/node-git.8698dd98bb/test/parallel/test-readline-tab-complete.js:17:3)
            at Module._compile (internal/modules/cjs/loader.js:1176:30)
            at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
            at Module.load (internal/modules/cjs/loader.js:1040:32)
            at Function.Module._load (internal/modules/cjs/loader.js:929:14)
            at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
          generatedMessage: true,
          code: 'ERR_ASSERTION',
          actual: '\t',
          expected: '',
          operator: 'strictEqual'
        }
      ...

PR-URL: #33165
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Calling `decipher.setAuthTag` after `decipher.update` will result in
an error like `Unsupported state or unable to authenticate data`.
The example code in
[CCM mode](https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_ccm_mode)
is correct, but to demonstrate the mistake in the documentation you
can take the same example and move the `setAuthTag` call to in between
`update` and `final` you will see the error.
* Initialize structure members.
* Factor out common `Debug()` prefix.
* Remove unused `text_region` field.

Signed-off-by: Gabriel Schulhof <[email protected]>
PR-URL: #33255
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: David Carlier <[email protected]>
The WASM memory interfacing logic was wrong (particularly around
the size of __wasi_subscription_t). This commit fixes the logic.

PR-URL: #33250
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
PR-URL: #33204
Refs: #25969
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
We do not support importing named exports from a CJS module.
This change decorates the error message for missing named exports in
the case where the module being imported is expected to be CJS by the
ESM loader.

Signed-off-by: Myles Borins <[email protected]>

PR-URL: #33256
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
This isn’t conceptually tied to anything Node.js-specific at all.

PR-URL: #33272
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
In previous implementation it was clubbed into declaration of scheduling
policies and fetching the schedulingPolicy. Now they are separate
variables, so that in future if one want to add new scheduling policy.
It is much simpler and not obsfucated.

PR-URL: #32663
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member

targos commented Jun 16, 2020

The proposal looks good to me. I have no idea what could have caused this new compiler error...

@AshCripps
Copy link
Member

@codebytere looks like it was my fault, I removed the release source builds on osx10.10 in nodejs/build#2347 but forgot to remove the label from the job so it ran here by accident. Have removed the label now so it shouldn't happen again.

@codebytere
Copy link
Member Author

@nodejs/build do you know what might have happened here: https://ci-release.nodejs.org/job/iojs+release/6114/nodes=osx1015-release-pkg/console ?

Looks like a few things failing: https://ci-release.nodejs.org/job/iojs+release/6114/

@codebytere
Copy link
Member Author

@nodejs/releasers thoughts on moving this to tomorrow? Given that this looks like a build issue i'm not sure I can solve it myself before tonight :(

@MylesBorins
Copy link
Contributor

+1 to delaying. I've been stuck in meetings all day but can take a look a bit later tonight

Notable changes:

deps:
  * V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) [#33484](#33484)
  * update to uvwasi 0.0.9 (Colin Ihrig) [#33445](#33445)
  * upgrade to libuv 1.38.0 (Colin Ihrig) [#33446](#33446)
  * upgrade npm to 6.14.5 (Ruy Adorno) [#33239](#33239)

PR-URL: #33811
@rvagg
Copy link
Member

rvagg commented Jun 16, 2020

Errors like this, with no obvious cause (you do have to search the stacktrace for possible causes - in this case there's a "can't delete file" that could be it, but 🤷), you can try re-running. Here's a re-run that gets green for the macos builders: https://ci-release.nodejs.org/job/iojs+release/6115/, I think you might have all assets in staging now with this run.

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

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

LGTM

@codebytere codebytere merged commit 6665f73 into v12.x Jun 17, 2020
codebytere added a commit that referenced this pull request Jun 17, 2020
codebytere added a commit that referenced this pull request Jun 17, 2020
Notable changes:

deps:
  * V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) [#33484](#33484)
  * update to uvwasi 0.0.9 (Colin Ihrig) [#33445](#33445)
  * upgrade to libuv 1.38.0 (Colin Ihrig) [#33446](#33446)
  * upgrade npm to 6.14.5 (Ruy Adorno) [#33239](#33239)

PR-URL: #33811
codebytere added a commit to nodejs/nodejs.org that referenced this pull request Jun 17, 2020
@codebytere codebytere deleted the v12.18.1-proposal branch June 17, 2020 16:32
codebytere added a commit to nodejs/nodejs.org that referenced this pull request Jun 17, 2020
@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. npm Issues and PRs related to the npm client dependency or the npm registry. 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.