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

v17.6.0 release proposal #42072

Merged
merged 106 commits into from Feb 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
0a6f0b4
deps: upgrade npm to 8.5.0
npm-robot Feb 11, 2022
3243701
readline: bind keystroke `ctrl`+`6` to redo
rayw000 Feb 7, 2022
182e6b9
build: improve consistency between workflows
Mesteery Feb 7, 2022
76f0f1c
test: move test-crypto-engine to addon
mhdawson Feb 2, 2022
0fff4d2
crypto: do not advertise unsupported algorithms
mscdex Feb 5, 2022
5796c3a
process: deprecate multipleResolves
benjamingr Feb 8, 2022
2b1dabf
build: revert fast-track changes
panva Feb 8, 2022
291fe63
doc: fix webstream close reject state state doc
benjamingr Feb 5, 2022
f30b5e3
tools: fix typo in prefer-primordials.js
eltociear Feb 8, 2022
ba5cb89
doc: remove unneeded ellipsis in header
Trott Feb 8, 2022
fa3a913
lib: add internal genericNodeError() function
Trott Feb 9, 2022
0de611f
doc: add joesepi to collaborators
joesepi Feb 9, 2022
c766159
repl: #41690 REPL gives wrong autocomplete on literals
meixg Feb 10, 2022
ba639d0
esm: support https remotely and http locally under flag
bmeck Nov 30, 2020
fc9d4e9
doc: edit process.config deprecation text
Trott Feb 10, 2022
aa684a7
doc: replace text with paths in toggle SVGs
mscdex Feb 10, 2022
c41e402
cluster: respect listen backlog set by workers
eladnava Jan 21, 2022
dc14bd8
test: remove lint rule for setTimeout() arguments
Trott Feb 11, 2022
b968d89
build: remove broken x32 arch support
bnoordhuis Feb 11, 2022
6076291
src: don't print interface if sin6_scope_id is 0
santigimeno Feb 11, 2022
364ec5b
src: fix query/fragment serialization in URL::SerializeURL
addaleax Jan 29, 2022
0330e2d
src: reserve string allocation space early in URL::SerializeURL
addaleax Jan 29, 2022
d91a956
src: use const reference instead of pointer in URL::SerializeURL
addaleax Jan 29, 2022
07463b3
stream: use standard for loop instead of for..of
VoltrexKeyva Feb 6, 2022
5195479
stream: refactor to use more validators
VoltrexKeyva Feb 6, 2022
3e38506
stream: avoid usage of deprecated APIs
VoltrexKeyva Feb 6, 2022
1eac0a1
debugger: remove duplicate setPauseOnException call
bavulapati Feb 11, 2022
6a7b016
doc: improve scrollbar appearance in dark mode
Aaron00101010 Feb 11, 2022
83b913c
test: improve code coverage for streams/duplexify
ErickWendel Feb 11, 2022
528c585
fs: refactor to use ES2020 syntax
xtx1130 Feb 11, 2022
77462b6
stream: revert `map` spec compliance
benjamingr Feb 11, 2022
e2a74d2
src: remove separate definitions for static constexpr members
addaleax Feb 11, 2022
3a12134
lib: move kEnumerableProperty to internal/util
Mesteery Feb 11, 2022
24b0a56
child_process: kHideConsoleWindows for spawnSync
rzhao271 Feb 11, 2022
b0e8ccb
doc: clarify `tls.Server` `'connection'` event documentation
prettydiff Feb 12, 2022
66c9565
esm: fix typo in `fetch_module`
scovetta Feb 12, 2022
dca2692
doc: emphasize security warning in vm module doc
Trott Feb 12, 2022
43a5161
doc: fix wrong indent in stream documentation
meixg Feb 12, 2022
b4db004
fs: fix writev empty array error behavior
benjamingr Feb 12, 2022
cb9dba0
doc: fix typo in readableStream.locked description
tniessen Feb 13, 2022
f80cae8
src: merge ToJsSet into ToV8Value
addaleax Feb 13, 2022
b1505a1
tls: avoid throw in onerror for bad TLSSocket obj
sigv Feb 14, 2022
8748b1e
doc: add missing `buffer` in the `stream/consumers` import example
Mesteery Feb 14, 2022
6068291
crypto: expose Web Crypto API on the global scope
aduh95 Feb 14, 2022
f5d7339
stream: add more filter tests
benjamingr Feb 11, 2022
b8cbb83
stream: add more forEach tests
benjamingr Feb 11, 2022
be5143b
fs: fix cb/sync writev empty array behavior
benjamingr Feb 11, 2022
520dcbc
test: fix intl tests on small-icu builds
aduh95 Feb 14, 2022
f4cb726
build,tools: change the quotes in YAML
Mesteery Jan 29, 2022
cd04ed1
build: extend yamllint configuration
Mesteery Jan 29, 2022
3d99811
meta: update AUTHORS and .mailmap
Trott Feb 14, 2022
06117c0
tools: update lint-md-dependencies to rollup@2.67.2
nodejs-github-bot Feb 12, 2022
4e2e2cb
build: move tool updates workflow runtime a day later
Trott Feb 15, 2022
d34ee45
doc: fix bug in `readable.unshift` code example
meixg Feb 15, 2022
1e8e8bc
build: use zoslib_include_dir provided by node-gyp
alexcfyung Feb 15, 2022
6b88595
doc: deprecate notice for process methods
yashLadha Jan 26, 2022
214d176
fs: support copy of relative links with cp and cpSync
marcosbc Feb 15, 2022
ab73bde
test: fix typographical error
Trott Feb 15, 2022
35832fe
tools: update ESLint to 8.9.0
lpinca Feb 14, 2022
90d90e3
doc: add marsonya to collaborators
marsonya Feb 15, 2022
f8e302c
test: fix names of tests marked flaky on IBM i
richardlau Feb 15, 2022
6195de5
doc: fix deprecation number
aduh95 Feb 15, 2022
06f225c
doc: capitalize valgrind
T-O-R-U-S Feb 15, 2022
09c1748
deps: update undici to 3e267ece5f
targos Feb 16, 2022
2e905a6
tools: update remark-preset-lint-node to 3.3.1
Trott Feb 16, 2022
f9bfdc3
lib: restrict usage of fetch related globals in core internals
aduh95 Feb 13, 2022
c7d590c
doc: remove extra <td>
rayw000 Feb 16, 2022
1315f1e
build: prevent concurrent CI and CQ workflow runs
targos Feb 16, 2022
68ec8d5
lib: stop installing fetch if no_browser_globals is true
RaisinTen Feb 16, 2022
0660ba3
events: set default handler value
benjamingr Feb 16, 2022
ae36276
lib: allow respondWithNewView on byob auto allocated streams
sbquinlan Feb 16, 2022
c3b0e72
lib: stop installing webcrypto if `no_browser_globals` is `true`
Mesteery Feb 17, 2022
9825ced
test: run webmessaging/broadcastchannel WPT
bnoordhuis Feb 17, 2022
2e252b3
doc: adjust a/an word usage
derekwolpert Feb 17, 2022
f51b55d
meta: use plain emojis instead of escape sequences
Mesteery Feb 17, 2022
67f1ebf
debugger: add debugger alias for exec(expr)
meixg Feb 17, 2022
69d7736
build: add action to close stale feature requests
mhdawson Feb 15, 2022
d3e6ad1
build: allow manual run of feature request action
mhdawson Feb 17, 2022
782506c
build: increase operations and test tag
mhdawson Feb 17, 2022
43c12f4
src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once
RaisinTen Feb 17, 2022
946ac96
crypto: rename X509_NAME_FLAGS
tniessen Feb 17, 2022
84b1e4f
crypto: check result of BIO_new in X509ToObject
tniessen Feb 17, 2022
afeed46
tools: reduce list of globals in ESLint config
Trott Feb 18, 2022
bcf53a8
test: improve vm test coverage
kuriyosh Feb 18, 2022
cfafb45
tools,lib: remove `global` and `Intl` from the list of globals
aduh95 Feb 18, 2022
47bb7dd
tools: add timers functions to the list of restricted globals
aduh95 Feb 18, 2022
ba35b6c
worker: fix typo in debug statement
aduh95 Feb 18, 2022
60bbacd
doc: use openpgp.org for keyserver examples
nschonni Feb 18, 2022
c673953
build: cancel running CI jobs when a PR is updated
targos Feb 18, 2022
fe66d2b
test: check that fetch globals are disabled by default
targos Feb 18, 2022
ec0d623
lib: add FormData global when fetch is enabled
targos Feb 18, 2022
e895e64
tools: fix bugs in prefer-primordials linter rule
aduh95 Feb 18, 2022
a95f7a0
esm: remove erroneous `context.parentURL` property passed to `load` hook
JakobJingleheimer Feb 18, 2022
d1ef43f
deps: upgrade npm to 8.5.1
npm-robot Feb 19, 2022
d900891
test: remove test-stdout-close-catch flaky designation
Trott Feb 19, 2022
c0f4289
esm: improve `fetch_module` test coverage and remove hack
aduh95 Feb 19, 2022
1b4ee6c
tools: lint deprecation codes
aduh95 Feb 19, 2022
5a807c5
fs: fix default `length` parameter for `fs.read`
wbt Feb 19, 2022
896ccc1
tools: add `console` to the list of restricted globals
aduh95 Feb 19, 2022
1e698e6
meta: update AUTHORS
nodejs-github-bot Feb 20, 2022
9c618ad
doc: make minor fixes to contributing guides
T-O-R-U-S Feb 14, 2022
fea682c
doc: fix typo in http2 endAfterHeaders description
arobert93 Feb 20, 2022
6742625
tools: enable es2022 env in ESLint config
targos Feb 20, 2022
391f4e5
perf_hooks: use arrays to store EntryBuffers
meixg Feb 20, 2022
2cdbf03
tools: update lint-md-dependencies to rollup@2.67.3
nodejs-github-bot Feb 21, 2022
972dd0a
2022-02-22, Version 17.6.0 (Current)
bengl Feb 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 7 additions & 22 deletions .eslintrc.js
Expand Up @@ -35,6 +35,9 @@ Module._findPath = (request, paths, isMain) => {

module.exports = {
root: true,
env: {
es2022: true,
},
extends: ['eslint:recommended', 'plugin:jsdoc/recommended'],
plugins: ['jsdoc', 'markdown', 'node-core'],
parser: '@babel/eslint-parser',
Expand Down Expand Up @@ -314,29 +317,11 @@ module.exports = {
'node-core/no-duplicate-requires': 'error',
},
globals: {
AbortController: 'readable',
AbortSignal: 'readable',
Atomics: 'readable',
BigInt: 'readable',
BigInt64Array: 'readable',
BigUint64Array: 'readable',
DOMException: 'readable',
Event: 'readable',
EventTarget: 'readable',
MessageChannel: 'readable',
MessageEvent: 'readable',
MessagePort: 'readable',
TextEncoder: 'readable',
TextDecoder: 'readable',
queueMicrotask: 'readable',
globalThis: 'readable',
btoa: 'readable',
atob: 'readable',
performance: 'readable',
structuredClone: 'readable',
Crypto: 'readable',
CryptoKey: 'readable',
fetch: 'readable',
Headers: 'readable',
Request: 'readable',
FormData: 'readable',
Response: 'readable',
SubtleCrypto: 'readable',
},
};
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/1-bug-report.yml
@@ -1,4 +1,4 @@
name: "\U0001F41B Bug report"
name: 🐛 Bug report
description: Create a report to help us improve
body:
- type: markdown
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
@@ -1,6 +1,6 @@
name: "\U0001F680 Feature request"
name: 🚀 Feature request
description: Suggest an idea for this project
labels: ["feature request"]
labels: [feature request]
body:
- type: markdown
attributes:
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/3-api-ref-docs-problem.yml
@@ -1,6 +1,6 @@
name: "\U0001F4D7 Open an issue regarding the Node.js API reference docs"
name: 📗 Open an issue regarding the Node.js API reference docs
description: Let us know about any problematic API reference documents
labels: ["doc"]
labels: [doc]
body:
- type: markdown
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/4-report-a-flaky-test.yml
@@ -1,6 +1,6 @@
name: Report a flaky test
description: Report a flaky test in our CI
labels: ["flaky-test"]
labels: [flaky-test]
body:
- type: markdown
attributes:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/authors.yml
@@ -1,8 +1,8 @@
name: "authors update"
name: Authors update
on:
schedule:
# Run once a week at 00:05 AM UTC on Sunday.
- cron: '5 0 * * 0'
- cron: 5 0 * * 0

workflow_dispatch:

Expand All @@ -15,7 +15,7 @@ jobs:
with:
fetch-depth: '0' # This is required to actually get all the authors
persist-credentials: false
- run: "tools/update-authors.js" # Run the AUTHORS tool
- run: tools/update-authors.js # Run the AUTHORS tool
- uses: gr2m/create-or-update-pull-request-action@v1 # Create a PR or update the Action's existing PR
env:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
Expand All @@ -25,7 +25,7 @@ jobs:
Here are some new additions to the AUTHORS file.
This is an automatically generated PR by the
`authors.yml` GitHub Action, which runs `tools/update-authors.js`.
branch: "actions/authors-update" # Custom branch *just* for this Action.
commit-message: "meta: update AUTHORS"
branch: actions/authors-update # Custom branch *just* for this Action.
commit-message: 'meta: update AUTHORS'
labels: meta
title: "meta: update AUTHORS"
title: 'meta: update AUTHORS'
16 changes: 9 additions & 7 deletions .github/workflows/auto-start-ci.yml
Expand Up @@ -6,13 +6,15 @@ on:
# optimistic, it can take longer to run.
# To understand why `schedule` is used instead of other events, refer to
# ./doc/contributing/commit-queue.md
- cron: "*/5 * * * *"
- cron: '*/5 * * * *'

concurrency: ${{ github.workflow }}

env:
NODE_VERSION: lts/*

jobs:
get_prs_for_ci:
get-prs-for-ci:
if: github.repository == 'nodejs/node'
runs-on: ubuntu-latest
outputs:
Expand All @@ -29,20 +31,20 @@ jobs:
--limit 100
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
startCI:
needs: get_prs_for_ci
if: needs.get_prs_for_ci.outputs.numbers != ''
start-ci:
needs: get-prs-for-ci
if: needs.get-prs-for-ci.outputs.numbers != ''
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false

# Install dependencies
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install node-core-utils
run: npm install -g node-core-utils

Expand All @@ -55,6 +57,6 @@ jobs:
ncu-config set repo "$(echo ${{ github.repository }} | cut -d/ -f2)"

- name: Start the CI
run: ./tools/actions/start-ci.sh ${{ needs.get_prs_for_ci.outputs.numbers }}
run: ./tools/actions/start-ci.sh ${{ needs.get-prs-for-ci.outputs.numbers }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21 changes: 11 additions & 10 deletions .github/workflows/build-tarball.yml
Expand Up @@ -4,10 +4,10 @@ on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '.mailmap'
- .mailmap
- '**.md'
- 'AUTHORS'
- 'doc/**'
- AUTHORS
- doc/**
- .github/**
- '!.github/workflows/build-tarball.yml'
push:
Expand All @@ -17,21 +17,24 @@ on:
- v[0-9]+.x-staging
- v[0-9]+.x
paths-ignore:
- '.mailmap'
- .mailmap
- '**.md'
- 'AUTHORS'
- 'doc/**'
- AUTHORS
- doc/**
- .github/**
- '!.github/workflows/build-tarball.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
PYTHON_VERSION: '3.10'
FLAKY_TESTS: dontcare

jobs:
build-tarball:
if: github.event.pull_request.draft == false
env:
PYTHON_VERSION: '3.10'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -57,8 +60,6 @@ jobs:
name: tarballs
path: tarballs
test-tarball-linux:
env:
PYTHON_VERSION: '3.10'
needs: build-tarball
runs-on: ubuntu-latest
steps:
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/build-windows.yml
@@ -1,9 +1,9 @@
name: build-windows
name: Build Windows

on:
pull_request:
paths-ignore:
- "README.md"
- README.md
- .github/**
- '!.github/workflows/build-windows.yml'
types: [opened, synchronize, reopened, ready_for_review]
Expand All @@ -15,10 +15,14 @@ on:
- v[0-9]+.x-staging
- v[0-9]+.x
paths-ignore:
- "README.md"
- README.md
- .github/**
- '!.github/workflows/build-windows.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
PYTHON_VERSION: '3.10'
FLAKY_TESTS: dontcare
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/close-stale-feature-requests.yml
@@ -0,0 +1,48 @@
name: Close stale feature requests
on:
workflow_dispatch:
schedule:
# Run every day at 1:00 AM UTC.
- cron: 0 1 * * *

# yamllint disable rule:empty-lines
env:
CLOSE_MESSAGE: >
There has been no activity on this feature request
and it is being closed. If you feel closing this issue is not the
right thing to do, please leave a comment.


For more information on how the project manages
feature requests, please consult the
[feature request management document](https://github.com/nodejs/node/blob/HEAD/doc/guides/feature-request-management.md).

WARN_MESSAGE: >
There has been no activity on this feature request for
5 months and it is unlikely to be implemented.
It will be closed 6 months after the last non-automated comment.


For more information on how the project manages
feature requests, please consult the
[feature request management document](https://github.com/nodejs/node/blob/HEAD/doc/guides/feature-request-management.md).
# yamllint enable

jobs:
stale:
if: github.repository == 'nodejs/node'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 150
days-before-close: 30
stale-issue-label: stalled
close-issue-message: ${{ env.CLOSE_MESSAGE }}
stale-issue-message: ${{ env.WARN_MESSAGE }}
only-labels: feature request,test-action
exempt-pr-labels: never-stale
# max requests it will send per run to the GitHub API before it deliberately exits to avoid hitting API rate limits
operations-per-run: 30
remove-stale-when-updated: true
2 changes: 1 addition & 1 deletion .github/workflows/close-stalled.yml
@@ -1,7 +1,7 @@
name: Close stalled issues and PRs
on:
schedule:
- cron: "0 0 * * *"
- cron: 0 0 * * *

env:
CLOSE_MESSAGE: >
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/comment-labeled.yml
@@ -1,4 +1,4 @@
name: Comment on issues and PRs when labelled
name: Comment on issues and PRs when labeled
on:
issues:
types: [labeled]
Expand All @@ -12,7 +12,7 @@ env:
FAST_TRACK_MESSAGE: Fast-track has been requested by @${{ github.actor }}. Please 👍 to approve.

jobs:
staleComment:
stale-comment:
if: github.repository == 'nodejs/node' && github.event.label.name == 'stalled'
runs-on: ubuntu-latest
steps:
Expand All @@ -22,7 +22,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh issue comment "$NUMBER" --repo ${{ github.repository }} --body "$STALE_MESSAGE"

fastTrack:
fast-track:
if: github.repository == 'nodejs/node' && github.event_name == 'pull_request_target' && github.event.label.name == 'fast-track'
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/commit-lint.yml
@@ -1,4 +1,4 @@
name: "First commit message adheres to guidelines at https://goo.gl/p2fr5Q"
name: First commit message adheres to guidelines at https://goo.gl/p2fr5Q

on: [pull_request]

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/commit-queue.yml
Expand Up @@ -11,7 +11,9 @@ on:
# be read-only, and the Action won't have access to any other repository
# secrets, which it needs to access Jenkins API.
schedule:
- cron: "*/5 * * * *"
- cron: '*/5 * * * *'

concurrency: ${{ github.workflow }}

env:
NODE_VERSION: lts/*
Expand Down
22 changes: 12 additions & 10 deletions .github/workflows/coverage-linux.yml
@@ -1,27 +1,29 @@
name: coverage-linux
name: Coverage Linux

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '**.md'
- 'benchmark/**'
- 'deps/**'
- 'doc/**'
- benchmark/**
- deps/*
- doc/**
- .github/**
- '!.github/workflows/coverage-linux.yml'
push:
branches:
- master
- main
branches: [master, main]
paths-ignore:
- '**.md'
- 'benchmark/**'
- 'deps/**'
- 'doc/**'
- benchmark/**
- deps/**
- doc/**
- .github/**
- '!.github/workflows/coverage-linux.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
PYTHON_VERSION: '3.10'
FLAKY_TESTS: dontcare
Expand Down