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
Contributor

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 <[email protected]>
Reviewed-By: Ruy Adorno <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: #35246
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
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 <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
PR-URL: #35244
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Shelley Vohr <[email protected]>
PR-URL: #35244
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Shelley Vohr <[email protected]>
+ description of `socket.readyState`

Note: YAML tag found in commit e697cfb

Co-authored-by: Michael Auderer <[email protected]>

PR-URL: #35262
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Fixing a heading rendering bug

PR-URL: #35310
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
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 <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #35276
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #35283
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
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 <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
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 <[email protected]>>
Co-authored-by: Guy Bedford <[email protected]>

PR-URL: #34748
Reviewed-By: Derek Lewis <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Ruy Adorno <[email protected]>
PR-URL: #34932
Reviewed-By: Mary Marchini <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Derek Lewis <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Fixes: #33143

PR-URL: #34970
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #34718
Reviewed-By: Jan Krems <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
* 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 <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Guy Bedford <[email protected]>
Refs: #35320 (comment)

PR-URL: #35328
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
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 <[email protected]>

PR-URL: #35296
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
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 <[email protected]>
Reviewed-By: Gabriel Schulhof <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
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 <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Gabriel Schulhof <[email protected]>
Mention null termination handling in the string size accounting and
string truncation.

PR-URL: #35322
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
PR-URL: #35324
Refs: https://github.com/c-ares/c-ares/releases/tag/cares-1_16_1
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
`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 <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Zeyu Yang <[email protected]>
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 <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
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 <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
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 <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
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 <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
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 <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
PR-URL: #34921
Reviewed-By: Harshitha K P <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
guybedford and others added 3 commits September 29, 2020 11:54
PR-URL: #35370
Reviewed-By: Derek Lewis <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Backport-PR-URL: #35318
PR-URL: #35219
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
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 <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@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
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Sep 29, 2020

@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.