Notable changes
OpenSSL-3.0.1
OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt.
Contributed by Richard Lau #41177.
Other Notable Changes
- lib:
- make AbortSignal cloneable/transferable (James M Snell) #41050
- deps:
- upgrade npm to 8.3.0 (npm team) #41127
- doc:
- add @bnb as a collaborator (Tierney Cyren) #41100
- process:
- add
getActiveResourcesInfo()
(Darshan Sen) #40813
- add
- timers:
- add experimental scheduler api (James M Snell) #40909
Commits
- [
99fb6d48eb
] – assert: prefer reference comparison over string comparison (Darshan Sen) #41015 - [
a7dfa43dc7
] – assert: use stricter stack frame detection in .ifError() (Ruben Bridgewater) #41006 - [
28761de6d4
] – buffer: fixBlob
constructor on variousTypedArray
s (Irakli Gozalishvili) #40706 - [
8fcb71a5ab
] – build: update openssl config generator Dockerfile (Richard Lau) #41177 - [
3a9ffa86db
] – build: use ‘<(python)’ instead of ‘python’ (Cheng Zhao) #41146 - [
85f1537c28
] – build: fix comment-labeled workflow (Mestery) #41176 - [
61c53a667a
] – build: use gh cli in workflows file (Mestery) #40985 - [
1fc6fd66ff
] – build: fix commit-queue-rebase functionality (Rich Trott) #41140 - [
831face7d1
] – build: skip documentation generation if no ICU (Rich Trott) #41091 - [
c776c9236e
] – build: re-enable V8 concurrent marking (Michaël Zasso) #41013 - [
2125449f89
] – build: add--without-corepack
(Jonah Snider) #41060 - [
6327685363
] – build: fail early in test-macos.yml (Rich Trott) #41035 - [
ee4186b305
] – build: add tools/doc to tools.yml updates (Rich Trott) #41036 - [
db30bc97d0
] – build: update Actions versions (Mestery) #40987 - [
db9cef3c4f
] – build: set persist-credentials: false on workflows (Rich Trott) #40972 - [
29739f813f
] – build: add OpenSSL gyp artifacts to .gitignore (Luigi Pinca) #40967 - [
1b8baf0e4f
] – build: remove legacy -J test.py option from Makefile/vcbuild (Rich Trott) #40945 - [
5c27ec8385
] – build: ignore unrelated workflow changes in slow Actions tests (Rich Trott) #40928 - [
8957c9bd1c
] – build,tools: automate enforcement of emeritus criteria (Rich Trott) #41155 - [
e924dc7982
] – cluster: use linkedlist for round_robin_handle (twchn) #40615 - [
c757fa513e
] – crypto: add missing null check (Michael Dawson) #40598 - [
35fe14454b
] – deps: update archs files for quictls/openssl-3.0.1+quic (Richard Lau) #41177 - [
0b2103419f
] – deps: upgrade openssl sources to quictls/openssl-3.0.1+quic (Richard Lau) #41177 - [
fae4945ab3
] – deps: upgrade npm to 8.3.0 (npm team) #41127 - [
3a1d952e68
] – deps: upgrade npm to 8.2.0 (npm team) #41065 - [
627b5bb718
] – deps: update Acorn to v8.6.0 (Michaël Zasso) #40993 - [
a2fb12f9c6
] – deps: patch V8 to 9.6.180.15 (Michaël Zasso) #40949 - [
93111e4662
] – doc: fix closing parenthesis (AlphaDio) #41190 - [
f883bf3d12
] – doc: add security steward on/offboarding steps (Michael Dawson) #41129 - [
1274a25b14
] – doc: align module resolve algorithm with implementation (Qingyu Deng) #38837 - [
34c6c59014
] – doc: update nodejs-sec managers (Michael Dawson) #41128 - [
db26bdb011
] – doc: move style guide to findable location (Rich Trott) #41119 - [
4369c6d9f6
] – doc: fix comments in test-fs-watch.js (jakub-g) #41046 - [
93f5bd34e9
] – doc: document support building with Python 3.10 on Windows (Christian Clauss) #41098 - [
d8fa227c26
] – doc: add note about pip being required (Piotr Rybak) #40669 - [
95691801f3
] – doc: remove OpenJSF Slack nodejs from support doc (Rich Trott) #41108 - [
e3ac384d78
] – doc: simplify major release preparation (Bethany Nicolle Griggs) #40816 - [
3406910040
] – doc: clarify escaping for ES modules (notroid5) #41074 - [
668284b5a1
] – doc: add @bnb as a collaborator (Tierney Cyren) #41100 - [
94d09113a2
] – doc: add explicit declaration of fd with null val (Henadzi) #40704 - [
b353ded677
] – doc: expand entries for isIP(), isIPv4(), and isIPv6() (Rich Trott) #41028 - [
f18aa14b1d
] – doc: link to commit queue guide (Geoffrey Booth) #41030 - [
681edbe75f
] – doc: specify thatmessage.socket
can be nulled (Luigi Pinca) #41014 - [
7c41f32f06
] – doc: fix JSDoc in ESM loaders examples (Mestery) #40984 - [
61b2e2ef9e
] – doc: remove legacy -J test.py option from BUILDING.md (Rich Trott) #40945 - [
c9b09d124e
] – doc,lib,tools: align multiline comments (Rich Trott) #41109 - [
12023dff4b
] – (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) #41008 - [
b0b7943e8f
] – (SEMVER-MINOR) esm: working mock test (Bradley Farias) #39240 - [
37dbc3b9e9
] – (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) #41008 - [
1b8d4e4867
] – (SEMVER-MINOR) events: propagate weak option for kNewListener (James M Snell) #40899 - [
bbdcd0513b
] – (SEMVER-MINOR) fs: accept URL as argument forfs.rm
andfs.rmSync
(Antoine du Hamel) #41132 - [
46108f8d50
] – fs: fix error codes forfs.cp
(Antoine du Hamel) #41106 - [
e25671cddb
] – fs: fixlength
option being ignored duringread()
(Shinho Ahn) #40906 - [
6eda874be0
] – (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) #41008 - [
70ed4ef248
] – http: don’t write empty data on req/res end() (Santiago Gimeno) #41116 - [
4b3bf7e818
] – (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) #41008 - [
8d87303f76
] – inspector: add missing initialization (Michael Dawson) #41022 - [
b191e66ddf
] – lib: include return types in JSDoc (Rich Trott) #41130 - [
348707fca6
] – (SEMVER-MINOR) lib: make AbortSignal cloneable/transferable (James M Snell) #41050 - [
4ba883d384
] – (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) #40951 - [
cc3e430c11
] – lib: use consistent types in JSDoc @returns (Rich Trott) #41089 - [
a1ed7f2810
] – (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) #41008 - [
1572db3e86
] – lib: do not lazy load EOL in blob (Ruben Bridgewater) #41004 - [
62c4b4c85b
] – (SEMVER-MINOR) lib: add AbortSignal.timeout (James M Snell) #40899 - [
f0d874342d
] – lib,test,tools: use consistent JSDoc types (Rich Trott) #40989 - [
03e6771137
] – meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #41154 - [
e26c187b85
] – meta: move to emeritus automatically after 18 months (Rich Trott) #41155 - [
b89fb3ef0a
] – meta: move silverwind to emeriti (Roman Reiss) #41171 - [
0fc148321f
] – meta: update AUTHORS (Node.js GitHub Bot) #41144 - [
d6d1d6647c
] – meta: update AUTHORS (Node.js GitHub Bot) #41088 - [
f30d6bcaff
] – meta: move one or more TSC members to emeritus (Node.js GitHub Bot) #40908 - [
033a646d82
] – meta: increase security policy response targets (Matteo Collina) #40968 - [
6b6e1d054e
] – node-api,doc: document parms which can be optional (Michael Dawson) #41021 - [
93ea1666f6
] – perf_hooks: use spec-compliantstructuredClone
(Michaël Zasso) #40904 - [
d8a2125900
] – (SEMVER-MINOR) process: addgetActiveResourcesInfo()
(Darshan Sen) #40813 - [
67124ac63a
] – (SEMVER-MINOR) readline: propagate signal.reason in awaitable question (James M Snell) #41008 - [
8fac878ff5
] – readline: skip escaping characters again (Ruben Bridgewater) #41005 - [
d3de937782
] – src: fix limit calculation (Michael Dawson) #41026 - [
6f0ec9835a
] – src: use a higher limit in the NearHeapLimitCallback (Joyee Cheung) #41041 - [
90097ab891
] – src,crypto: remove uses ofAllocatedBuffer
fromcrypto_sig
(Darshan Sen) #40895 - [
b59c513c31
] – stream: add isErrored helper (Robert Nagy) #41121 - [
1787bfab68
] – stream: allow readable to end early without error (Robert Nagy) #40881 - [
01e8c15c8a
] – (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) #41008 - [
0e21c64ae9
] – stream: remove whatwg streams experimental warning (James M Snell) #40971 - [
513305c7d7
] – stream: cleanup eos (Robert Nagy) #40998 - [
da8baf4bbb
] – test: do not load absolute path crypto engines twice (Richard Lau) #41177 - [
1f6a9c3e31
] – test: skip ESLint tests if no Intl (Rich Trott) #41105 - [
ce656a80b5
] – test: add missing JSDoc parameter name (Rich Trott) #41057 - [
fb8f2e9643
] – test: deflake test-trace-atomics-wait (Luigi Pinca) #41018 - [
de1748aca4
] – test: add auth option case for url.format (Hirotaka Tagawa / wafuwafu13) #40516 - [
943547a0eb
] – Revert “test: skip different params test for OpenSSL 3.x” (Daniel Bevenius) #40640 - [
0caa3483d2
] – (SEMVER-MINOR) timers: add experimental scheduler api (James M Snell) #40909 - [
e795547651
] – (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) #41008 - [
a77cae1ef7
] – tls: improve handling of shutdown (Jameson Nash) #36111 - [
db410e7d3e
] – tools: update doc to remark-rehype@10.1.0 (Node.js GitHub Bot) #41149 - [
e3870f3f17
] – tools: update lint-md-dependencies to rollup@2.61.1 vfile-reporter@7.0.3 (Node.js GitHub Bot) #41150 - [
6fc92bd191
] – tools: enable jsdoc/require-returns-type ESLint rule (Rich Trott) #41130 - [
70e6fe860a
] – tools: update ESLint to 8.4.1 (Rich Trott) #41114 - [
78894fa888
] – tools: enable JSDoc check-alignment lint rule (Rich Trott) #41109 - [
40a773aa29
] – tools: strip comments from lint-md rollup output (Rich Trott) #41092 - [
7b606cfef6
] – tools: update highlight.js to 11.3.1 (Rich Trott) #41091 - [
52633a9e95
] – tools: enable jsdoc/require-returns-check lint rule (Rich Trott) #41089 - [
dc0405e7fb
] – tools: update ESLint to 8.4.0 (Luigi Pinca) #41085 - [
855f15d059
] – tools: enable jsdoc/require-param-name lint rule (Rich Trott) #41057 - [
78265e095a
] – tools: use jsdoc recommended rules (Rich Trott) #41057 - [
9cfdf15da6
] – tools: rollback highlight.js (Richard Lau) #41078 - [
fe3e09bb4b
] – tools: remove Babel from license-builder.sh (Rich Trott) #41049 - [
62e0aa9725
] – tools: udpate packages in tools/doc (Rich Trott) #41036 - [
a959f4fa72
] – tools: install and enable JSDoc linting in ESLint (Rich Trott) #41027 - [
661960e471
] – tools: include JSDoc in ESLint updating tool (Rich Trott) #41027 - [
e2922714ee
] – tools: ignore unrelated workflow changes in slow Actions tests (Antoine du Hamel) #40990 - [
6525226ff7
] – tools: remove unneeded tool in update-eslint.sh (Rich Trott) #40995 - [
5400b7963d
] – tools: consolidate ESLint dependencies (Rich Trott) #40995 - [
86d5af14bc
] – tools: update ESLint update script to consolidate dependencies (Rich Trott) #40995 - [
8427099f66
] – tools: run ESLint update to minimize diff on subsequent update (Rich Trott) #40995 - [
82daaa9914
] – tools,test: make -J behavior default for test.py (Rich Trott) #40945 - [
db77780cb9
] – url: detect hostname more reliably in url.parse() (Rich Trott) #41031 - [
66b5083c1e
] – util: serialize falsy cause values while inspecting errors (Ruben Bridgewater) #41097 - [
09d29ca8d9
] – util: make sure error causes of any type may be inspected (Ruben Bridgewater) #41097 - [
f5ff88b3cb
] – (SEMVER-MINOR) util: pass through the inspect function to custom inspect functions (Ruben Bridgewater) #41019 - [
a0326f0941
] – util: escape lone surrogate code points using .inspect() (Ruben Bridgewater) #41001 - [
91df200ad6
] – (SEMVER-MINOR) util: add numericSeparator to util.inspect (Ruben Bridgewater) #41003 - [
da87413257
] – (SEMVER-MINOR) util: always visualize cause property in errors during inspection (Ruben Bridgewater) #41002
Windows 32-bit Installer: https://nodejs.org/dist/v17.3.0/node-v17.3.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v17.3.0/node-v17.3.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v17.3.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v17.3.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v17.3.0/node-v17.3.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v17.3.0/node-v17.3.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v17.3.0/node-v17.3.0.tar.gz
Other release files: https://nodejs.org/dist/v17.3.0/
Documentation: https://nodejs.org/docs/v17.3.0/api/
更多 https://nodejs.org/en/blog/release/v17.3.0/