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.13.0 proposal #35419

Merged
merged 42 commits into from Sep 29, 2020
Merged

v14.13.0 proposal #35419

merged 42 commits into from Sep 29, 2020

Conversation

MylesBorins
Copy link
Member

2020-09-29, Version 14.13.0 (Current), @MylesBorins

Notable Changes

  • [19b95a7fa9] - (SEMVER-MINOR) deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333
  • [f551f52f83] - (SEMVER-MINOR) module: named exports for CJS via static analysis (Guy Bedford) #35249
  • [505731871e] - (SEMVER-MINOR) module: exports pattern support (Guy Bedford) #34718
  • [0d8eaa3942] - (SEMVER-MINOR) src: allow N-API addon in AddLinkedBinding() (Anna Henningsen) #35301

Commits

  • [19b95a7fa9] - (SEMVER-MINOR) deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333
  • [353a567235] - deps: upgrade to c-ares v1.16.1 (Shelley Vohr) #35324
  • [2e10616d48] - doc: remove http2 non-link anchor tags (Rich Trott) #35161
  • [02db136c49] - doc: alphabetize error list (Rich Trott) #35219
  • [46a4154cab] - doc: packages docs feedback (Guy Bedford) #35370
  • [70ad69ba46] - doc: outline when origin is set to unhandledRejection (Matthieu Larcher) #35294
  • [010173a4b7] - doc: edit n-api.md for minor improvements (Rich Trott) #35361
  • [86ac7497e0] - doc: add history entry for breaking destroy() change (Gil Pedersen) #35326
  • [857e321baf] - doc: set encoding to hex before piping hash (Victor Antonio Barzana Crespo) #35338
  • [87dfed012c] - doc: add gpg key export directions to releases doc (Danielle Adams) #35298
  • [1758ac8237] - doc: added version 7 to N-API version matrix (NickNaso) #35319
  • [5da5d41b1c] - doc: refine require/import conditions constraints (Guy Bedford) #35311
  • [482ce6ce1d] - doc: improve N-API string-to-native doc (Gabriel Schulhof) #35322
  • [6dc6dadfc6] - doc: avoid referring to C array size (Tobias Nießen) #35300
  • [0a847ca729] - doc: update napi_make_callback documentation (Gerhard Stoebich) #35321
  • [a8d3a7f742] - doc: put landing specifics in details tag (Rich Trott) #35296
  • [dd530364d0] - doc: fixup lutimes metadata (Anna Henningsen) #35328
  • [d7282c0ae3] - doc: edit subpath export patterns introduction (Rich Trott) #35254
  • [1d1ce1fc2c] - doc: document support for package.json fields (Antoine du HAMEL) #34970
  • [ef0d2ef5a2] - doc: move package config docs to separate page (Antoine du HAMEL) #34748
  • [b9d767c4d5] - doc: change type of child_process.signalCode to string (Linn Dahlgren) #35223
  • [b4514d464d] - doc: replace "this guide" link text with guide title (Rich Trott) #35283
  • [1893449724] - doc: revise dependency redirection text in policy.md (Rich Trott) #35276
  • [0c4540b050] - doc: fix heading space bug in assert.md (Thomas Hunter II) #35310
  • [ec6b78ae73] - doc: add socket.readyState (Clark Kozak) #35262
  • [2a4ae0926d] - doc: update crypto.createSecretKey accepted types (Filip Skokan) #35246
  • [c09f3dc2f3] - doc: put release script specifics in details (Myles Borins) #35260
  • [99a79e32a6] - fs: fix fs.promises.writeFile with typed arrays (Michaël Zasso) #35376
  • [ab7d0e92b1] - meta: update module pages in CODEOWNERS (Antoine du Hamel) #34932
  • [f551f52f83] - (SEMVER-MINOR) module: named exports for CJS via static analysis (Guy Bedford) #35249
  • [505731871e] - (SEMVER-MINOR) module: exports pattern support (Guy Bedford) #34718
  • [68ea7f5560] - module: fix crash on multiline named cjs imports (Christoph Tavan) #35275
  • [0f4ecaa741] - repl: standardize Control key indications (Rich Trott) #35270
  • [1e1cb94e69] - src: fix incorrect SIGSEGV handling in NODE_USE_V8_WASM_TRAP_HANDLER (Anatoly Korniltsev) #35282
  • [0d8eaa3942] - (SEMVER-MINOR) src: allow N-API addon in AddLinkedBinding() (Anna Henningsen) #35301
  • [f2635b317e] - test: replace annonymous functions with arrow (Pooja D.P) #34921
  • [d7c28c9243] - test,child_process: add tests for signalCode value (Rich Trott) #35327
  • [80eb22185e] - tools: update ESLint to 7.10.0 (Colin Ihrig) #35366
  • [7f355735df] - tools: ignore build folder when checking links (Ash Cripps) #35315
  • [c5d27e1e29] - tools,doc: enforce alphabetical order for md refs (Antoine du Hamel) #35244
  • [9d91842a9d] - tools,doc: upgrade dependencies (Antoine du Hamel) #35244

MylesBorins and others added 30 commits September 24, 2020 14:45
Listing all the steps can be confusing an make it seem like
the releaser is meant to run each of these steps manually. In fact
I personally did that my first release.

Let's put those steps in a details block to make it more obvious
that it is informational and not steps to follow

PR-URL: #35260
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
PR-URL: #35246
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
The node process crashes when trying to parse a multiline import
statement for named exports of a CommonJS module:

    TypeError: Cannot read property '0' of null
          at ModuleJob._instantiate (internal/modules/esm/module_job.js:112:77)
          at async ModuleJob.run (internal/modules/esm/module_job.js:137:5)
          at async Loader.import (internal/modules/esm/loader.js:165:24)
          at async rejects.name (file:///***/node/test/es-module/test-esm-cjs-named-error.mjs:56:3)
          at async waitForActual (assert.js:721:5)
          at async rejects (assert.js:830:25),

The reason is that the regexp that is currently used to decorate the
original error fails for multi line import statements.

Unfortunately the undecorated error stack only contains the single line
which causes the import to fail:

    file:///***/node/test/fixtures/es-modules/package-cjs-named-error/multi-line.mjs:2
      comeOn,
      ^^^^^^
    SyntaxError: The requested module './fail.cjs' does not provide an export named 'comeOn'
        at ModuleJob._instantiate (internal/modules/esm/module_job.js:98:21)
        at async ModuleJob.run (internal/modules/esm/module_job.js:141:5)
        at async Loader.import (internal/modules/esm/loader.js:165:24)
        at async rejects.name (file:///***/node/test/es-module/test-esm-cjs-named-error.mjs:56:3)
        at async waitForActual (assert.js:721:5)
        at async rejects (assert.js:830:25)

Hence, for multiline import statements we cannot create an equivalent
piece of code that uses default import followed by an object
destructuring assignment.

In any case the node process should definitely not crash. So until we
have a more sophisticated way of extracting the entire problematic
multiline import statement, show the code example only for single-line
imports where the current regexp approach works well.

Refs: #35259

PR-URL: #35275
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #35244
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
PR-URL: #35244
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
+ description of `socket.readyState`

Note: YAML tag found in commit e697cfb

Co-authored-by: Michael Auderer <mike@silverstone.io>

PR-URL: #35262
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Fixing a heading rendering bug

PR-URL: #35310
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
We checkout build as a subdirectory as part of CI and
if you run `make test` instead of `make test-ci` you get
loads of errors about markdown link breaks. Ignore this
directory as we don't need to examine another repo

PR-URL: #35315
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #35276
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #35283
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
During testing, and interfacing with child_processes, I found that the
child_process.signalCode property to be the string representation of
the signal, not number.

PR-URL: #35223
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This part of the docs aims to contain documentation regarding package
configuration that covers both ESM and CJS realms.

* Move Enabling section
* Update Enabling section
* Remove -u flag
* Package scopes do not carry through `node_modules` folders

Refs: nodejs/modules#539

Co-authored-by: Geoffrey Booth <webmaster@geoffreybooth.com>>
Co-authored-by: Guy Bedford <guybedford@gmail.com>

PR-URL: #34748
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
PR-URL: #34932
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Fixes: #33143

PR-URL: #34970
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #34718
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
* Use parallel construction in the two sentences
* Backticks around _package.json_ to match rest of file
* Add comma for readability
* Own the recommendation ("we recommend")

PR-URL: #35254
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Refs: #35320 (comment)

PR-URL: #35328
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Showing all the steps isn't usually useful and makes it seem like the
collaborator is meant to follow the manual steps. I've seen this happen
during at least one onboarding. The section is also a bit long to
comfortably scroll over quickly to find the next section.

Let's put those steps in a details block to make it more obvious that it
is there for unusual situations only.

Co-authored-by: Shelley Vohr <codebytere@gmail.com>

PR-URL: #35296
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Calling napi_make_callback() with no async_context is not resulting in
using the current async context instead an empty context (id 0) is
used.

Using NULL is like using node::Makecallback without async_context which
is deprecated since Node.js 10 (DEP0099).

PR-URL: #35321
Fixes: #35188
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
The size of arrays is measured in bytes in C, not in the number of
elements. The napi_get_cb_info function takes the length of the
array, that is, the number of elements it can contain, and not its size.

PR-URL: #35300
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Mention null termination handling in the string size accounting and
string truncation.

PR-URL: #35322
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #35311
Reviewed-By: Jan Krems <jan.krems@gmail.com>
PR-URL: #35324
Refs: https://github.com/c-ares/c-ares/releases/tag/cares-1_16_1
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
`AddLinkedBinding()` can be used to load old-style Node.js addons, but
currently not N-API addons. There’s no good reason not to support
N-API addons as well, so add that.

PR-URL: #35301
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Zeyu Yang <himself65@outlook.com>
Pass SA_SIGINFO to sa_flags so the TrapWebAssemblyOrContinue is treated
as sa_sigaction, not sa_handler, otherwise siginfo_t* info contains
some garbage

PR-URL: #35282
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Prior to this change, none of the child_process tests checked the
signalCode property for a value other than null. Add a check to an
existing test.

PR-URL: #35327
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Node.js version 14.12.0 released the N-API version 7, but it's not
present on the N-API version matrix. This change  should fix the problem
in the documentation.

PR-URL: #35319
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Adds an extra step with instructions for exporting a gpg key to be
uploaded to the key server.

PR-URL: #35298
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Notable changes:

- The UV_UDP_MMSG_FREE flag has been added.
- UV__EPROTO has been remapped from 4046 to -4046 for
  consistency with other error codes.
- On Windows, UTF-16 surrogate pairs are no longer
  replaced with the Unicode replacement character.
- uv_timer_get_due_in() has been added.

PR-URL: #35333
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
PR-URL: #34921
Reviewed-By: Harshitha K P <harshitha014@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
guybedford and others added 3 commits September 29, 2020 11:54
PR-URL: #35370
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Backport-PR-URL: #35318
PR-URL: #35219
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Headers have ids automatically assigned. Removed ad hoc ids using anchor
tags that aren't links.

Backport-PR-URL: #35334
PR-URL: #35161
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@MylesBorins MylesBorins requested review from a team as code owners September 29, 2020 16:20
@nodejs-github-bot nodejs-github-bot added cares Issues and PRs related to the c-ares dependency or the cares_wrap binding. libuv Issues and PRs related to the libuv dependency or the uv binding. meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory. v14.x labels Sep 29, 2020
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/community-committee
  • @nodejs/net
  • @nodejs/tsc

Notable changes:

deps:
  * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) #35333
module:
  * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) #35249
  * (SEMVER-MINOR) exports pattern support (Guy Bedford) #34718
src:
  * (SEMVER-MINOR) allow N-API addon in `AddLinkedBinding()` (Anna Henningsen) #35301

PR-URL: #35419
@mcollina
Copy link
Member

Is this the last release before LTS or there will another?

@richardlau
Copy link
Member

Is this the last release before LTS or there will another?

This release was unscheduled to get some modules changes landed to give them some baking time before being backported to 12. We've one more scheduled 14.x release for next week (nodejs/Release#567) before LTS.

@MylesBorins MylesBorins merged commit c048607 into v14.x Sep 29, 2020
MylesBorins added a commit that referenced this pull request Sep 29, 2020
MylesBorins added a commit that referenced this pull request Sep 29, 2020
Notable changes:

deps:
  * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) #35333
module:
  * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) #35249
  * (SEMVER-MINOR) exports pattern support (Guy Bedford) #34718
src:
  * (SEMVER-MINOR) allow N-API addon in `AddLinkedBinding()` (Anna Henningsen) #35301

PR-URL: #35419
MylesBorins added a commit to nodejs/nodejs.org that referenced this pull request Sep 29, 2020
@MylesBorins MylesBorins deleted the v14.13.0-proposal branch September 29, 2020 19:54
@danielleadams danielleadams mentioned this pull request Oct 6, 2020
joesepi pushed a commit to joesepi/node that referenced this pull request Jan 8, 2021
Notable changes:

deps:
  * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) nodejs#35333
module:
  * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) nodejs#35249
  * (SEMVER-MINOR) exports pattern support (Guy Bedford) nodejs#34718
src:
  * (SEMVER-MINOR) allow N-API addon in `AddLinkedBinding()` (Anna Henningsen) nodejs#35301

PR-URL: nodejs#35419
@targos targos added release Issues and PRs related to Node.js releases. and removed cares Issues and PRs related to the c-ares dependency or the cares_wrap binding. libuv Issues and PRs related to the libuv dependency or the uv binding. 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