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

v14.3.0 proposal #33452

Merged
merged 104 commits into from
May 19, 2020
Merged

v14.3.0 proposal #33452

merged 104 commits into from
May 19, 2020

Conversation

codebytere
Copy link
Member

2020-05-19, Version 14.3.0 (Current), @codebytere

Notable Changes

  • [7aa581f4ff] - (SEMVER-MINOR) repl: deprecate repl._builtinLibs (Ruben Bridgewater) #33294
  • [ed83202307] - (SEMVER-MINOR) repl: remove obsolete completer variable (Ruben Bridgewater) #33294
  • [db7bb941a3] - (SEMVER-MINOR) repl: deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) #33294
  • [2dc5db8c07] - (SEMVER-MINOR) cli: add --trace-atomics-wait flag (Anna Henningsen) #33292
  • [6257cf256e] - (SEMVER-MINOR) repl: improve repl autocompletion for require calls (Ruben Bridgewater) #33282
  • [95842db17e] - (SEMVER-MINOR) test: refactor test/parallel/test-bootstrap-modules.js (Ruben Bridgewater) #33282
  • [69061dc73e] - (SEMVER-MINOR) repl: replace hard coded core module list with actual list (Ruben Bridgewater) #33282
  • [d33dcf1d5f] - (SEMVER-MINOR) repl: show reference errors during preview (Ruben Bridgewater) #33282
  • [1a9771a50a] - (SEMVER-MINOR) repl: improve repl preview (Ruben Bridgewater) #33282
  • [0d77eec4b0] - src: add support for TLA (Gus Caplan) #30370
  • [1dcf66cf87] - (SEMVER-MINOR) fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134
  • [f33e86649e] - (SEMVER-MINOR) http: expose http.validate-header-name/value (osher) #33119
  • [b06165584e] - (SEMVER-MINOR) async_hooks: move PromiseHook handler to JS (Stephen Belanger) #32891

Commits

  • [dd4789b8ee] - async_hooks: clear async_id_stack for terminations in more places (Anna Henningsen) #33347
  • [b06165584e] - (SEMVER-MINOR) async_hooks: move PromiseHook handler to JS (Stephen Belanger) #32891
  • [cae2051b83] - buffer: improve copy() performance (Nikolai Vavilov) #33214
  • [24faa37a09] - buffer,n-api: release external buffers from BackingStore callback (Anna Henningsen) #33321
  • [34e7400fc1] - build: enable --error-on-warn for POSIX workflows (Richard Lau) #33357
  • [7d4db35f84] - build: fix --error-on-warn for macOS (Richard Lau) #33357
  • [2dc5db8c07] - (SEMVER-MINOR) cli: add --trace-atomics-wait flag (Anna Henningsen) #33292
  • [331f0b3420] - deps: update to ICU 67.1 (Michaël Zasso) #33324
  • [ba66b21c37] - deps: upgrade npm to 6.14.5 (Ruy Adorno) #33239
  • [cc279490ce] - doc: prepare 14.x changelog for remark update (Rich Trott) #33412
  • [7f9ccd6d89] - doc: fix extension in esm example (Gus Caplan) #33408
  • [8f91338f6e] - doc: fix stream example (Anna Henningsen) #33426
  • [182aaf5622] - doc: enhance guides by fixing and making grammar more consistent (Chris Holland) #33152
  • [0ffa0402a5] - doc: add examples for implementing ESM (unknown) #33168
  • [b41affb9e2] - doc: add note about clientError writable handling (Paolo Insogna) #33308
  • [4f0cd648bb] - doc: fix typo in n-api.md (Daniel Bevenius) #33319
  • [0cbee57109] - doc: add warning for socket.connect reuse (Robert Nagy) #33204
  • [a9e4fdbd1b] - doc: correct description of decipher.setAuthTag in crypto.md (Jonathan Buhacoff)
  • [84974d3f2c] - doc: mention python3-distutils dependency in BUILDING.md (osher) #33174
  • [b5dcfbf634] - doc: removed unnecessary util imports from vm examples (Karol Walasek) #33179
  • [e20fe535a5] - doc: update Buffer(size) documentation (Nikolai Vavilov) #33198
  • [5b42d812cc] - doc: add Uint8Array to end and write (Pranshu Srivastava) #33217
  • [c6a8cd0fa1] - doc: fix md issue in src/README.md (Juan José Arboleda) #33224
  • [2c49dd3d01] - doc: specify unit of time passed to fs.utimes (Simen Bekkhus) #33230
  • [6ffec50494] - doc: add troubleshooting guide for AsyncLocalStorage (Andrey Pechkurov) #33248
  • [dab5c38f98] - doc: remove AsyncWrap mentions from async_hooks.md (Andrey Pechkurov) #33249
  • [05729430bf] - doc: add warnings about transferring Buffers and ArrayBuffer (James M Snell) #33252
  • [cf88ed8664] - doc: update napi_async_init documentation (Michael Dawson) #33181
  • [25443fa7f2] - doc: doc and test URLSearchParams discrepancy (James M Snell) #33236
  • [07372e9d5b] - doc: explicitly doc package.exports is breaking (Myles Borins) #33074
  • [c5a38fe6d7] - doc: fix style and grammer in buffer.md (Nikolai Vavilov) #33194
  • [e53de96a89] - esm: improve commonjs hint on module not found (Antoine du Hamel) #33220
  • [c7c420ec87] - fs: forbid concurrent operations on Dir handle (Anna Henningsen) #33274
  • [12391c7a20] - fs: clean up Dir.read() uv_fs_t data before calling into JS (Anna Henningsen) #33274
  • [1dcf66cf87] - (SEMVER-MINOR) fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134
  • [f33e86649e] - (SEMVER-MINOR) http: expose http.validate-header-name/value (osher) #33119
  • [cc5c8e039d] - http: don't destroy completed request (Robert Nagy) #33120
  • [b634d4b000] - http: set IncomingMessage.destroyed (Robert Nagy) #33131
  • [cc02c73e53] - http: fixes memory retention issue with FreeList and HTTPParser (John Leidegren) #33190
  • [41c5524432] - http2: add bytesWritten test for Http2Stream (Pranshu Srivastava) #33162
  • [a133a88234] - lib: fix typo in timers insert function comment (Daniel Bevenius) #33301
  • [94d0a088ec] - lib: refactored scheduling policy assignment (Yash Ladha) #32663
  • [6bca487b8b] - lib: fix grammar in internal/bootstrap/loaders.js (szTheory) #33211
  • [0a78925146] - meta: add issue template for API reference docs (Derek Lewis) #32944
  • [35aae31968] - module: add specific error for dir import (Antoine du HAMEL) #33220
  • [c2d2dfc09f] - module: do not check circular dependencies for exported proxies (Ruben Bridgewater) #33338
  • [ad8680773e] - module: better error for named exports from cjs (Myles Borins) #33256
  • [27b814c79b] - module: lazy load 'getOptionValue' in initializeLoader (himself65) #33212
  • [4ae6130010] - n-api: add uint32 test for -1 (Gabriel Schulhof)
  • [398bdf40e5] - perf_hooks: fix error message for invalid entryTypes (Michaël Zasso) #33285
  • [7aa581f4ff] - (SEMVER-MINOR) repl: deprecate repl._builtinLibs (Ruben Bridgewater) #33294
  • [ed83202307] - (SEMVER-MINOR) repl: remove obsolete completer variable (Ruben Bridgewater) #33294
  • [db7bb941a3] - (SEMVER-MINOR) repl: deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) #33294
  • [6257cf256e] - (SEMVER-MINOR) repl: improve repl autocompletion for require calls (Ruben Bridgewater) #33282
  • [69061dc73e] - (SEMVER-MINOR) repl: replace hard coded core module list with actual list (Ruben Bridgewater) #33282
  • [d33dcf1d5f] - (SEMVER-MINOR) repl: show reference errors during preview (Ruben Bridgewater) #33282
  • [1a9771a50a] - (SEMVER-MINOR) repl: improve repl preview (Ruben Bridgewater) #33282
  • [099f18e89b] - src: distinguish refed/unrefed threadsafe Immediates (Anna Henningsen) #33320
  • [5e5aa0bc6c] - src: add #include <string> in json_utils.h (Cheng Zhao) #33332
  • [8ada953ef2] - src: replace to CHECK_NOT_NULL in node_crypto (himself65) #33383
  • [0257386cd4] - src: remove deprecated FinalizationRegistry hooks (Gus Caplan) #33373
  • [354ff4f21b] - src: small modification to NgHeader (James M Snell) #33289
  • [fd89ef1478] - src: refactor Reallocate since it introduced in upstream v8 (Jiawen Geng) #33402
  • [d292633ed4] - src: add primordials to arguments comment (Daniel Bevenius) #33318
  • [19996073ca] - src: remove unused using declarations in node.cc (Daniel Bevenius) #33261
  • [c9c16c03c4] - src: delete unused variables to resolve compile time print warning (rickyes) #33358
  • [066ca98069] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #33312
  • [f3129b290d] - src: fix typo in comment in async_wrap.cc (Daniel Bevenius) #33350
  • [0d77eec4b0] - src: add support for TLA (Gus Caplan) #30370
  • [fd9c7c2118] - src: fix compiler warning in async_wrap.cc (Anna Henningsen) #33322
  • [3de9dd9c8d] - src: remove unnecessary Isolate::GetCurrent() calls (Anna Henningsen) #33298
  • [ef2503375b] - src: fix invalid windowBits=8 gzip segfault (Ben Noordhuis) #33045
  • [548cedd870] - src: split out callback queue implementation from Environment (Anna Henningsen) #33272
  • [ed41494397] - src: clean up large pages code (Gabriel Schulhof) #33255
  • [cf476984f6] - src: use BaseObjectPtr in StreamReq::Dispose (James M Snell) #33102
  • [5ff31921cc] - Revert "src: add test/abort build tasks" (Richard Lau) #33196
  • [a56b600e93] - Revert "src: add aliased-buffer-overflow abort test" (Richard Lau) #33196
  • [a292630baf] - src: retrieve binding data from the context (Joyee Cheung) #33139
  • [b2fb01a68d] - stream: make from read one at a time (Robert Nagy) #33201
  • [b93a723fe6] - test: regression tests for async_hooks + Promise + Worker interaction (Anna Henningsen) #33347
  • [d3e2fc81e8] - test: fix test-dns-idna2008 (Rich Trott) #33367
  • [95842db17e] - (SEMVER-MINOR) test: refactor test/parallel/test-bootstrap-modules.js (Ruben Bridgewater) #33282
  • [f31b262f50] - test: refactor WPTRunner (Joyee Cheung) #33297
  • [85cffb8e4c] - test: update WPT interfaces and hr-time (Joyee Cheung) #33297
  • [5b2cd440a1] - test: fix test-net-throttle (Rich Trott) #33329
  • [1d2c81fee9] - test: add hr-time Web platform tests (Michaël Zasso) #33287
  • [6f54c2bbb6] - test: rename test-lookupService-promises (rickyes) #33100
  • [302408e515] - test: skip some console tests on dumb terminal (Adam Majer) #33165
  • [676ef952ab] - test: add tests for options.fs in fs streams (Julian Duque) #33185
  • [6d2aaaf6b4] - tls: fix --tls-keylog option (Alba Mendez) #33366
  • [eedc13174e] - tls: reset secureConnecting on client socket (David Halls) #33209
  • [453affebb0] - tools: update dependencies for markdown linting (Rich Trott) #33412
  • [91193447fb] - tools: enable no-else-return lint rule (Luigi Pinca) #32667
  • [e1e57a4223] - tools: update ESLint to 7.0.0 (Colin Ihrig) #33316
  • [cf03fe5b67] - tools: remove obsolete no-restricted-syntax eslint rules (Ruben Bridgewater) #32161
  • [804982c1b6] - tools: add eslint rule to only pass through 'test' to debuglog (Ruben Bridgewater) #32161
  • [c2cf9782ab] - Revert "vm: add importModuleDynamically option to compileFunction" (Matteo Collina) #33364
  • [6a26eee3c5] - wasi: fix poll_oneoff memory interface (Colin Ihrig) #33250
  • [4465d23c30] - wasi: prevent syscalls before start (Tobias Nießen) #33235
  • [9d1e577109] - worker: fix crash when .unref() is called during exit (Anna Henningsen) #33394
  • [b1a7fdac43] - worker: call CancelTerminateExecution() before exiting Locker (Anna Henningsen) #33347
  • [736ca65c2c] - zlib: reject windowBits=8 when mode=GZIP (Ben Noordhuis) #33045

julianduque and others added 30 commits May 7, 2020 08:24
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]>
Fixes: #29394
Refs: #33167 (comment)

PR-URL: #33190
Reviewed-By: Robert Nagy <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Gerhard Stöbich <[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]>
Instead of passing them through the data bound to function
templates, store references to them in a list embedded inside
the context.
This makes the function templates more context-independent,
and makes it possible to embed binding data in non-main contexts.

Co-authored-by: Anna Henningsen <[email protected]>

PR-URL: #33139
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[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: #33224
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Trivikram Kamat <[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]>
This enables loading this module during early bootstrapping.

PR-URL: #33212
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Richard Lau <[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]>
@targos targos removed the tools Issues and PRs related to the tools directory. label 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.