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.8.0 proposal #42425

Merged
merged 70 commits into from Mar 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
62d9a7f
src: fix unchecked return warning from coverity
mhdawson Mar 1, 2022
19851f8
doc: readline `'line'` event emits final line
mattpr Mar 7, 2022
a4632a3
crypto: add CHECKs to remaining BIO_s_mem allocs
tniessen Mar 7, 2022
e95426f
tools: fix web streams API links
mscdex Mar 7, 2022
7fc4b9f
meta: add dependencies label to label-pr-config
Mesteery Mar 7, 2022
1d0468f
crypto: fix fingerprint string size calculation
tniessen Mar 7, 2022
f27bcec
build: use ccache in make-v8.sh on ppc64le and s390x
richardlau Mar 7, 2022
b89f4d5
url: trim leading and trailing C0 control chars
Trott Mar 8, 2022
3492a0e
string_decoder: fix crash when calling __proto__.write()
RaisinTen Mar 8, 2022
f3c6c00
doc: remove refs to old OpenSSL list-* commands
tniessen Mar 8, 2022
70c0758
deps: upgrade npm to 8.5.3
npm-robot Mar 3, 2022
69a3792
lib: fix AsyncResource.bind not using 'this' from the caller by default
rochdev Mar 8, 2022
2335467
doc: deprecate string coercion in `fs.write`, `fs.writeFileSync`
LiviaMedeiros Mar 8, 2022
9af9083
src: use `emplace_back` instead of `push_back`
yashLadha Mar 8, 2022
a4aa9eb
test: use global webcrypto for WPT tests
aduh95 Mar 8, 2022
58763d7
src,crypto: avoid tristate Maybe<bool> in ExportJWKEcKey()
RaisinTen Mar 8, 2022
3b55946
debugger: correct typo in inspect_repl.js
cola119 Mar 9, 2022
b60262e
deps: update undici to 4.15.1
targos Mar 7, 2022
1796f03
build: rename tools workflow and add undici to it
targos Mar 7, 2022
701dc14
doc: remove outdated timeout.unref content
meixg Mar 10, 2022
88dee3c
http2: fix potential integer overflow
mhdawson Mar 10, 2022
4829a10
esm: add runtime warning for specifier resolution flag
GeoffreyBooth Mar 10, 2022
d06e92d
src: perform minor cleanups on zlib code
addaleax Mar 10, 2022
063ff08
deps: V8: cherry-pick c6f6626deb14
luyahan Mar 10, 2022
e43aa30
src: remove redundant buffer size check
tniessen Mar 10, 2022
94e5eaa
test: add test case for reverted 17.7 regression
Trott Mar 11, 2022
fe01940
url: preserve null char in WHATWG URL errors
Trott Mar 11, 2022
9fc4b9b
src: include internal/options in the snapshot
joyeecheung Mar 3, 2022
e7b8d83
meta: update AUTHORS
nodejs-github-bot Mar 13, 2022
f2178fc
deps: cares: cherry-pick b5a3d96
bradh352 Mar 2, 2022
8b99099
doc: improve pipe description
mifi Mar 13, 2022
72dd500
doc: clarify the meaning of legacy status
RaisinTen Mar 14, 2022
eb0e1a1
tools: update eslint to 8.11.0
nodejs-github-bot Mar 14, 2022
08e2d8a
src: check return value of HMAC_Final
tniessen Mar 14, 2022
e17db8f
esm: improve typings and code coverage
bmeck Mar 11, 2022
9500e58
src: avoid returning invalid value from hex2bin
tniessen Mar 14, 2022
8b84e68
src: simplify bound check in ParseArrayIndex
tniessen Mar 14, 2022
30ea188
tools: update lint-md-dependencies to rollup@2.70.0 unified@10.1.2
nodejs-github-bot Mar 14, 2022
b7a4b4b
tools: update doc to highlight.js@11.5.0 unified@10.1.2
nodejs-github-bot Mar 14, 2022
846b074
src: check EC_POINT_get_affine_coordinates result
tniessen Mar 14, 2022
21198c1
src: fix coverity warnings in node_file.cc
mhdawson Mar 9, 2022
4941791
test: improve _http_outgoing coverage
kuriyosh Mar 14, 2022
dfdce7c
test: improve _http_incoming.js coverage
kuriyosh Mar 14, 2022
96dc591
doc: clarify path search in `child_process.spawn`
zobo Mar 14, 2022
fd7e4ab
doc: fix async iterable pipeline signal examples
tilgovi Mar 14, 2022
1fe0b69
lib: refactor to use primordials in `lib/assert.js`
marsonya Mar 15, 2022
e55283b
esm: make extension-less errors in type:module actionable
bmeck Mar 15, 2022
e7e8eb9
doc: update base branch name for `nodejs/nodejs.org`
danielleadams Mar 16, 2022
3bd0078
doc: add @ShogunPanda to collaborators
ShogunPanda Mar 16, 2022
5367002
stream: do cleanup when iterator is destroyed
KhooHaoYit Mar 16, 2022
46d3d23
doc: revise async_hooks docs
Trott Mar 17, 2022
6c265e7
doc: remove unneeded lint disable comment
Trott Mar 17, 2022
a5e42f0
doc: fix Embedder's Guide link to V8 official docs
aroyan Mar 17, 2022
b82bac0
test: improve https_renew_cert.sh script
tniessen Mar 17, 2022
229fb40
worker: do not send message if port is closing
Trott Mar 16, 2022
da42ffb
http: trace http client by perf_hooks
theanarkh Mar 18, 2022
78b858d
doc: document goal to have examples
mhdawson Mar 9, 2022
e960424
src: convert hex2bin() into a regular function
RaisinTen Mar 18, 2022
d9a5c2b
test: give slow tests more time on Rasberry PIs
mhdawson Mar 17, 2022
04a7c00
doc: update instructions for openssl updates
mhdawson Mar 15, 2022
88d3401
doc: add that chacha20-poly1305 is IETF version
tniessen Mar 19, 2022
84fd6e5
deps: upgrade npm to 8.5.5
npm-robot Mar 17, 2022
26d4a2d
test,crypto: add and update empty passphrase regression tests
RaisinTen Mar 19, 2022
db83c4d
doc: improve README.md usability
Trott Mar 19, 2022
f48c3ba
crypto: fix auth tag length error when mode != GCM
tniessen Mar 20, 2022
38e7681
tools: update lint-md-dependencies to rollup@2.70.1
nodejs-github-bot Mar 20, 2022
1c87ce6
meta: update AUTHORS
nodejs-github-bot Mar 20, 2022
4fd2aff
tools: make update-undici script executable
targos Mar 20, 2022
fd51e78
doc: fix version history for `net.Socket` and `net.Server`
aduh95 Mar 9, 2022
123661e
2022-03-22, Version 17.8.0 (Current)
bengl Mar 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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/label-pr-config.yml
Expand Up @@ -85,7 +85,7 @@ subSystemLabels:
/^deps\/nghttp2\//: http2
/^deps\/ngtcp2\//: quic, dont-land-on-v14.x, dont-land-on-v12.x
/^deps\/nghttp3\//: quic, dont-land-on-v14.x, dont-land-on-v12.x
/^deps\/([^/]+)/: $1
/^deps\/([^/]+)/: dependencies, $1

## JS subsystems
# Oddities first
Expand Down
28 changes: 23 additions & 5 deletions .github/workflows/tools.yml
@@ -1,4 +1,4 @@
name: Tools update
name: Tools and deps update
on:
schedule:
# Run once a week at 00:05 AM UTC on Sunday.
Expand All @@ -7,14 +7,16 @@ on:
workflow_dispatch:

jobs:
tools-update:
tools-deps-update:
if: github.repository == 'nodejs/node'
runs-on: ubuntu-latest
strategy:
fail-fast: false # Prevent other jobs from aborting if one fails
matrix:
include:
- id: eslint
subsystem: tools
label: tools
run: |
cd tools
NEW_VERSION=$(npm view eslint dist-tags.latest)
Expand All @@ -24,10 +26,14 @@ jobs:
./update-eslint.sh
fi
- id: corepack
subsystem: deps
label: dependencies
run: |
make corepack-update
echo "NEW_VERSION=$(node deps/corepack/dist/corepack.js --version)" >> $GITHUB_ENV
- id: lint-md-dependencies
subsystem: tools
label: tools
run: |
cd tools/lint-md
npm ci
Expand All @@ -44,6 +50,8 @@ jobs:
make lint-md-rollup
fi
- id: doc
subsystem: tools
label: tools
run: |
cd tools/doc
npm ci
Expand All @@ -57,6 +65,16 @@ jobs:
npm install --ignore-scripts $NEW_VERSION
npm install --ignore-scripts
fi
- id: undici
subsystem: deps
label: dependencies
run: |
NEW_VERSION=$(npm view undici dist-tags.latest)
CURRENT_VERSION=$(node -p "require('./deps/undici/src/package.json').version")
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
./tools/update-undici.sh
fi
steps:
- uses: actions/checkout@v2
with:
Expand All @@ -69,6 +87,6 @@ jobs:
author: Node.js GitHub Bot <github-bot@iojs.org>
body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}.
branch: actions/tools-update-${{ matrix.id }} # Custom branch *just* for this Action.
commit-message: 'tools: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}'
labels: tools
title: 'tools: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}'
commit-message: '${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}'
labels: ${{ matrix.label }}
title: '${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}'
10 changes: 10 additions & 0 deletions AUTHORS
Expand Up @@ -3434,5 +3434,15 @@ Austin Kelleher <austin.kell47@gmail.com>
apeltop <sunshine@ptokos.com>
Livia Medeiros <74449973+LiviaMedeiros@users.noreply.github.com>
Nikolaos Papaspyrou <nikolaos@chromium.org>
Matt Probert <1196252+mattpr@users.noreply.github.com>
Roch Devost <roch.devost@gmail.com>
Kohei Ueno <kohei.ueno119@gmail.com>
bradh352 <brad@brad-house.com>
Mikael Finstad <finstaden@gmail.com>
Damjan Cvetko <damjan.cvetko@gmail.com>
Randall Leeds <randall@bleeds.info>
Khoo Hao Yit <40757009+KhooHaoYit@users.noreply.github.com>
Aroyan <43630681+aroyan@users.noreply.github.com>
theanarkh <2923878201@qq.com>

# Generated by tools/update-authors.js
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -33,7 +33,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V17.md#17.7.2">17.7.2</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V17.md#17.8.0">17.8.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.7.2">17.7.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.7.1">17.7.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.7.0">17.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.6.0">17.6.0</a><br/>
Expand Down
16 changes: 4 additions & 12 deletions README.md
@@ -1,14 +1,4 @@
<!--lint disable no-literal-urls-->

<p align="center">
<a href="https://nodejs.org/">
<img
alt="Node.js"
src="https://nodejs.org/static/images/logo-light.svg"
width="400"
/>
</a>
</p>
# Node.js

Node.js is an open-source, cross-platform, JavaScript runtime environment.

Expand All @@ -19,7 +9,7 @@ The Node.js project uses an [open governance model](./GOVERNANCE.md). The

**This project has a [Code of Conduct][].**

# Table of contents
## Table of contents

* [Support](#support)
* [Release types](#release-types)
Expand Down Expand Up @@ -428,6 +418,8 @@ For information about the governance of the Node.js project, see
**Santiago Gimeno** <<santiago.gimeno@gmail.com>>
* [shisama](https://github.com/shisama) -
**Masashi Hirano** <<shisama07@gmail.com>> (he/him)
* [ShogunPanda](https://github.com/ShogunPanda) -
**Paolo Insogna** <<paolo@cowtech.it>> (he/him)
* [srl295](https://github.com/srl295) -
**Steven R Loomis** <<srloomis@us.ibm.com>>
* [starkwang](https://github.com/starkwang) -
Expand Down
2 changes: 1 addition & 1 deletion common.gypi
Expand Up @@ -36,7 +36,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.15',
'v8_embedder_string': '-node.16',

##### V8 defaults for Node.js #####

Expand Down
6 changes: 4 additions & 2 deletions deps/cares/src/lib/ares_expand_name.c
Expand Up @@ -64,14 +64,16 @@ static int ares__isprint(int ch)
* - underscores which are used in SRV records.
* - Forward slashes such as are used for classless in-addr.arpa
* delegation (CNAMEs)
* - Asterisks may be used for wildcard domains in CNAMEs as seen in the
* real world.
* While RFC 2181 section 11 does state not to do validation,
* that applies to servers, not clients. Vulnerabilities have been
* reported when this validation is not performed. Security is more
* important than edge-case compatibility (which is probably invalid
* anyhow). */
static int is_hostnamech(int ch)
{
/* [A-Za-z0-9-._/]
/* [A-Za-z0-9-*._/]
* Don't use isalnum() as it is locale-specific
*/
if (ch >= 'A' && ch <= 'Z')
Expand All @@ -80,7 +82,7 @@ static int is_hostnamech(int ch)
return 1;
if (ch >= '0' && ch <= '9')
return 1;
if (ch == '-' || ch == '.' || ch == '_' || ch == '/')
if (ch == '-' || ch == '.' || ch == '_' || ch == '/' || ch == '*')
return 1;

return 0;
Expand Down
31 changes: 31 additions & 0 deletions deps/npm/docs/content/commands/npm-audit.md
Expand Up @@ -246,6 +246,7 @@ mistakes, unnecessary performance degradation, and malicious input.
* Allow conflicting peerDependencies to be installed in the root project.
* Implicitly set `--yes` during `npm init`.
* Allow clobbering existing values in `npm pkg`
* Allow unpublishing of entire packages (not just a single version).

If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
Expand Down Expand Up @@ -306,6 +307,36 @@ variable will be set to `'production'` for all lifecycle scripts.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `foreground-scripts`

* Default: false
* Type: Boolean

Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
scripts for installed packages in the foreground process, sharing standard
input, output, and error with the main npm process.

Note that this will generally make installs run slower, and be much noisier,
but can be useful for debugging.

<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `ignore-scripts`

* Default: false
* Type: Boolean

If true, npm does not run scripts specified in package.json files.

Note that commands explicitly intended to run a particular script, such as
`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
will still run their intended script if `ignore-scripts` is set, but they
will *not* run any pre- or post-scripts.

<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `workspace`

* Default:
Expand Down
15 changes: 15 additions & 0 deletions deps/npm/docs/content/commands/npm-ci.md
Expand Up @@ -94,6 +94,21 @@ submitted.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `foreground-scripts`

* Default: false
* Type: Boolean

Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
scripts for installed packages in the foreground process, sharing standard
input, output, and error with the main npm process.

Note that this will generally make installs run slower, and be much noisier,
but can be useful for debugging.

<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `ignore-scripts`

* Default: false
Expand Down
1 change: 1 addition & 0 deletions deps/npm/docs/content/commands/npm-init.md
Expand Up @@ -199,6 +199,7 @@ mistakes, unnecessary performance degradation, and malicious input.
* Allow conflicting peerDependencies to be installed in the root project.
* Implicitly set `--yes` during `npm init`.
* Allow clobbering existing values in `npm pkg`
* Allow unpublishing of entire packages (not just a single version).

If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
Expand Down
15 changes: 15 additions & 0 deletions deps/npm/docs/content/commands/npm-install-ci-test.md
Expand Up @@ -43,6 +43,21 @@ submitted.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `foreground-scripts`

* Default: false
* Type: Boolean

Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
scripts for installed packages in the foreground process, sharing standard
input, output, and error with the main npm process.

Note that this will generally make installs run slower, and be much noisier,
but can be useful for debugging.

<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `ignore-scripts`

* Default: false
Expand Down
43 changes: 29 additions & 14 deletions deps/npm/docs/content/commands/npm-install-test.md
Expand Up @@ -112,6 +112,27 @@ will be preferred.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `omit`

* Default: 'dev' if the `NODE_ENV` environment variable is set to
'production', otherwise empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)

Dependency types to omit from the installation tree on disk.

Note that these dependencies _are_ still resolved and added to the
`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
physically installed on disk.

If a package type appears in both the `--include` and `--omit` lists, then
it will be included.

If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
variable will be set to `'production'` for all lifecycle scripts.

<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `strict-peer-deps`

* Default: false
Expand Down Expand Up @@ -151,23 +172,17 @@ This configuration does not affect `npm ci`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->

#### `omit`

* Default: 'dev' if the `NODE_ENV` environment variable is set to
'production', otherwise empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)

Dependency types to omit from the installation tree on disk.
#### `foreground-scripts`

Note that these dependencies _are_ still resolved and added to the
`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
physically installed on disk.
* Default: false
* Type: Boolean

If a package type appears in both the `--include` and `--omit` lists, then
it will be included.
Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
scripts for installed packages in the foreground process, sharing standard
input, output, and error with the main npm process.

If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
variable will be set to `'production'` for all lifecycle scripts.
Note that this will generally make installs run slower, and be much noisier,
but can be useful for debugging.

<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
Expand Down