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.10.0 proposal #35023

Merged
merged 97 commits into from
Sep 8, 2020
Merged

v14.10.0 proposal #35023

merged 97 commits into from
Sep 8, 2020

Conversation

richardlau
Copy link
Member

@richardlau richardlau commented Sep 2, 2020

2020-09-08, Version 14.10.0 (Current), @richardlau

Notable Changes

  • [2ab33c58ae] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
  • [44d89a9faa] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
  • [8aac42caf2] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
  • [4bb40078da] - (SEMVER-MINOR) stream: simpler and faster Readable async iterator (Robert Nagy) #34035
  • [ffae5f3809] - (SEMVER-MINOR) stream: save error in state (Robert Nagy) #34103

Commits

  • [1fdfaa578f] - bootstrap: correct --frozen-intrinsics override fix (Guy Bedford) #35041
  • [2ab33c58ae] - (SEMVER-MINOR) buffer: also alias BigUInt methods (Anna Henningsen) #34960
  • [1be6956ee0] - build: require "allow edits" to be checked (Jordan Harband) #35002
  • [7b7299012e] - build: comment about auto close when stalled via with github action (Phillip Johnsen) #34555
  • [d6c796b4ab] - build: close stalled issues and PRs with github action (Phillip Johnsen) #34555
  • [46766a10df] - build: use autorebase option for git node land (Denys Otrishko) #34969
  • [7afb67f491] - build: use latest node-core-utils from npm (Denys Otrishko) #34969
  • [d06e158253] - build: add support for build on arm64 (Evan Lucas) #34238
  • [755f9e4bc8] - build,deps: add gen-openssl target (Evan Lucas) #34642
  • [178a740caf] - crypto: simplify KeyObject constructor (Rich Trott) #35064
  • [a12d92c97b] - crypto: fix randomInt range check (Tobias Nießen) #35052
  • [6d0d5b2ec2] - crypto: align parameter names with documentation (Rich Trott) #35054
  • [44d89a9faa] - (SEMVER-MINOR) crypto: add randomInt function (Oli Lalonde) #34600
  • [791a85b880] - deps: V8: cherry-pick 6be2f6e26e8d (Benjamin Coe) #35055
  • [96ae05a770] - deps: V8: backport 3f071e3e7e15 (Milad Farazmand) #35036
  • [90f9348297] - deps: update brotli to v1.0.9 (Anna Henningsen) #34937
  • [f1fcd6646d] - deps: add openssl support for arm64 (Evan Lucas) #34238
  • [bbf7b925a2] - doc: use present tense in events.md (Rich Trott) #35068
  • [f6b2286e12] - doc: change stablility-2 color for accessibility (Rich Trott) #35061
  • [8044533e87] - doc: add link to safe integer definition (Tobias Nießen) #35049
  • [f03a4d78a2] - doc: format exponents better (Tobias Nießen) #35050
  • [1a9ca52716] - doc: add ESM examples in module API doc page (Antoine du HAMEL) #34875
  • [0ac7d5423f] - doc: add deprecated badge to legacy URL methods (Antoine du HAMEL) #34931
  • [a08e853edc] - doc: spruce up user journey to local docs browsing (Derek Lewis) #34986
  • [83a3e3b681] - doc: update syntax highlighting color for accessibility (Rich Trott) #35063
  • [5bd0e0803d] - doc: fix incorrect URL in cli.md (Rich Trott) #35043
  • [28e89f6766] - doc: remove style for empty links (Antoine du HAMEL) #35034
  • [cdc1198a62] - doc: fix certificate display in tls doc (Rich Trott) #35032
  • [72d03cd802] - doc: remove duplicate error code entry (Rich Trott) #35031
  • [680782ea64] - doc: use consistent header typography (Rich Trott) #35030
  • [1ae674c67a] - doc: fix malformed hashes in assert.md (Rich Trott) #35028
  • [c3a3cb69aa] - doc: fix a typo of microtaskMode (Shigma) #34980
  • [a846a9f116] - doc: change 'be will' to 'will be' (Victory Osikwemhe) #34999
  • [593236ad33] - doc: change color contrast for accessibility (Rich Trott) #35047
  • [8c207c67d1] - doc: refactor deprecation anchors (Antoine du HAMEL) #34955
  • [cc0aaf2384] - doc: error code fix in resolver spec (Guy Bedford) #34998
  • [a4201843e7] - doc: use period consistently in man page (Rich Trott) #34939
  • [f1217d6d8b] - doc: revise commit-queue.md (Rich Trott) #35006
  • [9aba579acb] - doc: change effected to affected (Turner Jabbour) #34989
  • [2598527112] - doc: drop the --production flag for installing windows-build-tools (DeeDeeG) #34979
  • [287ce7b810] - doc: fix broken link to response.writableFinished in deprecations doc (Rich Trott) #34983
  • [a0656ff863] - doc: fix broken link to response.finished in deprecations doc (Rich Trott) #34982
  • [f4524b8936] - doc: fix broken link to writableEnded in deprecations doc (Rich Trott) #34984
  • [514a538f64] - doc: fix typos in buffer doc (Robert Williams) #34981
  • [df76c89b78] - doc: recommend URL() over url.parse() in http2 doc (Rich Trott) #34978
  • [ca0302e4f1] - doc: arrange perf_hooks entries alphabetically (Rich Trott) #34973
  • [94c6e09367] - doc: replace require() with reference links in http2.md (Rich Trott) #34956
  • [2407a7a671] - doc: add a note about possible missing lines to readline.asyncIterator (Igor Mikhalev) #34675
  • [31098a4c0e] - doc: make minor improvements to query string sentence in http2.md (Rich Trott) #34929
  • [1589f0e6f4] - doc: make general copy-edit changes to policy.md (Rich Trott) #34943
  • [aee3b8510b] - doc: simplify "make use of" to "use" (Rich Trott) #34861
  • [0e09ff8ab1] - doc: make minor fixes to maintaining-openssl.md (Rich Trott) #34926
  • [b091681d25] - doc: fix CHANGELOG.md parsing issue (Juan José Arboleda) #34923
  • [fbd18be459] - doc: provide more guidance about process.version (Rich Trott) #34909
  • [4782ec7b3b] - doc: use consistent typography for node-addon-api (Rich Trott) #34910
  • [2fe95094fd] - doc: improve link-local text in dgram.md (Rich Trott) #34868
  • [657292e2dd] - doc: fix broken markdown/display in cli.html (Rich Trott) #34892
  • [4cf93bb3cf] - doc: use "previous"/"preceding" instead of "above" as modifier (Rich Trott) #34877
  • [29b048b06b] - doc: use links to MS guide in style guide (Rich Trott) #34871
  • [52be37cf39] - doc,tools: remove malfunctioning Linux manpage linker (Rich Trott) #34985
  • [fffba3a270] - errors: use ErrorPrototypeToString from primordials object (ExE Boss) #34891
  • [db8c66b8c2] - esm: shorten ERR_UNSUPPORTED_ESM_URL_SCHEME message (Rich Trott) #34836
  • [be71e717c5] - meta: enable wasi for CODEOWNERS (gengjiawen) #34889
  • [a43b7ff72e] - meta: remove non-existent quic from CODEOWNERS (Richard Lau) #34947
  • [3c32fe09e9] - n-api: re-implement async env cleanup hooks (Gabriel Schulhof) #34819
  • [fcb211f38a] - net: replace usage of internal stream state with public api (Denys Otrishko) #34885
  • [8aac42caf2] - (SEMVER-MINOR) perf_hooks: add idleTime and event loop util (Trevor Norris) #34938
  • [18b04ab4c8] - policy: implement scopes field (Bradley Farias) #34552
  • [1bf5d1a39b] - querystring: manage percent character at unescape (Daijiro Wachi) #35013
  • [f21d78d537] - src: shutdown libuv before exit() (Anna Henningsen) #35021
  • [789798bedf] - src: add get/set pair for env context awareness (Shelley Vohr) #35024
  • [73ef3f2f05] - src: disallow JS execution during exit() (Anna Henningsen) #35020
  • [f6a5999a9d] - src,doc: fix wording to refer to context, not environment (Turner Jabbour) #34880
  • [bcc1d431f8] - src,doc: fix grammar due to missing 'is' (Turner Jabbour) #34897
  • [044297ff10] - src,doc: rephrase for clarity (Turner Jabbour) #34879
  • [4bb40078da] - (SEMVER-MINOR) stream: simpler and faster Readable async iterator (Robert Nagy) #34035
  • [ffae5f3809] - (SEMVER-MINOR) stream: save error in state (Robert Nagy) #34103
  • [5f24cea11a] - stream: fix Readable stream state properties (Denys Otrishko) #34886
  • [f537c868b9] - stream: allow using .push()/.unshift() during once('data') (Anna Henningsen) #34957
  • [4d533858cf] - test: make .out checks embedder-friendly (Shelley Vohr) #35040
  • [a756b92c4a] - test: use mustCall() in test-http-timeout (Pooja D.P) #34996
  • [9011c87c1c] - test: change var to let (Pooja D.P) #34902
  • [b698d2ec81] - test: remove incorrect debug() in test-policy-integrity (Rich Trott) #34961
  • [ee6a583b9f] - test: fix typo in test/parallel/test-icu-punycode.js (Daijiro Wachi) #34934
  • [9057a1644d] - test: add readline test for escape sequence (Rich Trott) #34952
  • [75d16125e1] - test: make test-tls-reuse-host-from-socket pass without internet (Rich Trott) #34953
  • [971b7ac087] - test: simplify test-vm-memleak (Rich Trott) #34881
  • [577978a96c] - tools: fix docopen target (Antoine du HAMEL) #35062
  • [2b445bb3ee] - tools: fix doc build targets (Antoine du HAMEL) #35060
  • [3d41ff25b7] - tools: add banner to lint-md.js by rollup.config.js (KuthorX) #34233
  • [62cc3b8249] - tools: update ESLint to 7.8.1 (cjihrig) #35004
  • [c47d319ac6] - tools: update ESLint to 7.8.0 (cjihrig) #35004
  • [b6f3ae8ffc] - tools,doc: allow page titles to contain inline code (Antoine du HAMEL) #35003
  • [fb2111e300] - tools,doc: fix global table of content active element (Antoine du Hamel) #34976
  • [7ad629e4e4] - tools,doc: remove "toc" anchor name (Rich Trott) #34893
  • [94528f510e] - zlib: replace usage of internal stream state with public api (Denys Otrishko) #34884

cc @nodejs/release

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

richardlau and others added 30 commits August 31, 2020 16:09
quic support doesn't exist prior to Node.js 15 and is unlikely to
due to requiring patches on top of openssl. Remove the entries
from CODEOWNERS to fix the CODEOWNERS linting, which currently fails
as it refers to non-existent paths.

PR-URL: #34947
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Shelley Vohr <[email protected]>
Reviewed-By: Mary Marchini <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Avoid repeating too much from the Microsoft guide by providing links to
it.

PR-URL: #34871
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #34881
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Refs: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/above

PR-URL: #34877
Reviewed-By: Jan Krems <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Anto Aravinth <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
This adds a new make target to generate platform dependent
files for openssl on non-linux machines. The scripts we currently
have in place require linux. This adds a Dockerfile that installs
the necessary dependencies to be able to generate these files.

Previously, it was necessary to run `make -C deps/openssl/config`
on a linux machine. Now, as long as docker is installed and in
your `PATH`, it is possible to run `make gen-openssl`.

PR-URL: #34642
Reviewed-By: James M Snell <[email protected]>
This adds the required files for supporting openssl
on arm64.

This uses the same configuration that can be found in
openssl/openssl#12369 to generate the required
files.

PR-URL: #34238
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ash Cripps <[email protected]>
Ref: nodejs/TSC#886
Ref: #34043

PR-URL: #34238
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ash Cripps <[email protected]>
PR-URL: #34889
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Shelley Vohr <[email protected]>
Reviewed-By: Mary Marchini <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
PR-URL: #34891
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
The `<` character is interpreted as the start of an HTML tag, making the
word `address` not render and the rest of the document rendered with a
grey background and in italics. Use `&lt;` instead.

PR-URL: #34892
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Minor improvements.

PR-URL: #34868
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
The _name_ attribute is obsolete. Changing it to _id_ in the case of
"toc" would result in a conflict with an existing id. However, there are
no links to "#toc" in our docs. And if there were, it would be more
appropriate to link to the id toc which is the toc for the individual
documents. So remove the anchor name entirely.

PR-URL: #34893
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #34879
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #34897
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: David Carlier <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #34880
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #34552
Reviewed-By: James M Snell <[email protected]>
Most of the instances of _node-addon-api_ are surrounded with backticks,
but two aren't. Add backticks for consistency.

PR-URL: #34910
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #34909
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #34923
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
* Avoid passing core `void*` and function pointers into add-on.
* Document `napi_async_cleanup_hook_handle` type.
* Render receipt of the handle mandatory from the point where the
  hook gets called. Removal of the handle remains mandatory.

Fixes: #34715
Signed-off-by: Gabriel Schulhof <[email protected]>
Co-authored-by: Anna Henningsen <[email protected]>
PR-URL: #34819
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Zeyu Yang <[email protected]>
PR-URL: #34926
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
PR-URL: #34861
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Refs: #445

PR-URL: #34884
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Refs: #445

PR-URL: #34885
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
PR-URL: #34943
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Use uv_metrics_idle_time() to return a high resolution millisecond timer
of the amount of time the event loop has been idle since it was
initialized.

Include performance.eventLoopUtilization() API to handle the math of
calculating the idle and active times. This has been added to prevent
accidental miscalculations of the event loop utilization. Such as not
taking into consideration offsetting nodeTiming.loopStart or timing
differences when being called from a Worker thread.

PR-URL: #34938
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Adrian Estrada <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Stephen Belanger <[email protected]>
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Fixes: #33463

PR-URL: #34675
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Anto Aravinth <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Start up a TLS server on localhost rather than using example.org.

PR-URL: #34953
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Sep 7, 2020

@richardlau
Copy link
Member Author

bash-4.2$ ncu-ci citgm 2458 2459
--------------------------------------------------------------------------------
[1/1] Running CITGM: 2458
--------------------------------------------------------------------------------
✔  Summary data downloaded
✔  Results data downloaded
✔  Summary data downloaded
✔  Results data downloaded
----------------------------------- Summary ------------------------------------
Result     FAILURE
URL        https://ci.nodejs.org/job/citgm-smoker/2458/
Source     https://api.github.com/repos/nodejs/node/git/refs/heads/v14.x
Commit     [72ce09db22f5] Working on v14.9.1
Date       2020-08-27 15:38:44 +0100
Author     Bethany.Griggs <[email protected]>
----------------------------------- Summary ------------------------------------
Result     FAILURE
URL        https://ci.nodejs.org/job/citgm-smoker/2459/
Source     https://api.github.com/repos/nodejs/node/git/refs/heads/v14.10.0-proposal
Commit     [ce5f5877c250] 2020-09-08, Version 14.10.0 (Current)
Date       2020-09-07 12:37:51 -0400
Author     Richard Lau <[email protected]>
----------------------------------- Results ------------------------------------



FAILURE: 3 failures in 2459 not present in 2458


┌────────────────────────┬─────────────────────────┐
│        (index)         │            0            │
├────────────────────────┼─────────────────────────┤
│        osx1014         │       'q-v1.5.1'        │
│      rhel7-s390x       │ 'torrent-stream-v1.2.0' │
│ fedora-last-latest-x64 │ 'torrent-stream-v1.2.0' │
│     ubuntu1804-64      │                         │
│        osx1015         │                         │
│       debian9-64       │                         │
│   fedora-latest-x64    │                         │
│     centos7-ppcle      │                         │
│     ubuntu1604-64      │                         │
└────────────────────────┴─────────────────────────┘
bash-4.2$

Not shown here is that eslint-plugin-jest failed in both CITGM runs across multiple platforms. I've raised nodejs/citgm#824 -- the module has switched to using yarn 2 which is incompatible with an option CITGM passes through. In any case this looks like an issue with CITGM and the new version of that module rather than something in this release.

The torrent-stream failures are the same as seen on the CITGM run against v14.x on other platforms.

The q failure is a timeout seen on osx1014. It didn't fail on osx1015. I've started another CITGM run, https://ci.nodejs.org/job/citgm-smoker/2460/, but at the moment I'm not too concerned about this failure.

@richardlau
Copy link
Member Author

@MylesBorins
Copy link
Contributor

Were there new failures in 14.9 on Citgm? I don't recognize the browserify failures for example

@BethGriggs
Copy link
Member

@MylesBorins, just briefly dug into the Browserify failures. It seems to be occurring as far back as v14.0.0 and also on v12.x.

Refs: browserify/browserify#1977

@richardlau richardlau merged commit ce5f587 into v14.x Sep 8, 2020
richardlau added a commit that referenced this pull request Sep 8, 2020
richardlau added a commit that referenced this pull request Sep 8, 2020
Notable changes:

- buffer: also alias BigUInt methods (Anna Henningsen)
  #34960
- crypto: add randomInt function (Oli Lalonde)
  #34600
- perf_hooks: add idleTime and event loop util (Trevor Norris)
  #34938
- stream: simpler and faster Readable async iterator (Robert Nagy)
  #34035
- stream: save error in state (Robert Nagy)
  #34103

PR-URL: #35023

Conflicts:
	src/node_version.h
richardlau added a commit to richardlau/nodejs.org that referenced this pull request Sep 8, 2020
richardlau added a commit to nodejs/nodejs.org that referenced this pull request Sep 8, 2020
@richardlau richardlau deleted the v14.10.0-proposal branch September 8, 2020 16:05
joesepi pushed a commit to joesepi/node that referenced this pull request Jan 8, 2021
Notable changes:

- buffer: also alias BigUInt methods (Anna Henningsen)
  nodejs#34960
- crypto: add randomInt function (Oli Lalonde)
  nodejs#34600
- perf_hooks: add idleTime and event loop util (Trevor Norris)
  nodejs#34938
- stream: simpler and faster Readable async iterator (Robert Nagy)
  nodejs#34035
- stream: save error in state (Robert Nagy)
  nodejs#34103

PR-URL: nodejs#35023

Conflicts:
	src/node_version.h
@targos targos added release Issues and PRs related to Node.js releases. and removed brotli Issues and PRs related to the brotli dependency. build Issues and PRs related to build files or the CI. meta Issues and PRs related to the general management of the project. 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.