Update Node.js to v17
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
node | image | major |
12.22.2-alpine -> 17.3.0-alpine
|
node | stage | major |
14.17.2 -> 17.3.0
|
Release Notes
nodejs/node
v17.3.0
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:
-
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
v17.2.0
Notable Changes
- [
06916490af
] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760 - [
371ee64c92
] - (SEMVER-MINOR) deps: update V8 to 9.6.180.14 (Michaël Zasso) #40488 - [
675c210b04
] - (SEMVER-MINOR) lib: add reason to AbortSignal (James M Snell) #40807 - [
0de2850680
] - (SEMVER-MINOR) src: add x509.fingerprint512 to crypto module (3nprob) #39809 - [
fa9b5c35d2
] - stream: deprecate thenable support (Antoine du Hamel) #40860 - [
534409d4e7
] - stream: fix finished regression when working with legacy Stream (Matteo Collina) #40858
Commits
- [
48157c44c2
] - Revert "async_hooks: merge resource_symbol with owner_symbol" (Darshan Sen) #40741 - [
4a971f67e4
] - async_hooks: eliminate require side effects (Stephen Belanger) #40782 - [
06916490af
] - (SEMVER-MINOR) async_hooks: expose async_wrap providers (Rafael Gonzaga) #40760 - [
65b33ba510
] - build: remove extraneous quotation marks from commit body (Rich Trott) #40963 - [
05d652a555
] - build: fix branch name for lint-md-dependencies update (Rich Trott) #40924 - [
1482c4415f
] - build: fixmake
invocation in tools.yml (Rich Trott) #40890 - [
69de8c8143
] - build: reset embedder string to "-node.0" (Michaël Zasso) #40488 - [
e793331322
] - build: fix tools.yml errors (Rich Trott) #40870 - [
51ac59b047
] - build: add GitHub Action to update tools modules (Rich Trott) #40644 - [
a8cc8b6554
] - crypto: trim input for NETSCAPE_SPKI_b64_decode (Shelley Vohr) #40757 - [
2979c58fb0
] - crypto: throw errors in SignTraits::DeriveBits (Tobias Nießen) #40796 - [
7f5931d03f
] - crypto: fix build without scrypt (Martin Jansa) #40613 - [
90f35fc329
] - deps: upgrade npm to 8.1.4 (npm team) #40865 - [
d461603d71
] - deps: V8: cherry-pickcced52a
(Ray Wang) #40656 - [
d6ae50ff96
] - deps: V8: cherry-pick7ae0b77
(Ray Wang) #40882 - [
e60053deee
] - deps: V8: cherry-pick2a0bc36
(Michaël Zasso) #40178 - [
94acaae3d4
] - deps: V8: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296 - [
37c9828d39
] - deps: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488 - [
dfb97fb501
] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990 - [
9ecf4be0c2
] - deps: silence irrelevant V8 warning (Michaël Zasso) #37587 - [
82a8736dec
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #38807 - [
eab5ef5505
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
d6e5dd56ff
] - deps: V8: forward declaration ofRtl*FunctionTable
(Refael Ackermann) #32116 - [
29a6e15480
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
1ff83c4945
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
371ee64c92
] - (SEMVER-MINOR) deps: update V8 to 9.6.180.14 (Michaël Zasso) #40488 - [
6506a42c16
] - deps: V8: cherry-pickcced52a
(Ray Wang) #40656 - [
a612ecb42f
] - deps: V8: cherry-pick7ae0b77
(Ray Wang) #40882 - [
b46184df5e
] - deps: update to uvwasi 0.0.12 (Colin Ihrig) #40847 - [
fa37428472
] - deps: add -fno-strict-aliasing flag to libuv (Daniel Bevenius) #40631 - [
9711ccfe08
] - deps: upgrade npm to 8.1.3 (npm team) #40726 - [
8e525634c6
] - deps: update ICU to 70.1 (Michaël Zasso) #40658 - [
3bfc9f5b47
] - doc: add information on suppressing initial break in debugger (Rich Trott) #40960 - [
8966ab3c57
] - doc: improve grammar in API description (Tobias Nießen) #40959 - [
130777a61c
] - doc: update BUILDING.md section on running tests (Rich Trott) #40933 - [
6e9b6652e5
] - doc: remove experimental abortcontroller flag (FrankQiu) #38968 - [
b92416ff02
] - doc: fix spelling of 'WebAssembly' (Geoffrey Booth) #40785 - [
cf495a6293
] - doc: clarify more optional parameters in node-api (Michael Dawson) #40888 - [
694012b392
] - doc: define "types", "deno" community conditions (Guy Bedford) #40708 - [
4c47b0150b
] - doc: document optional params in napi_get_cb_info (Michael Dawson) #40821 - [
dfdf68f4d0
] - doc: improve README.md lede section (Rich Trott) #40837 - [
9c200e1de4
] - doc: add pref to using draft MR versus WIP label (Michael Dawson) #40824 - [
fe2cd09750
] - doc: fixadded:
info forReadable.fromWeb()
(Luigi Pinca) #40820 - [
c91a9ab095
] - doc: tweak guidance for modules in core (Michael Dawson) #40601 - [
2ea08e9b55
] - doc: claim ABI version for Electron 18 (Keeley Hammond) #40768 - [
8166b07ddc
] - doc: fix transform stream example (Evan Lucas) #40777 - [
5ceb06cddf
] - doc: fix linter-enforced formatting in crypto.md (Mohammed Keyvanzadeh) #40780 - [
d3070d8eea
] - doc: fix corepack grammar for--force
flag (Steven) #40762 - [
9271f23e3a
] - doc: update maintaining ICU guide (Michaël Zasso) #40658 - [
20d7d657bb
] - doc: clarify getAuthTag with authTagLength (Tobias Nießen) #40713 - [
75288fbc6b
] - doc: fix order of announce work (Michael Dawson) #40725 - [
429915aa6c
] - doc: add initial list of technical priorities (Michael Dawson) #40235 - [
a5a1691514
] - fs: nullish coalescing to respect zero positional reads (Omar El-Mihilmy) #40716 - [
bddb4c69b7
] - http: add missing initialization (Michael Dawson) #40555 - [
80ce97f514
] - http: change totalSocketCount only on socket creation/close (Subhi Al Hasan) #40572 - [
675c210b04
] - (SEMVER-MINOR) lib: add reason to AbortSignal (James M Snell) #40807 - [
b614b17525
] - Revert "lib: use helper for readability" (Darshan Sen) #40741 - [
10a842d2d1
] - lib: fix typos in lib code comments (Yoshiki) #40792 - [
3ec78d1570
] - meta: add feature request label for issue template (Mestery) #40970 - [
9c897b69a1
] - meta: update AUTHORS (Node.js GitHub Bot) #40900 - [
dfc6fc987a
] - meta: update name and email (Viero Fernando) #40848 - [
813cf746a8
] - meta: update AUTHORS (Node.js GitHub Bot) #40809 - [
e451ec9ec1
] - meta: edit GOVERNANCE.md for minor updates (Rich Trott) #40798 - [
2536be7528
] - meta: update AUTHORS (Node.js GitHub Bot) #40748 - [
3c8aa211cd
] - module: import assertions improvements (Geoffrey Booth) #40785 - [
3a4f3873be
] - process: support hrtime in the snapshot (Joyee Cheung) #40649 - [
1555dbdddc
] - repl: fix and extend require/import tab complete (Mestery) #40216 - [
c2259c974b
] - src: reset error struct if error code is napi_ok (JckXia) #40552 - [
3be49d6853
] - src: prevent extra copies ofTimerWrap::TimerCb
(Darshan Sen) #40665 - [
0de2850680
] - (SEMVER-MINOR) src: add x509.fingerprint512 to crypto module (3nprob) #39809 - [
924d29e88f
] - src: add and fix some preprocessor comments (Tobias Nießen) #40701 - [
acbd8220a7
] - src,crypto: useByteSource::ToBuffer()
incrypto_dh
(Darshan Sen) #40903 - [
82b422663d
] - src,crypto: removeAllocatedBuffer
s fromcrypto_spkac
(Darshan Sen) #40752 - [
415b42fbdf
] - src,crypto: refactorcrypto_tls.*
(Darshan Sen) #40675 - [
88b57bc9d3
] - src,doc: add SyntaxError napi support (Idan Attias) #40736 - [
70bd90e039
] - stream: stricter isReadableNodeStream (Robert Nagy) #40941 - [
86d1c0b19d
] - stream: drain Transform with 0 highWaterMark (Robert Nagy) #40947 - [
fa9b5c35d2
] - stream: deprecate thenable support (Antoine du Hamel) #40860 - [
dc99ae3bd6
] - stream: fix the ReadableStreamBYOBReader error message (James M Snell) #40846 - [
650c9bd022
] - stream: pipeline with end option (Robert Nagy) #40886 - [
534409d4e7
] - stream: fix finished regression when working with legacy Stream (Matteo Collina) #40858 - [
16ee8423d6
] - stream: pipeline should drain empty readable (Robert Nagy) #40654 - [
7d127d2fc1
] - stream: fix non readable Duplex readableAborted (Robert Nagy) #40801 - [
7c4f9a34ae
] - stream: allow calling callback before promise (Robert Nagy) #40772 - [
62171eb516
] - test: mark test-fs-watch-non-recursive flaky on Windows (Luigi Pinca) #40916 - [
ae12a609a5
] - test: improve test coverage of readline/promises (Yoshiki Kurihara) #40876 - [
4288c6a26e
] - test: deflake cluster-concurrent-disconnect (Luigi Pinca) #40877 - [
009ab4d9bb
] - test: deflake fs-promises-watch (Luigi Pinca) #40863 - [
522a30f469
] - test: fix argument order in assertion (Luigi Pinca) #40842 - [
b190b0e77b
] - test: deflake http2-pipe-named-pipe (Luigi Pinca) #40842 - [
c485460793
] - test: use descriptive name for destination file (Luigi Pinca) #40842 - [
43e86508ae
] - test: add AsyncLocalStorage tests using udp, tcp and tls sockets (Darshan Sen) #40741 - [
896073be47
] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838 - [
150c0f1b76
] - test: add tests for invalid UTF-8 (git-srinivas) #40351 - [
3d896231cd
] - test: fix flaky test-policy-integrity (Rich Trott) #40763 - [
dc9e68899d
] - test: add semicolons for linter update (Rich Trott) #40720 - [
747247bc59
] - tools: update gyp-next to v0.10.1 (Michaël Zasso) #40934 - [
6ebbd0d9dc
] - tools: fix commit-lint GH Actions CI (Antoine du Hamel) #40845 - [
0201f3f604
] - tools: ping TSC members identified as inactive (Rich Trott) #40915 - [
22265e3fb6
] - tools: update lint-md-dependencies to rollup@2.60.1 (Node.js GitHub Bot) #40929 - [
3d593aa4ed
] - tools: update lint-md dependencies (Rich Trott) #40894 - [
e674f61720
] - tools: update ESLint to 8.3.0 (Luigi Pinca) #40917 - [
878ba91bf6
] - tools: add find-inactive-tsc (Rich Trott) #40884 - [
d97ad3080f
] - tools: disable trap handler for Windows cross-compiler (Michaël Zasso) #40488 - [
e3f8988118
] - tools: update V8 gypfiles for 9.6 (Michaël Zasso) #40488 - [
de4d0180dc
] - tools: update @babel/eslint-parser to 7.16.3 (Node.js GitHub Bot) #40889 - [
727b34ec95
] - tools: only validate first commit message of a MR (Antoine du Hamel) #40740 - [
5b08e908ea
] - tools: update babel-eslint-parser to 7.16.0 (Rich Trott) #40720 - [
30623c283a
] - tools: improve update scripts (Rich Trott) #40644
v17.1.0
Notable Changes
- [
89b34ecffb
] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566 - [
95e4d29eb4
] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250 - [
1ddbae2d76
] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433 - [
aa61551b49
] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433 - [
fbeb895ca6
] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283
Commits
- [
8a00dc5add
] - build: skip long-running Actions for README-only modifications (Rich Trott) #40571 - [
9f46fca124
] - build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418 - [
5bef74395d
] - deps: patch V8 to 9.5.172.25 (Michaël Zasso) #40604 - [
3805b806ee
] - deps: upgrade npm to 8.1.2 (npm team) #40643 - [
c003ba131b
] - deps: update c-ares to 1.18.1 (Richard Lau) #40660 - [
841f35cc52
] - deps: upgrade npm to 8.1.1 (npm team) #40554 - [
8d16f0d2d3
] - deps: V8: cherry-pick422dc37
(Ray Wang) #40450 - [
cdf5c44d62
] - deps: add riscv64 config into openssl gypi (Lu Yahan) #40473 - [
2b9fcdfe26
] - deps: attempt to suppress macro-redefined warning (Daniel Bevenius) #40518 - [
d2839bfaa9
] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40518 - [
5df8ce5cbe
] - deps,build,tools: fix openssl-is-fips for ninja builds (Daniel Bevenius) #40518 - [
79bf429405
] - dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568 - [
c29658fda7
] - doc: update cjs-module-lexer repo link (Guy Bedford) #40707 - [
e374f3ddd9
] - doc: fix lint re-enabling comment in README.md (Rich Trott) #40647 - [
ecccf48106
] - doc: format v8.md in preparation for stricter linting (Rich Trott) #40647 - [
95a7117037
] - doc: final round of markdown format changes (Rich Trott) #40645 - [
c104f5a9ab
] - doc: remove--experimental-modules
documentation (FrankQiu) #38974 - [
ac81f89bbf
] - doc: update tracking issues of startup performance (Joyee Cheung) #40629 - [
65effa11fc
] - doc: fix markdown syntax and HTML tag misses (ryan) #40608 - [
c78d708a16
] - doc: use 'GitHub Actions workflow' instead (Mestery) #40586 - [
71bac70bf2
] - doc: ref OpenSSL legacy provider from crypto docs (Tobias Nießen) #40593 - [
8f410229ac
] - doc: add node: url scheme (Daniel Nalborczyk) #40573 - [
35dbed21f2
] - doc: call cwd function (Daniel Nalborczyk) #40573 - [
4870a23ccc
] - doc: remove unused imports (Daniel Nalborczyk) #40573 - [
5951ccc12e
] - doc: simplify CHANGELOG.md (Rich Trott) #40475 - [
6ae134ecb7
] - doc: correct esm spec scope lookup definition (Guy Bedford) #40592 - [
09239216f6
] - doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617 - [
46ec5ac4df
] - doc: add info on project's usage of coverity (Michael Dawson) #40506 - [
7eb1a44410
] - doc: fix typo in changelogs (Luigi Pinca) #40585 - [
132f6cba05
] - doc: update onboarding task (Rich Trott) #40570 - [
5e2d0ed61e
] - doc: simplify ccache instructions (Rich Trott) #40550 - [
c1c1738bfc
] - doc: fix macOS environment variables for ccache (Rich Trott) #40550 - [
6e3e50f2ab
] - doc: improve async_context introduction (Michaël Zasso) #40560 - [
1587fe62d4
] - doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477 - [
305c022db4
] - doc: describe buffer limit of v8.serialize (Ray Wang) #40243 - [
6e39e0e10a
] - doc: run license-builder (Rich Trott) #40540 - [
556e49ccb5
] - doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476 - [
9c6a9fd5b1
] - doc: use GFM footnotes in BUILDING.md (Rich Trott) #40474 - [
fd946215cc
] - doc: fixfs.symlink
code example (Juan José Arboleda) #40414 - [
404730ac1b
] - doc: update for changed--dns-result-order
default (Richard Lau) #40538 - [
acc22c7c4a
] - doc: add missing entry inglobals.md
(Antoine du Hamel) #40531 - [
0375d958ef
] - doc: explain backport labels (Stephen Belanger) #40520 - [
4993d87c49
] - doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563 - [
89b34ecffb
] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566 - [
6357ef15d0
] - doc: document considerations for inclusion in core (Rich Trott) #40338 - [
ed04827373
] - doc: update link in onboarding doc (Rich Trott) #40539 - [
34e244b8e9
] - doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458 - [
5a588ff047
] - doc: add updating expected assets to release guide (Richard Lau) #40470 - [
95e4d29eb4
] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #40250 - [
825a683423
] - http: response should always emit 'close' (Robert Nagy) #40543 - [
81cd7f3751
] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325 - [
1ddbae2d76
] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #40433 - [
aa61551b49
] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #40433 - [
d97872dd98
] - meta: use form schema for flaky test template (Michaël Zasso) #40737 - [
c2fabdbce8
] - meta: update AUTHORS (Node.js GitHub Bot) #40668 - [
aa98c6bdce
] - meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599 - [
18296c3d8e
] - meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620 - [
88d812793d
] - meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619 - [
d81b65ca0e
] - meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596 - [
ec02e7b68a
] - meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589 - [
08e7a2ff24
] - meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569 - [
488ee51f90
] - meta: update AUTHORS (Node.js GitHub Bot) #40580 - [
ba9a6c5d06
] - meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527 - [
bd06e9945e
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464 - [
7cee125dcf
] - meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523 - [
6a771f8bcb
] - meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517 - [
e4c740646d
] - meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490 - [
075cfbf941
] - module: resolver & spec hardening /w refactoring (Guy Bedford) #40510 - [
b320387c83
] - policy: fix message for invalid manifest specifier (Rich Trott) #40574 - [
ea968d54c5
] - process: refactor execution (Voltrex) #40664 - [
fb7c437b0b
] - src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607 - [
e9388c87bf
] - src: remove usage ofAllocatedBuffer
fromnode_http2
(Darshan Sen) #40584 - [
7a22f913b0
] - src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639 - [
396342e26d
] - src: throw error instead of assertion (Ray Wang) #40243 - [
accab383a1
] - src: register external references in os bindings (Joyee Cheung) #40239 - [
a11f9ea4f0
] - src: register external references in crypto bindings (Joyee Cheung) #40239 - [
ef1ace7e88
] - src,crypto: usestd::variant
in DH params (Darshan Sen) #40457 - [
4433852f62
] - src,crypto: removeAllocatedBuffer
fromcrypto_cipher.cc
(Darshan Sen) #40400 - [
814126c3ed
] - src,fs: removeToLocalChecked()
call fromfs::AfterMkdirp()
(Darshan Sen) #40386 - [
d4b45cc249
] - src,stream: remove*Check*()
calls from non-Initialize()
functions (Darshan Sen) #40425 - [
bac7fe0797
] - stream: remove no longer necessary ComposeDuplex (Robert Nagy) #40545 - [
e58cce49fd
] - test: disable warnings to fix flaky test (Antoine du Hamel) #40739 - [
8c103ab2ff
] - test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607 - [
ac3bc6eed0
] - test: add semicolon after chunk size (Luigi Pinca) #40487 - [
95fe9bb922
] - test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659 - [
dfd0215266
] - test: avoid deep comparisons with literals (Tobias Nießen) #40634 - [
5020f634b8
] - test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684 - [
8fa1c61e40
] - test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684 - [
179a5c5436
] - test: testcrypto.setEngine()
using an actual engine (Darshan Sen) #40481 - [
cf6ded4db5
] - test: use conventional argument order in assertion (Tobias Nießen) #40591 - [
aefb097d6a
] - test: fix test description (Luigi Pinca) #40486 - [
126e669b84
] - test,doc: correct documentation for runBenchmark() (Rich Trott) #40683 - [
1844463ce2
] - test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684 - [
f731f5ffb5
] - test,tools: increase timeout for benchmark tests (Rich Trott) #40684 - [
bbc10f1849
] - tools: simplify and fix commit queue (Michaël Zasso) #40742 - [
a3df50d810
] - tools: ensure the MR was not pushed before merging (Antoine du Hamel) #40747 - [
306d953c15
] - tools: update ESLint to 8.2.0 (Luigi Pinca) #40734 - [
b7e736843c
] - tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666 - [
50d102ec08
] - tools: fix bug inprefer-primordials
ESLint rule (Antoine du Hamel) #40628 - [
ec2cadef85
] - tools: add script to update c-ares (Richard Lau) #40660 - [
5daa313215
] - tools: notify user if format-md needs to be run (Rich Trott) #40647 - [
0787c781ce
] - tools: abort CQ session when landing several commits (Antoine du Hamel) #40577 - [
ddc44ddfd9
] - tools: fix commit-lint workflow (Antoine du Hamel) #40673 - [
47eddd7076
] - tools: avoid unnecessary escaping in markdown formatter (Rich Trott) #40645 - [
c700de3705
] - tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128 - [
716963484b
] - tools: update ESLint to 8.1.0 (Luigi Pinca) #40582 - [
9cb2116608
] - tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600 - [
507f1dbc8d
] - tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477 - [
c2265a92c3
] - tools: update license-builder.sh for OpenSSL (Rich Trott) #40540 - [
16624b404c
] - tools,meta: remove exclusions from AUTHORS (Rich Trott) #40648 - [
a95e344fe5
] - tty: support more CI services ingetColorDepth
(Richie Bendall) #40385 - [
b4194ff349
] - typings: add more bindings typings (Mestery) #40415 - [
da859b56cb
] - typings: add JSDoc typings for inspector (Voltrex) #38390 - [
90aa96dc44
] - typings: improve internal bindings typings (Mestery) #40411 - [
1e9f3cc522
] - typings: separateinternalBinding
typings (Mestery) #40409 - [
fbeb895ca6
] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #39283
v17.0.1
Notable Changes
Fixed distribution for native addon builds
This release fixes an issue introduced in Node.js v17.0.0, where some V8 headers were missing from the distributed tarball, making it impossible to build native addons. These headers are now included. #40526
Fixed stream issues
- Fixed a regression in
stream.promises.pipeline
, which was introduced in version 16.10.0, is fixed. It is now possible again to pass an array of streams to the function. #40193 - Fixed a bug in
stream.Duplex.from
, which didn't work properly when an async generator function was passed to it. #40499
Commits
- [
3f033556c3
] - build: include missing V8 headers in distribution (Michaël Zasso) #40526 - [
adbd92ef1d
] - crypto: avoid double free (Michael Dawson) #40380 - [
8dce85aadc
] - doc: format doc/api/*.md with markdown formatter (Rich Trott) #40403 - [
977016a72f
] - doc: specify that maxFreeSockets is per host (Luigi Pinca) #40483 - [
f9f2442739
] - src: add missing inialization in agent.h (Michael Dawson) #40379 - [
111f0bd9b6
] - stream: fix fromAsyncGen (Robert Nagy) #40499 - [
b84f101049
] - stream: support array of streams in promises pipeline (Mestery) #40193 - [
3f7c503b69
] - test: adjust CLI flags test to ignore blank lines in doc (Rich Trott) #40403 - [
7c42d9fcc6
] - test: split test-crypto-dh.js (Joyee Cheung) #40451
v17.0.0
Notable Changes
Deprecations and Removals
- [
f182b9b29f
] - (SEMVER-MAJOR) dns: runtime deprecate type coercion ofdns.lookup
options (Antoine du Hamel) #39793 - [
4b030d0573
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
36e2ffe6dc
] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121 - [
64287e4d45
] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117
OpenSSL 3.0
Node.js now includes OpenSSL 3.0, specifically quictls/openssl which provides QUIC support. With OpenSSL 3.0 FIPS support is again available using the new FIPS module. For details about how to build Node.js with FIPS support please see BUILDING.md.
While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes.
If you hit an ERR_OSSL_EVP_UNSUPPORTED
error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, --openssl-legacy-provider
, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.
For details about all the features in OpenSSL 3.0 please see the OpenSSL 3.0 release blog.
Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478
V8 9.5
The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the Intl.DisplayNames
API and Extended timeZoneName
options in the Intl.DateTimeFormat
API.
You can read more details in the V8 9.5 release post - https://v8.dev/blog/v8-release-95.
Contributed by Michaël Zasso - https://github.com/nodejs/node/pull/40178
Readline Promise API
The readline
module provides an interface for reading data from a Readable
stream (such as process.stdin
) one line at a time.
The following simple example illustrates the basic use of the readline
module:
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'process';
const rl = readline.createInterface({ input, output });
const answer = await rl.question('What do you think of Node.js? ');
console.log(`Thank you for your valuable feedback: ${answer}`);
rl.close();
Contributed by Antoine du Hamel - https://github.com/nodejs/node/pull/37947
Other Notable Changes
- [
1b2749ecbe
] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987 - [
59d3d542d6
] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332 - [
a35b7e0427
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
6cd12be347
] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331 - [
d0a898681f
] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759 - [
e4b1fb5e64
] - (SEMVER-MAJOR) lib: exposeDOMException
as global (Khaidi Chu) #39176 - [
0738a2b7bd
] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235
Semver-Major Commits
- [
9dfa30bdd5
] - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) #38807 - [
9f0bc602e4
] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) #38807 - [
62719c5fd2
] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) #40178 - [
66da32c045
] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) #38512 - [
40c6e838df
] - (SEMVER-MAJOR) dgram: tightenaddress
validation insocket.send
(Voltrex) #39190 - [
f182b9b29f
] - (SEMVER-MAJOR) dns: runtime deprecate type coercion ofdns.lookup
options (Antoine du Hamel) #39793 - [
1b2749ecbe
] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987 - [
ae876d420c
] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) #40179 - [
59d3d542d6
] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332 - [
f9447b71a6
] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) #38684 - [
f27b7cf95c
] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) #38259 - [
d0a898681f
] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759 - [
e4b1fb5e64
] - (SEMVER-MAJOR) lib: exposeDOMException
as global (Khaidi Chu) #39176 - [
36e2ffe6dc
] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121 - [
64287e4d45
] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117 - [
707dd77d86
] - (SEMVER-MAJOR) readline: validateAbortSignal
s and remove unused event listeners (Antoine du Hamel) #37947 - [
8122d243ae
] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) #37947 - [
592d1c3d44
] - (SEMVER-MAJOR) readline: refactorInterface
to ES2015 class (Antoine du Hamel) #37947 - [
3f619407fe
] - (SEMVER-MAJOR) src: allow CAP_NET_BIND_SERVICE in SafeGetenv (Daniel Bevenius) #37727 - [
0a7f850123
] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) #39603 - [
bdaf51bae7
] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) #38362 - [
0c6f345cda
] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) #38700 - [
0e841b45c2
] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) #39639 - [
ef992f6de9
] - (SEMVER-MAJOR) stream: do not emitend
on readable error (Szymon Marczak) #39607 - [
efd40eadab
] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) #39364 - [
09d8c0c8d2
] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) #39342 - [
a5dec3a470
] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) #39346 - [
bb275ef2a4
] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) #39294 - [
b2ae12d422
] - (SEMVER-MAJOR) stream: throw on premature close in Readable[AsyncIterator] (Darshan Sen) #39117 - [
0738a2b7bd
] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235 - [
954217adda
] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) #34385 - [
f4609bdf3f
] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) #38505 - [
e1e669b109
] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) #39752 - [
70157b9cb7
] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) #38631
Semver-Minor Commits
- [
6cd12be347
] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331 - [
341312d78a
] - (SEMVER-MINOR) readline: addautoCommit
option (Antoine du Hamel) #37947 - [
1d2f37d970
] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478 - [
3b72788afb
] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #40339 - [
8306051001
] - (SEMVER-MINOR) stream: add readableDidRead (Robert Nagy) #36820 - [
08ffbd115e
] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
Semver-Patch Commits
- [
ed01811e71
] - benchmark: increase crypto DSA keygen params (Brian White) #40416 - [
cb93fdbba5
] - build: reset embedder string to "-node.0" (Michaël Zasso) #40178 - [
ed76b49834
] - build: fix actions pull request's branch (Mestery) #40494 - [
6baea14506
] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465 - [
f9996d5b80
] - build: include new public V8 headers in distribution (Michaël Zasso) #40423 - [
983b757f3f
] - build: update codeowners-validator to 0.6 (FrankQiu) #40307 - [
73c3885e10
] - build: remove duplicate check for authors.yml (Rich Trott) #40393 - [
92090d3435
] - build: make scripts in gyp run with right python (Cheng Zhao) #39730 - [
28f711b552
] - crypto: remove incorrect constructor invocation (gc) #40300 - [
228e703ded
] - deps: workaround debug link error on Windows (Richard Lau) #38807 - [
a35b7e0427
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
d434c5382a
] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40478 - [
2cebd5f02b
] - deps: add missing legacyprov.c source (Daniel Bevenius) #40478 - [
bf82dcd5ba
] - deps: patch V8 to 9.5.172.21 (Michaël Zasso) #40432 - [
795108a63d
] - deps: V8: make V8 9.5 ABI-compatible with 9.6 (Michaël Zasso) #40422 - [
5d7bd8616e
] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343 - [
fe84cd453d
] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374 - [
2d503ed3ff
] - deps: V8: backport239898e
(Felix Yan) #39827 - [
c9296b190f
] - deps: V8: cherry-pick2a0bc36
(Michaël Zasso) #40178 - [
5b358370ad
] - deps: V8: cherry-pickcf21eb3
(Michaël Zasso) #40178 - [
228e703ded
] - deps: workaround debug link error on Windows (Richard Lau) #38807 - [
cca9b95523
] - dgram: addnread
assertion toUDPWrap::OnRecv
(Darshan Sen) #40295 - [
7c77db0243
] - dns: refactor and use validators (Voltrex) #40022 - [
a278117f28
] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456 - [
4cf5563147
] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371 - [
15ce81a464
] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408 - [
54a85d6bb5
] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412 - [
40db88b7b5
] - doc: format changelogs (Rich Trott) #40388 - [
4f68839910
] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396 - [
ca6adcf37e
] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381 - [
7dd3adf6dd
] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402 - [
eb65871ab4
] - doc: format doc/guides using format-md task (Rich Trott) #40358 - [
0d50dfdf61
] - doc: improve phrasing in fs.md (Arslan Ali) #40255 - [
7723148758
] - doc: add link to core promises tracking issue (Michael Dawson) #40355 - [
ccee352630
] - doc: esm resolver spec refactoring for deprecations (Guy Bedford) #40314 - [
1fc1b0f5f2
] - doc: claim ABI version for Electron v17 (Milan Burda) #40320 - [
0d2b6aca60
] - doc: assign missing deprecation number (Michaël Zasso) #40324 - [
4bd8e0efa0
] - doc: fix typo in ESM example (Tobias Nießen) #40275 - [
03d25fe816
] - doc: fix typo in esm.md (Mason Malone) #40273 - [
6199441b00
] - doc: correct ESM load hook table header (Jacob) #40234 - [
78962d1ca1
] - doc: mark readline promise implementation as experimental (Antoine du Hamel) #40211 - [
4b030d0573
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
bbd4c6eee9
] - doc: claim ABI version for Electron v15 and v16 (Samuel Attard) #39950 - [
3e774a0500
] - doc: fix history forfs.WriteStream
open
event (Antoine du Hamel) #39972 - [
6fdd5827f0
] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304 - [
7b7a0331f4
] - doc: reset added: version to REPLACEME (Luigi Pinca) #39901 - [
58257b7c61
] - doc: fix typo in webstreams.md (Luigi Pinca) #39898 - [
df22736d80
] - esm: consolidate ESM loader hooks (Jacob) #37468 - [
ac4f5e2437
] - lib: refactor to use let (gdccwxx) #40364 - [
3d11bafaa0
] - lib: make structuredClone spec compliant (voltrexmaster) #40251 - [
48655e17e1
] - lib,url: correct URL's argument to pass idlharness (Khaidi Chu) #39848 - [
c0a70203de
] - meta: update AUTHORS (Node.js GitHub Bot) #40485 - [
cbc7b5d424
] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469 - [
881174e016
] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447 - [
b80b85e130
] - meta: addtypings
to label-pr-config (Mestery) #40401 - [
95cf944736
] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430 - [
c350c217f4
] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420 - [
a9411891cf
] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406 - [
0cc37209fa
] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391 - [
49b7ec96a4
] - meta: update AUTHORS (Node.js GitHub Bot) #40392 - [
a3c0713d9e
] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387 - [
eaa59571e0
] - meta: update label-pr-config (Mestery) #40199 - [
6a205d7a56
] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367 - [
f570109094
] - net: check if option is undefined (Daijiro Wachi) #40344 - [
119558b6a2
] - net: remove unused ObjectKeys (Daijiro Wachi) #40344 - [
c7cd8ef6c6
] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344 - [
46446623f5
] - net: throw error to object mode in Socket (Daijiro Wachi) #40344 - [
38aa7cc7c7
] - src: get embedder options on-demand (Joyee Cheung) #40357 - [
ad4e70c817
] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405 - [
a784258444
] - src: remove usage ofAllocatedBuffer
fromstream_*
(Darshan Sen) #40293 - [
f11493dfc9
] - src: add missing initialization (Michael Dawson) #40370 - [
5e248eceb6
] - src: update NODE_MODULE_VERSION to 102 (Michaël Zasso) #40178 - [
3f0b62375b
] - stream: convert premature close to AbortError (Robert Nagy) #39524 - [
79f4d5a345
] - stream: fix toWeb typo (Robert Nagy) #39496 - [
44ee6c2623
] - stream: call done() in consistent fashion (Rich Trott) #39475 - [
09ad64d66d
] - stream: add CompressionStream and DecompressionStream (James M Snell) #39348 - [
a99c230305
] - stream: implement streams to webstreams adapters (James M Snell) #39134 - [
a5ba28dda2
] - stream: fix performance regression (Brian White) #39254 - [
ce00381751
] - stream: use finished for async iteration (Robert Nagy) #39282 - [
e0faf8c3e9
] - test: replace common port with specific number (Daijiro Wachi) #40344 - [
8068f40313
] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389 - [
eafdeab97b
] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359 - [
24f045dae2
] - test: replace .then chains with await (gdccwxx) #40348 - [
5b4ba52786
] - test: fix "test/common/debugger" identify async function (gdccwxx) #40348 - [
1d84e916d6
] - test: improve test coverage offs.ReadStream
withFileHandle
(Antoine du Hamel) #40018 - [
b63e449b2e
] - test: pass URL's toascii.window.js WPT (Khaidi Chu) #39910 - [
842fd234b7
] - test: adapt test-repl to V8 9.5 (Michaël Zasso) #40178 - [
d7b9b9f8d7
] - test: remove test-v8-untrusted-code-mitigations (Ross McIlroy) #40178 - [
7624917069
] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445 - [
350a95b89f
] - tools: update lint-md dependencies (Rich Trott) #40404 - [
012152d7d6
] - tools: udpate @babel/eslint-parser (Rich Trott) #40394 - [
43c780e741
] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394 - [
b39db95737
] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394 - [
a6fd39f44f
] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394 - [
8ca76eba73
] - tools: update ESLint to 8.0.0 (Rich Trott) #40394 - [
dd8e219d71
] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394 - [
0a1b399781
] - tools: fix ESLint update scripts (Rich Trott) #40394 - [
d6d6b050ff
] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304 - [
1fd984581c
] - tools: update V8 gypfiles for 9.5 (Michaël Zasso) #40178 - [
a8a86387fa
] - tty: enable buffering (Robert Nagy) #39253 - [
9467cbadcb
] - typings: define types for os binding (Michaël Zasso) #40222 - [
70a5b86049
] - typings: add missing types to options and util bindings (Michaël Zasso) #40222 - [
3815a21beb
] - typings: define types for timers binding (Michaël Zasso) #40222 - [
9e64336fbf
] - typings: fix declaration of primordials (Michaël Zasso) #40222 - [
f581f6da94
] - url: fix performance regression (Brian White) #39778 - [
02de40246f
] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226
v16.13.1
Notable Changes
- [
c14eb2325d
] - deps: upgrade npm to 8.1.2 (npm team) #40643 - [
a901b6c53c
] - deps: update c-ares to 1.18.1 (Richard Lau) #40660- This release contains a c-ares update to fix a regression introduced in Node.js v16.6.2 resolving CNAME records containing underscores (#39780).
- [
755c08573f
] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566 - [
881dd7ba2a
] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325
Commits
- [
996bc6e840
] - benchmark: increase crypto DSA keygen params (Brian White) #40416 - [
27009092c8
] - build: skip long-running Actions for README-only modifications (Rich Trott) #40571 - [
4581997ed0
] - build: disable v8 pointer compression on 32bit archs (Cheng Zhao) #40418 - [
17433060d4
] - build: fix actions pull request's branch (Mestery) #40494 - [
bfdd32fa62
] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465 - [
134e8afc59
] - build: update codeowners-validator to 0.6 (FrankQiu) #40307 - [
de125a556c
] - crypto: avoid double free (Michael Dawson) #40380 - [
c14eb2325d
] - deps: upgrade npm to 8.1.2 (npm team) #40643 - [
a901b6c53c
] - deps: update c-ares to 1.18.1 (Richard Lau) #40660 - [
76e2c3769e
] - deps: upgrade npm to 8.1.1 (npm team) #40554 - [
91c3cf5d0a
] - deps: V8: cherry-pick422dc37
(Ray Wang) #40450 - [
769336ab8c
] - deps: add riscv64 config into openssl gypi (Lu Yahan) #40473 - [
76d1b5d868
] - deps: patch V8 to 9.4.146.24 (Michaël Zasso) #40616 - [
23d11a1dd9
] - dgram: fix send with out of bounds offset + length (Nitzan Uziely) #40568 - [
45bdc77dc0
] - doc: update cjs-module-lexer repo link (Guy Bedford) #40707 - [
de5c5c8509
] - doc: remove--experimental-modules
documentation (FrankQiu) #38974 - [
befac5ddd9
] - doc: update tracking issues of startup performance (Joyee Cheung) #40629 - [
3cb74d72f8
] - doc: fix markdown syntax and HTML tag misses (ryan) #40608 - [
eea061f8f1
] - doc: use 'GitHub Actions workflow' instead (Mestery) #40586 - [
7a6e833677
] - doc: add node: url scheme (Daniel Nalborczyk) #40573 - [
d72fb7df4a
] - doc: call cwd function (Daniel Nalborczyk) #40573 - [
d732ff4614
] - doc: remove unused imports (Daniel Nalborczyk) #40573 - [
e2114e21f4
] - doc: add info on project's usage of coverity (Michael Dawson) #40506 - [
d38077babe
] - doc: fix typo in changelogs (Luigi Pinca) #40585 - [
7c7f8791c6
] - doc: update onboarding task (Rich Trott) #40570 - [
0a7c4ff248
] - doc: simplify ccache instructions (Rich Trott) #40550 - [
5593dd1b25
] - doc: fix macOS environment variables for ccache (Rich Trott) #40550 - [
2d4a042675
] - doc: improve async_context introduction (Michaël Zasso) #40560 - [
9fcfef09ac
] - doc: use GFM footnotes in webcrypto.md (Rich Trott) #40477 - [
579f01c0a3
] - doc: describe buffer limit of v8.serialize (Ray Wang) #40243 - [
3b6cf090a0
] - doc: use GFM footnotes in maintaining-V8.md (#40476) (Rich Trott) #40476 - [
dea701004e
] - doc: fixfs.symlink
code example (Juan José Arboleda) #40414 - [
595117ff0b
] - doc: explain backport labels (Stephen Belanger) #40520 - [
042f01e3ed
] - doc: fix entry for Slack channel in onboarding.md (Rich Trott) #40563 - [
755c08573f
] - doc: add VoltrexMaster to collaborators (voltrexmaster) #40566 - [
c029d0b61f
] - doc: document considerations for inclusion in core (Rich Trott) #40338 - [
836fc274e4
] - Revert "doc: fix typo in stream docs" (Luigi Pinca) #40819 - [
b3a12767a4
] - doc: update link in onboarding doc (Rich Trott) #40539 - [
aa47c9f38f
] - doc: clarify behavior of napi_extended_error_info (Michael Dawson) #40458 - [
bf88328bdc
] - doc: add updating expected assets to release guide (Richard Lau) #40470 - [
621266afc7
] - doc: format doc/api/*.md with markdown formatter (Rich Trott) #40403 - [
7b746381ce
] - doc: specify that maxFreeSockets is per host (Luigi Pinca) #40483 - [
934dcc85c3
] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456 - [
4724e07476
] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371 - [
3b1499c971
] - doc: update CHANGELOG.md for Node.js 16.13.0 (Richard Lau) #40617 - [
881dd7ba2a
] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325 - [
0a8c33123e
] - lib,url: correct URL's argument to pass idlharness (Khaidi Chu) #39848 - [
480f0e1d20
] - meta: use form schema for flaky test template (Michaël Zasso) #40737 - [
55ff97342d
] - meta: update AUTHORS (Node.js GitHub Bot) #40668 - [
ef46cb428d
] - meta: consolidate AUTHORS entries for brettkiefer (Rich Trott) #40599 - [
7230b6d33d
] - meta: consolidate AUTHORS entries for alexzherdev (Rich Trott) #40620 - [
9e12ed4f68
] - meta: consolidate AUTHORS entries for Azard (Rich Trott) #40619 - [
97aa8e42b8
] - meta: move Fishrock123 to emeritus (Jeremiah Senkpiel) #40596 - [
7b1c89f357
] - meta: consolidate AUTHORS entries for clakech (Rich Trott) #40589 - [
0003cb6b3b
] - meta: consolidate AUTHORS entries for darai0512 (Rich Trott) #40569 - [
7590bacec1
] - meta: update AUTHORS (Node.js GitHub Bot) #40580 - [
a5475df083
] - meta: consolidate AUTHORS entries for dfabulich (Rich Trott) #40527 - [
c021a7f169
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40464 - [
d64cf1706c
] - meta: add Richard Lau to TSC list in README.md (Rich Trott) #40523 - [
d09b8239bf
] - meta: consolidate AUTHORS entries for dguo (Rich Trott) #40517 - [
66192060e7
] - meta: consolidate AUTHORS entries for cxreg (Rich Trott) #40490 - [
b4f51276cb
] - meta: update AUTHORS (Node.js GitHub Bot) #40485 - [
2a2b549a28
] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469 - [
618bbbf2f4
] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447 - [
06706e8dd2
] - meta: addtypings
to label-pr-config (Mestery) #40401 - [
e2c9e1ccdd
] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430 - [
dab574e937
] - policy: fix message for invalid manifest specifier (Rich Trott) #40574 - [
58de6cebb6
] - process: refactor execution (Voltrex) #40664 - [
bc0eb0a3ea
] - src: make LoadEnvironment with string work with builtin modules path (Michaël Zasso) #40607 - [
2c8a6ec28e
] - src: remove usage ofAllocatedBuffer
fromnode_http2
(Darshan Sen) #40584 - [
59c26a2b2c
] - src: fix #endif description in crypto_keygen.h (Tobias Nießen) #40639 - [
789fef1309
] - src: throw error instead of assertion (Ray Wang) #40243 - [
7a8a6deee7
] - src: register external references in os bindings (Joyee Cheung) #40239 - [
7bb3d43432
] - src: register external references in crypto bindings (Joyee Cheung) #40239 - [
143c881ccb
] - src: add missing inialization in agent.h (Michael Dawson) #40379 - [
c15afda79f
] - src: get embedder options on-demand (Joyee Cheung) #40357 - [
ff3b7d228e
] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405 - [
774bc46327
] - src,crypto: removeAllocatedBuffer
fromcrypto_cipher.cc
(Darshan Sen) #40400 - [
4030eff3d6
] - src,fs: removeToLocalChecked()
call fromfs::AfterMkdirp()
(Darshan Sen) #40386 - [
3ac99a2417
] - src,stream: remove*Check*()
calls from non-Initialize()
functions (Darshan Sen) #40425 - [
36d3b123a0
] - stream: support array of streams in promises pipeline (Mestery) #40193 - [
01ffe0316c
] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838 - [
63b44fc429
] - test: skip macos sandbox test with builtin modules path (Michaël Zasso) #40607 - [
3d50997ccb
] - test: add semicolon after chunk size (Luigi Pinca) #40487 - [
f114e35115
] - test: deflake http2-cancel-while-client-reading (Luigi Pinca) #40659 - [
f778fa230b
] - test: testcrypto.setEngine()
using an actual engine (Darshan Sen) #40481 - [
b9533c592a
] - test: use conventional argument order in assertion (Tobias Nießen) #40591 - [
e72c95c580
] - test: fix test description (Luigi Pinca) #40486 - [
af4e682758
] - test: pass URL's toascii.window.js WPT (Khaidi Chu) #39910 - [
6de88bc5ed
] - test: adjust CLI flags test to ignore blank lines in doc (Rich Trott) #40403 - [
8226690097
] - test: mark test-policy-integrity flaky on Windows (Rich Trott) #40684 - [
50c6666b37
] - test: fix test-datetime-change-notify after daylight change (Piotr Rybak) #40684 - [
9227f2af79
] - test: split test-crypto-dh.js (Joyee Cheung) #40451 - [
c593cff0af
] - test,doc: correct documentation for runBenchmark() (Rich Trott) #40683 - [
aef809f5c8
] - test,tools: increase pummel/benchmark test timeout from 4x to 6x (Rich Trott) #40684 - [
908f6447cd
] - test,tools: increase timeout for benchmark tests (Rich Trott) #40684 - [
64c6575f44
] - tools: simplify and fix commit queue (Michaël Zasso) #40742 - [
cba8eaf264
] - tools: ensure the MR was not pushed before merging (Antoine du Hamel) #40747 - [
1c8590e1fe
] - tools: update ESLint to 8.2.0 (Luigi Pinca) #40734 - [
18800dee0a
] - tools: use GitHub Squash and Merge feature when using CQ (Antoine du Hamel) #40666 - [
48a785edb7
] - tools: fix bug inprefer-primordials
ESLint rule (Antoine du Hamel) #40628 - [
adde2a7a8c
] - tools: add script to update c-ares (Richard Lau) #40660 - [
c12ce898e8
] - tools: abort CQ session when landing several commits (Antoine du Hamel) #40577 - [
dd08e532a2
] - tools: fix commit-lint workflow (Antoine du Hamel) #40673 - [
b4a80dba79
] - tools: avoid fetch extra commits when validating commit messages (Antoine du Hamel) #39128 - [
2a53995442
] - tools: update ESLint to 8.1.0 (Luigi Pinca) #40582 - [
8648e50183
] - tools: fix formatting of warning message in update-authors.js (Rich Trott) #40600 - [
59de0f703f
] - tools: udpate doc tools to accommodate GFM footnotes (Rich Trott) #40477 - [
abf3b84d77
] - tools: add support for import assertions in linter (Antoine du Hamel) #39924 - [
04c2cbecb9
] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445 - [
a9990876f7
] - tools: update lint-md dependencies (Rich Trott) #40404 - [
f45814bad1
] - tools,meta: remove exclusions from AUTHORS (Rich Trott) #40648 - [
7d550ad966
] - tty: support more CI services ingetColorDepth
(Richie Bendall) #40385 - [
cdea5b671b
] - typings: add more bindings typings (Mestery) #40415 - [
67c7d11f1a
] - typings: add JSDoc typings for inspector (Voltrex) #38390 - [
fbe0323ebf
] - typings: improve internal bindings typings (Mestery) #40411 - [
63ab0031c3
] - typings: separateinternalBinding
typings (Mestery) #40409
v16.13.0
Notable Changes
This release marks the transition of Node.js 16.x into Long Term Support (LTS) with the codename 'Gallium'. The 16.x release line now moves into "Active LTS" and will remain so until October 2022. After that time, it will move into "Maintenance" until end of life in April 2024.
v16.12.0
Notable Changes
Experimental ESM Loader Hooks API
Node.js ESM Loader hooks have been consolidated to represent the steps involved needed to facilitate future loader chaining:
-
resolve
:resolve
[+getFormat
] -
load
:getFormat
+getSource
+transformSource
For consistency, getGlobalPreloadCode
has been renamed to globalPreload
.
A loader exporting obsolete hook(s) will trigger a single deprecation warning (per loader) listing the errant hooks.
Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - https://github.com/nodejs/node/pull/37468
Other Notable Changes
- [
8fdabcb918
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
d1d9f2de30
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
4116b6c907
] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
Commits
- [
8bb3951e41
] - build: remove duplicate check for authors.yml (Rich Trott) #40393 - [
2de57edced
] - build: make scripts in gyp run with right python (Cheng Zhao) #39730 - [
a8926d199d
] - crypto: remove incorrect constructor invocation (gc) #40300 - [
8fdabcb918
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
dca5ac1539
] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343 - [
91c3bf6a7f
] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374 - [
7e02124a06
] - dgram: addnread
assertion toUDPWrap::OnRecv
(Darshan Sen) #40295 - [
2d409ed29e
] - dns: refactor and use validators (Voltrex) #40022 - [
dc7291dab8
] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408 - [
85b7385115
] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412 - [
1d5857c9f4
] - doc: format changelogs (Rich Trott) #40388 - [
5eb9402b50
] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396 - [
6f77d1a1d5
] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381 - [
93a48e02dc
] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402 - [
fb7afb91c2
] - doc: format doc/guides using format-md task (Rich Trott) #40358 - [
6c091c7878
] - doc: improve phrasing in fs.md (Arslan Ali) #40255 - [
38d81380ac
] - doc: add link to core promises tracking issue (Michael Dawson) #40355 - [
71a94aa82a
] - doc: correct ESM load hook table header (Jacob Smith) #40234 - [
5b074affb4
] - doc: fix typo in esm.md (Mason Malone) #40273 - [
3b3aaa0a37
] - doc: fix typo in ESM example (Tobias Nießen) #40275 - [
f848553fb8
] - doc: assign missing deprecation number (Michaël Zasso) #40324 - [
d1d9f2de30
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
1ef2cf8413
] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304 - [
3743406b0a
] - (SEMVER-MINOR) esm: consolidate ESM loader hooks (Jacob Smith) #37468 - [
168020e1c8
] - lib: refactor to use let (gdccwxx) #40364 - [
bcd59d70bb
] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420 - [
80b4245db8
] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406 - [
93cecb4700
] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391 - [
fff3135909
] - meta: update AUTHORS (Node.js GitHub Bot) #40392 - [
122481713d
] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387 - [
7f50313fcc
] - meta: update label-pr-config (Mestery) #40199 - [
5668182665
] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367 - [
bc86084a3e
] - net: check if option is undefined (Daijiro Wachi) #40344 - [
4564a93e5e
] - net: remove unused ObjectKeys (Daijiro Wachi) #40344 - [
dbb2e6f429
] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344 - [
a672be57c8
] - net: throw error to object mode in Socket (Daijiro Wachi) #40344 - [
faf9e28c36
] - src: remove usage ofAllocatedBuffer
fromstream_*
(Darshan Sen) #40293 - [
857af2ba99
] - src: add missing initialization (Michael Dawson) #40370 - [
2bfa87edbc
] - stream: fix fromAsyncGen (Robert Nagy) #40499 - [
1e15137e71
] - test: replace common port with specific number (Daijiro Wachi) #40344 - [
6f6b99c302
] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389 - [
641b1bb052
] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359 - [
07dae7ff50
] - test: replace .then chains with await (gdccwxx) #40348 - [
d8a36ee1de
] - test: fix "test/common/debugger" identify async function (gdccwxx) #40348 - [
13d6a56c7d
] - test: improve test coverage offs.ReadStream
withFileHandle
(Antoine du Hamel) #40018 - [
50f91ab059
] - tools: udpate @babel/eslint-parser (Rich Trott) #40394 - [
3611073145
] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394 - [
b72d693a3a
] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394 - [
d6a99b77da
] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394 - [
d9157aa5fe
] - tools: update ESLint to 8.0.0 (Rich Trott) #40394 - [
43b97c7984
] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394 - [
282b6eb4b0
] - tools: fix ESLint update scripts (Rich Trott) #40394 - [
c3a744f7bf
] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304 - [
7733b5e55d
] - typings: define types for os binding (Michaël Zasso) #40222 - [
ca9a854877
] - typings: add missing types to options and util bindings (Michaël Zasso) #40222 - [
c3a7a0bd59
] - typings: define types for timers binding (Michaël Zasso) #40222 - [
65b51d05fa
] - typings: fix declaration of primordials (Michaël Zasso) #40222 - [
5f3f3a5128
] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226 - [
4116b6c907
] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
v16.11.1
This is a security release.
Notable changes
-
CVE-2021-22959: HTTP Request Smuggling due to spaced in headers (Medium)
- The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS). More details will be available at CVE-2021-22959 after publication.
-
CVE-2021-22960: HTTP Request Smuggling when parsing the body (Medium)
- The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
Commits
- [
af488f8dc8
] - deps: update llhttp to 6.0.4 (Matteo Collina) nodejs-private/node-private#284 - [
2d1eefad98
] - http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#284 - [
45d419ab1c
] - http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#284
v16.11.0
Notable Changes
-
crypto
- update root certificates (Richard Lau) #40280
- deps
-
tools
- update certdata.txt (Richard Lau) #40280
Commits
- [
34f3021ca3
] - benchmark: addutil.toUSVString()
's benchmark (Khaidi Chu) #40203 - [
f83b9bcb6f
] - build: support Python 3.10.0 (FrankQiu) #40296 - [
3148f9b64e
] - build: check for duplicates in new AUTHORS entries (Rich Trott) #40264 - [
48c162d457
] - build: set DESTCPU correctly for 'make binary' on Apple Silicon (Chris Heisterkamp) #40147 - [
7fbfb66d41
] - build: limit update authors CI scope (Jiawen Geng) #40219 - [
a1bee94502
] - build: pass a tuple of alternatives to str.endswith() (Christian Clauss) #40017 - [
eaf9d08332
] - build: add --no-user for pip commands in Makefile (Rich Trott) #40169 - [
e22ca06ac4
] - build: fix "test-internet.yml" workflows (SURYAMRATAP SINGH SURYAVANSHI) #40177 - [
4da73d09bf
] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #40285 - [
4b117fbc81
] - console: use validators for consistency (Voltrex) #39812 - [
6489423187
] - console: avoid unnecessary variables (Pancake) #40183 - [
9af2592e69
] - crypto: update root certificates (Richard Lau) #40280 - [
2fa5e5011f
] - crypto: handle initEDRaw pkey failure (Shelley Vohr) #40188 - [
7968c79301
] - crypto: don't call callback twice in case crypto.randomBytes fails (Guilherme Bernal) #40157 - [
b89c7ae297
] - deps: upgrade npm to 8.0.0 (npm team) #40369 - [
947f3dc9af
] - deps: V8: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296 - [
685c7d43a5
] - (SEMVER-MINOR) deps: updatenghttp2
to v1.45.1 (thunder-coding) #40206 - [
e7046e0ff1
] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470 - [
a3db2033d4
] - (SEMVER-MINOR) deps: make V8 9.4 abi-compatible with 9.0 (Michaël Zasso) #40285 - [
5cc24e6d76
] - deps: V8: cherry-pick9a60704
(Jiawen Geng) #40046 - [
8de5eb88d3
] - deps: V8: cherry-pick5681a65
(Michaël Zasso) #39945 - [
150d816edb
] - deps: V8: cherry-pickbdcda72
(Michaël Zasso) #39945 - [
807b68b430
] - deps: V8: cherry-pick00bb1a7
(Darshan Sen) #39829 - [
be016948df
] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990 - [
22dcd3e4dc
] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587 - [
1aea6a771b
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #40060 - [
e9812157f0
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
88ae710057
] - deps: V8: forward declaration ofRtl*FunctionTable
(Refael Ackermann) #32116 - [
e810f0766f
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
b8aabd5622
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
309c4f05df
] - (SEMVER-MINOR) deps: update V8 to 9.4.146.19 (Michaël Zasso) #40285 - [
69eaaf6321
] - doc: format general markdown files (Rich Trott) #40322 - [
dc9c31985c
] - doc: fix the inline code-block at the NodeDhKeyGenParams class (Justin) #40341 - [
8d0546db39
] - doc: correct the codeblock forhmacImportParams.hash
(Justin) #40340 - [
1db2ffd008
] - doc: fix typo in stream docs (Juan José Arboleda) #40337 - [
abfcbcd14c
] - doc: update fast-track approval comment request (voltrexmaster) #40316 - [
e2cd2f44f2
] - doc: fix CVE-2021-22940 references (Michaël Zasso) #40308 - [
88bdbf1e29
] - doc: format markdown files in test directory (Rich Trott) #40290 - [
f71ac57a86
] - doc: add triagers to the table of contents (FrankQiu) #39969 - [
a5218b5313
] - doc: update Forrest Norvell's pronouns (Forrest L Norvell) #40292 - [
d2e54e5d0c
] - doc: reorder stream 'readable' paragraphs (Vincent Weevers) #40212 - [
1d0a3e1a0c
] - doc: fix typo in fs (Brian White) #40257 - [
66edb7bfe1
] - doc: fix typo in fs.md (Arslan Ali) #40254 - [
614a7c21f8
] - doc: fix typo in packages.md (Arslan Ali) #40230 - [
9fa6dfbe76
] - doc: fix example of crypto.generateKeySync (Gary Ho) #40225 - [
9a2b94a142
] - doc: update fs.watchFile doc (Clément Nardi) #40134 - [
a68f91c884
] - doc: add version when diagnostics_channel APIs were added (Gerhard Stöbich) #40208 - [
6bf67909ad
] - doc: fix typo in 'maxHeaderSize' (Rebhi Alfa) #40164 - [
73a127ba7b
] - doc: fix buffer api example code's token error (m3m0ry) #40125 - [
59db8293f4
] - doc: fix typo inasync_hooks.md
(xuchaobei) #40187 - [
779dfd199b
] - doc: make version picker usable on mobile (Evan Lucas) #39958 - [
7bd62f4809
] - doc: fix typos in http.md (Luigi Pinca) #40161 - [
94b415b980
] - doc: add blank line between comments (Rich Trott) #40160 - [
847b451d88
] - doc: update markdown files in src for upcoming linting/formatting (Rich Trott) #40159 - [
cea7395858
] - doc: update benchmarks README.md for upcoming linting/formatting (Rich Trott) #40158 - [
c231745837
] - doc: prepare markdown file for upcoming formatting/linting (Rich Trott) #40156 - [
7e58cda6e0
] - doc: update tools .md files for upcoming lint/formatting (Rich Trott) #40155 - [
02a87b096c
] - doc: update markdown formatting for *.md files (Rich Trott) #40154 - [
9b0e61a67f
] - doc,src: update crypto/README.md (Tobias Nießen) #40332 - [
88e7bd073a
] - events: allow dispatch many times without listener (MrBBot) #39772 - [
c7f3294d02
] - (SEMVER-MINOR) fs: add stream utilities toFileHandle
(Antoine du Hamel) #40009 - [
555af5b808
] - http: remove 'data' and 'end' listener if client parser error (Matteo Collina) #40244 - [
22725f5bdd
] - http: use 0 as default for requests limit (Artur K) #40192 - [
3d5eba8042
] - lib: refactor to avoid unsafe array iteration (Antoine du Hamel) #40271 - [
547fc86371
] - lib: usevalidateArray
(Voltrex) #39774 - [
a37527ce8f
] - meta: add mailmap entry for ratracegrad (Rich Trott) #40291 - [
a75a8f2ca0
] - meta: update AUTHORS (Node.js GitHub Bot) #40289 - [
66ab278bae
] - meta: add .mailmap entry for Jimbly (Rich Trott) #40267 - [
e040f2cf0d
] - meta: add .mailmap entry for daguej (Rich Trott) #40223 - [
d64740fbb3
] - meta: update AUTHORS (Node.js GitHub Bot) #40217 - [
9ee9e41f5c
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #40115 - [
da6c82b425
] - meta: update gdams contact information (Rich Trott) #40233 - [
a660017915
] - meta: add .mailmap entry for kunalspathak (Rich Trott) #40202 - [
4d46bde22e
] - meta: add mailmap entry for ralphtheninja (Rich Trott) #40153 - [
b856886d00
] - meta: update mailmap for LakshmiSwethaG (Rich Trott) #40172 - [
972d921855
] - module: fix ERR_REQUIRE_ESM for parentPath null (Guy Bedford) #40145 - [
344c03b2e6
] - repl: skip EmptyStatements and return result with TLA (Mestery) #40194 - [
b694b0ca52
] - src: useAs()
instead ofCast()
for conversions (Darshan Sen) #40287 - [
383dbe940d
] - src: implement changes suggested by @addaleax (kokke) #40128 - [
a6112dd1de
] - src: fix time-of-use vs time-of-check "bugs" (kokke) #40128 - [
bbf1ed7c78
] - src: remove AllocatedBuffer from crypto_common.cc (Darshan Sen) #40213 - [
528f9228fd
] - src: remove usage of AllocatedBuffer from udp_wrap.cc (Darshan Sen) #40151 - [
d36127d862
] - src: moveToUSVString()
to node_util.cc (Khaidi Chu) #40204 - [
bddf8c28d9
] - src,crypto: eliminate code duplication between StatelessDiffieHellman* (Darshan Sen) #40084 - [
6a8689f1f9
] - test: fix typo in test/common/index.js (Tobias Nießen) #40297 - [
dc0c2744cf
] - test: suppress compiler warning in test_bigint (Daniel Bevenius) #40253 - [
18820bfa58
] - tools: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296 - [
8d7710e6c3
] - tools: update rollup entry in lint-md package.json (FrankQiu) #40281 - [
7bb4dc2406
] - tools: update certdata.txt (Richard Lau) #40280 - [
f31b0c9700
] - tools: update remark-preset-lint-node to 3.2.0 (Rich Trott) #40278 - [
9c4e7a5158
] - tools: fix lint-md autolinking (Rich Trott) #40181 - [
26db6db87f
] - tools: implement markdown formatting (Rich Trott) #40181 - [
67812e8c65
] - tools: re-implement lint-md without unified-args (Rich Trott) #40180 - [
0232f94175
] - tools: update remark-preset-lint-node to 3.1.0 (Rich Trott) #40166 - [
80fdedd184
] - tools: fix find-inactive-collaborators for recent README change (Rich Trott) #40163 - [
ebf17102d1
] - tools: extend default yamllint config (Michaël Zasso) #40150 - [
f7c82749a7
] - tools: update V8 gypfiles for 9.4 (Michaël Zasso) #39945 - [
dd39422b8b
] - typings: define types for symbols binding (Michaël Zasso) #40143 - [
ced8467e20
] - typings: define types for worker and messaging bindings (Michaël Zasso) #40143 - [
66d3101677
] - (SEMVER-MINOR) util: improve ansi escape code regex (Colin Ihrig) #40214 - [
f4164fa4c3
] - (SEMVER-MINOR) util: expose stripVTControlCharacters() (Colin Ihrig) #40214
v16.10.0
Notable Changes
- [
fb226ff2ee
] - (SEMVER-MINOR) crypto: add rsa-pss keygen parameters (Filip Skokan) #39927 - [
85206b7311
] - deps: upgrade npm to 7.24.0 (npm team) #40167 - [
98f56d179c
] - deps: update Acorn to v8.5.0 (Michaël Zasso) #40015 - [
9655329772
] - doc: add Ayase-252 to collaborators (Qingyu Deng) #40078 - [
59fff925be
] - (SEMVER-MINOR) fs: makeopen
andclose
stream override optional when unused (Antoine du Hamel) #40013 - [
a63a4bce90
] - (SEMVER-MINOR) http: limit requests per connection (Artur K) #40082- The maximum number of requests a socket can handle before closing keep alive connection can be set with
server.maxRequestsPerSocket
.
- The maximum number of requests a socket can handle before closing keep alive connection can be set with
- [
9a672961fa
] - (SEMVER-MINOR) src: add --no-global-search-paths cli option (Cheng Zhao) #39754- Adds the
--no-global-search-paths
command-line option to not search modules from global paths like$HOME/.node_modules
and$NODE_PATH
.
- Adds the
- [
fe920b6cbf
] - (SEMVER-MINOR) src: make napi_create_reference accept symbol (JckXia) #39926 - [
97f3072ceb
] - (SEMVER-MINOR) stream: add signal support to pipeline generators (Robert Nagy) #39067
Commits
- [
b7dc651884
] - build: run modified internet tests on GitHub Actions (Rich Trott) #40100 - [
8d5787a043
] - build: add .mailmap/AUTHORS to paths-ignore for test-macos (Rich Trott) #40109 - [
9793e7ff08
] - build: add .mailmap/AUTHORS to path-ignore for test-asan (Rich Trott) #40109 - [
886921de38
] - build: add paths-ignore for build-tarball workflow (Rich Trott) #40109 - [
01b1946b38
] - build: only lint version numbers for pull requests (Michaël Zasso) #40027 - [
c804d070a6
] - build: add daily/on-demand internet test workflow (Rich Trott) #40086 - [
7bddaecbf4
] - build: add YAML linting to GitHub Actions (Rich Trott) #40007 - [
5a20f9055c
] - build: add YAML linting (Rich Trott) #40007 - [
0b30867c08
] - build: run AUTHORS update weekly (Rich Trott) #40004 - [
22a78a75ee
] - build: preserves symbols during LTO with macOS linker (Jesse Chan) #39839 - [
f0dec58d43
] - crypto: fix webcrypto ed(25519|448) spki/pkcs8 import (Filip Skokan) #40131 - [
d80082f3eb
] - crypto: usevalidateObject
(Voltrex) #39872 - [
d657ae6f8a
] - crypto: fix RSA-PSS default saltLength (Tobias Nießen) #39999 - [
fc45cbe7a8
] - crypto: fix default MGF1 hash for OpenSSL 3 (Tobias Nießen) #40031 - [
105c9e6d3b
] - crypto: check webcrypto asymmetric key types during importKey (Filip Skokan) #39962 - [
fb226ff2ee
] - (SEMVER-MINOR) crypto: add rsa-pss keygen parameters (Filip Skokan) #39927 - [
85206b7311
] - deps: upgrade npm to 7.24.0 (npm team) #40167 - [
06f6e01f37
] - deps: add riscv64 into openssl Makefile and gen openssl-riscv64 (Lu Yahan) #40063 - [
9c76c69972
] - deps: patch V8 to 9.3.345.19 (Michaël Zasso) #40108 - [
0df47d5843
] - deps: upgrade npm to 7.23.0 (npm team) #40055 - [
b3843bf417
] - deps: patch v8 for vs2019 in std17 (Jiawen Geng) #40060 - [
67759585a0
] - deps: patch for v8 on windows (Jiawen Geng) #40010 - [
98f56d179c
] - deps: update Acorn to v8.5.0 (Michaël Zasso) #40015 - [
5c6708582e
] - dns: cleanup validation (Voltrex) #40061 - [
e4825dcfd5
] - doc: changes default values for fs.read fns (RISHABH BUDHIRAJA) #39163 - [
0254b4b0d3
] - doc: fix markdown indentation in lists (Michaël Zasso) #40142 - [
b6939a3419
] - doc: prepare README.md for stricter linting (Rich Trott) #40137 - [
a07d8444f9
] - doc: fix comma splice (Rich Trott) #40133 - [
2488bc0c4f
] - doc: clean up weird notes about reentrancy (Anna Henningsen) #40107 - [
8b80dcbc30
] - doc: correct parameters in fs and stream documentation (vipul kumar) #39984 - [
1ced732078
] - doc: fix CJS-ESM selector in Safari (Bradley Farias) #40135 - [
7fdb12739d
] - doc: add timeout.close (Nikita Galkin) #40036 - [
81cb14bb58
] - doc: clarify that ObjectWrap requires manual cleanup on shutdown (Gerhard Stöbich) #40074 - [
8aad81dd99
] - doc: add full list of subsystems (FrankQiu) #39971 - [
9655329772
] - doc: add Ayase-252 to collaborators (Qingyu Deng) #40078 - [
6d399e11e9
] - doc: fix CCM cipher example in MJS (Tobias Nießen) #39949 - [
d426ee9b17
] - doc: fix property name 'detail' of performanceEntry (Christian Boehlke) #40019 - [
846e7e880e
] - doc: fix list indentation in corepack.md (Alexey Ten) #40029 - [
b6dd2ea930
] - doc: fix missing history version infs.md
(Antoine du Hamel) #39972 - [
f666f5a8d1
] - events: fix duplicate require which cause performance penalty (wwwzbwcom) #39892 - [
59fff925be
] - (SEMVER-MINOR) fs: makeopen
andclose
stream override optional when unused (Antoine du Hamel) #40013 - [
a63a4bce90
] - (SEMVER-MINOR) http: limit requests per connection (Artur K) #40082 - [
bc9c2ca6af
] - http: remove CRLF variable (shfshanyue) #40101 - [
dd50b91f77
] - lib: remove useless statement (Maledong) #39983 - [
608528028c
] - lib: avoid creating a throw away object invalidateObject
(Antoine du Hamel) #39807 - [
edcfffeaea
] - lib: use standard property names (null) #39981 - [
640353af86
] - lib,repl: ignore non-canBeRequiredByUsers built-in (Khaidi Chu) #39942 - [
4444b5c938
] - meta: update AUTHORS (Node.js GitHub Bot) #40148 - [
4993318862
] - meta: update GeoffreyBooth email addresses in AUTHORS and .mailmap (Rich Trott) #40132 - [
98d42fa1f4
] - meta: add mailmap entry for LPardue (Rich Trott) #40129 - [
effdfa91be
] - meta: update GeoffreyBooth email address (Geoffrey Booth) #40102 - [
588257c00a
] - meta: add .mailmap entry for arcanis (Rich Trott) #40103 - [
7ee3fbd1e0
] - meta: update AUTHORS (Node.js GitHub Bot) #40087 - [
2a41530a5e
] - meta: consolidate AUTHORS entry for mikemaccana (Rich Trott) #40051 - [
a71579b05e
] - meta: add more mailmap entries for bajtos (Rich Trott) #40023 - [
29104f5e64
] - meta: consolidate AUTHORS entries for mithunsasidharan (Rich Trott) #40003 - [
381293f54a
] - meta: update AUTHORS (Node.js GitHub Bot) #39957 - [
1eca9bc5b2
] - module: support pattern trailers for imports field (Guy Bedford) #40041 - [
7376edca6d
] - module: deprecate trailing slash pattern mappings (Guy Bedford) #40039 - [
92f182b23d
] - module: fix $ pattern replacements (Guy Bedford) #40044 - [
d6124d8259
] - repl: fix top level await with surrogate characters (Mestery) #39931 - [
9a672961fa
] - (SEMVER-MINOR) src: add --no-global-search-paths cli option (Cheng Zhao) #39754 - [
51f9ad4897
] - (SEMVER-MINOR) src: add option to disable global search paths (Cheng Zhao) #39754 - [
95528b284d
] - src: remove unnecessary comment and add a CHECK in crypto_tls.cc (Darshan Sen) #39991 - [
31994fbf8e
] - src: register zlib external references for snapshot (Joyee Cheung) #40050 - [
cfcd57182b
] - src: fix -Wunreachable-code-return error (Shelley Vohr) #40034 - [
9f3a015b60
] - src: add option to disable loading native addons (Dominic Elm) #39977 - [
570bef1710
] - Revert "src: skip test_fatal/test_threads for Debug builds" (Anna Henningsen) #39954 - [
842f936e04
] - src: use Isolate::TryGetCurrent where appropriate (Anna Henningsen) #39954 - [
fe920b6cbf
] - (SEMVER-MINOR) src: make napi_create_reference accept symbol (JckXia) #39926 - [
73aa4e34ff
] - src: fix C4805 MSVC warning (Michaël Zasso) #39998 - [
826eee363c
] - src: register external references of PipeWrap for snapshot (Joyee Cheung) #39961 - [
7a17cbfdea
] - src: register external references of TTYWrap for snapshot (Joyee Cheung) #39961 - [
00cca48081
] - src: register external references of TCPWrap for snapshot (Joyee Cheung) #39961 - [
6095fb07b6
] - src: register external references of SignalWrap for snapshot (Joyee Cheung) #39961 - [
db75711c5c
] - src: register missing process methods external references (Joyee Cheung) #39961 - [
b4e074c295
] - src: register missing stream wrap external references (Joyee Cheung) #39961 - [
a2c1c3ef64
] - src: register external references of BaseObject for snapshot (Joyee Cheung) #39961 - [
6fdf02523e
] - src: register external references of node-report for snapshot (Joyee Cheung) #39961 - [
bef78a2f88
] - src: register external references of dtrace for snapshot (Joyee Cheung) #39961 - [
97f3072ceb
] - (SEMVER-MINOR) stream: add signal support to pipeline generators (Robert Nagy) #39067 - [
6be405bd7b
] - test: fix test-dgram-udp6-link-local-address on Windows (Michaël Zasso) #40005 - [
ec94bec9a3
] - test: do not runtest-corepack-yarn-install
with no internet (Antoine du Hamel) #40090 - [
4aa2610252
] - test: update OpenSSL3 error messages for 3.0.0+quic (Daniel Bevenius) #40093 - [
4367a61a9b
] - test: mark test-crypto-timing-safe-equal-benchmarks flaky (Richard Lau) #40065 - [
5b5e27281c
] - test: fix internet/test-dns (Rich Trott) #40083 - [
67bbfeb7e1
] - test: make tests pass on Windows with Unix EOL (Michaël Zasso) #40002 - [
a8c99d9f09
] - tools: update doc generator dependencies (Michaël Zasso) #40042 - [
ec6de1195a
] - tools: update ansi-regex in lint-md rollup (Rich Trott) #40112 - [
d55804ca4e
] - tools: update all dependencies of markdown linter (Michaël Zasso) #40035 - [
f03bae7c82
] - tools: update remark-html to v13.0.2 (Michaël Zasso) #40043 - [
99af21292f
] - tools,build: update YAML files in preparation for linting (Rich Trott) #40007 - [
590ace418d
] - tools,doc: fix misrendering of consecutive JS blocks (Rich Trott) #40146 - [
5983568204
] - worker: avoid potential deadlock on NearHeapLimit (Santiago Gimeno) #38403
v16.9.1
Notable Changes
This release fixes a regression introduced by the V8 9.3 update in Node.js 16.9.0.
Commits
- [
04f1943109
] - deps: V8: cherry-pick9a60704
(Jiawen Geng) #40046
v16.9.0
Notable Changes
Corepack
Node.js now includes Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, Corepack will let you use Yarn and pnpm without having to install them - just like what currently happens with npm, which is shipped in Node.js by default. Please head over to the Corepack documentation page for more information on how to use it.
Contributed by Maël Nison - #39608
V8 9.3
V8 is updated to version 9.3, which includes performance improvements and new JavaScript features.
Object.hasOwn
Object.hasOwn
is a static alias for Object.prototype.hasOwnProperty.call
:
Object.hasOwn({ value: 42 }, 'value'); // Returns `true`.
Error cause
Errors can now be optionally constructed with a cause
option, pointing to another error.
This adds a cause
property on the new error:
const error1 = new Error('Error one');
const error2 = new Error('Error two', { cause: error1 });
// error2.cause === error1
Contributed by Michaël Zasso - #39947
Other Notable Changes
- [
34c627e4bc
] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851 - [
20da0a5379
] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635 - [
cb44781371
] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029
Commits
- [
2343c394fb
] - async_hooks: use resource stack for AsyncLocalStorage run (Stephen Belanger) #39890 - [
00951827cd
] - Revert "build: add windows-2022 to GitHub test matrix" (Michaël Zasso) #39982 - [
e7834535b3
] - build: add windows-2022 to GitHub test matrix (Michaël Zasso) #39857 - [
c49b0c0dd4
] - build: add support for Visual Studio 2022 (Michaël Zasso) #39857 - [
afdb665e57
] - build: fix find-inactive-collaborators workflow token (Rich Trott) #39909 - [
0ff88f362f
] - build: update token used for pull requests (Rich Trott) #39907 - [
beca890330
] - build: adapt v8_pch.h to V8 9.3 (Michaël Zasso) #39469 - [
2170346aa3
] - build: reset embedder string to "-node.0" (Michaël Zasso) #39947 - [
d33ab968ab
] - cluster: fix comment regarding child_process file (Yash Ladha) #39308 - [
585199497f
] - crypto: fix regression in RSA-PSS keygen (Tobias Nießen) #39937 - [
34c627e4bc
] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851 - [
1dd91582da
] - crypto: fix rsa-pss one-shot sign/verify error handling (Filip Skokan) #39830 - [
20cf47004e
] - crypto: fix JWK RSA-PSS SubtleCrypto.exportKey (Filip Skokan) #39828 - [
e25dc8e470
] - deps: upgrade npm to 7.21.1 (npm team) #39904 - [
9270684837
] - deps: update archs files for OpenSSL-1.1.1l+quic (Richard Lau) #39867 - [
4b5bbec6cc
] - deps: upgrade openssl sources to OpenSSL_1_1_1l+quic (Richard Lau) #39867 - [
71659fd4ba
] - (SEMVER-MINOR) deps: add corepack (Maël Nison) #39608 - [
7470db0dfb
] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470 - [
92d83d18d2
] - deps: make V8 9.3 abi-compatible with 9.0 (Michaël Zasso) #39947 - [
0140face81
] - deps: V8: cherry-pick00bb1a7
(Darshan Sen) #39829 - [
3e1053e755
] - deps: V8: cherry-pick81814ed
(Stephen Belanger) #39719 - [
d9d0104878
] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990 - [
cd9b03ea40
] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587 - [
b83cab712f
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
068824d754
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
54f4f1af50
] - deps: V8: forward declaration ofRtl*FunctionTable
(Refael Ackermann) #32116 - [
10ba1cb8b2
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
3ce6f72124
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
f43c292520
] - (SEMVER-MINOR) deps: update V8 to 9.3.345.16 (Michaël Zasso) #39947 - [
9e782eb758
] - doc: remove {C,Dec}ompressionStream documentation (Luigi Pinca) #39899 - [
7857e9cc77
] - doc: add descriptions about whenoptions.mode
is ignored (Ray) #39881 - [
d43b555047
] - doc: remove danbev from TSC member list (Daniel Bevenius) #39978 - [
fc01dd916e
] - doc: add missing changes to generateKeyPair(Sync) (Tobias Nießen) #39963 - [
953f2e9f88
] - doc: add nodejs/tweet issue creation to sec. doc (Daniel Bevenius) #39940 - [
29c4b07716
] - doc: update WASI example to use import.meta.url (Guy Bedford) #39925 - [
9eb4a70c14
] - doc: move reference to OpenSSL flags SSL_OP_* (Tobias Nießen) #39935 - [
8ea4befc82
] - doc: add docs for duplex.allowHalfOpen property (Tim Perry) #39126 - [
bc2b73ec9b
] - doc: add FrankQiu to a triager (FrankQiu) #39922 - [
8b68f8ec38
] - doc: add VoltrexMaster to triagers (voltrexmaster) #39920 - [
3a8f77ac0d
] - doc: document JavaScript tool for benchmark comparison (Michaël Zasso) #39835 - [
4ac703ca8e
] - doc: add Mesteery to triagers (Mestery) #39887 - [
d059a5186b
] - doc: update maintaining openssl guide (Richard Lau) #39878 - [
486150580c
] - doc: move ERR_WORKER_UNSPPORTED_EXTENSION to legacy (Qingyu Deng) #39788 - [
a4b8c13798
] - events: protect property defs against prototype polution (James M Snell) #39773 - [
cfbe9065ae
] - events: add brand checks for detached accessors (James M Snell) #39773 - [
112af69194
] - fs: add docs and tests forAsyncIterable
support infh.writeFile
(Antoine du Hamel) #39836 - [
402071bc45
] - meta: remove duplicate AUTHORS entry for NigelKibodeaux (Rich Trott) #39967 - [
3588f07603
] - meta: add mailmap entry for Ethan-Arrowood (Rich Trott) #39930 - [
259e0cf4d7
] - meta: add mailmap entry for branisha (Rich Trott) #39889 - [
bc236a6714
] - meta: update .mailmap to remove duplicate AUTHORS entry for addaleax (Rich Trott) #39880 - [
20da0a5379
] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635 - [
879dc4658e
] - src: remove usage of AllocatedBuffer from src/node_buffer.cc (Darshan Sen) #39941 - [
79ce096470
] - src: remove extra semicolons outside fns (Shelley Vohr) #39800 - [
cb44781371
] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029 - [
ca9b781d20
] - test: useassert.match
instead ofregexp.test
(Michaël Zasso) #39928 - [
007e2855af
] - test: use error code mapping in place of raw errno (Darshan Sen) #38675 - [
00529b0ef2
] - test: add test to verify other extension can be loaded by worker (Qingyu Deng) #39788 - [
4e7212c88c
] - test: update error message keywords (leeight) #39826 - [
549d717722
] - test: adapt test-fs-read to V8 9.3 (Michaël Zasso) #39469 - [
644b25e068
] - test: adapt test-util-inspect to V8 9.3 (Michaël Zasso) #39469 - [
105bff9ea5
] - test: adapt test-v8-flags to V8 9.3 (Michaël Zasso) #39469 - [
d92bd9a982
] - tools: add support for import assertions in linter (Antoine du Hamel) #39924 - [
9763561e30
] - tools: update gyp-next to v0.10.0 (Michaël Zasso) #39857 - [
9f105c73fc
] - tools: update V8 gypfiles for 9.3 (Michaël Zasso) #39469 - [
16271d2f50
] - worker: remove file extension check (Qingyu Deng) #39788 - [
3b1ce93e03
] - worker: add brand checks for detached MessageEvent accessors (James M Snell) #39773
v16.8.0
Notable Changes
- [
2e90b10f35
] - doc: deprecate type coercion fordns.lookup
options (Antoine du Hamel) #38906 - [
a6d50a18a0
] - (SEMVER-MINOR) stream: addstream.Duplex.from
utility (Robert Nagy) #39519 - [
af7047a815
] - (SEMVER-MINOR) stream: addisDisturbed
helper (Robert Nagy) #39628 - [
66400374de
] - (SEMVER-MINOR) util: exposetoUSVString
(Robert Nagy) #39814
Commits
- [
90bf247a55
] - build: fix update authors commit (Mestery) #39858 - [
c968372e37
] - build: add authors.yml (Tierney Cyren) #35831 - [
3f284cf65c
] - build: add option to hide console window (Cheng Zhao) #39712 - [
a01e3ab41d
] - deps: V8: cherry-pick00bb1a7
(Darshan Sen) #39829 - [
cce95c4c5b
] - deps: upgrade npm to 7.21.0 (Myles Borins) #39813 - [
254810a22e
] - doc: add duplicate CVE check in sec. release doc (Daniel Bevenius) #39845 - [
8c50d16712
] - doc: improve description of the triagers team (Michaël Zasso) #39833 - [
c02165d992
] - doc: update instructions for cc (Michael Dawson) #39674 - [
208305fd8f
] - doc: move util.toUSVString() outside of deprecated group (Luigi Pinca) #39840 - [
2e90b10f35
] - doc: deprecate type coercion fordns.lookup
options (Antoine du Hamel) #38906 - [
8460a3216c
] - doc: deprecate using non-boolean values in theverbatim
option (Antoine du Hamel) #38906 - [
3041d57201
] - doc: fix malformed changelog entries (Rich Trott) #39791 - [
2b02f747c3
] - doc: fix lint errors in packages.md (Rich Trott) #39792 - [
a387600d8f
] - doc: add example of self-reference in scoped packages (Jesús Leganés-Combarro 'piranna) #37630 - [
7a25bf3a6d
] - doc: add himadriganguly as a triager (Himadri Ganguly) #39757 - [
d1900f43ce
] - fs: combine require() and destructure (Colin Ihrig) #39806 - [
158d4464d2
] - meta: add gyp as owner of gyp files and tools/gyp (Mary Marchini) #34847 - [
8fa38500f2
] - policy: canonicalize before resolving specifiers (Bradley Farias) #37863 - [
a7a217be13
] - repl: fix tla function hoisting (Don Jayamanne) #39745 - [
3a8399ee61
] - src: return Maybe<bool> from InitializeContextRuntime() (Darshan Sen) #39695 - [
a704c9dfce
] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768 - [
0918ea0683
] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768 - [
a6d50a18a0
] - (SEMVER-MINOR) stream: duplexify (Robert Nagy) #39519 - [
af7047a815
] - (SEMVER-MINOR) stream: add isDisturbed helper (Robert Nagy) #39628 - [
f98311a7c8
] - tools: update workflow to open a pull request (Rich Trott) #39825 - [
d33f897509
] - tools: use find-inactive-collaborators to modify README.md (Rich Trott) #39825 - [
d82ee96861
] - tools: update gyp-next to v0.9.5 (Jiawen Geng) #39818 - [
79079ea01b
] - tools: fix markdown linting (Rich Trott) #39832 - [
01093b07cc
] - tools: update markdown linter dependencies and move to ESM (Antoine du Hamel) #39801 - [
9dc0c91392
] - tools: update rollup to latest version in markdown linter (Rich Trott) #39797 - [
c34e2534ab
] - tools: update markdown lint dependencies (Rich Trott) #39770 - [
66400374de
] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814
v16.7.0
Notable Changes
-
fs:
- experimental: add recursive cp method (Benjamin Coe) #39372
Commits
- [
a80c989306
] - async_hooks: merge resource_symbol with owner_symbol (Darshan Sen) #38468 - [
69a2a6b6c3
] - bootstrap: call _undestroy() inside _destroy for stdout and stderr (Matteo Collina) #39685 - [
5bc31ea0aa
] - buffer: add endings option, remove Node.js specific encoding option (James M Snell) #39708 - [
091a579275
] - (SEMVER-MINOR) buffer: add Blob.prototype.stream method and other cleanups (James M Snell) #39693 - [
097d898e58
] - build: run coverage for inspector protocol changes (Richard Lau) #39725 - [
cf028df0ed
] - build: fix V8 build with pointer compression (Michaël Zasso) #39664 - [
9d38400de1
] - build: exclude markdown files from some GitHub Actions (Rich Trott) #39565 - [
eeb804a7b7
] - build: use lts shorthand in GitHub Actions (Rich Trott) #39538 - [
93a904d0ba
] - (SEMVER-MINOR) crypto: implement webcrypto.randomUUID (Michaël Zasso) #39648 - [
3321b65a5a
] - debugger: prevent simultaneous heap snapshots (Rich Trott) #39638 - [
6c375e18b6
] - debugger: remove undefined parameter (Rich Trott) #39570 - [
103bf20988
] - deps: V8: cherry-pick81814ed
(Stephen Belanger) #39719 - [
cf5e5b5711
] - deps: upgrade to libuv 1.42.0 (Luigi Pinca) #39525 - [
5f92d2fe6d
] - dgram: use simplified validator (Voltrex) #39753 - [
c7e918b06a
] - (SEMVER-MINOR) dns: add "tries" option to Resolve options (Luan Devecchi) #39610 - [
5d66646b71
] - doc: correct cjs code to match mjs code (Raz Luvaton) #39509 - [
f18bb2a0f1
] - doc: fix typo in hmac.paramNames default (Justin) #39766 - [
338a166e83
] - doc: fixfs.rmdir
recursive
option deprecation history (Antoine du Hamel) #39728 - [
bfb1dc0a2c
] - doc: fixed variable names in queueMicrotask example (ashish maurya) #39634 - [
08b31f12f8
] - doc: change "Version 4 UUID" to "version 4 UUID" (Tobias Nießen) #39682 - [
f5200f9785
] - doc: update debugger.md description and examples (Rich Trott) #39661 - [
4700f1e529
] - doc: fix color contrast issue in light mode (Rich Trott) #39660 - [
88c83a4698
] - (SEMVER-MINOR) doc: add missing change to resolver ctor (Luan Devecchi) #39610 - [
760cafa5ed
] - doc: fix typo inurl.md
(Howie Zhao) #39666 - [
9ab5503693
] - doc: add point to ask H1 reporter about credit (Daniel Bevenius) #39585 - [
7514405456
] - doc: update min mac ver + move mac arm64 to tier 1 (Ash Cripps) #39586 - [
d7c8c6dcee
] - doc: add missingintroduced_in
metadata (Richard Lau) #39575 - [
8072517097
] - doc: add code examples toWritable.destroy()
andWritable.destroyed
(Juan José Arboleda) #39491 - [
55f47cc2d0
] - doc: addString.prototype.at
and%TypedArray%.prototype.at
(Jordan Harband) #39583 - [
0c0412e2c4
] - doc: moveNODE_MODULE_VERSION
in release guide (Richard Lau) #39544 - [
5df74f9b21
] - doc: remove outdated ARM information from release guide (Richard Lau) #39544 - [
8eccb11ea0
] - doc: fence command examples in release guide (Richard Lau) #39544 - [
0bd97e1f2d
] - doc: update backport labels in release guide (Richard Lau) #39544 - [
2129ad6a0a
] - doc: add code example tofs.truncate
method (Juan José Arboleda) #39454 - [
3ff5e153ef
] - doc: add code example tohttp.createServer
method (Juan José Arboleda) #39455 - [
7d0c869cfa
] - doc: add PerformanceObserverbuffered
document (legendecas) #39514 - [
0dc167a03f
] - (SEMVER-MINOR) fs: add recursive cp method (Benjamin Coe) #39372 - [
54dd3df943
] - http: decodes url.username and url.password for authorization header (Lew Gordon) #39310 - [
81e62f67bf
] - inspector: update inspector_protocol to89c4adf
(Rich Trott) #39650 - [
793fee4915
] - inspector: update inspector_protocol to8ec18cf
(Rich Trott) #39614 - [
5afdc1f4c0
] - lib: simplify validators (Voltrex) #39753 - [
ca3cb96d25
] - lib: cleanup validation (Voltrex) #39652 - [
cc08d3062f
] - lib: cleanup instance validation (Voltrex) #39656 - [
2751cdf6f9
] - lib: use helper for readability (Voltrex) #39649 - [
c68415cba2
] - lib: use validators (Voltrex) #39663 - [
be2d60dd1d
] - lib: use validator (Voltrex) #39547 - [
486d51ac0c
] - lib: usevalidateObject
(Voltrex) #39605 - [
058e882a2a
] - lib: use ERR_ILLEGAL_CONSTRUCTOR (Mestery) #39556 - [
07cadc4432
] - meta: consolidate AUTHORS entries for ooHmartY (Rich Trott) #39705 - [
6c788b8030
] - meta: consolidate AUTHORS entries for homosaur (Rich Trott) #39705 - [
07351edebe
] - meta: consolidate AUTHORS entries for Ayase-252 (Rich Trott) #39705 - [
5fe282769b
] - meta: consolidate AUTHORS entries for robin-drexler (Rich Trott) #39705 - [
fc2a626357
] - meta: consolidate AUTHORS entries for samshull (Rich Trott) #39705 - [
67cfc66a47
] - meta: update AUTHORS (Rich Trott) #39705 - [
91008fbdeb
] - meta: consolidate email addresses for MarshallOfSound (Rich Trott) #39651 - [
a76b63536a
] - meta: consolidate email addresses for tadjik1 (Rich Trott) #39651 - [
aaab2095db
] - meta: consolidate email addresses for szmarczak (Rich Trott) #39651 - [
f413a9d83c
] - meta: update AUTHORS (Rich Trott) #39636 - [
7a91d4bfe9
] - meta: simplify mailmap (Rich Trott) #39612 - [
4ec5d2de5d
] - meta: consolidate emails for tadhgcreedon (Rich Trott) #39611 - [
bb88c38eac
] - meta: consolidate emails for timcosta (Rich Trott) #39611 - [
0920a8cf6f
] - meta: consolidate emails for timruffles (Rich Trott) #39611 - [
1474a9d4b1
] - meta: update AUTHORS (Rich Trott) #39629 - [
c59e3ec685
] - meta: add mailmap entry for ryzokuken (Rich Trott) #39596 - [
34f4bb8277
] - meta: add mailmap entry for uttampawar (Rich Trott) #39596 - [
fd213edda2
] - meta: add mailmap entry for dmabupt (Rich Trott) #39596 - [
6b664e224b
] - meta: align README/.mailmap/AUTHORS email entries (Rich Trott) #39505 - [
96d8ecbd66
] - meta: add mailmap entry for garygsc (Rich Trott) #39588 - [
16d85f3f48
] - meta: add mailmap entry for ttzztztz (Rich Trott) #39588 - [
60ab111fdb
] - meta: update AUTHORS (Rich Trott) #39587 - [
b43f87d729
] - meta: update .mailmap to remove duplication in AUTHORS (Rich Trott) #39561 - [
6f4a2aa5a4
] - meta: add .mailmap entries to remove AUTHORS duplicates (Rich Trott) #39560 - [
86d144c500
] - meta: add .mailmap entry to remove duplication in AUTHORS (Rich Trott) #39559 - [
110c088f02
] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521 - [
72af147bb5
] - meta: update collaborator email in README (Rich Trott) #39521 - [
23bc4cfb21
] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521 - [
e4289728c7
] - meta: move gdams to emeritus (Rich Trott) #39539 - [
4df59bc727
] - module: add some typings tointernal/modules/esm/resolve
(Antoine du Hamel) #39504 - [
b5858589d0
] - node-api: handle pending exception in cb wrapper (Michael Dawson) #39476 - [
016b7ba616
] - perf_hooks: fix PerformanceObserver gc crash (James M Snell) #39550 - [
b37575b67c
] - perf_hooks: fix performance timeline wpt failures (legendecas) #39532 - [
64c02eb3cc
] - (SEMVER-MINOR) perf_hooks: web performance timeline compliance (legendecas) #39297 - [
7ff21397d6
] - policy: fix integrity when DEFAULT_ENCODING is set (Tobias Nießen) #39750 - [
03be967cad
] - src: fix TextDecoder final flush size calculation (James M Snell) #39737 - [
9046e78943
] - src: fix crash in AfterGetAddrInfo (Anna Henningsen) #39735 - [
2a00ef5ede
] - (SEMVER-MINOR) src: fix align in cares_wrap.h (Luan) #39610 - [
60a2b31c68
] - src: add cosmetic space character toasync_wrap.h
file (Juan José Arboleda) #39459 - [
cd9b0bf68c
] - stream: ensure text() stream consumer flushes correctly (James M Snell) #39737 - [
f57a0e4d8b
] - (SEMVER-MINOR) stream: utility consumers for web and node.js streams (James M Snell) #39594 - [
975edf5330
] - stream: cleanendWritableNT
(Mestery) #39645 - [
9e38fc6757
] - (SEMVER-MINOR) stream: add readableDidRead if has been read from (Robert Nagy) #39589 - [
a5ded4a85a
] - test: use simplfied validator (voltrexmaster) #39753 - [
53cf53c95a
] - (SEMVER-MINOR) test: enable blob.prototype.stream tests (James M Snell) #39693 - [
7e9884598f
] - test: update WPT abort tests (Michaël Zasso) #39697 - [
94381fbdf5
] - test: update WPT common and resources (Michaël Zasso) #39697 - [
34a041a846
] - test: fix test-debugger-heap-profiler for workers (Richard Lau) #39687 - [
9f5acfa90e
] - test: increase memory for coverage action (Benjamin Coe) #39690 - [
0be15cedc4
] - test: use template to concatenate string (Himadri Ganguly) #39621 - [
952a5282e2
] - (SEMVER-MINOR) test: pull Web Platform Tests for WebCryptoAPI (Michaël Zasso) #39648 - [
3622fb1e03
] - test: deflake test-http2-buffersize (Luigi Pinca) #39591 - [
1962c7c7b3
] - test: convert anonymous function to arrow function (Himadri Ganguly) #39604 - [
635e1a0274
] - test: add test-debugger-breakpoint-exists (Rich Trott) #39570 - [
cff2aea5df
] - test: add known issues test for debugger heap snapshot race (Rich Trott) #39557 - [
5e1011238a
] - tools: bump remark-preset-lint-node to 3.0.0 (Rich Trott) #39755 - [
eb741253fd
] - tools: update path-parse in markdown linter package-lock file (Rich Trott) #39729 - [
52a172f983
] - tools: fix more build warnings in inspector_protocol (Richard Lau) #39725 - [
77f9c1fa98
] - tools: cherry-pickffb34b6
(Darshan Sen) #39725 - [
b9510d21c9
] - tools: update inspector_protocol toe8ba1a7
(Rich Trott) #39694 - [
8d509d8773
] - tools: update inspector_protocol to39ca567
(Rich Trott) #39694 - [
ee7142fa37
] - tools: update inspector_protocol to97d3146
(Rich Trott) #39694 - [
c6323d847d
] - Revert "tools: fix compiler warning in inspector_protocol" (Rich Trott) #39694 - [
6e19c166e4
] - tools: update inspector_protocol toa53e96d
(Rich Trott) #39694 - [
61c53f39d2
] - tools: update inspector_protocol tofe0467f
(Rich Trott) #39694 - [
b1b6f20353
] - tools: improve error detection in find-inactive-collaborators (Rich Trott) #39617 - [
d1360fcf48
] - tools: update ESLint to 7.32.0 (Luigi Pinca) #39602 - [
af1c782cad
] - tools: update ESLint to 7.31.0 (Colin Ihrig) #39424 - [
37dda19461
] - (SEMVER-MINOR) url,buffer: implement URL.createObjectURL (James M Snell) #39693 - [
dcab88ad38
] - worker: add brand checks for detached properties/methods (James M Snell) #39763
v16.6.2
This is a security release.
Notable Changes
-
CVE-2021-3672/CVE-2021-22931: Improper handling of untypical characters in domain names (High)
- Node.js was vulnerable to Remote Code Execution, XSS, application crashes due to missing input validation of hostnames returned by Domain Name Servers in the Node.js DNS library which can lead to the output of wrong hostnames (leading to Domain Hijacking) and injection vulnerabilities in applications using the library. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22931.
-
CVE-2021-22940: Use after free on close http2 on stream canceling (High)
- Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22940.
-
CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low)
- If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
Commits
- [
054537cdc2
] - deps: update c-ares to 1.17.2 (Beth Griggs) #39724 - [
ac544905b6
] - deps: reflect c-ares source tree (Beth Griggs) #39653 - [
a914b23cbc
] - deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653 - [
31d5773654
] - http2: add tests for cancel event while client is paused reading (Akshay K) #39622 - [
a3c33d4ce7
] - http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622 - [
6c7fff6f1d
] - tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276
v16.6.1
Notable Changes
- Updated npm to 7.20.3 (npm team) #39579
- Reverted an ABI-breaking change from V8 9.2 that could impact some native modules (Michaël Zasso) #39624
- Fixed a bug in error handling known to affect at least Webpack and Jest (Guy Bedford) #39593
Commits
- [
6c769ccedf
] - build: override python executable path on configure (legendecas) #39465 - [
cbf6a01c17
] - crypto: fixgenerateKeyPair
with encoding 'jwk' (himself65) #39319 - [
3091295609
] - deps: revert ABI-breaking change from V8 9.2 (Michaël Zasso) #39624 - [
06d7b8e8c8
] - deps: upgrade npm to 7.20.3 (npm team) #39579 - [
7b612fadc2
] - doc: fix crypto.hkdf callback derivedKey type (Filip Skokan) #39453 - [
7a731efd97
] - doc,lib,test: rename HKDF 'key' argument (Tobias Nießen) #39474 - [
93bbaa0ce9
] - module: fix ERR_REQUIRE_ESM error for null frames (Guy Bedford) #39593 - [
e13162de09
] - module: refineenrichCJSError
(Antoine du Hamel) #39507 - [
815fbec6f1
] - repl: do not include legacy getter/setter methods in completion (Anna Henningsen) #39576 - [
0405c8d3f0
] - zlib: avoid convertingUint8Array
instances toBuffer
(Antoine du Hamel) #39492
v16.6.0
This is a security release.
Notable Changes
Say hello to V8 9.2
The V8 engine is updated to version 9.2.230.21.
It notably introduces the new Array.prototype.at
method (also on Typed Arrays and strings):
const array = [1, 2, 3];
console.log(array.at(-1));
// Prints: 3
Contributed by Michaël Zasso - #39470
Other notable changes
-
CVE-2021-22930: Use after free on close http2 on stream canceling (High) - #39423
- Node.js is vulnerable to a use after free attack where an attacker might be able to exploit the memory corruption, to change process behavior. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930
- [
f93d2ac587
] - inspector: mark as stable (Gireesh Punathil) #37748 - [
89b4770d5c
] - punycode: add pending deprecation (Antoine du Hamel) #38444 - [
b67214fe31
] - (SEMVER-MINOR) repl: enable --experimental-repl-await /w opt-out (hemanth.hm) #34733
Commits
- [
b5248d4000
] - async_hooks: emit promise trace events from JS (Stephen Belanger) #39135 - [
e18778d409
] - async_hooks: eliminate native PromiseHook (Stephen Belanger) #39135 - [
90b9bb1a7d
] - build: use Node.js 14 in commit-lint.yml (Rich Trott) #39506 - [
5182e26f14
] - build: reset embedder string to "-node.0" (Michaël Zasso) #39470 - [
e1910ef290
] - build: fixhost_arch_cc()
for AIX/IBM i (Richard Lau) #39481 - [
ce2011b7a1
] - build: update coverage Makefile target comments (Richard Lau) #39365 - [
6b055f17b6
] - build: run workflows when a MR is ready for review (Michaël Zasso) #39405 - [
25f45d5018
] - build: update to setup-node@v2 (Rich Trott) #39366 - [
a7472576d7
] - build: addlibrary_files
to gyp variables (himself65) #39293 - [
d16d36f1c2
] - crypto: support Big(U)Int64Array in getRandomValues (Michaël Zasso) #39443 - [
95db54482a
] - debugger: validate sec-websocket-accept response header (Chris Opperwall) #39357 - [
3751b92fa2
] - debugger: rename internal module (Rich Trott) #39378 - [
0e5eb8b17d
] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470 - [
e8da1f25fb
] - (SEMVER-MINOR) deps: make V8 9.2 abi-compatible with 9.0 (Michaël Zasso) #39470 - [
a93e6ef777
] - deps: V8: backport5c76da8
(Michaël Zasso) #39337 - [
d612544199
] - deps: V8: cherry-pick359d44d
(Michaël Zasso) #39337 - [
c6ec2b4817
] - deps: V8: cherry-pick3805a69
(Michaël Zasso) #39337 - [
e6b84dfe84
] - deps: V8: cherry-pick56fe020
(Michaël Zasso) #39337 - [
2393fae427
] - deps: V8: cherry-pick2b77ca2
(Michaël Zasso) #39337 - [
c8e7d80475
] - deps: V8: cherry-pick53784bd
(Michaël Zasso) #39337 - [
65062b3e0d
] - deps: V8: cherry-pick7ff6609
(Michaël Zasso) #38990 - [
c3efc70df7
] - deps: V8: cherry-picka5cea1b
(Michaël Zasso) #38990 - [
201da87bc1
] - deps: V8: cherry-pick9862992
(Richard Lau) #38990 - [
794ad2e016
] - deps: V8: backport71e8f8b
(Michaël Zasso) #38990 - [
53cc6c8000
] - deps: V8: cherry-pick3d24b3a
(Michaël Zasso) #38990 - [
7f7cb8bfe1
] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990 - [
16cbd8c8b6
] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587 - [
98150e2bc6
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
3f3e167fea
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
785b8990de
] - deps: V8: forward declaration ofRtl*FunctionTable
(Refael Ackermann) #32116 - [
38cb655f04
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
9082ecef66
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
6114198717
] - (SEMVER-MINOR) deps: update V8 to 9.2.230.21 (Michaël Zasso) #39470 - [
89796d0c7f
] - deps: bump HdrHistogram_C to 0.11.2 (Matteo Collina) #39462 - [
9dd232c42b
] - deps: update to cjs-module-lexer@1.2.2 (Guy Bedford) #39402 - [
626eb07fda
] - deps: extract gtest source files to deps/googletest (legendecas) #39386 - [
487c45ffd9
] - doc: move lball@redhat.com to emeritus (Lance Ball) #39501 - [
5f84f47e13
] - doc: update AUTHORS (Rich Trott) #39488 - [
1d27ae1514
] - doc: update strategic initiative champion (Rich Trott) #39487 - [
e552b1a791
] - doc: improve node.js+fips instructions (Benjamin Mayr) #39390 - [
aa1dfb3111
] - doc: simplify unnecessarily specific .mailmap entries (Rich Trott) #39430 - [
ae69656c61
] - doc: update checkbox label in backporting guide (Darshan Sen) #39420 - [
4fd8db687d
] - doc: remove _Addenda_ from headers (Rich Trott) #39427 - [
cefd2fb1e4
] - doc: simplify .mailmap file (Rich Trott) #39418 - [
ade2eed9a6
] - doc: fix broken internal link in http.md (Rich Trott) #39425 - [
5fdfcc069f
] - doc: remove outdated step in onboarding exercise (Rich Trott) #39410 - [
94706c7012
] - doc: revise strategic initiatives text (Rich Trott) #39417 - [
9932e3589c
] - doc: remove typo (extra ' character) (Nikita Rykov) #39414 - [
2b92b4ea2d
] - doc: update mailmap and AUTHORS (Rich Trott) #39393 - [
6d6396594b
] - doc: use a details tag for completed initiatves (Rich Trott) #39416 - [
ac43e3331c
] - doc: update commit-queue.md to indicate GitHub Actions are checked (Rich Trott) #39411 - [
75130c94d1
] - doc: use _pull request_ instead of _MR_ in onboarding doc (Rich Trott) #39409 - [
20bb3f6df0
] - doc: add strategic initiatives from TSC repo (Rich Trott) #39394 - [
6979313abb
] - doc: standardize on _pull request_ (Rich Trott) #39384 - [
20124cc275
] - doc: make minor edits to pull request text (Rich Trott) #39383 - [
11482f02cf
] - doc: add docker-node and build-wg issue contents (Daniel Bevenius) #39215 - [
c535956b6e
] - doc: add instructions for core vuln files (Daniel Bevenius) #39220 - [
353a8bb27b
] - doc: standardize on not capitalizing _collaborator_ (Rich Trott) #39379 - [
9b15e5c155
] - doc: update mailmap and deduplicate AUTHORS entry (Rich Trott) #39391 - [
e44ccd9aad
] - doc: update AUTHORS (Rich Trott) #39367 - [
39e6536a87
] - doc: move jdalton to emeritus (Rich Trott) #39380 - [
bbff5a9e47
] - doc: edit guide on pull requests (Rich Trott) #39359 - [
902ef9aca0
] - doc,meta: update email addresses for misterdjules (Rich Trott) #39433 - [
cc7b61721c
] - doc,tools: removecheckLinks.mjs
(Antoine du Hamel) #39206 - [
e2fd015cda
] - domain: do not add domain to promise from other context (Stephen Belanger) #39135 - [
93eff3f5a6
] - esm: refine ERR_REQUIRE_ESM errors (Guy Bedford) #39175 - [
1fb0954202
] - events: allow an event to be dispatched multiple times (Luigi Pinca) #39395 - [
6f2989c346
] - events: allow the options argument to be null (Luigi Pinca) #39486 - [
72ad6d3f27
] - fs: check closing_ in FileHandle::Close (James M Snell) #39472 - [
8b58e574ba
] - fs: fix FileHandle::ClosePromise to return persisted Promise (James M Snell) #39331 - [
9d950a0956
] - http2: on receiving rst_stream with cancel code add it to pending list (Akshay K) #39423 - [
19e9accf91
] - inspector: mark as stable (Gireesh Punathil) #37748 - [
e4331cd43d
] - lib: comment explaining special-case handling of promises (Stephen Belanger) #39135 - [
0a47f5fc54
] - meta: update collaborator email in README (Rich Trott) #39510 - [
65020110e8
] - meta: remove unneeded .mailmap entry (Rich Trott) #39512 - [
864ef11be8
] - meta: update email address for collaborator (Rich Trott) #39511 - [
d3f58cb650
] - meta: align collaborator name in .mailmap/AUTHORS with README (Rich Trott) #39489 - [
5f9b2187a1
] - meta: align email address in README/.mailmap/AUTHORS (Rich Trott) #39503 - [
9fbe3f6b49
] - meta: revise .mailmap for README consistency (Rich Trott) #39457 - [
f6fbb38924
] - meta: alphabetize .mailmap file (Rich Trott) #39434 - [
dc9c6aa428
] - meta: align collaborator email in .mailmap/AUTHORS with README (Rich Trott) #39478 - [
febeb0df16
] - meta: update AUTHORS (Rich Trott) #39461 - [
d059ed9242
] - meta: add .mailmap entry for new email for existing contributor (Rich Trott) #39431 - [
cdf7251370
] - process: add api to enable source-maps programmatically (legendecas) #39085 - [
eccc9a6578
] - punycode: add pending deprecation (Antoine du Hamel) #38444 - [
a082a705b3
] - (SEMVER-MINOR) repl: enable --experimental-repl-await /w opt-out (hemanth.hm) #34733 - [
b230ac12d9
] - src: stop using deprecated v8::ApiObject (Michaël Zasso) #38990 - [
929205e6b9
] - src: use non-deprecated Symbol::Description (Michaël Zasso) #38990 - [
42ff6d952a
] - src: print native module id on native module not found (legendecas) #39460 - [
f0287e52aa
] - src: close HandleWraps instead of deleting them in OnGCCollect() (Anna Henningsen) #39441 - [
2cf52f8db1
] - src: set SSL_OP_ALLOW_CLIENT_RENEGOTIATION (Daniel Bevenius) #38753 - [
fc138376aa
] - src: remove unused guards around node-api reference (legendecas) #38334 - [
26ada4971c
] - stream: import internal/util/types instead (James M Snell) #39331 - [
e91053a465
] - stream: implement TextEncoderStream and TextDecoderStream (James M Snell) #39347 - [
efe74746f0
] - stream: fixup property definition to avoid prototype polution (James M Snell) #39371 - [
4709da0372
] - test: ensure microtask queues are not automatically drained (Jochen Eisinger) #38990 - [
86ca9a8a80
] - test: remove test-debug-args (Michaël Zasso) #38990 - [
bbcd651cfd
] - test: update trace events test expectations (Michaël Zasso) #38990 - [
039f64f249
] - test: fix WASI link test (Richard Lau) #39485 - [
b1d38ddc8a
] - test: update OpenSSL3 error messages for beta-1 (Daniel Bevenius) #39437 - [
db4f802fba
] - Revert "test: skip tests for openssl-3.0.0-alpha15" (Daniel Bevenius) #39437 - [
a30d021b94
] - test: add test for WebSocket secret verification in debugger (Rich Trott) #39357 - [
04355afd24
] - test: add NumberFormat resolvedOptions test (Richard Lau) #39401 - [
d0fb02c26a
] - test: put common lint exceptions into config file (Rich Trott) #39358 - [
259d091366
] - test: mark test-domain-error-types flaky (James M Snell) #39369 - [
5517769472
] - tools: fetch googletest dependency for V8 CI (Michaël Zasso) #38990 - [
5fe74aa403
] - tools: update V8 gypfiles for 9.2 (Michaël Zasso) #38990 - [
e58cf4e44c
] - tools: flag README/mailmap mismatches in find-inactive-collaborators (Rich Trott) #39477 - [
0a46e66253
] - tools: use mailmap for find-inactive-collaborators (Rich Trott) #39432 - [
7570f998df
] - tools: email matchin is case insensitive for .mailmap (Rich Trott) #39430 - [
5c11a0279d
] - tools: make internal link checker more robust (Rich Trott) #39429 - [
4c32aa02db
] - tools: added remark-frontmatter (Ben Halverson) #38717 - [
c6a7c3d00d
] - tools: fix broken link hash (Rich Trott) #39426 - [
0f1d51578e
] - tools: change commit fetch limiting in find-inactive-collaborators (Rich Trott) #39362 - [
e5d64473e8
] - tools: use Node.js 16.x for GitHub workflow (Rich Trott) #39362 - [
68fd6d5282
] - url: prevent pathname setter from erasing path of path-only URLs (Darshan Sen) #39060
v16.5.0
Notable Changes
Experimental Web Streams API
Node.js now exposes an experimental implementation of the Web Streams API.
While it is experimental, the API is not exposed on the global object and is only
accessible using the new stream/web
core module:
import { ReadableStream, WritableStream } from 'stream/web';
// Or from 'node:stream/web'
Importing the module will emit a single experimental warning per process.
The raw API is implemented and we are now working on its integration with various existing core APIs.
Contributed by James M Snell - #39062
Other notable changes
- [
83f3b959f9
] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028 - [
c04fd2bb97
] - deps: upgrade npm to 7.19.1 (npm team) #39225
Commits
- [
aafa08d7b9
] - bootstrap: load perf_hooks eagerly during bootstrap (Joyee Cheung) #38971 - [
6e46eb186c
] - bootstrap: support perf hooks in snapshot (Joyee Cheung) #38971 - [
10681828ac
] - build: update gcovr for gcc 8 compatibility (Richard Lau) #39326 - [
8381132f76
] - build: add riscv into host_arch_cc (Lu Yahan) #39004 - [
a7ba21864d
] - build: restore libplatform headers in distribution (Jeroen Ooms) #39288 - [
41161eabf2
] - build: remove unused comment in Makefile (LitoMore) #39171 - [
f6a1092471
] - build: allow to build riscv64 using Makefile (Makoto Kato) #39048 - [
a7cd40ed8d
] - build: uvwasi honours node_shared_libuv (Jérémy Lal) #39260 - [
3ed04994b7
] - build: shorten path used in tarball build workflow (Richard Lau) #39192 - [
65b56b3774
] - build: fix building with external builtins (Momtchil Momtchev) #39091 - [
412b1012d2
] - build: pass directory instead of list of files to js2c.py (Joyee Cheung) #39069 - [
171ca6bb3c
] - build: don't pass--mode
argument to V8 test-runner (Richard Lau) #39055 - [
cf8536ea3f
] - build: fix commit linter on unrebased MRs (Mary Marchini) #39121 - [
cf0533b8b2
] - build: use Actions to validate commit message (Mary Marchini) #32417 - [
4202274851
] - crypto: move OPENSSL_IS_BORINGSSL guard (Shelley Vohr) #39136 - [
89f5a73ba5
] - crypto: use compatible ecdh function (Shelley Vohr) #39054 - [
30e878b603
] - crypto: add OPENSSL_IS_BORINGSSL guard (Shelley Vohr) #39138 - [
630266cba2
] - debugger: indicate server is ending (Rich Trott) #39334 - [
48d9680f84
] - debugger: remove final lint exceptions in inspect_repl.js (Rich Trott) #39078 - [
4507714f9d
] - deps: V8: backport5c76da8
(Michaël Zasso) #39337 - [
0e64bd0dd6
] - deps: V8: cherry-pick359d44d
(Michaël Zasso) #39337 - [
142ce6838b
] - deps: V8: cherry-pick3805a69
(Michaël Zasso) #39337 - [
2657c305cb
] - deps: V8: cherry-pick56fe020
(Michaël Zasso) #39337 - [
5c5a93e533
] - deps: V8: cherry-pick2b77ca2
(Michaël Zasso) #39337 - [
cf49ebb052
] - deps: V8: cherry-pick53784bd
(Michaël Zasso) #39337 - [
3d351b29c1
] - deps: V8: cherry-pickcb4faa9
(Michaël Zasso) #39337 - [
165130a3e0
] - deps: patch V8 to 9.1.269.38 (Michaël Zasso) #39196 - [
c04fd2bb97
] - deps: upgrade npm to 7.19.1 (npm team) #39225 - [
bf4c50f9d9
] - deps: upgrade npm to 7.19.0 (npm team) #39148 - [
8630b39376
] - deps: update Acorn to v8.4.1 (Michaël Zasso) #39166 - [
38ae4077c7
] - doc: fix typos in Web Streams API documentation (Tobias Nießen) #39351 - [
fb6616ecbb
] - doc: add text about moving long commit lists out of MR description (Danielle Adams) #39186 - [
29c9cc8f03
] - doc: do not use & for "and" in text (Rich Trott) #39345 - [
0b3b2695bc
] - doc: do not use tilde for "about" or "approximately" (Rich Trott) #39344 - [
64a185e595
] - doc: use consistent abbreviation formatting (Rich Trott) #39343 - [
2573bf5116
] - doc: update AUTHORS (Rich Trott) #39277 - [
63b6084724
] - doc: put information about the past in details tags (Rich Trott) #39321 - [
e26635085a
] - doc: replace outdatedutil.promisify
timer examples with references (foxxyz) #39164 - [
d101a85e36
] - doc: move AndreasMadsen to emeritus (Rich Trott) #39315 - [
2d552a32d6
] - doc: move ofrobots to collaborator emeritus (Rich Trott) #39307 - [
131d676f64
] - doc: simplify CRAN mirror text in benchmark guide (Rich Trott) #39287 - [
c92b80e631
] - doc: use "repository" instead of "repo" in onboarding.md (Rich Trott) #39286 - [
81df9b1e92
] - doc: update collaborator email address (Rich Trott) #39263 - [
b8860f35c9
] - doc: remove GitHub mark (Rich Trott) #39251 - [
f06ebf1775
] - doc: remove emailing the TSC from offboarding doc (Rich Trott) #39280 - [
175a6569f4
] - doc: add annotation to writeFiledata
asObject
(Jacob) #39167 - [
4d53c63c22
] - doc: fix boldface punctuation for full sentences (Rich Trott) #39278 - [
146f733f43
] - doc: fix constants usage in fs.access example (Cyrille Bourgois) #39289 - [
eacee0ab17
] - doc: use "repository" in guides versus repo (Michael Dawson) #39198 - [
04bcfcfff1
] - doc: update Node-api version matrix (Michael Dawson) #39197 - [
4dd6ab389a
] - doc: remove onboarding-extras (Rich Trott) #39252 - [
a01dacfdcd
] - doc: move Sam Ruby to emeritus (Rich Trott) #39264 - [
2bb3713b74
] - doc: update AUTHORS file (Rich Trott) #39250 - [
2227c1368f
] - doc: fix color contrast for anchor marks in dark mode (Rich Trott) #39168 - [
f8cdaad9d4
] - doc: rename datatypes to data types (FrankEntriken) #39209 - [
250024eaec
] - doc: normalize CSS variable names and indentation (Rich Trott) #39199 - [
db74a35348
] - doc: remove unnecessary module format comments (Rich Trott) #39219 - [
24a1f7ec84
] - doc: use more consistent formatting for deprecations (Rich Trott) #39218 - [
24c0d7d872
] - doc: update AUTHORS (Rich Trott) #39217 - [
3e5ed72b0a
] - doc: use "pull request" instead of "MR" in packages.md (Rich Trott) #39213 - [
ddc24b2105
] - doc: move v8.stopCoverage() to expected location in doc (Rich Trott) #39212 - [
68c334c8c9
] - doc: move vm.measureMemory() to expected location in doc (Rich Trott) #39211 - [
81d52d7c79
] - doc: fix CHANGELOG.md formatting (Richard Lau) #39223 - [
9c3a5fd53e
] - doc: add cc oss-security@lists.openwall.com (Daniel Bevenius) #39191 - [
07ba2875ae
] - doc: remove instructions for unsupported Node.js versions (Rich Trott) #39185 - [
482851f647
] - doc: remove obsolete cc recommendations (Rich Trott) #39181 - [
8311b29083
] - doc: use "repository" in maintaining-V8 doc (Rich Trott) #39179 - [
952580e1bf
] - doc: fix broken link in errors.md (Rich Trott) #39200 - [
af1e1dba36
] - doc: correct JavaScript primitive value names in n-api.md (legendecas) #39129 - [
00728d1301
] - doc: apply logical ordering to CSS variables (Rich Trott) #39169 - [
aec2744e14
] - doc: remove file name from self-reference links (Antoine du Hamel) #39165 - [
74bb915178
] - doc: use repository instead of repo (Rich Trott) #39157 - [
a669a191a1
] - doc: use ASCII order for md refs (Antoine du Hamel) #39170 - [
21e8720155
] - doc: fixEventTarget.dispatchEvent
docs (Rohan Sharma) #39127 - [
90ec7660bc
] - doc: update AUTHORS file (Rich Trott) #39082 - [
81cebec5cc
] - doc: esm examples /w imports for process, Buffer (Guy Bedford) #39043 - [
c1588887a6
] - doc: fix napi_default_property name (Davidson Francis) #39104 - [
a440f6c69c
] - doc: fix dead links in packages.md (Michaël Zasso) #39113 - [
33cad271c5
] - errors: remove eager stack generation for node errors (Gus Caplan) #39182 - [
ac05a0a8a3
] - errors: don't throw TypeError on missing export (Benjamin Coe) #39017 - [
83f3b959f9
] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028 - [
ac7184d8c7
] - http: clean up HttpParser correctly (Tobias Koppers) #39292 - [
35331cbd13
] - http,https: align server option of https with http (Qingyu Deng) #38992 - [
29194d4f88
] - inspector: move inspector async hooks to environment (Joyee Cheung) #39112 - [
ecf627a9af
] - lib: rename TransferedReadableStream etc (Tobias Nießen) #39352 - [
0e55cb72df
] - lib: make lazyDOMException more common (Khaidi Chu) #39105 - [
cfd96aa8f9
] - meta: fix tls code owners (Robert Nagy) #39355 - [
e5c2d80560
] - meta: use form schema for bug report template (Michaël Zasso) #39194 - [
bd472daf0c
] - meta: add @nodejs/actions as CODEOWNERS (Mary Marchini) #39119 - [
63f87027e3
] - node-api: cctest on v8impl::Reference (legendecas) #38970 - [
7ea98fbccd
] - perf_hooks: refactor perf_hooks for snapshot building (Joyee Cheung) #38971 - [
20cc8ec2af
] - readline: allow completer to rewrite existing input (Anna Henningsen) #39178 - [
b168ec2a2a
] - repl: processTopLevelAwait fallback error handling (ejose19) #39290 - [
a101fe68ad
] - repl: correctly hoist top level await declarations (ejose19) #39265 - [
d441d91450
] - repl: ensure correct syntax err for await parsing (Guy Bedford) #39154 - [
9184259a54
] - src: add JSDoc typings for v8 (Voltrex) #38944 - [
66553feeba
] - src: compare IPv4 addresses in host byte order (Colin Ihrig) #39096 - [
ea8d83bf59
] - src,crypto: fix 0-length output crash in webcrypto (Khaidi Chu) #38913 - [
683c995001
] - src,zlib: tighten up Z_*_WINDOWBITS macros (Khaidi Chu) #39115 - [
cb32f69e00
] - stream: cleanup async handling (Robert Nagy) #39329 - [
1fc6382942
] - stream: don't emit prefinish after error or close (Robert Nagy) #39332 - [
35b6669e13
] - stream: use finished for pump (Robert Nagy) #39203 - [
9af62a1357
] - (SEMVER-MINOR) stream: implement WHATWG streams (James M Snell) #39062 - [
0bb980aeaf
] - test: remove eslint-disable comment from fixture file (Rich Trott) #39320 - [
21f77031fb
] - test: move debugger test case to parallel (Rich Trott) #39300 - [
0ec93a1fc1
] - test: use common.PORT instead of hardcoded port number (Rich Trott) #39298 - [
11a8b81caf
] - test: remove debugger workaround for AIX (Rich Trott) #39296 - [
8e77aa23f1
] - test: add test for debugger restart message issue (Rich Trott) #39273 - [
13755599e1
] - test: remove workaround code in debugger test (Rich Trott) #39238 - [
1f31e3c774
] - test: remove checks for armv6 (Rich Trott) #39162 - [
d486d0117c
] - test: move test-debugger-address to parallel (Rich Trott) #39236 - [
cdc7a19f48
] - test: remove common.enoughTestCpu (Rich Trott) #39161 - [
cc32365f56
] - (SEMVER-MINOR) test: add WPT streams tests (James M Snell) #39062 - [
fff21a4afb
] - test: replace "inspector-cli" with "debugger" (Rich Trott) #39156 - [
df17c62818
] - test: use localhost test instead of connecting to remote (Adam Majer) #39011 - [
dfe99d2aac
] - tls: move legacy code into own file (Robert Nagy) #39333 - [
f338fddbb0
] - tools: add GitHub Action to run find-inactive-collaborators.mjs (Rich Trott) #39335 - [
b3a0dd1e4a
] - tools: pass bot token to node-pr-labeler (Michaël Zasso) #39271 - [
b56a3d9009
] - tools: update gyp-next to v0.9.3 (Jiawen Geng) #39291 - [
3cd9f5e298
] - tools: add find-inactive-collaborators.js (Rich Trott) #39262 - [
0673ede3ad
] - tools: take ownership of deps/v8/tools/node (Michaël Zasso) #39222 - [
cb8c6ffbce
] - tools: update ESLint to 7.30.0 (Colin Ihrig) #39242 - [
d5113f9e34
] - tools: remove armv6 from test tools (Rich Trott) #39162 - [
802d9c4488
] - tools: update path-parse to 1.0.7 (Rich Trott) #39232 - [
ab9ccd014c
] - tools: remove unusedlint-pr-commit-message.sh
(Richard Lau) #39120 - [
6200f3b35f
] - tools: update @babel/eslint-parser to 7.14.7 (Rich Trott) #39160 - [
dfe5d1139c
] - tools: update remark-preset-lint-node to 2.4.1 (Rich Trott) #39201 - [
4715105581
] - tools: upgradehighlight.js
to version 11.0.1 (Antoine du Hamel) #39032 - [
2481ddd08d
] - tools,doc: fix error message for unrecognized type (Antoine du Hamel) #39221 - [
adb812c042
] - typings: add a few JSDoc typings for the net lib module (nerdthatnoonelikes) #38953 - [
29673b8ac8
] - typings: add JSDoc typings for timers (Voltrex) #38834 - [
fe1c81f247
] - wasi: use missing validator (Voltrex) #39070
v16.4.2
Notable Changes
Node.js 16.4.1 introduced a regression in the Windows installer on non-English locales that is being fixed in this release. There is no need to download this release if you are not using the Windows installer.
Commits
- [
76e709ec63
] - win,msi: use localized "Authenticated Users" name (Richard Lau) #39241
v16.4.1
This is a security release.
Notable Changes
Vulnerabilities fixed:
-
CVE-2021-22918: libuv upgrade - Out of bounds read (Medium)
- Node.js is vulnerable to out-of-bounds read in libuv's uv__idna_toascii() function which is used to convert strings to ASCII. This is called by Node's dns module's lookup() function and can lead to information disclosures or crashes. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22918
-
CVE-2021-22921: Windows installer - Node Installer Local Privilege Escalation (Medium)
- Node.js is vulnerable to local privilege escalation attacks under certain conditions on Windows platforms. More specifically, improper configuration of permissions in the installation directory allows an attacker to perform two different escalation attacks: PATH and DLL hijacking. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22921
Commits
- [
d33aead28b
] - deps: uv: cherry-pick99c29c9
(Ben Noordhuis) nodejs-private/node-private#267 - [
2690907b81
] - win,msi: set install directory permission (AkshayK) nodejs-private/node-private#269
v16.4.0
Notable changes
-
async_hooks:
- stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675
- deps:
-
dns:
- allow
--dns-result-order
to change default dns verbatim (Ouyang Yadong) #38099
- allow
Commits
- [
d2b972ee52
] - async_hooks: check for empty contexts before removing (Bryan English) #39095 - [
03e75fda4c
] - async_hooks: switch between native and context hooks correctly (Stephen Belanger) #38912 - [
8115e6ee6d
] - (SEMVER-MINOR) async_hooks: stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675 - [
5f51729014
] - bootstrap: move event loop handle checking into snapshot builder (Joyee Cheung) #39007 - [
9d100aa269
] - bootstrap: split NodeMainInstance::Run() (Joyee Cheung) #39007 - [
2aaf2f231f
] - build: reconfigure when gyp files change on Windows (Joyee Cheung) #39066 - [
7f225a05ee
] - Revert "build: work around bug in MSBuild v16.10.0" (Michaël Zasso) #38977 - [
1853127dde
] - build: reset embedder string to "-node.0" (Michaël Zasso) #38273 - [
c0d236f5ea
] - build: make build-addons errors fail the build (Richard Lau) #38983 - [
173292bcf8
] - build: fix commit-queue default branch (Mary Marchini) #38998 - [
e939e243bf
] - build: don't pass python override to V8 build (Richard Lau) #38969 - [
651c58b412
] - build: correct Xcode spelling in .gitignore (bl-ue) #38895 - [
5203c9ced7
] - build: fast-track npm MRs and dont-land them on LTS (Michaël Zasso) #38885 - [
7de57d4d33
] - build: dont-land gyp-next MRs on LTS branches (Michaël Zasso) #38887 - [
e87cd4542b
] - child_process: refactor to usevalidateBoolean
(Qingyu Deng) #38927 - [
69fa9e16e9
] - (SEMVER-MINOR) child_process: allowoptions.cwd
receive a URL (Khaidi Chu) #38862 - [
cf9d686c35
] - crypto: fix aes crash when tag length too small (Khaidi Chu) #38914 - [
1799ea36f0
] - crypto: use compatible version of EVP_CIPHER_name (Shelley Vohr) #38925 - [
6d5dc63ae4
] - crypto: fix label cast in EVP_PKEY_CTX_set0_rsa_oaep_label (Shelley Vohr) #38926 - [
6e93c17bf5
] - crypto: use EVP_get_cipherbynid directly (Shelley Vohr) #38901 - [
82c293959e
] - crypto: add missing rand.h include (Shelley Vohr) #38864 - [
e4f802de9a
] - debugger: rename internal library for clarity (Rich Trott) #39080 - [
1e8bdab581
] - debugger: use ERR_DEBUGGER_STARTUP_ERROR in _inspect.js (Rich Trott) #39024 - [
b43cb69fbb
] - debugger: use error codes in debugger REPL (Rich Trott) #39024 - [
dc9218136b
] - debugger: use ERR_DEBUGGER_ERROR in debugger client (Rich Trott) #39024 - [
711916a271
] - debugger: remove unnecessary boilerplate copyright comment (Rich Trott) #38952 - [
0f65e41442
] - debugger: reduce scope of eslint disable comment (Rich Trott) #38946 - [
1fa724ec5a
] - deps: upgrade npm to 7.18.1 (npm team) #39065 - [
c6aa68598d
] - deps: upgrade npm to 7.17.0 (npm team) #38999 - [
864fe9910b
] - deps: make V8 9.1 abi-compatible with 9.0 (Michaël Zasso) #38991 - [
c93f3573eb
] - deps: V8: cherry-pickfa4cb17
(Michaël Zasso) #38273 - [
3c6c28b0a1
] - deps: V8: cherry-pick4c07451
(Michaël Zasso) #38273 - [
3c37396d5c
] - deps: V8: cherry-pick5f44131
(Michaël Zasso) #38273 - [
3433559a55
] - deps: V8: cherry-pick272445f
(Michaël Zasso) #38273 - [
f56c78574e
] - deps: V8: cherry-pickc0fceaa
(Michaël Zasso) #38273 - [
7197fcec93
] - deps: V8: cherry-pickd59db06
(Michaël Zasso) #38273 - [
bf7aa9fef8
] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587 - [
eac377bc15
] - deps: V8: backportaaacffa
(Michaël Zasso) #38273 - [
1a7c8a12c1
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
3c9a75522b
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
8ed258339a
] - deps: V8: forward declaration ofRtl*FunctionTable
(Refael Ackermann) #32116 - [
4ef37c83a9
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
7c61c6ee25
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
e82ef4148e
] - (SEMVER-MINOR) deps: update V8 to 9.1.269.36 (Michaël Zasso) #38273 - [
70af146745
] - deps: upgrade npm to 7.16.0 (npm team) #38920 - [
a71df7630e
] - (SEMVER-MINOR) dns: allow--dns-result-order
to change default dns verbatim (Ouyang Yadong) #38099 - [
dce256b210
] - doc: remove references to deleted freenode channels (devsnek) #39047 - [
1afff98805
] - doc: fix typos (bl-ue) #39049 - [
858f66e691
] - doc: add missing parameter types (Voltrex) #39013 - [
ed91379186
] - doc: clearify that http does chunked encoding itself (Mao Wtm) #28379 - [
51561f390a
] - doc: add missing changelog links (Antoine du Hamel) #39016 - [
a19170eb9d
] - doc: clarify that only one Python version is required to build (bl-ue) #38894 - [
7b219992e0
] - doc: fix markup for aesImportParams (Tobias Nießen) #38898 - [
405b50cdba
] - doc: useawait
in filehandle.truncate() snippet (RA80533) #38939 - [
5218fe86d1
] - doc: fixed typo in process.md (Derevianchenko Maksym) #38941 - [
f903ad85f2
] - doc: add missing semis after classes (Darshan Sen) #38931 - [
0bdeeda3b5
] - doc: update write callback documentation (Simone Busoli) #38959 - [
7a7c0588ad
] - doc: mark util.inherits as legacy (Voltrex) #38896 - [
f6964dc506
] - doc: clarify whenreadable._read(...)
is called (Shaun Keys) #38726 - [
3481b02e77
] - doc: mark Node.js v15.x as EOL (Antoine du Hamel) #38891 - [
17a9846920
] - doc: fix .mjs syntax in crypto.md (himself65) #38882 - [
8c7b2bab5f
] - doc,fs: remove experimental status for WHATWG URL as path (Antoine du Hamel) #38870 - [
eddde6c31a
] - errors: don't rekey on primitive type (Benjamin Coe) #39025 - [
3d7892ef39
] - errors: add ERR_DEBUGGER_STARTUP_ERROR (Rich Trott) #39024 - [
631856ea32
] - errors: add ERR_DEBUGGER_ERROR (Rich Trott) #39024 - [
336571fbdd
] - Revert "http: make HEAD method to work with keep-alive" (Michaël Zasso) #38949 - [
c2b4fbba0f
] - lib: remove semicolon in preparation for babel/eslint-parser update (Rich Trott) #39094 - [
f17dde81f3
] - lib: make internal/options lazy (Joyee Cheung) #38993 - [
551430514b
] - lib: add JSDoc typings for child_process (Voltrex) #38222 - [
ded83350a0
] - lib: make primordials Promise methods safe (Antoine du Hamel) #38650 - [
637c1fa83c
] - lib: refactor debuglog init (Antoine du Hamel) #38838 - [
5b5e07a2cc
] - meta: update label-pr-config (Michaël Zasso) #38950 - [
92ed1c6cce
] - module: fix legacynode
specifier resolution to resolve"main"
field (Antoine du Hamel) #38979 - [
4174f139b6
] - net: use missing validator (Voltrex) #38984 - [
f7724ab342
] - node-api: avoid crashing on passed-in null string (Gabriel Schulhof) #38923 - [
ec3e5b4c15
] - node-api: avoid SecondPassCallback crash (Michael Dawson) #38899 - [
74f5e30d69
] - node-api: rtn pending excep on napi_new_instance (legendecas) #38798 - [
4c6193fea1
] - report: generates report on threads with no isolates (legendecas) #38994 - [
3c7a7d9ee4
] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023 - [
284d9c6228
] - src: cleanup uv_fs_t regardless of success or not (legendecas) #38996 - [
902bb858d7
] - src: refactor to use locale functions (Darshan Sen) #39014 - [
10370c5e8a
] - src: fix multiple AddLinkedBinding() calls (Anna Henningsen) #39012 - [
ff8313c3a5
] - src: throw error in LoadBuiltinModuleSource when reading fails (Joyee Cheung) #38904 - [
9ba5518f08
] - src: skip test_fatal/test_threads for Debug builds (Daniel Bevenius) #38805 - [
06afb8df65
] - (SEMVER-MINOR) src: make InitializeOncePerProcess more flexible (Shelley Vohr) #38888 - [
db4b192113
] - src: add not-weak DCHECK to PersistentToLocal::Strong (Anna Henningsen) #38875 - [
08b2a4a138
] - src,test: raise error for --enable-fips when no FIPS (Daniel Bevenius) #38859 - [
5d92c09bbf
] - src,url: separate some tables out of node_url.cc (Khaidi Chu) #38988 - [
c20e28e1a0
] - stream: fix pipeline pump (Robert Nagy) #39006 - [
7b026d8a72
] - test: move inspector-cli tests to sequential (Rich Trott) #39079 - [
a53911b166
] - test: improve buffer coverage (Rongjian Zhang) #38538 - [
5e9175f148
] - test: fix name of variable in inspector-cli test (Tobias Nießen) #38869 - [
bd924610ec
] - test: fix typo (Houssem Chebab) #39045 - [
d50df5dec1
] - test: fix typo in test-http2-invalidheaderfield.js (Ikko Ashimine) #39021 - [
6111671d45
] - test: adapt abort tests for new Windows code (Michaël Zasso) #38273 - [
1816d46cef
] - test: adapt test-linux-perf to V8 changes (Michaël Zasso) #38273 - [
32961c4781
] - test: fix V8 serdes test for V8 9.1 (Michaël Zasso) #38273 - [
f652284b3b
] - test: remove obsolete TLS test (Rich Trott) #39001 - [
81bbeab3bd
] - test: improve coverage of lib/events.js (Rongjian Zhang) #38582 - [
e82111f890
] - test: http outgoing _headers setter null (ycjcl868) #38881 - [
1f10e84939
] - test: suppress warning in test_environment.cc (Daniel Bevenius) #38868 - [
379b5f79a9
] - tls: tweak clientCertEngine argument parsing (Shelley Vohr) #38900 - [
78d2e0ed8e
] - tools: update babel-eslint-parser to 7.14.5 (Rich Trott) #39094 - [
fed641127a
] - tools: update ESLint to 7.29.0 (Rich Trott) #39083 - [
3ae2a0be48
] - tools: fix typo (Houssem Chebab) #39044 - [
a1d0aef60e
] - tools: update doctool dependencies, migrate to ESM (Michaël Zasso) #38966 - [
2a292cf574
] - tools: update V8 gypfiles for 9.1 (Michaël Zasso) #38273 - [
0c90fd8454
] - tools: avoid crashing CQ when git push fails (Antoine du Hamel) #36861 - [
f817c2d3bb
] - tools: fix typo in commit-queue.sh (bl-ue) #39000 - [
be5101eb32
] - tools: update ESLint to 7.28.0 (Luigi Pinca) #38955 - [
9bf9ddb490
] - tools: refactor snapshot builder (Joyee Cheung) #38902 - [
0706565097
] - tools: bump remark-preset-lint-node to 2.3.0 (Rich Trott) #38910 - [
7d35fa7938
] - tools: update gyp-next to v0.9.1 (Jiawen Geng) #38867 - [
00c20e621f
] - tools,doc: forbid CJS globals in ESM code snippets (Antoine du Hamel) #38889 - [
99161b09f6
] - url,src: simplify ipv6 logic by using uv_inet_pton (Khaidi Chu) #38842 - [
f40725f2a1
] - vm: use missing validator (Voltrex) #38935 - [
f959cb3c68
] - worker: do not look up context twice in PostMessage (Anna Henningsen) #38784
v16.3.0
Notable Changes
-
cli:
- add -C alias for --conditions flag (Guy Bedford) #38755
-
deps:
- add workspaces support to npm install commands (Ruy Adorno) #38750
Commits
- [
4e58ec4aa6
] - benchmark: output JSON-compatible numbers (Michaël Zasso) #38778 - [
7a9d0fd5a9
] - benchmark: fix http elapsed time (Antoine du Hamel) #38743 - [
a98d631905
] - bootstrap: include vm and contextify binding into the snapshot (Joyee Cheung) #38677 - [
f1628960e1
] - build: remove outdated dont-land-on-v6.x label (Michaël Zasso) #38886 - [
6986154b30
] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #38873 - [
24cca7c5ea
] - build: add lto build to CI (Jiawen Geng) #38567 - [
80c32b7a9a
] - build: allow LTO with Clang 3.9.1+ (Jesse Chan) #38751 - [
e9be2095cf
] - build: replace non-POSIX test -a|o (Issam E. Maghni) #38731 - [
717a8b63e1
] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728 - [
bc8400122c
] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755 - [
eb7c932a6d
] - debugger: revise async iterator usage to comply with lint rules (Rich Trott) #38847 - [
f1000e0e52
] - debugger: removed unused function argument (Rich Trott) #38850 - [
ee1056da60
] - debugger: wait for V8 debugger to be enabled (Michaël Zasso) #38811 - [
47ad448def
] - deps: upgrade npm to 7.15.1 (npm team) #38880 - [
e8192b5e89
] - deps: upgrade npm to 7.14.0 (Ruy Adorno) #38750 - [
15aaf14690
] - deps: update llhttp to 6.0.2 (Fedor Indutny) #38665 - [
108ffdb68f
] - doc: fixed typo in n-api.md (julianjany) #38822 - [
131a6918dd
] - doc: use "Long Term Support" in collaborator guide (Rich Trott) #38841 - [
4844337cd7
] - doc: use "Long Term Support" in technical values doc (Rich Trott) #38841 - [
f1e823b679
] - doc: use "Long Term Support" in README (Philip) #38839 - [
4e11971a76
] - doc: fix grammar infs.md
(yotamselementor) #38818 - [
e2f28c80d1
] - doc: fixup code sample in http.md (TodorTotev) #38776 - [
96fa387082
] - doc: document null target pattern (Guy Bedford) #38724 - [
5553be3f4e
] - doc: update code examples fornode:url
module (fisker Cheung) #38645 - [
0c063a1258
] - doc,url: clarify domainTo* when built without ICU (Darshan Sen) #38789 - [
2054efa02c
] - events: refactor to use primordials in lib/events (Akhil Marsonya) #38117 - [
4884991a12
] - lib: include url in bootstrap snapshot and remove unnecessary lazy-loads (Joyee Cheung) #38826 - [
08ad2f6c18
] - lib: fix typos (bl-ue) #38846 - [
7d3a8cb854
] - lib: remove unnecessary lazy loads (Joyee Cheung) #38737 - [
5d9442a024
] - lib: load internal/fs/watchers and internal/fs/read_file_context early (Joyee Cheung) #38737 - [
2268d1cf4c
] - lib: refactor to reuse validators (Rongjian Zhang) #38608 - [
496f7eae92
] - node-api: fix shutdown crashes (Michael Dawson) #38492 - [
e1195312b9
] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569 - [
7ba305552f
] - src: set PromiseHooks by Environment (Bryan English) #38821 - [
74205b3542
] - src: replaceauto
s in node_api.cc (Khaidi Chu) #38852 - [
120849f609
] - src: cache necessary isolate & context in api/* (Khaidi Chu) #38366 - [
f25cd4f377
] - src: fix typos (bl-ue) #38845 - [
a1b0e64187
] - src: support fs_event_wrap binding in the snapshot (Joyee Cheung) #38737 - [
36d4a4331d
] - src: remove redundant v8 namespaces inenv.cc
(Juan José Arboleda) #38792 - [
3e6b3b22c5
] - src: use SPrintF in ProcessEmitWarning (Darshan Sen) #38758 - [
9ca5c0e29e
] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #38722 - [
3741595289
] - src: set CONF_MFLAGS_DEFAULT_SECTION for OpenSSL 3 (Daniel Bevenius) #38732 - [
4e3353223e
] - src: use HandleScope in StreamReq::Done() (Darshan Sen) #38720 - [
c576311954
] - src: remove commented code innode_file.cc
(Juan José Arboleda) #38693 - [
61c95f08b3
] - src: write named pipe info in diagnostic report (legendecas) #38637 - [
ba96f14233
] - src: remove unusediostream
library (Juan José Arboleda) #38694 - [
f5dd85bbe6
] - src: remove more extra semis from member fns (Shelley Vohr) #38744 - [
a47fd67154
] - src: replaceauto
s in node_contextify.cc (Khaidi Chu) #38644 - [
9054d25acc
] - stream: add a non-destroying iterator to Readable (Nitzan Uziely) #38526 - [
4131f94ca8
] - stream: allow empty string as source of pipeline (Qingyu Deng) #38723 - [
0aa3cb5c0e
] - test: improve coverage of fs internal utils (Rongjian Zhang) #38746 - [
48ebebd2a8
] - test: remove unnecessary--pending-deprecation
flag (Antoine du Hamel) #38819 - [
3c492baa51
] - test: fix writefile with fd (Nitzan Uziely) #38820 - [
e91d14c57c
] - test: simplify test-path-resolve.js (himself65) #38671 - [
1f5baaa2e7
] - test: improve coverage forquestion
in readline (Qingyu Deng) #38799 - [
6d86f8afd5
] - test: os, replace custom flatten method with built-in Array.flat (Wael Almattar) #38770 - [
c7a58578dc
] - test: set locale for datetime-change-notify test (ZiJian Liu) #38741 - [
695e982a42
] - test: improve coverage of lib/fs.js (Rongjian Zhang) #38604 - [
11ac9c6fcc
] - test: improve coverage of lib/_http_outgoing.js (Rongjian Zhang) #38734 - [
6da4aa30c6
] - test: give js-native-api tests consistent names (Gabriel Schulhof) #38692 - [
929e8df1c0
] - test: improve coverage of stream.Readable (Rongjian Zhang) #38702 - [
36ffd58105
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #38851 - [
6b8c712247
] - tools: bump cpplint to 1.5.5 (Rich Trott) #38851 - [
be8d934679
] - tools: remove exception for Node.js 8 and earlier (Rich Trott) #38840 - [
c0bde0cd4a
] - tools: update setup-node to setup-node@v2 (pengjie) #38825 - [
21ce3af904
] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764 - [
ab44106555
] - tools: use PrintCaughtException in the snapshot builder (Joyee Cheung) #38745 - [
30c0020885
] - typings: add JSDoc typings for https (Voltrex) #38589 - [
7fb809b475
] - typings: add JSDoc typings for events (Voltrex) #38712 - [
7773d58f1a
] - url: exit early when : delimiter is seen in hostname (Timothy Gu) #38742 - [
a2da9e254c
] - worker: use rwlock for sibling group (Anna Henningsen) #38783 - [
18f3ba3674
] - worker: leave TODO comments for using std::variant when possible (Anna Henningsen) #38788
v16.2.0
Notable Changes
- [
36b948560c
] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394 - [
c0deeeacb2
] - lib: support setting process.env.TZ on windows (James M Snell) #38642 - [
4c4902748c
] - (SEMVER-MINOR) module: add support forURL
toimport.meta.resolve
(Antoine du Hamel) #38587 - [
c182198c44
] - (SEMVER-MINOR) process: add'worker'
event (James M Snell) #38659 - [
fbf02e3198
] - (SEMVER-MINOR) util: add util.types.isKeyObject and util.types.isCryptoKey (Filip Skokan) #38619
Commits
- [
36b948560c
] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394 - [
dcae03203e
] - buffer: remove TODOs inatob
/btoa
(Khaidi Chu) #38548 - [
48b557e904
] - buffer: remove unreachable code (Rongjian Zhang) #38537 - [
b0df28dea5
] - build: add workaround for V8 builds (Richard Lau) #38632 - [
3bb12db255
] - build: remove dependency ondistutils.spawn
(Richard Lau) #38600 - [
10aaf30da1
] - build: add missing torque output sources (Richard Lau) #38576 - [
03b4a3a5bf
] - build: compile with -std=gnu++14 (Darshan Sen) #38504 - [
4296591154
] - build,src,test,doc: enable FIPS for OpenSSL 3.0 (Daniel Bevenius) #38633 - [
36bb8daba5
] - crypto: forbid NODE-ED25519 and NODE-ED448 "raw" key export (Filip Skokan) #38668 - [
36bb7243ff
] - debugger: refactorinspect_repl
to use primordials (Antoine du Hamel) #38551 - [
16a6c8d5a6
] - debugger: refactor to use internal modules (Antoine du Hamel) #38550 - [
11dd9a6838
] - debugger: disable only the lint rules required by current file state (Rich Trott) #38529 - [
e79f540fa0
] - debugger: avoid non-ASCII char in code file (Rich Trott) #38529 - [
d9867b9358
] - debugger: wrap lines longer than 80 chars (Rich Trott) #38529 - [
352a600142
] - debugger: rename inspector-cli test module to debugger (Rich Trott) #38530 - [
608d0e11f3
] - deps: upgrade npm to 7.13.0 (Ruy Adorno) #38682 - [
5c71f49d3f
] - deps: upgrade npm to 7.12.1 (Ruy Adorno) #38628 - [
ec2dbfb200
] - deps: patch V8 to 9.0.257.25 (Michaël Zasso) #38556 - [
ab298723b5
] - (SEMVER-MINOR) deps: V8: cherry-pickfa4cb17
(Stephen Belanger) #36394 - [
a84e9b3e7d
] - (SEMVER-MINOR) deps: V8: cherry-pick4c07451
(Stephen Belanger) #36394 - [
043b1aaa3f
] - (SEMVER-MINOR) deps: V8: cherry-pick5f44131
(Stephen Belanger) #36394 - [
1a104bac74
] - (SEMVER-MINOR) deps: V8: cherry-pick272445f
(Stephen Belanger) #36394 - [
827ae05538
] - (SEMVER-MINOR) deps: V8: backportc0fceaa
(Stephen Belanger) #36394 - [
f31a6114a4
] - deps: V8: cherry-pick530080c
(Milad Fa) #38489 - [
4001dd28ba
] - dgram: extract cluster lazy loading method to make it testable (Rongjian Zhang) #38563 - [
a0dc194e31
] - doc: document buffer.kStringMaxLength (Tobias Nießen) #38688 - [
8590c151cd
] - doc: update abort signal in fs promise api example (Moritz Kneilmann) #38669 - [
0100a3b026
] - doc: add documentation for fs.WriteStream.close() (Hitesh Sharma) #38610 - [
5c38a554ec
] - doc: clarify synchronous blocking of Worker stdio (James M Snell) #38658 - [
1765e32c45
] - doc: update contact info (Gabriel Schulhof) #38689 - [
c4b161cb89
] - doc: change color of doctag on night mode (Qingyu Deng) #38652 - [
6620a3182e
] - doc: add ESM code examples in url.md (Antoine du Hamel) #38651 - [
d3de0ef5d4
] - doc: fix fs.openSync() signature (Luigi Pinca) #38591 - [
56bf6c1bcd
] - doc: typo stats() should be stat(); clarity (Bryan Field) #38541 - [
1d9fd49f41
] - doc: fix code example in ecdh.setPublicKey() (Jordan Baczuk) #38542 - [
4c70e42928
] - doc: useHEAD
instead ofmaster
for links (Antoine du Hamel) #38518 - [
ae9128ec61
] - doc: clarify DiffieHellmanGroup class docs (Nitzan Uziely) #38363 - [
e59131d97f
] - doc: fix broken AHAFS link in fs doc (Rich Trott) #38534 - [
e9d4c8587a
] - doc: use AIX instead of Aix in fs.md (Rich Trott) #38535 - [
e0118f347a
] - doc: remove extraneous dash from flag prefix (Rodolfo Carvalho) #38532 - [
9e10e1a76f
] - doc: corrected workload name as per the latest VS Installer (MrJithil) #38500 - [
38644d6f96
] - doc: use sentence case in headers in src/crypto/README.md (Rich Trott) #38524 - [
347b9f2304
] - errors: remove input from ERR_INVALID_URL message (moander) #38614 - [
5b40e2f596
] - events: use nullish coalencing operator (Voltrex) #38328 - [
3a5856cbc3
] - fs: fix async iterator partial writes (Nitzan Uziely) #38615 - [
e8761186a5
] - fs: fix error when writing buffers > INT32_MAX (Zach Bjornson) #38546 - [
47080bcfc8
] - fs: useassert
infsCall
argument checking (Rongjian Zhang) #38519 - [
3d8b8e133f
] - http: refactor to remove redundant argument of _deferToConnect (Rongjian Zhang) #38598 - [
c0deeeacb2
] - lib: support setting process.env.TZ on windows (James M Snell) #38642 - [
cf4dc80d5f
] - lib: makeIterableWeakMap
safe to iterate (Antoine du Hamel) #38523 - [
90b640efb1
] - meta: add v8 team (Jiawen Geng) #38566 - [
4c4902748c
] - (SEMVER-MINOR) module: add support forURL
toimport.meta.resolve
(Antoine du Hamel) #38587 - [
14a2a00cda
] - node-api: faster threadsafe_function (Fedor Indutny) #38506 - [
be4b3a4164
] - path: inline conditions (Voltrex) #38613 - [
c182198c44
] - (SEMVER-MINOR) process: add'worker'
event (James M Snell) #38659 - [
e2b8454582
] - repl: fix Ctrl+C on top level await (Antoine du Hamel) #38656 - [
718ad105e5
] - src: fix fatal errors when a current isolate not exist (legendecas) #38624 - [
524a9d6fcd
] - src: update cares_wrap OpenBSD defines (Anna Henningsen) #38670 - [
6b409cf664
] - src: remove extra semi after member fn (Shelley Vohr) #38686 - [
bfec80fd66
] - src: make workers messaging more resilient (Juan José Arboleda) #38510 - [
ff1b4322f5
] - test: refactortest-readline-interface
to be shorter (Juan José Arboleda) #38691 - [
8eea317227
] - test: stream.finished detects a destroyed IncomingMessage (Nitzan Uziely) #38661 - [
5b25fbe266
] - test: set common.bits to 64 for riscv64 (Andreas Schwab) #38626 - [
5a0b52120a
] - test: improve coverage of lib/_http_client.js (Rongjian Zhang) #38599 - [
3d0fad3840
] - test: improve coverage of lib/os.js (Rongjian Zhang) #38653 - [
16b2fb4e0c
] - test: increase coverage for repl (ZiJian Liu) #38559 - [
8f78c6646e
] - test: call functions internally (Voltrex) #38560 - [
178fe215a4
] - test: increase coverage for Histogram (ZiJian Liu) #38555 - [
95db7d5afc
] - test: improve fs coverage (Rongjian Zhang) #38517 - [
f2f768f261
] - test: complete coverage of querystring (Rongjian Zhang) #38520 - [
5b44107ae9
] - test: increase coverage for AbortController (ZiJian Liu) #38514 - [
662265074c
] - test: increase coverage for Blob (ZiJian Liu) #38515 - [
89e1daccf3
] - test: run message and pseudo-tty tests in parallel (Richard Lau) #38502 - [
727c2bcc24
] - test: move test-net-connect-econnrefused from pummel to sequential (Rich Trott) #38462 - [
e64ebac2da
] - test: fix flaky inspector-cli tests when breakpionts are restored (Rich Trott) #38431 - [
b51b4feece
] - test: skip tests for openssl-3.0.0-alpha15 (Daniel Bevenius) #38451 - [
db5ee23edf
] - test: update OpenSSL 3.0.0-alpha15 error messages (Daniel Bevenius) #38451 - [
24472d9e0c
] - test,repl: fix tests when inspector is disabled (Antoine du Hamel) #38564 - [
267a84f5e1
] - tools: remove redundant v8 config (Jiawen Geng) #38565 - [
a028805f1b
] - tools: update ESLint to 7.26.0 (Colin Ihrig) #38605 - [
ec8ab22ce6
] - (SEMVER-MINOR) tools: addWorker
to type-parser (James M Snell) #38659 - [
151488539b
] - tools: make GH Actions workflows work if default branch is not master (Antoine du Hamel) #38516 - [
c0f0c9a92d
] - typings: add JSDoc typings for readline (Voltrex) #38253 - [
fbf02e3198
] - (SEMVER-MINOR) util: add util.types.isKeyObject and util.types.isCryptoKey (Filip Skokan) #38619 - [
070ee4bb94
] - Revert "worker: removeERR_CLOSED_MESSAGE_PORT
" (Juan José Arboleda) #38510
v16.1.0
Notable Changes
- [
8a90f55a05
] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287
Commits
- [
28e16488cf
] - async_hooks,doc: replace process.stdout.fd with 1 (Darshan Sen) #38382 - [
cbab7ec6e5
] - benchmark: avoid usingconsole.log()
(Antoine du Hamel) #38370 - [
ba15b20062
] - benchmark: useprocess.hrtime.bigint()
(Antoine du Hamel) #38369 - [
bc6e719884
] - bootstrap: freeze more intrinsics (Antoine du Hamel) #38217 - [
29faf0f12e
] - build: fix label-pr workflow (Michaël Zasso) #38399 - [
b5d669a6ea
] - build: label MRs with GitHub Action instead of nodejs-github-bot (Phillip Johnsen) #38301 - [
195f679331
] - crypto: don't crash with some selfsigned certs (Nils Dralle) #37990 - [
4b073b0beb
] - crypto: fix generateKeyPair type checks (Nitzan Uziely) #38364 - [
c1d9b5b386
] - crypto: fix scrypt keylen validation (Antoine du Hamel) #38385 - [
7354479ad5
] - crypto: fix DiffieHellmangenerator
validation (eladkeyshawn) #38311 - [
0e446d6048
] - debugger: enable linter oninternal/inspector/inspect_client
(Antoine du Hamel) #38417 - [
9f0e80aa4d
] - debugger: refactorinternal/inspector/_inspect
to use more primordials (Antoine du Hamel) #38406 - [
a0c566f85a
] - debugger: apply automatic lint fixes for inspect_repl.js (Rich Trott) #38411 - [
b884ea739b
] - debugger: apply automatic lint fixes for _inspect.js (Rich Trott) #38411 - [
f946aa0360
] - debugger: remove unused function argument (Rich Trott) #38400 - [
203a9689a3
] - debugger: align message with Node.js standard (Rich Trott) #38400 - [
ef617dcbb0
] - debugger: add usage example for--port
(Rafael Gonzaga) #38400 - [
37b5ce2d5a
] - debugger: fix race condition/deadlock on initialization (Rich Trott) #38161 - [
2a6203d155
] - debugger: replace internal use of deprecated API (Rich Trott) #38161 - [
6fff9fff97
] - debugger: allow longer time to connect (Rich Trott) #38161 - [
def85daace
] - debugger: accommodate line chunking in Windows (Rich Trott) #38161 - [
07361e6b77
] - debugger: fix inspect restart on Windows (Rich Trott) #38161 - [
d65615e119
] - debugger: remove unused code (Rich Trott) #38161 - [
62b03bc4f6
] - debugger: move node-inspect to internal library (Rich Trott) #38161 - [
e3b75cb5aa
] - deps: V8: cherry-pickfd75c97
(Michaël Zasso) #38455 - [
aabddfbeb5
] - deps: upgrade npm to 7.11.2 (Ruy Adorno) #38475 - [
7b9fb92d51
] - deps: update to cjs-module-lexer@1.2.1 (Guy Bedford) #38450 - [
47626c52a3
] - deps: patch V8 to 9.0.257.24 (Michaël Zasso) #38423 - [
f455e08621
] - deps: patch V8 to 9.0.257.21 (Michaël Zasso) #38333 - [
dd61a26d8c
] - deps: update llhttp to 6.0.1 (Fedor Indutny) #38359 - [
05f41cdbcc
] - deps: patch V8 to 9.0.257.19 (Michaël Zasso) #38270 - [
224faa0a05
] - Revert "doc: os.uptime() temporary bug notice" (Michaël Zasso) #38494 - [
3b0480dde8
] - doc: document'secureConnect'
event limitation (James M Snell) #38447 - [
92586046ec
] - doc: fix outdated util inspect documentation and layout example (Ruben Bridgewater) #37079 - [
13de4cf1ca
] - doc: mark Node.js 10 as End-of-Life (Richard Lau) #38482 - [
3cbfde1f25
] - doc: mark querystring api as legacy (James M Snell) #38436 - [
a5929c2487
] - doc: update node-api support matrix (Michael Dawson) #38424 - [
f08650cefe
] - doc: add arguments for stream event of Http2Server and Http2SecureServer (Qingyu Deng) #37892 - [
2d59273bed
] - doc: indicate that abort tests do not generate core files (Rich Trott) #38422 - [
f1970127ee
] - doc: add try/catch in http2 respondWithFile example (Matteo Collina) #38410 - [
f6f1317f43
] - doc: note the system requirements for V8 tests (DeeDeeG) #38319 - [
4b19beaf3c
] - doc: minor clarification to pathObject (James M Snell) #38437 - [
1eae4af6f7
] - doc: clarify that fs.Dir async iterator closes automatically (James M Snell) #38438 - [
14afb39259
] - doc: document new TCP_KEEPCNT and TCP_KEEPINTVL socket option defaults (Arnold Zokas) #38313 - [
ed5ef21690
] - doc: do not mention TCP in the allowHalfOpen option description (Luigi Pinca) #38360 - [
042985c139
] - doc: update message to match actual output (Rich Trott) #35271 - [
bcc5e2af76
] - doc: request default snap track be updated for LTS (Rod Vagg) #37708 - [
dfd4c7ba93
] - doc: markprocess.hrtime()
as legacy (Antoine du Hamel) #38371 - [
67cd88da00
] - doc: fix typo in worker_threads.md (takayama) #38368 - [
a9314cda7d
] - doc: fix version history for"exports"
patterns (Antoine du Hamel) #38355 - [
76885cd578
] - doc: fixpackage.json
"imports"
field history (Antoine du Hamel) #38356 - [
0e88ae7ec1
] - doc: fix typo in buffer.md (divlo) #38323 - [
1cccc2da51
] - doc: fix YAML comment opening tags (Jayden Seric) #38324 - [
25052dc987
] - doc: add nodejs-sec email template (Daniel Bevenius) #38290 - [
3858029262
] - doc: update TSC members list with three new members (Rich Trott) #38352 - [
2eef587674
] - doc: usefoo.prototype.bar
notation in buffer.md (Voltrex) #38032 - [
8a90f55a05
] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 - [
a696f1080c
] - inspector: remove redundant method for connection check (Yash Ladha) #37986 - [
fcac2e0363
] - lib: harden lint checks for globals (Antoine du Hamel) #38419 - [
277122e1fa
] - lib: fix and improve os typings (Akhil Marsonya) #38316 - [
f2c0258b4c
] - lib: add support for JSTransferable as a mixin (James M Snell) #38383 - [
96f54d3446
] - meta: post comment when pr labeled fast-track (James M Snell) #38446 - [
4711f57cf2
] - perf_hooks: add toJSON to performance class (Yash Ladha) #37771 - [
013fa59602
] - perf_hooks: fix PerformanceObserver 'gc' crash (James M Snell) #38414 - [
10147f191e
] - readline: move utilities to internal modules (Antoine du Hamel) #38466 - [
620ee42ab4
] - repl: document top level await limitation with const/let (James M Snell) #38449 - [
aa24681dcb
] - repl: display prompt once after error callback (Anna Henningsen) #38314 - [
9c06103a4f
] - src: fix validation of negative offset to avoid abort (James M Snell) #38421 - [
7d8cc2abf1
] - src: use %progbits instead of @progbits (Stephen Gallagher) #38312 - [
17856f1f88
] - src: print arbitrary javascript exception value in node report (legendecas) #38009 - [
769a210d55
] - src: refactor to use THROW_* argument based snprintf (Filip Skokan) #38357 - [
e3538bbcd2
] - src: fix abort in pbkdf2 (Tobias Nießen) #38354 - [
09cacd7418
] - src: fix setting Converter sub char length (James M Snell) #38331 - [
3649ec5276
] - src: avoid deferred gc/cleanup for Buffer.from (James M Snell) #38337 - [
f2ffaba78c
] - stream: the position of _read() is wrong (helloyou2012) #38292 - [
7ce39b8608
] - test: fixcommon.mustCall
length
andname
properties (Antoine du Hamel) #38464 - [
d1cd1178e7
] - test: address deprecation warning (Rich Trott) #38448 - [
67e9e71f75
] - test: crypto KeyObject.from() ERR_INVALID_ARG_TYPE (pezhmanparsaee) #37890 - [
9ad611c0b2
] - test: fix flaky test-crypto-timing-safe-dqual-benchmarks (Rich Trott) #38476 - [
10b6b4e244
] - test: update url Web Platform Tests (Leko) #38435 - [
4f6c4eb144
] - test: move abort test from pummel to abort directory (Rich Trott) #38396 - [
231ef4b0ce
] - test: move slower tests into pummel and skip on slow devices (Rich Trott) #38395 - [
45322dfa12
] - test: skip some pummel tests on slower machines (Rich Trott) #38394 - [
1bc47a4c0f
] - test: fix test to allow quictls fork of OpenSSL 3 (Richard Lau) #38372 - [
6ac02755f5
] - test: extend timeout on debugger tests for slower machines (Rich Trott) #38161 - [
93b0c78de0
] - test: fix comment typo (Rich Trott) #38161 - [
6c3e5043b0
] - test: fix test-inspector-cli-address (Rich Trott) #38161 - [
27d7588ad5
] - test: add ancestor package.json checks for tmpdir (Richard Lau) #38285 - [
30de03630e
] - test: replace function with arrow function and remove unused argument (Andres) #38235 - [
eb8f5ce44f
] - test: use .test domain for not found address (Richard Lau) #38286 - [
a4084d66c6
] - test,debugger: migrate node-inspect tests to core (Rich Trott) #38161 - [
16eb078aa8
] - test,readline: improve tab completion coverage (Antoine du Hamel) #38465 - [
b3ca1b358e
] - timers: remove redundant unref calls (Giora Guttsait) #38320 - [
5b393d9258
] - tls: validate ticket keys buffer (Antoine du Hamel) #38308 - [
f6745e9370
] - tls: fixtlsSocket.setMaxSendFragment
abort (eladkeyshawn) #38170 - [
499da2d9e3
] - tools: use mktemp to create the workspace directory (Luigi Pinca) #38432 - [
8a83bfd1bd
] - tools: use a shallow clone of the npm/cli repository (Luigi Pinca) #38463 - [
bec959ef8b
] - tools: disable LTO for "v8_cppgc_shared" target (Jesse Chan) #38346 - [
6350d35b3c
] - tools: remove fixer for non-ascii-character ESLint custom rule (Rich Trott) #38413 - [
dce8d2968a
] - tools: fix doc generation when version info is not available (Antoine du Hamel) #38398 - [
1033f6c8cb
] - tools: add _depot_tools to PATH (for V8 tests) (DeeDeeG) #38299 - [
28f02cb8cf
] - tools: update ESLint to 7.25.0 (Colin Ihrig) #38378 - [
f1ea2c8e2b
] - tools: update markdown linter rules (Rich Trott) #38384 - [
02e875c645
] - tools: remove node-inspect from license (Rich Trott) #38161 - [
d3bd4b4771
] - tools: fix type mismatch in test runner (Richard Lau) #38289 - [
9a2651352b
] - typings: add JSDoc typings for fs (Voltrex) #38306 - [
e389e86b6b
] - typings: add JSDoc typings for util (Rohit Gohri) #38213 - [
ec5b06eae3
] - util: fix infinite recursion during inspection (Ruben Bridgewater) #37079 - [
67bd0ec15c
] - zlib: fix brotli flush range (Khaidi Chu) #38408
v16.0.0
Notable Changes
Deprecations and Removals
- (SEMVER-MAJOR) fs: remove permissive rmdir recursive (Antoine du Hamel) #37216
- (SEMVER-MAJOR) fs: runtime deprecate rmdir recursive option (Antoine du Hamel) #37302
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('http_parser') (James M Snell) #37813
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('url') (James M Snell) #37799
- (SEMVER-MAJOR) lib: make process.binding('util') return only type checkers (Anna Henningsen) #37819
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('crypto') (James M Snell) #37790
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('signal_wrap') (James M Snell) #37800
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('v8') (James M Snell) #37789
- (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('async_wrap') (James M Snell) #37576
- (SEMVER-MAJOR) module: remove module.createRequireFromPath (Antoine du Hamel) #37201
- (SEMVER-MAJOR) module: runtime deprecate subpath folder mappings (Antoine du Hamel) #37215
- (SEMVER-MAJOR) module: runtime deprecate "main" index and extension lookups (Antoine du Hamel) #37206
- (SEMVER-MAJOR) module: runtime deprecate invalid package.json main entries (Antoine du Hamel) #37204
- (SEMVER-MAJOR) process: runtime deprecate changing process.config (James M Snell) #36902
Stable Timers Promises API
The Timers Promises API provides an alternative set of timer functions that return Promise objects. Added in Node.js v15.0.0, in this release they graduate from experimental status to stable.
Contributed by James Snell - #38112
Toolchain and Compiler Upgrades
Node.js v16.0.0 will be the first release where we ship prebuilt binaries for Apple Silicon. While we’ll be providing separate tarballs for the Intel (darwin-x64
) and ARM (darwin-arm64
) architectures the macOS installer (.pkg
) will be shipped as a ‘fat’ (multi-architecture) binary.
- (SEMVER-MAJOR) build: remove support for Python 2 (Christian Clauss) #36691
- (SEMVER-MAJOR) build: default PYTHON to python3 in Makefile (Michaël Zasso) #37764
- build: update Makefile to support fat binary (Ash Cripps) #37861
- (SEMVER-MAJOR) build: enable ASLR (PIE) on OS X (woodfairy) #35704
- build: warn for gcc versions earlier than 8.3.0 (Richard Lau) #37935
- (SEMVER-MAJOR) doc: update minimum supported Xcode to 11 (Michaël Zasso) #37872
- (SEMVER-MAJOR) doc: update minimum supported GCC to 8.3 (Michaël Zasso) #37871
- (SEMVER-MAJOR) doc: update AIX to GCC8 for v16.x (Ash Cripps) #37677
- tools: set arch in Distribution.xml (Ash Cripps) #38261
V8 9.0
The V8 JavaScript engine is updated to V8 9.0, including performance tweaks and improvements.
This update also brings the ECMAScript RegExp Match Indices, which provide the start and end indices of the captured string. The indices array is available via the .indices
property on match objects when the regular expression has the /d
flag.
Contributed by Michaël Zasso - #37587
Other Notable Changes
- (SEMVER-MINOR) assert: graduate assert.match and assert.doesNotMatch (James M Snell) #38111
- (SEMVER-MAJOR) buffer: expose btoa and atob as globals (James M Snell) #37786
- (SEMVER-MAJOR) deps: bump minimum ICU version to 68 (Michaël Zasso) #37330
- deps: update ICU to 69.1 (Michaël Zasso) #38178
- deps: update llhttp to 6.0.0 (Fedor Indutny) #38277
- deps: upgrade npm to 7.10.0 (Ruy Adorno) #38254
- (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660
- (SEMVER-MAJOR) lib,src: update cluster to use Parent (Michael Dawson) #36478
-
(SEMVER-MINOR) module: add support for
node:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - (SEMVER-MINOR) perf_hooks: add histogram option to timerify (James M Snell) #37475
-
(SEMVER-MINOR) repl: add auto‑completion for
node:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
Semver-Major Commits
- [
324a6c235a
] - (SEMVER-MAJOR) async_hooks: add thisArg to AsyncResource.bind (James M Snell) #36782 - [
d1e2184c8e
] - (SEMVER-MAJOR) buffer: expose btoa and atob as globals (James M Snell) #37786 - [
4268fae04a
] - (SEMVER-MAJOR) build: remove support for Python 2 (Christian Clauss) #36691 - [
c3a5e15ebe
] - (SEMVER-MAJOR) build: default PYTHON to python3 in Makefile (Michaël Zasso) #37764 - [
1d8c022544
] - (SEMVER-MAJOR) build: update Makefile to support fat binary (Ash Cripps) #37861 - [
38f32386c1
] - (SEMVER-MAJOR) build: include minimal V8 headers in distribution (Michaël Zasso) #37570 - [
a19af5ee71
] - (SEMVER-MAJOR) build: use C++11 ABI with libstdc++ (Anna Henningsen) #36634 - [
8d6b74d347
] - (SEMVER-MAJOR) build: enable ASLR (PIE) on OS X (woodfairy) #35704 - [
732ad99e47
] - (SEMVER-MAJOR) deps: update V8 to 9.0.257.11 (Michaël Zasso) #37587 - [
43cc8e4b2e
] - (SEMVER-MAJOR) deps: bump minimum ICU version to 68 (Michaël Zasso) #37330 - [
c5ff019a4e
] - (SEMVER-MAJOR) deps: update V8 to 8.9.255.19 (Michaël Zasso) #37330 - [
c7b3292251
] - (SEMVER-MAJOR) deps: update V8 to 8.8.278.17 (Michaël Zasso) #36139 - [
48db20f6f5
] - (SEMVER-MAJOR) deps: update V8 to 8.7.220 (Michaël Zasso) #35700 - [
d85e1f0703
] - (SEMVER-MAJOR) dns: use url module instead of punycode for IDNA (Antoine du Hamel) #35091 - [
290c158018
] - (SEMVER-MAJOR) doc: update minimum supported Xcode to 11 (Michaël Zasso) #37872 - [
1ff2918d80
] - (SEMVER-MAJOR) doc: update minimum supported GCC to 8.3 (Michaël Zasso) #37871 - [
2706e67116
] - (SEMVER-MAJOR) doc: update AIX to GCC8 for v16.x (Ash Cripps) #37677 - [
5ae5ca90ef
] - (SEMVER-MAJOR) doc: add http.IncomingMessage#connection (Pranshu Srivastava) #33768 - [
83d6e63aee
] - (SEMVER-MAJOR) events: change EventTarget handler exception behavior (Nitzan Uziely) #37237 - [
9948036ee0
] - (SEMVER-MAJOR) fs: remove permissive rmdir recursive (Antoine du Hamel) #37216 - [
d4693ff430
] - (SEMVER-MAJOR) fs: add validation for fd and path (Dylan Elliott) #35187 - [
0ddd75bcd8
] - (SEMVER-MAJOR) fs: runtime deprecate rmdir recursive option (Antoine du Hamel) #37302 - [
da217d0773
] - (SEMVER-MAJOR) fs: fix flag and mode validation (James M Snell) #37480 - [
2ef9a76ece
] - (SEMVER-MAJOR) http: use objects with null prototype in Agent (Michaël Zasso) #36409 - [
25e30005b8
] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('http_parser') (James M Snell) #37813 - [
8bb4e048af
] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('url') (James M Snell) #37799 - [
fe73e4d578
] - (SEMVER-MAJOR) lib: make process.binding('util') return only type checkers (Anna Henningsen) #37819 - [
3bee6d8aad
] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('crypto') (James M Snell) #37790 - [
ac00df112e
] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('signal_wrap') (James M Snell) #37800 - [
ae595d76e3
] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('v8') (James M Snell) #37789 - [
104dac79cc
] - (SEMVER-MAJOR) lib: aggregate errors to avoid error swallowing (Antoine du Hamel) #37460 - [
1468c9ff7c
] - (SEMVER-MAJOR) lib: runtime deprecate access to process.binding('async_wrap') (James M Snell) #37576 - [
295e766c27
] - (SEMVER-MAJOR) lib: remove usage of url.parse (raisinten) #36853 - [
cb3020d824
] - (SEMVER-MAJOR) lib: add error handling for input stream (rexagod) #31603 - [
15164cebce
] - (SEMVER-MAJOR) lib,src: update cluster to use Parent (Michael Dawson) #36478 - [
3cc9aec988
] - (SEMVER-MAJOR) module: runtime deprecate subpath folder mappings (Antoine du Hamel) #37215 - [
9fab73c73b
] - (SEMVER-MAJOR) module: runtime deprecate "main" index and extension lookups (Antoine du Hamel) #37206 - [
76a073b67e
] - (SEMVER-MAJOR) module: runtime deprecate invalid package.json main entries (Antoine du Hamel) #37204 - [
674614b3f5
] - (SEMVER-MAJOR) module: remove module.createRequireFromPath (Antoine du Hamel) #37201 - [
aecd5ebf49
] - (SEMVER-MAJOR) module: only set cache when finding module succeeds (Yongsheng Zhang) #36642 - [
f0bf373176
] - (SEMVER-MAJOR) perf_hooks: make performance a global (James M Snell) #37970 - [
f3eb224c83
] - (SEMVER-MAJOR) perf_hooks: complete overhaul of the implementation (James M Snell) #37136 - [
f1753d4c76
] - (SEMVER-MAJOR) process: disallow adding options to process.allowedNodeEnvironmentFlags (Antoine du Hamel) #36660 - [
96f3977ded
] - (SEMVER-MAJOR) process: runtime deprecate changing process.config (James M Snell) #36902 - [
45dbcbef90
] - (SEMVER-MAJOR) readline: cursorTo throw error on NaN (Zijian Liu) #36379 - [
bf79987433
] - (SEMVER-MAJOR) src: mark internally exported functions as explicitly internal (Tyler Ang-Wanek) #37000 - [
1fe571aa0c
] - (SEMVER-MAJOR) src: inline AsyncCleanupHookHandle in headers (Tyler Ang-Wanek) #37000 - [
dfc288e7fd
] - (SEMVER-MAJOR) src: clean up embedder API (Anna Henningsen) #35897 - [
65e8864fa3
] - (SEMVER-MAJOR) worker: send correct error status for worker init (Yash Ladha) #36242
Semver-Minor Commits
- [
944a956087
] - (SEMVER-MINOR) assert: graduate assert.match and assert.doesNotMatch (James M Snell) #38111 - [
6a1986d50a
] - (SEMVER-MINOR) deps: update llhttp to 5.1.0 (Fedor Indutny) #38146 - [
069b5df4f6
] - (SEMVER-MINOR) module: add support fornode:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - [
b803bca4fa
] - (SEMVER-MINOR) perf_hooks: add histogram option to timerify (James M Snell) #37475 - [
95391fe689
] - (SEMVER-MINOR) repl: add auto‑completion fornode:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - [
15b8e6b1c4
] - (SEMVER-MINOR) timers: graduate awaitable timers and improve docs (James M Snell) #38112 - [
802171057f
] - (SEMVER-MINOR) util: add getSystemErrorMap() impl (eladkeyshawn) #38101
Semver-Patch Commits
- [
8930eba199
] - assert: change status of legacy asserts (James M Snell) #38113 - [
0180fc5b9b
] - benchmark: improve compare.R output (Brian White) #38118 - [
8d9d8236b7
] - bootstrap: mksnapshot should show JS error (Bradley Meck) #38174 - [
6cb314bbe5
] - bootstrap: print information for snapshot at environment exit in debug (Joyee Cheung) #37967 - [
14aed60941
] - buffer,errors: add missing n literal in range error string (Cactysman) #37750 - [
049b703a28
] - build: sync generation ofv8\_build\_config.json
(Richard Lau) #38263 - [
1d21a8d140
] - build: add riscv64 configure (luyahan) #37980 - [
f5eea1744d
] - build: don't run test workflow on doc dir on macOS (ycjcl868) #37999 - [
2853b76e20
] - build: add pummel tests to ci runs (Rich Trott) #34289 - [
24426cd8c4
] - build: prepare Windows coverage GitHub Action for pummel tests (Rich Trott) #34289 - [
7df0fc5c5c
] - build: move OPENSSL_API_COMPAT to else clause (Daniel Bevenius) #38126 - [
9cfb418e1f
] - build: package release changelog for releases (Richard Lau) #38033 - [
558d1e6c22
] - build: warn for gcc versions earlier than 8.3.0 (Richard Lau) #37935 - [
a572a4e34e
] - build: reset embedder string to "-node.0" (Michaël Zasso) #37587 - [
f3c7078245
] - build: reset embedder string to "-node.0" (Michaël Zasso) #37330 - [
842389839b
] - build: reset embedder string to "-node.0" (Michaël Zasso) #36139 - [
98d1ae47cf
] - build: reset embedder string to "-node.0" (Michaël Zasso) #35700 - [
993ed19f9c
] - crypto: reduce range of size to int max (Qingyu Deng) #38096 - [
896dc39951
] - crypto: fix webcrypto derive(Bits|Key) resolve values and docs (Filip Skokan) #38148 - [
d2f116c6bb
] - crypto: fixup randomFill size and offset handling (James M Snell) #38138 - [
dfe3f952a3
] - crypto: fix crash in CCM mode without data (Tobias Nießen) #38102 - [
e8cb6446ef
] - crypto: reconcile oneshot sign/verify sync and async implementations (Filip Skokan) #37816 - [
1e4a2bcbee
] - crypto: remove check for condition that is always true (Rich Trott) #38072 - [
64d5be25ab
] - deps: V8: cherry-pick1648e05
(Michaël Zasso) #37587 - [
621b544909
] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587 - [
0d78bc3101
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
5214918856
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
6b3caf77b2
] - deps: V8: forward declaration ofRtl\*FunctionTable
(Refael Ackermann) #32116 - [
d0a032fafb
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
c8b2fa642e
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
8eeecc19ae
] - deps: V8: cherry-pick8957d46
(Michaël Zasso) #37330 - [
b186142a0b
] - deps: V8: backporta113954
(Michaël Zasso) #37330 - [
290f2d8d3e
] - deps: V8: cherry-pickdeb0813
(Michaël Zasso) #36139 - [
63ed0b8bfe
] - deps: V8: cherry-pick9a6a228
(Michaël Zasso) #36139 - [
47f1c5257a
] - deps: silence irrelevant V8 warning (Michaël Zasso) #37330 - [
19d975241f
] - deps: workaround stod() limitations on SmartOS (Colin Ihrig) #37330 - [
70f928c6a6
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
b045e39513
] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116 - [
32725d2224
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
fe3cee7b37
] - deps: V8: forward declaration ofRtl\*FunctionTable
(Refael Ackermann) #32116 - [
b2d05f7349
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
c7a0ab4e3d
] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116 - [
60b623ee90
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
577ff9fee5
] - deps: V8: cherry-pickdeb0813
(Michaël Zasso) #36139 - [
00e1c7ea83
] - deps: V8: cherry-pick9a6a228
(Michaël Zasso) #36139 - [
ee01d6b7fc
] - deps: V8: cherry-pick2059ee8
(Michaël Zasso) #36139 - [
2dad8d43cc
] - deps: V8: cherry-pickbde7ee5
(Michaël Zasso) #36139 - [
3046131ea0
] - deps: V8: cherry-pick9a71298
(Michaël Zasso) #36139 - [
d178d0738f
] - deps: V8: cherry-pick0b96e5b
(Michaël Zasso) #36139 - [
5c71ea151a
] - deps: V8: cherry-pickfbb2890
(Michaël Zasso) #36139 - [
c8e15cd2c6
] - deps: V8: cherry-pick821fb38
(Michaël Zasso) #35700 - [
b0d67426af
] - deps: workaround stod() limitations on SmartOS (Colin Ihrig) #36139 - [
c8a658ac53
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
153b8cea36
] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116 - [
a785984133
] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116 - [
246c9b8c31
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
96a567f9e9
] - deps: V8: forward declaration ofRtl\*FunctionTable
(Refael Ackermann) #32116 - [
e74383cecb
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
732847f1eb
] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116 - [
70171d186f
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
15c91c6dd5
] - deps: V8: cherry-pick821fb38
(Michaël Zasso) #35700 - [
40b2fa4832
] - deps: V8: cherry-pick45e4977
(Michaël Zasso) #35700 - [
cd91ab5865
] - deps: V8: cherry-pick7b3a27b
(Michaël Zasso) #35700 - [
f4fc099080
] - deps: V8: cherry-pickd76abfe
(Michaël Zasso) #35415 - [
6200176ef0
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
bd5642deb9
] - deps: update V8 postmortem metadata script (Colin Ihrig) #35415 - [
9ae7159216
] - deps: update V8 postmortem metadata script (Colin Ihrig) #33579 - [
f4b4e21b2f
] - deps: patch V8 to run on Xcode 8 (Mary Marchini) #32116 - [
f6a84540d8
] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116 - [
bbc3f46572
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
0c988642dc
] - deps: V8: forward declaration ofRtl\*FunctionTable
(Refael Ackermann) #32116 - [
703bf933d4
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
5451975b18
] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116 - [
c460f7af4d
] - deps: V8: un-cherry-pickbd019bd
(Refael Ackermann) #32116 - [
bfee9daaa5
] - deps: update llhttp to 6.0.0 (Fedor Indutny) #38277 - [
94405650ae
] - deps: upgrade npm to 7.10.0 (Ruy Adorno) #38254 - [
8e80fc7ff8
] - deps: patch V8 to 9.0.257.17 (Michaël Zasso) #38237 - [
5b358d57e1
] - deps: patch V8 to 9.0.257.16 (Michaël Zasso) #38218 - [
ee669a0d29
] - deps: update ICU to 69.1 (Michaël Zasso) #38178 - [
2468e4ed3e
] - deps: V8: backportd59db06
(Antoine du Hamel) #38162 - [
c748668704
] - deps: upgrade npm to 7.9.0 (Ruy Adorno) #38156 - [
ca13f7aaf3
] - deps: V8: cherry-pick501482c
(Colin Ihrig) #38121 - [
bc531d1860
] - deps: upgrade npm to 7.8.0 (Darcy Clarke) #38030 - [
d639321acd
] - deps: patch V8 to 9.0.257.13 (Michaël Zasso) #37830 - [
bc31dc0e0f
] - dns: refactor cares_wrap internals (James M Snell) #38172 - [
36decec87f
] - doc: remove superfluous await from fsPromises.readdir example (Michael Rommel) #38293 - [
ac2c8c530d
] - doc: fixup http.IncomingMessage deprecation code (Guy Bedford) #36917 - [
767643fc19
] - doc: restore minimum Xcode version for macOS (Richard Lau) #38266 - [
e541032276
] - doc: fix typo in repl.md (Arkerone) #38244 - [
fb93b71307
] - doc: fix typo in buffer.md (Arkerone) #38243 - [
7d688d4b36
] - doc: fix missing backtick in fs.md (Siddharth) #38260 - [
6d04cc6849
] - doc: change "oject" to "object" (Arkerone) #38256 - [
b4363f726c
] - doc: revise TLS minVersion/maxVersion text (Rich Trott) #38202 - [
98c2067f13
] - doc: update BUILDING.md for Apple Silicon (Ash Cripps) #38227 - [
4def7c4418
] - doc: standardize on pseudorandom (Rich Trott) #38196 - [
f1027ecf29
] - doc: standardize command flag notes (Ferdi) #38199 - [
756d2e48d8
] - doc: updatebuffer.constants.MAX\_LENGTH
(Qingyu Deng) #38109 - [
474fbb5f6e
] - doc: clarify child_process close event (Nitzan Uziely) #38181 - [
eee2c331ef
] - doc: add command flag to import.meta.resolve (Ferdi) #38171 - [
f46d29360c
] - doc: advise against using randomFill on floats (Tobias Nießen) #38150 - [
5823fc79ba
] - doc: update links in ICU guide (Michaël Zasso) #38177 - [
993a1da47c
] - doc: mention cryptographic prng in description of randomUUID (Serkan Özel) #38074 - [
5ba5cc8619
] - doc: fix typos in doc/api/cli.md (Arkerone) #38163 - [
6a2314acd7
] - doc: add link to V8 (Voltrex) #38144 - [
093b527b25
] - doc: fix typo in assert.md (Arkerone) #38152 - [
0fa579ac2a
] - doc: add missing comma in crypto doc (Tobias Nießen) #38142 - [
4bc8f7542f
] - doc: fix typo in crypto (Arkerone) #38130 - [
005ebafbd1
] - doc: improve security text in collaborators guide (Rich Trott) #38107 - [
54322b8d8b
] - doc: apply consistent punctuation to header contributing guide (Akhil Marsonya) #38047 - [
0d34767c4c
] - doc: sending http request to localhost to avoid https redirect (Hassaan Pasha) #38036 - [
f851efd2e1
] - doc: apply sentence case to backporting-to-release-lines.md headers (marsonya) #37617 - [
36bc8b905c
] - doc: fix typo in fs.md (Antoine du Hamel) #38100 - [
f52c92134c
] - doc: internal/test/binding for testing (Bradley Meck) #38026 - [
ab42ef3930
] - doc: add parentheses to function and move reference (Rich Trott) #38066 - [
2861778ecd
] - doc: change wording in doc/api/domain.md comment (Akhil Marsonya) #38044 - [
361632dab1
] - doc: fix lint error in modules.md (Rich Trott) #37811 - [
b3f35e2c70
] - doc,lib: add missing deprecation code (Colin Ihrig) #37541 - [
cbe3b27166
] - doc,tools: allow stability table to be updated (Richard Lau) #38048 - [
8dd06850ae
] - esm: use correct URL for error decoration (Bradley Meck) #37854 - [
6bbe28552c
] - fs: use byteLength to handle ArrayBuffer views (Michaël Zasso) #38187 - [
8e76397fab
] - fs: validate encoding to binding.writeString() (Colin Ihrig) #38183 - [
24fd791184
] - fs: move constants to internal/fs/utils.js (Darshan Sen) #38061 - [
40ace47396
] - http: fixup perf regression (James M Snell) #38110 - [
f4d3d12327
] - http: use CRLF conistently in _http_outgoing.js (Daniel Bevenius) #37851 - [
ee9e2a2eb6
] - lib: revert primordials in a hot path (Antoine du Hamel) #38248 - [
d756d2b99c
] - lib: enforce usingprimordials.globalThis
instead ofglobal
(Antoine du Hamel) #38230 - [
09c9e5dea4
] - lib: avoid mutatingError.stackTraceLimit
when it is not writable (Antoine du Hamel) #38215 - [
23d2c54bab
] - lib: addglobalThis
to primordials (Antoine du Hamel) #38211 - [
78343bbdc5
] - lib: addWeakRef
andFinalizationRegistry
toprimordials
(ExE Boss) #37263 - [
656fb4657a
] - lib: add tsconfig for code completions (Bradley Meck) #38042 - [
d86132488d
] - lib: properly process JavaScript exceptions on async_hooks fatal error (legendecas) #38106 - [
a9332e84bf
] - lib: refactor to use primordials in lib/internal/cli_table (Akhil Marsonya) #38046 - [
8d78d9ef27
] - lib: load v8_prof_processor dependencies as ESM (Michaël Zasso) #37587 - [
7b2bad4005
] - module: clarify CJS global-like variables not defined error message (Antoine du Hamel) #37852 - [
7869761c2e
] - net: fix typo (Luigi Pinca) #38127 - [
4afcd55274
] - node-api: make reference weak parameter an indirect link to references (Chengzhong Wu) #38000 - [
e38d62a8c9
] - path: fix POSIX path.resolve() perf regression (Brian White) #38064 - [
b0d5e036d8
] - path: fix posix.relative() on Windows (Rich Trott) #37747 - [
548cbf0625
] - perf_hooks: fix loop delay resolution validation (Antoine du Hamel) #38166 - [
13c931a9dc
] - process: add range validation to debugPort (Colin Ihrig) #38205 - [
8dd5dd8a4b
] - process: do not lazily load AsyncResource (Michaël Zasso) #38041 - [
4e833b6059
] - process,doc: add missing deprecation code (Colin Ihrig) #37091 - [
d6669645c0
] - repl: fix declaring a variable with the nameutil
(eladkeyshawn) #38141 - [
e7391967c2
] - repl: fix error message printing (Anna Henningsen) #38209 - [
4e9212bb7b
] - src: cache some context in locals (Khaidi Chu) #37473 - [
fc20e833ca
] - src: fix finalization crash (James M Snell) #38250 - [
6c9b19a7af
] - src: refactor SecureContext Initialization (James M Snell) #38116 - [
8d63aa828e
] - src: fix typo for initialization (Yash Ladha) #37974 - [
66c8f76c2c
] - src: remove KeyObjectData::CreateSecret overload (Tobias Nießen) #38067 - [
87dc152229
] - src: fix node version (Richard Lau) #36460 - [
e929d1f2c8
] - src: fix node version (Brian White) #36385 - [
8e8dea36cc
] - src: use non-deprecated GetCreationContext from V8 (Michaël Zasso) #37587 - [
b1c1c4695c
] - src: remove V8_FT_ADAPTOR for V8 update (Colin Ihrig) #37587 - [
8f5cce6862
] - src: use non-deprecated V8 module APIs (Michaël Zasso) #37587 - [
497f6ca5b4
] - src: update NODE_MODULE_VERSION to 93 (Michaël Zasso) #37587 - [
001dc16cf1
] - src: use non-deprecated V8 module and script APIs (Michaël Zasso) #37330 - [
47a90d9f37
] - src: update NODE_MODULE_VERSION to 92 (Michaël Zasso) #37330 - [
5259d17309
] - src: update NODE_MODULE_VERSION to 91 (Michaël Zasso) #36139 - [
6f9cbcf6a6
] - src: fix v8 api deprecation (Jiawen Geng) #35700 - [
9d4d55bd94
] - src: update NODE_MODULE_VERSION to 90 (Michaël Zasso) #35700 - [
369f239503
] - stream: fix multiple Writable.destroy() calls (Robert Nagy) #38221 - [
4ad46e2fef
] - stream: refactor to avoid unsafe array iteration (Antoine du Hamel) #37126 - [
419686cdfb
] - stream: refactor to use more primordials (Antoine du Hamel) #36346 - [
c704faa0f9
] - test: fix flaky test-dns and test-dns-lookup (Rich Trott) #38282 - [
5e588c1c7c
] - test: fixup failing test/internet/test-dns.js (James M Snell) #38241 - [
18c9913ce1
] - test: add tests for missing https agent options (Rich Trott) #38202 - [
4ad8e83a3d
] - test: fix test-https-agent-additional-options.js (Rich Trott) #38202 - [
05df701e70
] - test: remove common.disableCrashOnUnhandledRejection (Michaël Zasso) #38210 - [
8f4850d5c7
] - test: fix typo in comment in binding.c (Tobias Nießen) #38220 - [
9498e97015
] - test: fix typo in gtest-all.cc (Ikko Ashimine) #38224 - [
c8bbd83ab2
] - test: add undefined fatalException exit code test (Nitzan Uziely) #38119 - [
db9cf52dcf
] - test: check the different error code on IBM i (Xu Meng) #38159 - [
95ca351fd8
] - test: skip fs.watch() test on IBMi (Rich Trott) #38192 - [
8cee28465c
] - test: fix test-dh-regr for OpenSSL 3 (Rich Trott) #34289 - [
213ae4f4c6
] - test: skip test-vm-memleak in ASAN (Rich Trott) #34289 - [
50208915a0
] - test: skip test-hash-seed on armv6 and armv7 (Rich Trott) #34289 - [
7216eb67df
] - test: update OpenSSL 3.x expected error message (Daniel Bevenius) #38164 - [
7e516aaac0
] - test: remove unneeded m flag on regular expressions (Rich Trott) #38124 - [
269f5132cc
] - test: skip different params test for OpenSSL 3.x (Daniel Bevenius) #38165 - [
f96dffb7ae
] - test: fix flaky test-zlib-unused-weak.js (Ouyang Yadong) #38149 - [
e96773b94b
] - test: add regression test for serdes readDouble() (Colin Ihrig) #38121 - [
cc4ee6cba8
] - test: deflake test-http-many-ended-pipelines (Luigi Pinca) #38018 - [
098a4d6551
] - test: skip test-crypto-dh-keys on armv6 and armv7 (Rich Trott) #38076 - [
f9b63b8530
] - test: update parallel/test-crypto-keygen for OpenSSL 3 (Richard Lau) #38136 - [
6a6cdfad03
] - test: fix skip message for test-macos-app-sandbox (Tobias Nießen) #38114 - [
e155b1f2f7
] - test: correct test comment (Evan Lucas) #38095 - [
d61977f03e
] - test: remove dead code (Luigi Pinca) #38016 - [
8b05e32519
] - test: fix flaky test-net-timeout (Rich Trott) #38060 - [
a0492ba391
] - test: fix test-vm-memleak for high baseline platforms (Rich Trott) #38062 - [
30d7f05fef
] - test: improve code coverage in webcrypto API (Juan José Arboleda) #38052 - [
d75543d8b5
] - test: fix flaky timeout-delayed-body and headers tests (Nitzan Uziely) #38045 - [
4f387c25cb
] - test: fix flaky test-vm-memleak (Rich Trott) #38054 - [
330f25ef82
] - test: prepare for consistent comma-dangle lint rule (Rich Trott) #37930 - [
31fe3b215f
] - test: make sure http pipelining does not emit a warning (Matteo Collina) #37964 - [
978bbf987c
] - test: fix flaky test-http2-pack-end-stream-flag (James M Snell) #37814 - [
ecc584251e
] - test: fixup flaky test-performance-function-async test (James M Snell) #37493 - [
32482a828b
] - test: remove FLAKY for test-domain-error-types (Rich Trott) #37458 - [
501ae0e6e3
] - test: remove outdated V8 flag (Michaël Zasso) #37151 - [
fa3997d75a
] - test: mark test-return-on-exit as flaky (Michaël Zasso) #36139 - [
896ae96a15
] - test: mark WASI's test-return-on-exit as flaky (Colin Ihrig) #36139 - [
0da7a11e54
] - test,http: check that http server is robust from handler abuse (Rich Trott) #37958 - [
a0261d231c
] - Revert "timers: refactor to use optional chaining" (Matteo Collina) #38245 - [
3da003cc1c
] - tls: fix session and keylog add listener segfault (Nitzan Uziely) #38180 - [
eb20447407
] - tls: extract out SecureContext configuration (James M Snell) #38116 - [
b16e79e05b
] - tls: fix typo (Arkerone) #38129 - [
d4f33f109e
] - tools: skip macOS GitHub Actions test on doc-only changes (Rich Trott) #38296 - [
13d0de5954
] - tools: set arch in Distribution.xml (Ash Cripps) #38261 - [
28bca33f28
] - tools: update ESLint to 7.24.0 (Colin Ihrig) #38179 - [
038608d401
] - tools: relax max-len lint rule for template strings (Rich Trott) #38097 - [
e67fb569f4
] - tools: apply consistent comma-dangle lint rule (Rich Trott) #37930 - [
9843361c07
] - tools: update V8 gypfiles for 9.0 (Michaël Zasso) #37587 - [
017661768a
] - tools: update V8 gypfiles for 8.9 (Michaël Zasso) #37330 - [
79da253473
] - tools: update V8 gypfiles for 8.8 (Michaël Zasso) #36139 - [
770d9e2542
] - tools: update V8 gypfiles for 8.7 (Michaël Zasso) #35700 - [
b87f1be92d
] - typings: add types for "http_parser" and "options" bindings (Michaël Zasso) #38239 - [
1c8b2956d1
] - typings: add types for internalBinding('serdes') (Michaël Zasso) #38204 - [
d97787fccc
] - typings: add JSDoc to os module functions (David Brownman) #38197 - [
8acfe5c2a4
] - typings: add JSDoc Types to lib/querystring (Simon Knott) #38185 - [
d3162da8dd
] - typings: add JSDoc typings for http (Voltrex) #38191 - [
82d59882b1
] - typings: add JSDoc typings for assert (Voltrex) #38188 - [
f1a21e5c91
] - typings: add JSDoc types to lib/path (Simon Knott) #38186 - [
3377eb9641
] - typings: add types for internalBinding('util') (Michaël Zasso) #38200 - [
cb2bdc632a
] - typings: add types for internalBinding('fs') (Michaël Zasso) #38198 - [
26eed3e0ed
] - vm: add import assertion support (Gus Caplan) #37176 - [
6986fa07eb
] - worker: fix exit code for error thrown in handler (Nitzan Uziely) #38012
v15.14.0
This is a security release.
Notable Changes
Vulnerabilties Fixed:
-
CVE-2021-3450: OpenSSL - CA certificate check bypass with X509_V_FLAG_X509_STRICT (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
- Impacts:
- All versions of the 15.x, 14.x, 12.x and 10.x releases lines
-
CVE-2021-3449: OpenSSL - NULL pointer deref in signature_algorithms processing (High)
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210325.txt
- Impacts:
- All versions of the 15.x, 14.x, 12.x and 10.x releases lines
-
CVE-2020-7774: npm upgrade - Update y18n to fix Prototype-Pollution (High)
- This is a vulnerability in the y18n npm module which may be exploited by prototype pollution. You can read more about it in https://github.com/advisories/GHSA-c4w7-xm78-47vh
- Impacts:
- All versions of the 14.x, 12.x and 10.x releases lines
Other Notable Changes:
- [
b6f4901221
] - (SEMVER-MINOR) fs: add support for async iterators tofsPromises.writeFile
(HiroyukiYagihashi) #37490 - [
0709cbb7fe
] - (SEMVER-MINOR) net: allow net.BlockList to use net.SocketAddress objects (James M Snell) #37917 - [
daa8a7bbcf
] - (SEMVER-MINOR) net: add SocketAddress class (James M Snell) #37917 - [
a4169ce519
] - (SEMVER-MINOR) net: make net.BlockList cloneable (James M Snell) #37917 - [
669b81c68b
] - (SEMVER-MINOR) net,tls: add abort signal support to connect (Nitzan Uziely) #37735 - [
a1123f0a29
] - (SEMVER-MINOR) readline: add AbortSignal support to interface (Nitzan Uziely) #37932
Commits
- [
ac69b95e47
] - crypto: use correct webcrypto RSASSA-PKCS1-v1_5 algorithm name (Filip Skokan) #38029 - [
960c6be229
] - crypto: add buffering to randomInt (Tobias Nießen) #35110 - [
4ef102d34e
] - deps: update to cjs-module-lexer@1.1.1 (Guy Bedford) #37992 - [
f0e77149a4
] - deps: update archs files for OpenSSL-1.1.1k (Hassaan Pasha) #37916 - [
bbdcdad2c6
] - deps: upgrade openssl sources to 1.1.1k+quic (Hassaan Pasha) #37916 - [
913ec56798
] - deps: cjs-module-lexer: cherry-pick22093e7
(pezhmanparsaee) #37895 - [
afc6ab2122
] - doc: fix asyncLocalStorage.run() description (Darkripper214) #38023 - [
b40d35d649
] - doc: document how to unref stdin when using readline.Interface (Anu Pasumarthy) #38019 - [
ce14080473
] - doc: move psmarshall to collaborators emeriti (Peter Marshall) #37994 - [
ae70aa3c63
] - doc: add distinctive color for code elements inside links (Antoine du Hamel) #37950 - [
8792c7c96b
] - doc: add missing events.on metadata (Anna Henningsen) #37965 - [
a57dc06adf
] - doc: improve Buffer's encoding documentation (Michaël Zasso) #37945 - [
f3fabb57cf
] - doc: add missing cleanup step in OpenSSL upgrade (Tobias Nießen) #37927 - [
13c3924af8
] - doc: add Windows-specific info to subprocess.kill() (João Lucas Lucchetta) #34867 - [
b6f4901221
] - (SEMVER-MINOR) fs: add support for async iterators tofsPromises.writeFile
(HiroyukiYagihashi) #37490 - [
ad7e34446c
] - fs: fix chown abort (Darshan Sen) #38004 - [
d86aca9a77
] - http: optimize debug function correctly (Michaël Zasso) #37966 - [
062541aae5
] - http2: add specific error code for custom frames (Anna Henningsen) #37936 - [
8525231902
] - lib: change wording in lib/domain.js comment (Akhil Marsonya) #37933 - [
21e399be4c
] - lib: change wording in lib/internal/child_process comment (Akhil Marsonya) #37903 - [
3ab9619e56
] - module: improve error message for invalid data URL (Antoine du Hamel) #37701 - [
0709cbb7fe
] - (SEMVER-MINOR) net: allow net.BlockList to use net.SocketAddress objects (James M Snell) #37917 - [
daa8a7bbcf
] - (SEMVER-MINOR) net: add SocketAddress class (James M Snell) #37917 - [
a4169ce519
] - (SEMVER-MINOR) net: make net.BlockList cloneable (James M Snell) #37917 - [
669b81c68b
] - (SEMVER-MINOR) net,tls: add abort signal support to connect (Nitzan Uziely) #37735 - [
a94cc27cbe
] - path: refactor to use more primordials (Akhil Marsonya) #37893 - [
6cc1e15669
] - readline: fix pre-aborted signal question handling (Nitzan Uziely) #37929 - [
a1123f0a29
] - (SEMVER-MINOR) readline: add AbortSignal support to interface (Nitzan Uziely) #37932 - [
629e72e9f4
] - src: fix typo in node_mutex (Tobias Nießen) #38011 - [
e61cc0bfb0
] - src: fix typos in crypto comments (Tobias Nießen) #38024 - [
6ad0b6f0f5
] - src: fix error handling for CryptoJob::ToResult (Tobias Nießen) #37076 - [
3175559bed
] - test: add extra space in test failure output (Qingyu Deng) #37957 - [
0243376cfc
] - test: use faster variant for rss (Pooja D P) #36839 - [
b02c352ad6
] - test: fix test-tls-no-sslv3 for OpenSSL 3 (Richard Lau) #38027 - [
0db1a1eacf
] - test: deflake test-fs-read-optional-params (Luigi Pinca) #37991 - [
4d50975cd7
] - test: improve clarity of ALS-enable-disable.js (Darkripper214) #38008 - [
5e15ae05d0
] - test: add DataView test case for v8 serdes (Rich Trott) #37955 - [
6d28a24f1c
] - tools: update ESLint to 7.23.0 (Luigi Pinca) #37979 - [
51e7a33d54
] - tools,doc: add "legacy" badge in the TOC (Antoine du Hamel) #37949 - [
570fbcef93
] - url: forbid pipe in URL host (Darshan Sen) #37877
v15.13.0
Notable Changes
-
buffer:
- implement btoa and atob (James M Snell) #37529
- deps:
-
doc:
- add legacy status to stability index (James M Snell) #37784
- add @linkgoron to collaborators (Nitzan Uziely) #37817
-
http:
- add http.ClientRequest.getRawHeaderNames() (simov) #37660
Commits
- [
dc9cd43d8f
] - (SEMVER-MINOR) buffer: implement btoa and atob (James M Snell) #37529 - [
377830fd28
] - child_process: remove unused argument (Rich Trott) #37923 - [
cdfc1c8692
] - child_process: cleanup AbortSignal duplication (Nitzan Uziely) #37823 - [
95aa032413
] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256 - [
50fc6b9df0
] - crypto: clear errors in SignTraits::DeriveBits (Filip Skokan) #37820 - [
79259389a1
] - crypto: fix DiffieHellman argument validation (Antoine du Hamel) #37810 - [
11d45855cd
] - crypto: fix header name (Jiawen Geng) #37792 - [
c37806d0ba
] - crypto: use macro map for NodeCryptoError (Darshan Sen) #37758 - [
bfe3f21ee0
] - crypto: fix crypto.verify callback invocation with a private keyobject (Filip Skokan) #37795 - [
f2cef54b6f
] - deps: upgrade npm to 7.7.6 (Ruy Adorno) #37968 - [
ec82feb728
] - deps: upgrade npm to 7.7.5 (Ruy Adorno) #37919 - [
649e04c4a5
] - deps: upgrade npm to 7.7.4 (Ruy Adorno) #37897 - [
d5b472b70d
] - deps: upgrade npm to 7.7.0 (Ruy Adorno) #37879 - [
9e6aa190e3
] - deps: add ngtcp2 and nghttp3 (James M Snell) #37682 - [
659fc5d684
] - doc: fix typos in lib/internal/bootstrap/pre_execution.js (marsonya) #37658 - [
ac60d018e2
] - doc: add more commands for cherry-picking and changelog to release docs (Danielle Adams) #37785 - [
0fe3c7edd3
] - doc: spell out ICU acronym on first occurrence (Rich Trott) #37942 - [
364c8ac40d
] - doc: update GOVERNANCE.md for TSC Charter changes (Rich Trott) #37888 - [
e84252b35d
] - doc: reduce header nesting in async_hooks.md (Rich Trott) #37839 - [
a6f21e2cfc
] - doc: fix wording in outgoingMessage.write (Tobias Nießen) #37894 - [
30bc2e43e4
] - doc: add examples for WHATWG URL objects (James M Snell) #37822 - [
c0a424f3e9
] - doc: clarify when child process 'spawn' event is *not* emitted (Matthew Francis Brunetti) #37833 - [
9defe10371
] - doc: fix legacy stability indicator display (Rich Trott) #37838 - [
f97a5dd22f
] - doc: use sentence-style capitlaztion in template header (Rich Trott) #37837 - [
71fde07274
] - doc: add Ayase-252 to triagers (Qingyu Deng) #37781 - [
8f18133de0
] - doc: use sentence case in issues.md headers (marsonya) #37537 - [
3376051a0e
] - doc: fix JS flavor selection (Antoine du Hamel) #37791 - [
b09d032683
] - doc: move Derek Lewis back to collaborators (Derek Lewis) #37726 - [
6da0a0e85a
] - doc: apply style for legacy status (James M Snell) #37784 - [
185d4cd4aa
] - doc: revoke deprecation of legacy url, change status to legacy (James M Snell) #37784 - [
9d160daa89
] - doc: add legacy status to stability index (James M Snell) #37784 - [
4700042a9b
] - doc: add @linkgoron to collaborators (Nitzan Uziely) #37817 - [
c4183bbea4
] - doc: fix AbortError example for timers (dbachko) #37738 - [
50f3ad1946
] - doc: fix typo in stream docs (Ian Kerins) #37716 - [
2e82a97520
] - doc: add gyp maintain info (Jiawen Geng) #37765 - [
3925458df7
] - doc,tools: use only one level 1 header per page (Rich Trott) #37839 - [
e9c161ce12
] - http: fix double AbortSignal registration (Nitzan Uziely) #37730 - [
a5205819d8
] - (SEMVER-MINOR) http: add http.ClientRequest.getRawHeaderNames() (simov) #37660 - [
1c043272ea
] - http2: treat non-EOF empty frames like other invalid frames (Anna Henningsen) #37875 - [
a5bf7de6eb
] - http2: fix setting options before handle exists (Anna Henningsen) #37875 - [
af7489cb6c
] - lib: add brand checks to AbortController and AbortSignal (Mattias Buelens) #37720 - [
6e2b60931c
] - lib: fix typo in internal/modules/esm/module_job.js (marsonya) #37773 - [
3a440ecdf8
] - lib: fix typo in lib/internal/crypto/certificate.js (marsonya) #37741 - [
3ab223dd32
] - node-api: fix crash in finalization (Michael Dawson) #37876 - [
d1a3e0efb6
] - node-api: stop ref gc during environment teardown (Gabriel Schulhof) #37616 - [
e60bd1a7dc
] - (SEMVER-MINOR) perf_hooks: make Performance extend EventTarget (Michaël Zasso) #37621 - [
b6ad8e4cc1
] - src: indent long help text properly (David Glasser) #37911 - [
13ecff63d6
] - src: document newer values for --unhandled-rejections flag (David Glasser) #37899 - [
bd87e195ed
] - src: fix typo in src code guide (Tobias Nießen) #37956 - [
2da532cef8
] - src: report idle time correctly (Stephen Belanger) #37868 - [
836cb67945
] - src: add .note.GNU-stack section (James Addison) #37688 - [
9557dda2eb
] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 - [
43c3b43ea3
] - stream: make Readable.from performance better (wwwzbwcom) #37609 - [
b0226b39f2
] - test: split promisified timers test for coverage purposes (Rich Trott) #37943 - [
e256c4d11d
] - test: fix typeof comparison (Rich Trott) #37924 - [
76ebc4bbd9
] - test: increase wiggle room for memory in test-worker-resource-limits (Rich Trott) #37901 - [
5cdeb76708
] - test: add OpenSSL 3.0 checks to tls-passphrase (Daniel Bevenius) #37860 - [
33c35a38dc
] - test: add OpenSSL 3.0 checks to test-crypto-keygen (Daniel Bevenius) #37860 - [
86bf341a35
] - test: fix deprecation warning in test-doctool-html (Antoine du Hamel) #37858 - [
aa529b73b7
] - test: fix ibmi skip message (Tobias Nießen) #37821 - [
d9ab1d56ce
] - test: fix flaky test-vm-timeout-escape-promise-module-2 (Rich Trott) #37842 - [
5d4c610727
] - test: remove duplicated test for eventtarget (himself65) #37853 - [
44490af948
] - test: relax Y2K38 check in test-fs-utimes-y2K38 (Richard Lau) #37825 - [
9bc6fe7eb3
] - test: remove references to unsupported AIX versions (Richard Lau) #37826 - [
f07428ae51
] - test: remove skip for fixed test-benchmark-fs (Rich Trott) #37803 - [
9f61cbd1fd
] - test: account for OOM risks in heapsnapshot-near-heap-limit tests (Joyee Cheung) #37761 - [
e85f311cf2
] - test: refactor code to use AbortSignal.abort() (Wassim Chegham) #37798 - [
6ed9e0bd81
] - test: improve test-arm-math-illegal-instruction (marsonya) #37670 - [
505f9c95d1
] - (SEMVER-MINOR) test: app atob web platform tests (James M Snell) #37529 - [
a8edf1aafe
] - test: add known_issues test for #13683 (Rich Trott) #37744 - [
4487483d9d
] - test: fix test-fs-utimes on non-Y2K38 file systems (Rich Trott) #37707 - [
d44b268910
] - timers: fix arbitrary object clearImmediate errors (Nitzan Uziely) #37824 - [
b7e7384109
] - tools: improve valid-typeof lint rule (Rich Trott) #37924 - [
ca93e52783
] - tools: simplify eslint comma-dangle configuration (tools) (Rich Trott) #37883 - [
b5879efef1
] - tools: improve macos-firewall.sh output (Rich Trott) #37846 - [
dbc4804468
] - tools: simplify eslint comma-dangle configuration (Rich Trott) #37850 - [
0f2e142946
] - tools: make genv8constants.py Python3-compatible (Michaël Zasso) #37835 - [
b6be472456
] - tools: update gitignore for CMake (Jiawen Geng) #37793 - [
2227aa61ea
] - tools: partially detect quic support in shared_openssl (James M Snell) #37682 - [
01dcf4d1d8
] - tools: update ESLint to 7.22.0 (Colin Ihrig) #37734 - [
3452618905
] - tty: validate file descriptor to avoid int32 overflow (Antoine du Hamel) #37809 - [
d33f446abd
] - util: remove unreachable inspect code (Rich Trott) #37941
v15.12.0
Notable Changes
- crypto:
- deps:
- fs:
-
lib:
- implement AbortSignal.abort() (James M Snell) #37693
-
node-api:
- define version 8 (Gabriel Schulhof) #37652
-
worker:
- add setEnvironmentData/getEnvironmentData (James M Snell) #37486
Commits
- [
44514600b2
] - assert,util: fix commutativity edge case (Ruben Bridgewater) #37711 - [
8666d777cc
] - benchmark: add benchmark for fsPromises.writeFile (Nitzan Uziely) #37610 - [
e9028eb646
] - cluster: restructure to same prototype for cluster child (Yash Ladha) #36610 - [
8e1257e26d
] - cluster: clarify construct Handle (Jackson Tian) #37385 - [
341ee31e15
] - crypto: reconcile duplicated code (James M Snell) #37704 - [
a2d08d5dfd
] - crypto: add internal error codes (Darshan Sen) #37650 - [
922f2f0eb2
] - (SEMVER-MINOR) crypto: add optional callback to crypto.sign and crypto.verify (Filip Skokan) #37500 - [
55e522ca23
] - (SEMVER-MINOR) crypto: support JWK objects in create*Key (Filip Skokan) #37254 - [
33180fad81
] - crypto: add separate error for INVALID_KEY_TYPE (Darshan Sen) #37555 - [
d81b9af1fc
] - crypto: improve randomUUID performance (Dawid Rusnak) #37243 - [
23d654105f
] - crypto,test: improve hmac coverage with webcrypto tests (obi-el) #37571 - [
dfca2fac24
] - (SEMVER-MINOR) deps: update to cjs-module-lexer@1.1.0 (Guy Bedford) #37712 - [
ce357c0c11
] - (SEMVER-MINOR) deps: update archs files for OpenSSL-1.1.1+quic (James M Snell) #37601 - [
6d77b6174f
] - (SEMVER-MINOR) deps: switch openssl to quictls/openssl (James M Snell) #37601 - [
3e1a46a6a8
] - deps: upgrade npm to 7.6.3 (Ruy Adorno) #37721 - [
b2fd00398c
] - deps: V8: cherry-pick1648e05
(Colin Ihrig) #37664 - [
7422453072
] - deps: upgrade npm to 7.6.1 (Ruy Adorno) #37606 - [
89f3aa92b4
] - doc: add marsonya as a triager (marsonya) #37667 - [
3710857de3
] - doc: add hints to http.request() options (Luigi Pinca) #37745 - [
5d793737d7
] - (SEMVER-MINOR) doc: update maintaining-openssl guide (James M Snell) #37601 - [
1022d3d947
] - doc: recommend checking abortSignal.aborted first (James M Snell) #37714 - [
764aa2dcee
] - doc: fix link to googletest fixtures (Tobias Nießen) #37698 - [
0d3cc2dc82
] - doc: fix typo in description of close event (Tobias Nießen) #37662 - [
e55058fed1
] - doc: use sentence case in README.md headers (marsonya) #37645 - [
e7fc7a4c23
] - doc: crypto esm examples (James M Snell) #37594 - [
a3abd52e1e
] - doc: add localPort to http.request() options (Luigi Pinca) #37586 - [
705bdfbe3e
] - doc: fix grammar errors in http document (Qingyu Deng) #37265 - [
e5f7179d1e
] - doc: add document for http.OutgoingMessage (Qingyu Deng) #37265 - [
7c0ce17e65
] - doc: fix typo in doc/guides/collaborator-guide.md (marsonya) #37643 - [
60d8afa9ab
] - doc: document that module.evaluate fulfills as undefined (James M Snell) #37663 - [
6192315cf3
] - doc: remove generated from dsaEncoding description (Marko Kaznovac) #37459 - [
e4c8c50b28
] - doc: fix typos in /doc/api/fs.md (Merlin Luntke) #37557 - [
ebc6f41072
] - doc: fix linter issue (Antoine du Hamel) #37657 - [
d17aab1775
] - doc: add esm examples for assert (James M Snell) #37607 - [
366772bf87
] - doc: add return type of readline.createInterface (Darshan Sen) #37600 - [
f50db89a52
] - doc: change lang info string in fs JS snippets (Antoine du Hamel) #37605 - [
5a9196e0e4
] - doc: apply sentence case to headers in pull-requests.md (marsonya) #37602 - [
05badcf755
] - doc: fix small typo in 15.11.0 release (Tierney Cyren) #37590 - [
e0e7aa1058
] - doc: add top-level await syntax in vm.md (Antoine du Hamel) #37077 - [
732d8ca811
] - doc: clarify that columnOffset applies only to the first line (James M Snell) #37563 - [
267bbe3412
] - doc: document that NODE_EXTRA_CA_CERTS is read only once (James M Snell) #37562 - [
f56a805a0d
] - doc: refactor signal info in child_process.md (Darshan Sen) #37528 - [
236ba04a79
] - domain: add name to monkey-patched emit function (Colin Ihrig) #37550 - [
1c09776106
] - domain: show falsy names as anonymous for DEP0097 (Colin Ihrig) #37550 - [
5a49e3139e
] - errors: remove experimental from --enable-source-maps (Benjamin Coe) #37743 - [
e384291c90
] - events: remove return value on addEventListener (James M Snell) #37696 - [
ba91ef2d08
] - fs: improve fsPromises writeFile performance (Nitzan Uziely) #37610 - [
3572299fc2
] - fs: add promisified readFile benchmark (Nitzan Uziely) #37608 - [
b277776845
] - fs: improve fsPromises readFile performance (Nitzan Uziely) #37608 - [
6688569a50
] - http: refactor to avoid unsafe array iteration (Antoine du Hamel) #37654 - [
c737df64fe
] - http2: make res.req a normal property (Colin Ihrig) #37706 - [
ac2f50b3fd
] - (SEMVER-MINOR) lib: implement AbortSignal.abort() (James M Snell) #37693 - [
12fb2ffc33
] - lib: use AbortError consistently (James M Snell) #37715 - [
e63a25e2ff
] - lib: fix typo in lib/internal/http2/core.js (marsonya) #37695 - [
852f53ed7e
] - lib: fix typo in lib/internal/bootstrap/loaders.js (marsonya) #37644 - [
daa4ac54c5
] - lib: remove use of array destructuring (Antoine du Hamel) #36818 - [
ae0e76c264
] - module: refactor NativeModule to avoid unsafe array iteration (Antoine du Hamel) #37656 - [
a86334fbb9
] - (SEMVER-MINOR) node-api: define version 8 (Gabriel Schulhof) #37652 - [
d28ce328ed
] - src: fix variable name of OnCloseReceived callback (Tobias Nießen) #37521 - [
d59c6de7e8
] - src: add error formatting support (Gus Caplan) #37598 - [
33436e39fe
] - src: make BaseObject::is_snapshotable virtual (Anna Henningsen) #37539 - [
30c62dee1c
] - src,test: support dynamically linking OpenSSL 3.0 (Daniel Bevenius) #37669 - [
4bf1f333c7
] - stream,util: fix "the the" typo in comments (Luigi Pinca) #37674 - [
1b53087541
] - (SEMVER-MINOR) test: update dom/abort tests (James M Snell) #37693 - [
c2cb153646
] - (SEMVER-MINOR) test: fixup test to account for quic openssl version (James M Snell) #37601 - [
ede34aa128
] - test: address flaky wpt/test-timers (Rich Trott) #37691 - [
ed32cd4e67
] - test: fixup flaky test-crypto-x509 (Filip Skokan) #37709 - [
013b3ff2d4
] - test: remove unnecessary V8 flag (Antoine du Hamel) #37671 - [
cc48816826
] - test: fix WPT URL tests that fetch JSON data (Michaël Zasso) #37624 - [
b0ed1e790e
] - test: improve error reporting in test-child-process-pipe-dataflow (Rich Trott) #37632 - [
f7edb07ec2
] - test: terminate WPT workers after test completion (Michaël Zasso) #37627 - [
b7ef829dac
] - test: ignore WPT worker errors after tests finished (Michaël Zasso) #37626 - [
257b1ab225
] - test: update Web Platform Tests (Michaël Zasso) #37620 - [
1f6341852f
] - test: remove FLAKY status for test-async-hooks-http-parser-destroy (Rich Trott) #37636 - [
044fd2fc86
] - test: remove FLAKY status for fixed test (Rich Trott) #37633 - [
d5ff50d2a7
] - test: clear flaky designation for test-stream-pipeline-http2 (Rich Trott) #37631 - [
381fb98061
] - test: clear FLAKY designation for test-http2-pipe (Rich Trott) #37631 - [
0582c51754
] - test: fix wasi/test-return-on-exit on 32-bit systems (Colin Ihrig) #37615 - [
0d04b6c043
] - test: fix flaky test-child-process-exec-abortcontroller-promisified (Antoine du Hamel) #37572 - [
a44daff34d
] - test: update all Web Platform Tests (Michaël Zasso) #37467 - [
c09bd77daf
] - test: redownload wpt fixtures with correct encoding (Michaël Zasso) #37467 - [
57319770bb
] - test,crypto: ensure promises resolve in webcrypto tests (Antoine du Hamel) #37653 - [
2d9b624668
] - tls: refactor to avoid unsafe array iteration (Antoine du Hamel) #37655 - [
72af5d9895
] - tools: parse changelogs only in the default branch (Antoine du Hamel) #37768 - [
bd62771a22
] - tools: use bundled npm in update scripts (Ruy Adorno) #37613 - [
4de3b8483a
] - tools: update glob-parent to 5.1.2 (Rich Trott) #37646 - [
ec71a0f817
] - tools: check version number in YAML comments from changelogs (Antoine du Hamel) #37599 - [
07fc61b900
] - tools: add support for mjs and cjs JS snippet linting (Antoine du Hamel) #37311 - [
440c944420
] - tools: fix object name in prefer-assert-methods.js (Tobias Nießen) #37544 - [
7042ec89f1
] - tools: update remark-preset-lint-node to 2.1.1 (Rich Trott) #37604 - [
82e78f7c12
] - tools: fix compiler warning in inspector_protocol (Darshan Sen) #37573 - [
fd7234c52f
] - tools: make update-eslint.sh work with npm@7 (Luigi Pinca) #37566 - [
057c6a842a
] - tools: add ESLint rule no-array-destructuring (Antoine du Hamel) #36818 - [
25a5f0b3b8
] - tools: update eslint-plugin-markdown configuration (Colin Ihrig) #37549 - [
7a1de1fce9
] - tools: update ESLint to 7.21.0 (Luigi Pinca) #37546 - [
9c0ca4689d
] - tools,doc: add support for several flavors of JS code snippets (Antoine du Hamel) #37162 - [
80af610d95
] - util: inspect __proto__ key as written in object literal (Anna Henningsen) #37713 - [
0d135e8316
] - (SEMVER-MINOR) worker: add setEnvironmentData/getEnvironmentData (James M Snell) #37486 - [
8024ffbba4
] - worker: add ports property to MessageEvents (Anna Henningsen) #37538 - [
f4fd3fb6a7
] - worker: allow BroadcastChannel in receiveMessageOnPort (Anna Henningsen) #37535
v15.11.0
Notable Changes
- [
a3e3156b52
] - (SEMVER-MINOR) crypto: make FIPS related options always awailable (Vít Ondruch) #36341 - [
9ba5c0f9ba
] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362
Commits
- [
d039e6fa80
] - assert: refactor to avoid unsafe array iteration (Antoine du Hamel) #37344 - [
d2e5529e08
] - bootstrap: include v8 module into the builtin snapshot (Joyee Cheung) #36943 - [
59861bac0e
] - bootstrap: include fs module into the builtin snapshot (Joyee Cheung) #36943 - [
458a4108b7
] - buffer: make Blob's constructor more spec-compliant (Michaël Zasso) #37361 - [
0d564ce214
] - buffer: make Blob's slice method more spec-compliant (Michaël Zasso) #37361 - [
ddae112133
] - child_process: fix spawn and fork abort behavior (Nitzan Uziely) #37325 - [
b1e188de8d
] - crypto: refactor hasAnyNotIn to avoid unsafe array iteration (Antoine du Hamel) #37433 - [
291d9e9936
] - crypto: check ed/x webcrypto key import algorithm names (Filip Skokan) #37305 - [
a3e3156b52
] - (SEMVER-MINOR) crypto: make FIPS related options always awailable (Vít Ondruch) #36341 - [
b634469c38
] - crypto: refactor to avoid unsafe array iteration (Antoine du Hamel) #37364 - [
01773ab614
] - crypto: use BoringSSL compatible errors (Shelley Vohr) #37297 - [
f3d67000a0
] - deps: upgrade npm to 7.6.0 (Ruy Adorno) #37559 - [
e1045f1004
] - deps: upgrade npm to 7.5.6 (Ruy Adorno) #37496 - [
80d3c118f4
] - deps: V8: cherry-pick373f4ae
(Richard Lau) #37505 - [
1408de7e24
] - deps: cherry-pick8957d46
from V8 upstream (Antoine du Hamel) #37471 - [
725d48ae77
] - doc: remove experimental from --enable-source-maps (Colin Ihrig) #37540 - [
5d939b7a49
] - doc: fix typo in doc/api/packages.md (marsonya) #37536 - [
cbfc6b1692
] - doc: document how to register external bindings for snapshot (Joyee Cheung) #37463 - [
dd7a04dc9f
] - doc: fix typo "director" instead of "directory" (humanwebpl) #37523 - [
ba81e7cb5e
] - doc: revise LTS text in collaborator guide (Rich Trott) #37527 - [
7529a97a5c
] - doc: revise CI text in collaborator guide (Rich Trott) #37526 - [
1285b907ce
] - doc: revise objections section of collaborator guide (Rich Trott) #37525 - [
bc86208a0a
] - doc: revise premature disclosure text in collaborator guide (Rich Trott) #37524 - [
46af56752e
] - doc: change links to use HEAD in top level docs (Michael Dawson) #37494 - [
3b737e63ce
] - doc: apply sentence case to headers in doc/guides (marsonya) #37506 - [
fb5e5bed21
] - doc: fix typo in webcrypto.md (marsonya) #37507 - [
3b7cb75554
] - doc: document the NO_COLOR and FORCE_COLOR env vars (James M Snell) #37477 - [
0fac27d546
] - doc: add url.resolve replacement example (Antoine du Hamel) #37501 - [
2228f44b25
] - doc: apply sentence case to guides headers (marsonya) #37497 - [
617819e4fb
] - doc: update CI requirements for landing pull requests (Antoine du Hamel) #37308 - [
4a40759b33
] - doc: recommend queueMicrotask over process.nextTick (James M Snell) #37484 - [
834f63793a
] - doc: apply sentence case to headers in doc/guides (marsonya) #37478 - [
7ac0820da0
] - doc: fix typo in doc/api/http2/md (marsonya) #37479 - [
4ad7a78448
] - doc: alphabetize vm Module class properties (Rich Trott) #37451 - [
a193d7ca87
] - doc: alphabetize crypto Cipher class entries (Rich Trott) #37450 - [
54b6f1bcf9
] - doc: use HEAD for links in api docs (Michael Dawson) #37437 - [
549d24b8ad
] - doc: fix alignment of parameters (Michael Dawson) #37422 - [
f3559a922b
] - doc: fix typo in doc/api/esm.md (marsonya) #37400 - [
c3d236d405
] - doc: fix "referred to" in fs docs (Tobias Nießen) #37388 - [
9ac8c74539
] - doc: document x509 error codes (Dan Čermák) #37096 - [
9a454afcd6
] - doc: fix typo in esm.md (Jay Tailor) #37417 - [
b3bf3d9824
] - doc: use HEAD in links where possible (Michael Dawson) #37421 - [
6675342cd9
] - doc: clarify that async_hook callbacks cannot be async (James M Snell) #37384 - [
4b54c10500
] - doc: use **Default:** more consistently (Colin Ihrig) #37387 - [
f20ce47dbb
] - doc,child_process:pid
can beundefined
whenENOENT
(dr-js) #37014 - [
6205e29cb9
] - doc,lib: prepare for stricter multi-line array linting (Rich Trott) #37088 - [
9ba5c0f9ba
] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362 - [
c0cdb83433
] - fs: fix writeFile signal does not close file (Nitzan Uziely) #37402 - [
e8b1e2c0a3
] - fs: fix pre-aborted writeFile AbortSignal file leak (Nitzan Uziely) #37393 - [
6b42e65983
] - fs: fixup negative length in fs.truncate (James M Snell) #37483 - [
d141fce634
] - fs: use createDeferredPromise() in promises.watch() (Colin Ihrig) #37386 - [
bb81accb16
] - lib: use <array>.push and <array>.unshift instead of <array>.concat (Antoine du Hamel) #37239 - [
dc3c299862
] - lib: remove outdated todo comment (Antoine du Hamel) #37396 - [
856d20b772
] - lib: add URI handling functions to primordials (Antoine du Hamel) #37394 - [
a1ed78cb3b
] - module: improve support of data: URLs (Antoine du Hamel) #37392 - [
27816eac61
] - node-api: force env shutdown deferring behavior (Gabriel Schulhof) #37303 - [
f1381f7a7a
] - src: fix alloc-dealloc-mismatch in node_snapshotable.h (Darshan Sen) #37443 - [
5ea2ed611f
] - src: fix ETW_WRITE_EMPTY_EVENT macro (Michaël Zasso) #37334 - [
96bcd52d3e
] - src: disable unfixable MSVC warnings (Michaël Zasso) #37334 - [
c75f5f372d
] - src: avoid implicit type conversions (take 2) (Michaël Zasso) #37334 - [
e400f8c9c8
] - src: support serialization of binding data (Joyee Cheung) #36943 - [
daad7bbd34
] - src: adjust THP sysfs config token retrieval and file closure (James Addison) #37187 - [
4cc76457d9
] - stream: move duplicated code to an internal module (Rich Trott) #37508 - [
3d3df0c005
] - stream: add AbortSignal support to finished (Nitzan Uziely) #37354 - [
429dffd32e
] - stream: add AbortSignal to promisified pipeline (Nitzan Uziely) #37359 - [
9696cf7142
] - test: remove FLAKY status for test-http2-multistream-destroy-on-read-tls (Rich Trott) #37533 - [
453113938d
] - test: make status file names consistent (Rich Trott) #37532 - [
00b3446a8e
] - test: account for pending deprecations in esm test (Rich Trott) #37542 - [
f2aa305348
] - test: fix incorrect timers-promisified case (ttzztztz) #37425 - [
ce7fbbf94c
] - test: fix typo in test_node_crypto.cc (Ikko Ashimine) #37469 - [
ba319f0c60
] - test: remove FLAKY for test-http2-compat-client-upload-reject (Rich Trott) #37462 - [
dfa0440341
] - test: validate no debug info for http2 (Michael Dawson) #37447 - [
b38404ee17
] - test: remove FLAKY designation for test-http2-client-upload-reject (Rich Trott) #37461 - [
b569105183
] - test: clarify usage of tmpdir.refresh() (Darshan Sen) #37383 - [
4f41900687
] - test: update upload.zip to be uncorrupted (Greg Ziskind) #37294 - [
d5c311ed15
] - test: fix flaky test-worker-prof (Rich Trott) #37372 - [
df538ebc8e
] - test: fix flaky test-webcrypto-encrypt-decrypt-aes (Darshan Sen) #37380 - [
19d6eb929c
] - test: fix flaky test-fs-promises-file-handle-read (Rich Trott) #37371 - [
c554aa149c
] - test,child_process: add check forsubProcess.pid
(dr-js) #37014 - [
5c27fd73b0
] - tools: run doctool tests on GitHub Actions CI (Antoine du Hamel) #37398 - [
49013fcee1
] - tools: make comma-dangle ESLint rule more stringent … (Rich Trott) #37088 - [
31f4600b7a
] - worker: fix interaction of terminate() with messaging port (Anna Henningsen) #37319 - [
d93137b2a9
] - workers: fix spawning from preload scripts (James M Snell) #37481
v15.10.0
This is a security release.
Notable changes
Vulnerabilities fixed:
-
CVE-2021-22883: HTTP2 'unknownProtocol' cause Denial of Service by resource exhaustion
- Affected Node.js versions are vulnerable to denial of service attacks when too many connection attempts with an 'unknownProtocol' are established. This leads to a leak of file descriptors. If a file descriptor limit is configured on the system, then the server is unable to accept new connections and prevent the process also from opening, e.g. a file. If no file descriptor limit is configured, then this lead to an excessive memory usage and cause the system to run out of memory.
-
CVE-2021-22884: DNS rebinding in --inspect
- Affected Node.js versions are vulnerable to denial of service attacks when the whitelist includes “localhost6”. When “localhost6” is not present in /etc/hosts, it is just an ordinary domain that is resolved via DNS, i.e., over network. If the attacker controls the victim's DNS server or can spoof its responses, the DNS rebinding protection can be bypassed by using the “localhost6” domain. As long as the attacker uses the “localhost6” domain, they can still apply the attack described in CVE-2018-7160.
-
CVE-2021-23840: OpenSSL - Integer overflow in CipherUpdate
- This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20210216.txt
Commits
- [
2a3ce5974b
] - deps: update archs files for OpenSSL-1.1.1j (Daniel Bevenius) #37412 - [
afbce66874
] - deps: upgrade openssl sources to 1.1.1j (Daniel Bevenius) #37412 - [
4184806dee
] - (SEMVER-MINOR) http2: add unknownProtocol timeout (Daniel Bevenius) nodejs-private/node-private#246 - [
43ae9c46c3
] - src: drop localhost6 as allowed host for inspector (Matteo Collina) nodejs-private/node-private#244
v15.9.0
Notable Changes
-
crypto:
- add keyObject.export() 'jwk' format option (Filip Skokan) #37081
-
deps:
- upgrade to libuv 1.41.0 (Colin Ihrig) #37360
- doc:
- fs:
-
perf_hooks:
- introduce createHistogram (James M Snell) #37155
-
stream:
- improve Readable.from error handling (Benjamin Gruenbaum) #37158
-
timers:
- introduce setInterval async iterator (linkgoron) #37153
-
tls:
- add ability to get cert/peer cert as X509Certificate object (James M Snell) #37070
Commits
- [
d0f1ff53ff
] - async_hooks: set unhandledRejection async context (Sajal Khandelwal) #37281 - [
c160d88c9e
] - buffer: add @@toStringTag to Blob (Colin Ihrig) #37336 - [
8487184457
] - child_process: fix bad abort signal leak (Nitzan Uziely) #37257 - [
e28ea89b1a
] - crypto: fix subtle.importKey JWK OKP public key import (Filip Skokan) #37255 - [
55fd6b6611
] - crypto: avoid infinite loops in prime generation (Tobias Nießen) #37212 - [
9dac99a11a
] - crypto: fix and simplify prime option validation (Tobias Nießen) #37164 - [
3e2746ff63
] - crypto: remove webcrypto "DSA" JWK Key Type operations (Filip Skokan) #37203 - [
011910b424
] - (SEMVER-MINOR) crypto: add keyObject.export() 'jwk' format option (Filip Skokan) #37081 - [
c0eadef495
] - deps: upgrade to libuv 1.41.0 (Colin Ihrig) #37360 - [
50e81ba0b8
] - deps: V8: cherry-pick0c8b6e4
(Matin Zadehdolatabad) #37276 - [
d1c1724c69
] - deps: upgrade npm to 7.5.3 (Ruy Adorno) #37283 - [
20c65b00c2
] - deps: V8: backportdfcf1e8
(Michaël Zasso) #37245 - [
e63b380f76
] - deps: upgrade npm to 7.5.2 (Ruy Adorno) #37191 - [
d808db2732
] - doc: add dmabupt to collaborators (Xu Meng) #37377 - [
dd054ca37f
] - doc: optimize HTML rendering (Antoine du Hamel) #37301 - [
c188466a18
] - doc: fix quotes in stream docs (Tobias Nießen) #37269 - [
f5e4625468
] - doc: fix backticks in crypto API docs (Tobias Nießen) #37269 - [
e2a2bab44e
] - doc: link PACKAGE_EXPORTS_RESOLVE to ESM section (Utku Gultopu) #37135 - [
1e99175e01
] - doc: alphabetize crypto.* methods (Rich Trott) #37353 - [
392c86d38b
] - doc: use sentence case in benchmark doc (Rich Trott) #37351 - [
62b2648a96
] - doc: apply sentence-consistently in C++ style guide (Rich Trott) #37350 - [
189ce399da
] - doc: apply sentence case to release doc headers (Rich Trott) #37349 - [
610b29b8bd
] - doc: fix performanceEntry.flags style format (Cheng Liu) #37274 - [
85b1476f1d
] - doc: fix typo in deprecations.md (marsonya) #37282 - [
f253cb9303
] - doc: fix typo in buffer.md (marsonya) #37268 - [
804e7ae713
] - doc: add version metadata for packages features (Antoine du Hamel) #37289 - [
cdd2fe5651
] - doc: fix typo in /api/dns.md (marsonya) #37312 - [
7d8fd3f576
] - doc: refactor fs docs structure (James M Snell) #37170 - [
facf3a5c23
] - doc: fix description of hasSubscribers (Tobias Nießen) #37324 - [
3464c9f007
] - doc: discourage error event (Benjamin Gruenbaum) #37264 - [
85bed2ec26
] - doc: fix misnamed SHASUMS256.txt name in README.md (marsonya) #37260 - [
cd50e93307
] - doc: warn about using strings as inputs in crypto (Tobias Nießen) #37248 - [
5a4288ebb6
] - doc: fix typo in crypto.md (marsonya) #37279 - [
0e887caf32
] - doc: fix typo in console.md (marsonya) #37279 - [
47c4f1fc54
] - doc: use sentence case in README headers (Rich Trott) #37251 - [
7da1c9b219
] - doc: use sentence case for headers in BUILDING.md (Rich Trott) #37250 - [
ebf3597db1
] - doc: rename N-API to Node-API (Gabriel Schulhof) #37259 - [
760f126adb
] - doc: mark Certificate methods as static, add missing KeyObject.from (Filip Skokan) #37198 - [
aebe532967
] - doc: consistent webcryptonode.keyObject
format (Filip Skokan) #37200 - [
596bfb36a0
] - doc: mention CryptoKey in port.postMessage() (Filip Skokan) #37196 - [
0702d60def
] - doc: fix webcrypto HMAC generateKey example (Filip Skokan) #37197 - [
8a254058f5
] - doc: fix accommodate typos (Colin Ihrig) #37229 - [
5906e85ce2
] - doc: fix version number for DEP006 (Antoine du Hamel) #37231 - [
52c40c7a48
] - doc: fix CHANGELOG_ARCHIVE table of contents (Antoine du Hamel) #37232 - [
eb08afdf24
] - doc: fix typo in globals.md (Darshan Sen) #37228 - [
b87c0d6c16
] - doc: fix typo in cli.md (Kalvin Vasconcellos) #37214 - [
3f815d93bf
] - doc: fix pr-url for DEP0148 (Antoine du Hamel) #37205 - [
ff02e5e12c
] - doc: fix 404 links in module.md (Antoine du Hamel) #37202 - [
67c9a8e176
] - doc: improve promise terminology (Benjamin Gruenbaum) #37181 - [
15804e0b3f
] - errors: align source-map stacks with spec (Benjamin Coe) #37252 - [
88d3f74c85
] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179 - [
c30245072a
] - fs: allow passing negative zero fd (Darshan Sen) #37123 - [
655d19638a
] - (SEMVER-MINOR) fs: use a default callback for fs.close() (James M Snell) #37174 - [
acd087dffb
] - (SEMVER-MINOR) fs: add AbortSignal support to watch (Benjamin Gruenbaum) #37190 - [
f5d1bf9d0e
] - http: explain the possibilty of refactor unused argument (Qingyu Deng) #37275 - [
d63ac28a9a
] - http: explain the unused argument in IncomingMessage._read (Qingyu Deng) #37275 - [
4cdc5ea823
] - http: fix ClientRequest unhandled errors (Robert Nagy) #36970 - [
c6198fddc7
] - lib: simplify check in child_process (Darshan Sen) #37367 - [
f6f9af6a59
] - lib: fix WebIDLobject
and dictionary type conversion (ExE Boss) #37047 - [
acabe08b10
] - lib: add weak event handlers (Benjamin Gruenbaum) #36607 - [
3db1b30732
] - meta: update README releases section (Zuzana Svetlikova) #37318 - [
d96a97a2b9
] - module: make synthetic module evaluation steps return a Promise to support top level await (Daniel Clark) #37300 - [
a693baa0cb
] - module: use optional chaining in cjs/loader.js (Darshan Sen) #37238 - [
061939d2f6
] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195 - [
c4faa39768
] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155 - [
799b2d5275
] - policy: fix cascade getting scope (Bradley Meck) #37298 - [
6d53e797d7
] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37345 - [
3fee5b2219
] - repl: add auto‑completion for dynamic import calls (ExE Boss) #37178 - [
c3778343aa
] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37188 - [
e28fa6c3fc
] - src: fix return type of method in string_search.h (Darshan Sen) #37167 - [
42cc33cc48
] - src: add mutex to ManagedEVPPKey class (Daniel Bevenius) #36825 - [
1a9bcdf1d9
] - src: refactor v8 binding (Joyee Cheung) #37112 - [
54d36b00af
] - src: rename binding_data_name to type_name in BindingData (Joyee Cheung) #37112 - [
3079a78428
] - src: avoid implicit type conversions (Michaël Zasso) #37149 - [
a6053dc14a
] - src: add context for TODO comment in env.cc (Yash Ladha) #37140 - [
354df9e8a1
] - src: use make_shared for safe allocation (Yash Ladha) #37139 - [
337b4e7540
] - src: put (de)serialization code into node_snapshotable.h/cc (Joyee Cheung) #37114 - [
2a5f67b381
] - src: refactor bookkeeping of bootstrap status (Joyee Cheung) #37113 - [
48ce1eb364
] - src: fix warning in string_search.h (Darshan Sen) #37146 - [
bfe0b46d92
] - src: simplify calls to BN_bin2bn in prime gen (Tobias Nießen) #37169 - [
9946c1137e
] - src: read exactly two tokens from Linux THP sysfs config (James Addison) #37065 - [
1fea05149a
] - (SEMVER-MINOR) stream: improve Readable.from error handling (Benjamin Gruenbaum) #37158 - [
d2a487e640
] - Revert "stream: fix .end() error propagation" (Matteo Collina) #37060 - [
b5692b4b06
] - test: fix test-doctool-html (Antoine du Hamel) #37397 - [
b09d21b06b
] - test: enable no-restricted-syntax rule for test-timers-promisified (Rich Trott) #37357 - [
1fc8307138
] - test: re-implement promises.setInterval() test robustly (Rich Trott) #37230 - [
8483de4da8
] - test: only run prime test with supported OpenSSL (Tobias Nießen) #37212 - [
48a634e514
] - test: rename n-api to node-api (Gabriel Schulhof) #37217 - [
51575252f5
] - test: remove flaky designation for test-http2-large-file (Rich Trott) #37156 - [
13fe17c4ef
] - test: split heap snapshot limit tests (Rich Trott) #37189 - [
dc38dd2c6f
] - timers: fix unsafe array iteration (Darshan Sen) #37223 - [
eb7ec1b257
] - timers: remove flaky setInterval test (Nitzan Uziely) #37227 - [
4ebe38b212
] - (SEMVER-MINOR) timers: introduce setInterval async iterator (linkgoron) #37153 - [
dc84c181c3
] - (SEMVER-MINOR) tls: add ability to get cert/peer cert as X509Certificate object (James M Snell) #37070 - [
2e1f1c6f3c
] - tools: refactor prefer-primordials (Antoine du Hamel) #36018 - [
b2b64113b1
] - tools: update ESLint to 7.20.0 (Colin Ihrig) #37339 - [
a483c284f3
] - tools: fix lint-pr-url message (Antoine du Hamel) #37304 - [
1ff375beb3
] - tools: avoid pending deprecation in doc generator (Michaël Zasso) #37267 - [
6db5e7958a
] - tools: add GitHub Action linter for pr-url (Antoine du Hamel) #37221 - [
d8d851ac5c
] - tools: bump remark-present-lint-node from 2.0.0 to 2.0.1 (Rich Trott) #37270 - [
eb0daaedf9
] - tools: fix d8 macOS build (Michaël Zasso) #37211 - [
745aad73dc
] - tools: update ESLint to 7.19.0 (Colin Ihrig) #37159 - [
676f696a99
] - url: fix definitions ofURL
/SearchParams
methods and accessors (ExE Boss) #36799 - [
fbcab109de
] - url: moveURLSearchParams
method definitions (ExE Boss) #36799 - [
7c51cecbca
] - util: use assert for unreachable code (Rich Trott) #37249 - [
66a14d3992
] - vm: add importModuleDynamically option to compileFunction (Gus Caplan) #35431 - [
05a16e7259
] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #37346
v15.8.0
Notable Changes
- [
110063d694
] - (SEMVER-MINOR) crypto: add generatePrime/checkPrime (James M Snell) #36997 - [
53a0bdff47
] - (SEMVER-MINOR) crypto: experimental (Ed/X)25519/(Ed/X)448 support (James M Snell) #36879 - [
03460432af
] - deps: upgrade npm to 7.5.0 (Ruy Adorno) #37117- This update adds a new
npm diff
command.
- This update adds a new
- [
2c7ad38c75
] - (SEMVER-MINOR) dgram: support AbortSignal in createSocket (Nitzan Uziely) #37026 - [
b7c3f99f7e
] - doc: add Zijian Liu to collaborators (ZiJian Liu) #37075 - [
02f1d2fda4
] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918 - [
75124298d5
] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662 - [
4e757eab96
] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676
Commits
- [
602aaf25af
] - async_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #37125 - [
dcd34b0144
] - benchmark: add benchmark for NODE_V8_COVERAGE (Benjamin Coe) #36972 - [
ec22756ac9
] - benchmark: make output RFC 4180 compliant (Tobias Nießen) #37038 - [
96cec1e5f3
] - benchmark: improve explanations in R script (Tobias Nießen) #36995 - [
e4b88b521a
] - buffer: avoid creating the backing store in the thread (James M Snell) #37052 - [
7b78c6773d
] - child_process: allow promisified exec to be cancel (Carlos Fuentes) #34249 - [
c4193ba8ae
] - crypto: fix encrypted private -> public import (Tobias Nießen) #37056 - [
cb3b0ec4fc
] - crypto: generateKeyPair('ec') should not support NODE-ED* and NODE-X* (Filip Skokan) #37063 - [
110063d694
] - (SEMVER-MINOR) crypto: add generatePrime/checkPrime (James M Snell) #36997 - [
ab64d74791
] - crypto: throw error on invalid object in diffieHellman() (ZiJian Liu) #37016 - [
53a0bdff47
] - (SEMVER-MINOR) crypto: experimental (Ed/X)25519/(Ed/X)448 support (James M Snell) #36879 - [
4551d14b8e
] - deps: upgrade npm to 7.5.1 (Ruy Adorno) #37177 - [
9d6fd4586f
] - deps: update openssl config (James M Snell) #37067 - [
f74b376596
] - Revert "deps: various quic patches from akamai/openssl" (James M Snell) #37067 - [
6756130c4b
] - Revert "deps: re-enable OPENSSL_NO_QUIC guards" (James M Snell) #37067 - [
52ce1d5f1a
] - Revert "deps: update patch and docs for openssl update" (James M Snell) #37067 - [
03460432af
] - deps: upgrade npm to 7.5.0 (Ruy Adorno) #37117 - [
2c7ad38c75
] - (SEMVER-MINOR) dgram: support AbortSignal in createSocket (Nitzan Uziely) #37026 - [
47bfde00fd
] - doc: fix color contrast on <kbd> elements (Antoine du Hamel) #37185 - [
3c9077130d
] - doc: fix list format in Developer's Certificate of Origin (Akash Negi) #37138 - [
8cecce3ff4
] - doc: fix markup and alphabetization in errors.md (Rich Trott) #37144 - [
a7780815bf
] - doc: clarify ERR_INVALID_REPL_INPUT usage (Rich Trott) #37143 - [
e7126503e0
] - doc: clarify repl exception conditions (Rich Trott) #37142 - [
e55d3d0953
] - doc: add example for test structure (Turner Jabbour) #35046 - [
9b9a1801ba
] - doc: remove TOC summary for pages with no TOC (Rich Trott) #37043 - [
ae42658be9
] - doc: add missing deprecation code (Colin Ihrig) #37147 - [
b79b82de8e
] - doc: update Buffer encoding option count (Dave Cardwell) #37102 - [
ddee21b587
] - doc: update BUILDING.md previous versions links (Richard Lau) #37082 - [
1710016053
] - doc: mention adding Fixes to collaborator onboarding MR (Joyee Cheung) #37097 - [
b7c3f99f7e
] - doc: add Zijian Liu to collaborators (ZiJian Liu) #37075 - [
7ddfa81612
] - doc: add tooltip for light/dark mode toggle (Rich Trott) #37044 - [
c79688ffe3
] - doc: improve AsyncLocalStorage introduction (Romuald Brillout) #36946 - [
a7b6464097
] - doc:EventTarget
andEvent
are available to user code since v15.0.0 (ExE Boss) #37059 - [
3722c15a75
] - doc: add missing comma in tty (Matthew Mario Di Pasquale) #37039 - [
2cfe7954fc
] - doc: list Unsupported Directory Import resolve err (Guy Bedford) #37032 - [
fef6ac77e5
] - doc: add missing ARIA label for button (Rich Trott) #37031 - [
634bedcd6f
] - doc,test: fix prime generation description (Tobias Nießen) #37085 - [
181719d4c4
] - esm: update to correct deprecation code (Colin Ihrig) #37147 - [
02f1d2fda4
] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918 - [
69402522fd
] - fs: read full size if known in promises.readFile (Anna Henningsen) #37127 - [
ad12fefcb0
] - fs: only use Buffer.concat in promises.readFile when necessary (Anna Henningsen) #37127 - [
6f54a14cda
] - fs: add validatePosition and use in read and readSync (Darshan Sen) #37051 - [
175f6f0be3
] - fs: use throwIfNoEntry option on statSync calls (Antoine du Hamel) #36975 - [
97fc7d8396
] - fs: refactor to remove redundant validation (Darshan Sen) #36984 - [
0129a79d0a
] - fs: add explicit note about undefined path when recursive (Sebastian Silbermann) #37010 - [
7196ac19c1
] - http: refactor to avoid unsafe array iteration (Antoine du Hamel) #37124 - [
ed58065d1f
] - lib: addbound apply
variants of varargsprimordials
(ExE Boss) #37005 - [
67b58f68c9
] - lib: refactor to use validateObject (ZiJian Liu) #37028 - [
5227c5e6f5
] - lib: refactor to use validateFunction (ZiJian Liu) #37045 - [
34adf7f74b
] - lib: refactor to avoid unsafe array iteration (Antoine du Hamel) #37029 - [
4a1fc42178
] - lib: refactor to use optional chaining in internal/options.js (raisinten) #36939 - [
d76400a264
] - lib: refactor to use validateString (ZiJian Liu) #37006 - [
a29da64b46
] - lib: refactor to use validateNumber (ZiJian Liu) #36993 - [
56377d6cee
] - lib: support returning Safe collections from C++ (ExE Boss) #36989 - [
c4cab1f408
] - lib: refactor to use validateBoolean (ZiJian Liu) #36983 - [
11dd2672cd
] - quic: remove quic (James M Snell) #37067 - [
b533485f32
] - quic: remove duplicate checks (ZiJian Liu) #37017 - [
1714998e2c
] - readline: replace _questionCancel with a symbol (Colin Ihrig) #37094 - [
3d64d2b5ef
] - readline: check for null input in question() (Colin Ihrig) #37089 - [
75124298d5
] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662 - [
4e757eab96
] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 - [
a26dfb323b
] - src: expose BaseObject::kInternalFieldCount in post-mortem metadata (Joyee Cheung) #37111 - [
9c831c0d8f
] - src: fix dead code in RandomPrimeTraits (Tobias Nießen) #37083 - [
81e9acf242
] - src: rename crypto_ecdh.(h|cc) to crypto_ec.(h|cc) (Tobias Nießen) #37048 - [
1f819ec47d
] - test: add tests forbound apply
variants of varargsprimordials
(ExE Boss) #37005 - [
db38cf27c2
] - test: increase inspect coverage (Emil Sivervik) #36755 - [
10da5c1104
] - test: skip tests consistently in parallel.status (Rich Trott) #37035 - [
da07eb654e
] - test: increase read file abort coverage (Moshe vilner) #36716 - [
55407b826f
] - test: update to improve terminology (Michael Dawson) #37011 - [
ef2b25088d
] - test: increase coverage for assert/calltracker (ZiJian Liu) #36728 - [
074641c2e9
] - test: improve assertion message for test-vm-memleak (Rich Trott) #37034 - [
4086b230b8
] - test: increase fs promise coverage (Emil Sivervik) #36813 - [
94204f7e46
] - test: process.nextTick for before exit (ttzztztz) #37012 - [
2135618052
] - test: increase timeout on ASAN Action (Antoine du Hamel) #37007 - [
de6dca12e8
] - test: improve coverage ofSourceTextModule
getters (Juan José Arboleda) #37013 - [
36cc8df358
] - test: log error in test-fs-realpath-pipe (Joyee Cheung) #36996 - [
36930e4fe7
] - test: test mode passed as an options object in mkdir/mkdirSync (Darshan Sen) #37008 - [
9c69ca5e54
] - test,doc,lib: adjust object literal newlines for lint rule (Rich Trott) #37040 - [
fe9f4fdba5
] - tools: remove commented code from stability.js (Colin Ihrig) #37092 - [
d2d6121f3e
] - tools: enable object-curly-newline in ESLint rules (Rich Trott) #37040 - [
3187845980
] - util: add internal createDeferredPromise() (Colin Ihrig) #37095
v15.7.0
Notable changes
- buffer:
-
doc:
- add @iansu to collaborators (Ian Sutherland) #36951
- add @RaisinTen to collaborators (Darshan Sen) #36998
- add @miladfarca to collaborators (Milad Fa) #36934
-
fs:
- allow
position
parameter to be aBigInt
in read and readSync (raisinten) #36190
- allow
- http:
Commits
- [
775b34b822
] - (SEMVER-MINOR) buffer: introduce Blob (James M Snell) #36811 - [
832cd015d5
] - (SEMVER-MINOR) buffer: add base64url encoding option (Filip Skokan) #36952 - [
7ce7404f79
] - build: fix compiling against openssl with no-psk (Caleb ツ Everett) #36881 - [
b7d8e61ef1
] - crypto: fix randomInt bias (Tobias Nießen) #36894 - [
1149af6265
] - (SEMVER-MINOR) crypto: add keyObject.asymmetricKeyDetails for asymmetric keys (Filip Skokan) #36188 - [
0398167b35
] - crypto: fix WebCrypto import of RSA-PSS keys (Tobias Nießen) #36877 - [
e52e860172
] - deps: upgrade npm to 7.4.3 (Ruy Adorno) #37018 - [
ef3a5f6958
] - deps: update ICU to 68.2 (Michaël Zasso) #36980 - [
ca479b9e9d
] - deps: V8: cherry-pickfe191e8
(Benjamin Coe) #36956 - [
6f773fbe84
] - deps: upgrade npm to 7.4.2 (Ruy Adorno) #36953 - [
4b952d8d3e
] - doc: fix maintaining ICU guide (Michaël Zasso) #36980 - [
a2559b9044
] - doc: add @RaisinTen to collaborators (Darshan Sen) #36998 - [
4d5273b156
] - doc: fix typo in http.server.requestTimout docs (alexbs) #36987 - [
93fc295b75
] - doc: add performance notes for fs.readFile (James M Snell) #36880 - [
7ea374b159
] - doc: clarify maxSockets option of http.Agent (Pooja D P) #36941 - [
f3637d5328
] - doc: remove pull-requests.md preamble (Rich Trott) #36960 - [
d2d9ad7477
] - doc: fix module.isPreloading documentation (Antoine du Hamel) #36944 - [
48b6781151
] - doc: fix crypto.generateKeySync aes allowed length list (Filip Skokan) #36928 - [
120db2c169
] - doc: fix grammar and link to QUIC in changelog (Dan Dascalescu) #36959 - [
af0f0a0f65
] - doc: fix percentile range in perf_hooks.md (raisinten) #36938 - [
8cf280d9ab
] - doc: improve perf_hooks docs (Juan José Arboleda) #36909 - [
3ea37c2d67
] - doc: fix invalid HTML in doc template (Rich Trott) #36930 - [
eaf378aa46
] - doc: remove issue template duplication from contributing docs (Rich Trott) #36908 - [
7a794417f3
] - doc: remove resolving-a-bug-report from contributing docs (Rich Trott) #36905 - [
707b97307d
] - doc: use ESM syntax for WASI example (Antoine du Hamel) #36848 - [
5a9a07e7cd
] - doc: add iansu to collaborators (Ian Sutherland) #36951 - [
aa3bc74cd6
] - doc: fixup typo in metadata entry (James M Snell) #36947 - [
22e29ccfa3
] - doc: add alternative version links to the packages page (Filip Skokan) #36915 - [
80c84a1136
] - doc: add miladfarca to collaborators (Milad Fa) #36934 - [
e73b1072f3
] - doc: update tls test to use better terminology (Michael Dawson) #36851 - [
5cbf638c06
] - doc: remove unnecessary contributing.md section (Rich Trott) #36891 - [
f99b38fedd
] - doc: wrap TOC in a <details> tag (Mattia Pontonio) #36896 - [
82eccddf1e
] - doc: update fs.l/statSync API history for throwIfNoEntry (Andrew Casey) #36882 - [
70cd43c32e
] - doc: change "it's" to "its" where necessary (Tobias Nießen) #36913 - [
02a8f52040
] - doc: fix indentation on http2 doc entry (Rich Trott) #36869 - [
dc596d0607
] - events: remove error listener on signal abort (ZiJian Liu) #36969 - [
c4cdf1d830
] - (SEMVER-MINOR) fs: allowposition
parameter to be aBigInt
in read and readSync (raisinten) #36190 - [
70ee7dce62
] - (SEMVER-MINOR) http: attach request as res.req (Ian Storm Taylor) #36505 - [
f07e1c9d03
] - http: abortIncoming only on socket close (Robert Nagy) #36821 - [
aa7243e3d4
] - http: refactor ClientRequest destroy (Robert Nagy) #36863 - [
80051abfcb
] - http: cleanup ClientRequest oncreate (Robert Nagy) #36862 - [
f5b8e7b068
] - http2: refactor to avoid unsafe array iteration (Antoine du Hamel) #36700 - [
8aeba3cb92
] - lib: refactor to use validateArray (ZiJian Liu) #36982 - [
743dd8f89d
] - lib: remove non used getter inlib/perf\_hooks.js
(Juan José Arboleda) #36907 - [
f2ac4bb8e2
] - lib: expose primordials object (Antoine du Hamel) #36872 - [
850d3578b6
] - lib: refactorprimordials.makeSafe
to use more primordials (ExE Boss) #36865 - [
b86c48cc91
] - lib: refactor source_map to use more primordials (Antoine du Hamel) #36733 - [
1ef92f61fa
] - lib: refactor source_map to avoid unsafe array iteration (Antoine du Hamel) #36734 - [
5290d63e7f
] - module: simplify tryStatSync with throwIfNoEntry option (Antoine du Hamel) #36971 - [
89a7941425
] - os: performance improvement in vector allocation (Yash Ladha) #36748 - [
3f75a60b51
] - perf_hooks: throw ERR_INVALID_ARG_VALUE if histogram.percentile param is NaN (ZiJian Liu) #36937 - [
9951daefbd
] - repl: refactor to avoid unsafe array iteration (raisinten) #36663 - [
868d3b2ff6
] - src: use BaseObject::kInteralFieldCount in Blob (Joyee Cheung) #36991 - [
a5ffdaee1c
] - src: replace push_back with emplace_back in debug_utils (raisinten) #36897 - [
d54998538e
] - src: use BaseObject::kInternalFieldCount in X509Certificate constructor (Joyee Cheung) #36892 - [
7acea78493
] - test: mark flaky tests on IBM i (Richard Lau) #36986 - [
e69c4a941d
] - (SEMVER-MINOR) test: add wpt tests for Blob (Michaël Zasso) #36811 - [
2f1f1dadaa
] - test: increase buffer list coverage (Emil Sivervik) #36688 - [
8d49ce9d75
] - test: fix warning in test_environment.cc (raisinten) #36846 - [
98369aaf7b
] - test: remove unused ecdhPeerKey (Daniel Bevenius) #36942 - [
ba87be0b0e
] - test: improve coverage forModule
getters (Juan José Arboleda) #36950 - [
c7dd9c8c69
] - test: skip internet for test-npm-install (Ruy Adorno) #36933 - [
3bbe9a5588
] - test: improve coverage on worker threads (Juan José Arboleda) #36910 - [
f589bb2052
] - test: improve coverage atlib/internal/vm/module.js
(Juan José Arboleda) #36898 - [
8a8241529e
] - Revert "test: mark test-cluster-bind-privileged-port flaky on arm" (Rod Vagg) #36884 - [
99c15909ad
] - test: fixup flaky test-crypto-x509 on windows (James M Snell) #36966 - [
c2ec15aff6
] - test: check mustCall errors in test-fs-read-type (Tobias Nießen) #36914 - [
30b2aac98a
] - test: fix variable name for non-RSA keys (Tobias Nießen) #36912 - [
fada6b0087
] - test,benchmark: stop requiring URL and URLSearchParams (raisinten) #36927 - [
864b97b24d
] - tls: use recently added matching SecureContext in default SNICallback (Mateusz Krawczuk) #36072 - [
6ef54bb9ca
] - tools: cleanup old ICU version-specific fixes (Michaël Zasso) #36980 - [
8e02b53b09
] - tools: update ESLint to 7.18.0 (Colin Ihrig) #36955 - [
8dc8adc782
] - tools: add support for top-level await syntax in linter (Antoine du Hamel) #36911 - [
17bdcd9d18
] - tools,doc: list the stability status of each API (Zijian Liu) #36223 - [
889654d36c
] - url: align url format behavior with browsers (ZiJian Liu) #36903 - [
64fed319ef
] - (SEMVER-MINOR) url: expose urlToHttpOptions utility (Yongsheng Zhang) #35960 - [
f2704170a3
] - util: preferReflect.ownKeys(…)
(ExE Boss) #36740 - [
0d719476e0
] - vm: refactor to avoid unsafe array iteration (Antoine du Hamel) #36752 - [
bf695ebdb1
] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #36735 - [
403b595ef5
] - zlib: refactor to avoid unsafe array iteration (Antoine du Hamel) #36722
v15.6.0
Notable Changes
- child_process:
- crypto:
- doc:
-
http:
- set lifo as the default scheduling strategy in Agent (Matteo Collina) #36685
-
net:
- support abortSignal in server.listen (Nitzan Uziely) #36623
-
process:
- add direct access to rss without iterating pages (Adrien Maret) #34291
-
v8:
- fix native
serdes
constructors (ExE Boss) #36549
- fix native
Commits
- [
3ca7a786c5
] - benchmark: fix http2 benchmarks (Rich Trott) #36871 - [
4601886d7c
] - benchmark: fix http/headers.js with test-double (Rich Trott) #36794 - [
7aedda9dcd
] - benchmark: add simple https benchmark (Andrey Pechkurov) #36612 - [
822ac48272
] - buffer: make FastBuffer safe to construct (Antoine du Hamel) #36587 - [
21f329532f
] - build: refactor Makefile (raisinten) #36759 - [
857b98eed9
] - build: fix unknown warning option (raisinten) #36629 - [
ffaa8c1735
] - build: do not "exit" a script meant to be "source"d (François-Denis Gonthier) #35520 - [
9bc2cec848
] - (SEMVER-MINOR) child_process: add 'overlapped' stdio flag (Thiago Padilha) #29412 - [
b98cc51be2
] - child_process: reduce abort handler code duplication (Rich Trott) #36644 - [
78d4d91e54
] - child_process: treat already-aborted controller as aborting (Rich Trott) #36644 - [
a8a427f646
] - (SEMVER-MINOR) child_process: support AbortSignal in fork (Benjamin Gruenbaum) #36603 - [
7134d49e56
] - child_process: clean event listener correctly (Benjamin Gruenbaum) #36424 - [
54bd4ab855
] - cluster: fix edge cases that throw ERR_INTERNAL_ASSERTION (Ouyang Yadong) #36764 - [
0c11a17d82
] - console: refactor to avoid unsafe array iteration (Antoine du Hamel) #36753 - [
53cf996270
] - (SEMVER-MINOR) crypto: implement basic secure heap support (James M Snell) #36779 - [
42aca13953
] - (SEMVER-MINOR) crypto: fixup bug in keygen error handling (James M Snell) #36779 - [
c4ad50e0ff
] - (SEMVER-MINOR) crypto: introduce X509Certificate API (James M Snell) #36804 - [
4e4deca90d
] - (SEMVER-MINOR) crypto: implement randomuuid (James M Snell) #36729 - [
1c9ec2529e
] - deps: upgrade npm to 7.4.0 (Ruy Adorno) #36829 - [
ff5bd04900
] - deps: update nghttp2 to 1.42.0 (Michaël Zasso) #36842 - [
578fa0fedf
] - deps: V8: cherry-pickdfcdf78
(Benjamin Coe) #36573 - [
05f34c6963
] - doc: define "browser", "production", "development" (Guy Bedford) #36856 - [
e8bb1f7350
] - doc: clarify event.isTrusted text (Rich Trott) #36827 - [
153be6c80e
] - doc: fix module syncBuiltinESMExports example (Bruce A. MacNaughton) #34284 - [
3b64b38142
] - doc: os.uptime() temporary bug notice (Nicholas Schamberg) #36503 - [
da49624a46
] - doc: update release key for Danielle Adams (Danielle Adams) #36793 - [
2d8423da3c
] - doc: clarify child_process.exec inherits cwd (ugultopu) #36809 - [
1a4d34ebd0
] - doc: clarify descriptions of _writev chunks argument (James M Snell) #36822 - [
7c7180a6f7
] - doc: document buffer's "Uint" aliases clearly (Michaël Zasso) #36796 - [
ff6edbc6b2
] - doc: add dnlup to collaborators (Daniele Belardi) #36849 - [
835bdf0e50
] - doc: improve crypto.randomUUID() text (Rich Trott) #36830 - [
d4bcb3689d
] - doc: clarify subprocess.stdout/in/err/io properties (James M Snell) #36784 - [
a956fb3fdd
] - doc: add dark mode (Ajay Poshak) #36313 - [
757b9664cd
] - doc: revise method text in async_hooks.md (Rich Trott) #36736 - [
b4091ea59b
] - doc: clarify when messageerror is emitted (James M Snell) #36780 - [
61b039365c
] - doc: avoid memory leak warning in async_hooks example (James M Snell) #36783 - [
a7bb4da55e
] - doc: clarify that --require only supports cjs (James M Snell) #36806 - [
c6eb2b4fec
] - doc: clarify Buffer.from when using ArrayBuffer (James M Snell) #36785 - [
ad1d8fba9f
] - doc: fix broken link for ChildProcess (James M Snell) #36788 - [
ef628891f7
] - doc: revise exit() and run() text in async_hooks.md (Rich Trott) #36738 - [
ff39464559
] - doc: add OpenSSL CVE fix to notable changes in v15.5.0 (Beth Griggs) #36798 - [
6db465a99f
] - doc: clarify that N-API addons are context-aware (Alba Mendez) #36640 - [
fad07d5439
] - doc: fix typo in esm documentation (Mohamed Kamagate) #36800 - [
67dd48ed05
] - doc: add panva to collaborators (Filip Skokan) #36802 - [
b2c1aeb694
] - doc: revise process.memoryUsage() text (Rich Trott) #36757 - [
8f672ebbd6
] - doc: add YAML metadata for process.memoryUsage.rss (Gerhard Stoebich) #36781 - [
fa54f012b8
] - doc: reduce abbreviations in async_hooks.md (Rich Trott) #36737 - [
56c00d7b2f
] - doc: simplify pull request template (Rich Trott) #36739 - [
214dbac8ff
] - doc: clarify undocumented stream properties (James M Snell) #36715 - [
242ce19346
] - doc: document common warning types (James M Snell) #36713 - [
d3dc124575
] - doc: update emitClose default for fs streams (Kevin Locke) #36653 - [
181bd0510f
] - doc: improve ALS.enterWith and exit descriptions (Andrey Pechkurov) #36705 - [
edf8c6de5a
] - doc: add note about uncloneable objects (James M Snell) #36534 - [
651e7d27b7
] - doc: document http.IncomingMessage behaviour change (Dr) #36641 - [
72b0ab0739
] - doc: add yashLadha to collaborator (Yash Ladha) #36666 - [
8a0cdb3b4e
] - doc: alphabetize http response properties (Rich Trott) #36631 - [
ff4674b033
] - doc: correct callback parameter type for createPushResponse() (Rich Trott) #36631 - [
f623d5d377
] - doc: use _code name_ rather than _codename_ (Rich Trott) #36611 - [
1ed517c176
] - doc: document return value of https.request (Michael Chen) #36370 - [
5645b21e23
] - doc: document "http: lazy create IncomingMessage.headers" (ExE Boss) #36601 - [
3ee4cfc7d7
] - doc: fix bugs in _construct() example (Maksym Baranovskyi) #36509 - [
93237c5999
] - doc: remove replication of GitHub template (Rich Trott) #36590 - [
538f226f6d
] - doc: remove "Related Issues" from pull request template (Rich Trott) #36590 - [
dcc93d3dce
] - doc: expand openssl instructions (Michael Dawson) #36554 - [
41e278bf61
] - docs: add references to punycode.md (Isaac Levy) #36761 - [
9b9b6d5fc5
] - domain: make node resilient to Array prototype tempering (Antoine du Hamel) #36676 - [
f0a9c53bec
] - errors: refactor to use more primordials (Antoine du Hamel) #36651 - [
c844d22b72
] - errors: eliminate all overhead for hidden calls (Momtchil Momtchev) #35644 - [
3fa470a3c9
] - events: refactor to use optional chaining (ZiJian Liu) #36763 - [
82393aefff
] - events: refactor to use more primordials (Antoine du Hamel) #36304 - [
e3a091d9f3
] - fs: refactor to avoid unsafe array iteration (Antoine du Hamel) #36699 - [
d5e1b82125
] - fs: accept non-32-bit length in writeBuffer (raisinten) #36667 - [
d858c9576a
] - http: remove dead code from internal/http.js (ZiJian Liu) #36630 - [
7e3ad1be32
] - Revert "http: remove dead code from internal/http.js" (ZiJian Liu) #36890 - [
a9a2dd32e3
] - http: don't cork noop .end() (Robert Nagy) #36633 - [
dfc962f67a
] - http: add test case for req-res close ordering (Daniele Belardi) #36645 - [
cc28d2f541
] - (SEMVER-MINOR) http: set lifo as the default scheduling strategy in Agent (Matteo Collina) #36685 - [
954a36947d
] - http: make HEAD method to work with keep-alive (Joseph Hackman) #34231 - [
9156f430b5
] - http: remove dead code from internal/http.js (ZiJian Liu) #36630 - [
5e499c490e
] - http: refactor to use more primordials (Antoine du Hamel) #36194 - [
c784f15588
] - Revert "http: useautoDestroy: true
in incoming message" (Daniele Belardi) #36647 - [
a38ad0709c
] - http2: refactor to use primordials instead of <string>.indexOf (Rohan Chougule) #36679 - [
e85fbb778d
] - http2: fix typos in core.js (Pranshu Jethmalani) #36719 - [
a4d64f967a
] - https: refactor to use more primordials (Antoine du Hamel) #36195 - [
1db3772c95
] - lib: simplifyprimordials.uncurryThis
(ExE Boss) #36866 - [
95219eac08
] - lib: refactor to use mapping in cluster master (Yash Ladha) #36250 - [
b764269437
] - lib: remove v8_prof_polyfill from eslint ignore list (Antoine du Hamel) #36537 - [
eb6b38639a
] - lib: remove unused code (Brian White) #36632 - [
7fe1b5ef5a
] - lib: refactor to use validateCallback (ZiJian Liu) #36609 - [
bb4f8c8732
] - lib: use more primordials in shared validators (Pooja D P) #36552 - [
181bad58d3
] - lib: add primordials.SafeArrayIterator (Antoine du Hamel) #36532 - [
6e338dac3c
] - lib: refactor to use more primordials in internal/encoding.js (raisinten) #36480 - [
ec3e841f59
] - lib: refactor to use primordials in internal/priority_queue.js (ZiJian Liu) #36560 - [
8ac2016229
] - lib: add primordials.SafeStringIterator (Antoine du Hamel) #36526 - [
56af1250fe
] - lib: make safe primordials safe to construct (Antoine du Hamel) #36428 - [
d20235b6cb
] - lib: fix diagnostics_channel hasSubscribers error (ZiJian Liu) #36599 - [
63091f8440
] - lib: refactor to use more primordials in internal/histogram.js (raisinten) #36455 - [
eca2df0909
] - meta: notify slack when someone force pushes (Mary Marchini) #35131 - [
01213c71b9
] - module: fix Windows folder exports deprecation warning (Guy Bedford) #36859 - [
302be57be4
] - module: refactor to avoid unsafe array iteration (Antoine du Hamel) #36680 - [
24246a29d7
] - net: throw ERR_OUT_OF_RANGE if blockList.addSubnet prefix is NaN (ZiJian Liu) #36732 - [
02dbcc4317
] - (SEMVER-MINOR) net: support abortSignal in server.listen (Nitzan Uziely) #36623 - [
a258bc9b70
] - perf_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #36723 - [
94afc3e712
] - process: passing -1 to setuid/setgid should not abort (James M Snell) #36786 - [
92af50327e
] - (SEMVER-MINOR) process: add direct access to rss without iterating pages (Adrien Maret) #34291 - [
8b7336b072
] - quic,timers: refactor to use validateAbortSignal (ZiJian Liu) #36604 - [
b17130a55a
] - readline: fix behaviour of Interface plugged to a non-terminal output (Antoine du Hamel) #36774 - [
d70824f567
] - src: fix typo in crypto_aes.cc (Ikko Ashimine) #36717 - [
8b43388903
] - src: reduce duplicated boilerplate with new env utility fn (James M Snell) #36536 - [
a53997e6c0
] - src: fix leading backslash bug in URL (raisinten) #36613 - [
abae61e230
] - stream: finished waits for 'close' on OutgoingMessage (Robert Nagy) #36648 - [
4c819d65f9
] - stream: fix .end() error propagation (Robert Nagy) #36817 - [
cb0b53edb1
] - stream: lazy read ReadStream (Momtchil Momtchev) #36823 - [
b996e3b4b5
] - stream: do not use _stream_* anymore (Matteo Collina) #36684 - [
190ddced46
] - stream: only use legacy close listeners if not willEmitClose (Robert Nagy) #36649 - [
1fc30a84ac
] - stream,zlib: do not use _stream_* anymore (Matteo Collina) #36618 - [
d2b9e7cb01
] - string_decoder: throw ERR_STRING_TOO_LONG for UTF-8 (Michaël Zasso) #36661 - [
abc2ff47c2
] - test: disable test-crypto-secure-heap with asan (James M Snell) #36900 - [
17a52337c4
] - test: http complete response after socket double end (Dimitris Halatsis) #36633 - [
cc37ff24dc
] - test: use faster variant for rss in test-crypto-dh-leak (Pooja D P) #36766 - [
daad0ab1cc
] - test: use faster variant for rss in test-vm-memleak.js (Pooja D P) #36769 - [
9d25d25cfd
] - test: mark test-cluster-bind-privileged-port flaky on arm (James M Snell) #36850 - [
c64db20fdd
] - test: use faster variant for rss test-memoryusage-emfile (Pooja D P) #36768 - [
d48e00e5a3
] - test: fix test-memory-usage.js for IBMi (Rich Trott) #36758 - [
9b7d2c2523
] - test: guard large string decoder allocation (Michaël Zasso) #36795 - [
5bc130bd9e
] - test: increase coverage for events (ZiJian Liu) #36668 - [
9f7fbcc64d
] - test: add coverage for breakLength one-column array (Rich Trott) #36657 - [
9eff709c23
] - test: update wpt interfaces (Daijiro Wachi) #36659 - [
a7f743f5cc
] - test: update wpt resources (Daijiro Wachi) #36659 - [
4acc2732f9
] - test: update wpt encoding (Daijiro Wachi) #36659 - [
986d5aca44
] - test: update wpt url (Daijiro Wachi) #36659 - [
833e614682
] - test: increase coverage for diagnostics_channel (ZiJian Liu) #36602 - [
f0dfe57bd1
] - test: add already-aborted-controller test for spawn() (Rich Trott) #36644 - [
d5d56ec3d4
] - test: add test for reused AbortController with execfile() (Rich Trott) #36644 - [
f81556563a
] - test: increase coverage for internal/error_serdes.js (ZiJian Liu) #36628 - [
34d1d791e5
] - test: improve coverage for util.inspect() with classes (Rich Trott) #36625 - [
1f3bc5ed73
] - test: increase runInAsyncScope() coverage (Rich Trott) #36624 - [
863bfc44d2
] - test: redirect stderr EnvironmentWithNoESMLoader (Daniel Bevenius) #36548 - [
8e8b16ff7e
] - timers: refactor to use optional chaining (ZiJian Liu) #36767 - [
c23cca2de9
] - tls: refactor to avoid unsafe array iteration (Antoine du Hamel) #36772 - [
37becfda8c
] - tools: update all lint-md rollup dependencies (Michaël Zasso) #36843 - [
cfdbb79ccf
] - tools: update doc tool dependencies (Michaël Zasso) #36844 - [
1f2a198c32
] - tools: fix md5 hash for ICU 68.1 src (Richard Lau) #36777 - [
4e0995bc60
] - tools: update ESLint to 7.17.0 (Colin Ihrig) #36726 - [
8ad3455ae3
] - tools: revise install.py for minor improvements (Rich Trott) #36626 - [
b367d5a61d
] - tools: update gyp-next to v0.7.0 (Michaël Zasso) #36580 - [
10f1c893c8
] - tools: correct usage message for genv8constants.py (Rich Trott) #36606 - [
37b39a2d6b
] - tools: call close() explicitly in genv8constants.py (Rich Trott) #36606 - [
7664f3678c
] - tools: useis None
consistently in Python (Rich Trott) #36606 - [
cb7f73c9d4
] - tools: revise line in configure.py for clarity (Rich Trott) #36551 - [
258aa50986
] - tty: refactor to avoid unsafe array iteration (Antoine du Hamel) #36771 - [
5cb8b16452
] - url: fix url.format with ipv6 hostname (ZiJian Liu) #36665 - [
b1c6a44caf
] - url: refactor to use more primordials (Antoine du Hamel) #36316 - [
baa8064bd0
] - util: refactor inspect.js to use more primodials (Rohan Chougule) #36730 - [
bff201a66d
] - util: remove unreachable defensive coding (Rich Trott) #36744 - [
64bf2f229e
] - util: refactor to use more primordials (Antoine du Hamel) #36265 - [
2dd2ec3836
] - v8: refactor to use more primordials (Antoine du Hamel) #36527 - [
3170636a8e
] - (SEMVER-MINOR) v8: fix nativeserdes
constructors (ExE Boss) #36549 - [
d5a9799e76
] - wasi: refactor to avoid unsafe array iteration (Antoine du Hamel) #36724 - [
b6f74b0b09
] - zlib: refactor to use primordial instead of <string>.startsWith (Rohan Chougule) #36718
v15.5.1
This is a security release.
Notable changes
Vulnerabilities fixed:
-
CVE-2020-8265: use-after-free in TLSWrap (High)
- Affected Node.js versions are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits.
-
CVE-2020-8287: HTTP Request Smuggling in nodejs (Low)
- Affected versions of Node.js allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html).
Commits
- [
c5dbe831b7
] - http: add test for http transfer encoding smuggling (Matteo Collina) nodejs-private/node-private#228 - [
e0c9a2285c
] - http: unsetF_CHUNKED
on newTransfer-Encoding
(Matteo Collina) nodejs-private/node-private#228 - [
9834ef85a0
] - src: retain pointers to WriteWrap/ShutdownWrap (James M Snell) nodejs-private/node-private#23
v15.5.0
Notable Changes
AbortSignal
in child_process and stream
Extended support for The following APIs now support an AbortSignal
in their options object:
child_process.spawn()
Calling .abort()
on the corresponding AbortController
is similar to calling .kill()
on the child process except the error passed to the callback will be an AbortError
:
const controller = new AbortController();
const { signal } = controller;
const grep = spawn('grep', ['ssh'], { signal });
grep.on('error', (err) => {
// This will be called with err being an AbortError if the controller aborts
});
controller.abort(); // stops the process
-
new stream.Writable()
andnew stream.Readable()
Calling .abort()
on the corresponding AbortController
will behave the same way as calling .destroy(new AbortError())
on the stream:
const { Readable } = require('stream');
const controller = new AbortController();
const read = new Readable({
read(size) {
// ...
},
signal: controller.signal
});
// Later, abort the operation closing the stream
controller.abort();
Contributed by Benjamin Gruenbaum #36431, #36432.
querystring.stringify()
BigInt support in If querystring.stringify()
is called with an object that contains BigInt
values, they will now be serialized to their decimal representation instead of the empty string:
const querystring = require('querystring');
console.log(querystring.stringify({ bigint: 2n ** 64n }));
// Prints: bigint=18446744073709551616
Contributed by Darshan Sen #36499.
Additions to the C++ embedder APIs
A new IsolateSettingsFlag
is available for those calling SetIsolateUpForNode()
: SHOULD_NOT_SET_MREPARE_STACK_TRACE_CALLBACK
can be used to prevent Node.js from setting a custom callback to prepare stack traces.
Contributed by Shelley Vohr #36447.
Added node::GetEnvironmentIsolateData()
and node::GetArrayBufferAllocator()
to respectively get the current IsolateData*
and, from it, the current Node.js ArrayBufferAllocator
if there is one.
Contributed by Anna Henningsen #36441.
New core collaborator
With this release, we welcome a new Node.js core collaborator:
- Pooja D P @PoojaDurgad #36511
Commits
Semver-minor commits
- [
e449571230
] - (SEMVER-MINOR) child_process: add signal support to spawn (Benjamin Gruenbaum) #36432 - [
25d7e90386
] - (SEMVER-MINOR) http: useautoDestroy: true
in incoming message (Daniele Belardi) #33035 - [
5481be8cbd
] - (SEMVER-MINOR) lib: support BigInt in querystring.stringify (raisinten) #36499 - [
036ed1fafc
] - (SEMVER-MINOR) src: add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 - [
e23309486b
] - (SEMVER-MINOR) src: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 - [
6ecbc1dcb3
] - (SEMVER-MINOR) stream: support abortsignal in constructor (Benjamin Gruenbaum) #36431
Semver-patch commits
- [
1330995b80
] - build,lib,test: change whitelist to allowlist (Michaël Zasso) #36406 - [
dc8d1a74a6
] - deps: upgrade npm to 7.3.0 (Ruy Adorno) #36572 - [
b6a31f0a70
] - deps: update archs files for OpenSSL-1.1.1i (Myles Borins) #36520 - [
5b49807c3f
] - deps: re-enable OPENSSL_NO_QUIC guards (James M Snell) #36520 - [
309e2971a2
] - deps: various quic patches from akamai/openssl (Todd Short) #36520 - [
27fb651cbc
] - deps: upgrade openssl sources to 1.1.1i (Myles Borins) #36520 - [
1f43aadf90
] - deps: update patch and docs for openssl update (Myles Borins) #36520 - [
752c94d202
] - deps: fix npm doctor tests for pre-release node (nlf) #36543 - [
b0393fa2ed
] - deps: upgrade npm to 7.2.0 (Myles Borins) #36543 - [
cb4652e91d
] - deps: update to c-ares 1.17.1 (Danny Sonnenschein) #36207 - [
21fbcb6f81
] - deps: V8: backport4bf051d
(Anna Henningsen) #36482 - [
30fe0ff681
] - deps: upgrade npm to 7.1.2 (Darcy Clarke) #36487 - [
0baa610c3e
] - deps: upgrade npm to 7.1.1 (Ruy Adorno) #36459 - [
5929b08851
] - deps: upgrade npm to 7.1.0 (Ruy Adorno) #36395 - [
deaafd5788
] - dns: refactor to use more primordials (Antoine du Hamel) #36314 - [
e30af7be33
] - fs: refactor to use optional chaining (ZiJian Liu) #36524 - [
213dcd7930
] - http: add test for incomingmessage destroy (Daniele Belardi) #33035 - [
36b4ddd382
] - http: use standard args order in IncomingMEssage onError (Daniele Belardi) #33035 - [
60b5e696fc
] - http: remove trailing space (Daniele Belardi) #33035 - [
f11a648d8e
] - http: add comments in _http_incoming (Daniele Belardi) #33035 - [
4b81d79b58
] - http: fix lint error in incoming message (Daniele Belardi) #33035 - [
397e31e25f
] - http: reafactor incoming message destroy (Daniele Belardi) #33035 - [
9852ebca8d
] - http: do not loop over prototype in Agent (Michaël Zasso) #36410 - [
e46a46a4cd
] - inspector: refactor to use more primordials (Antoine du Hamel) #36356 - [
728f512c7d
] - lib: make safe primordials safe to iterate (Antoine du Hamel) #36391 - [
f368d697cf
] - Revert "perf_hooks: make PerformanceObserver an AsyncResource" (Nicolai Stange) #36343 - [
e2ced0d401
] - perf_hooks: invoke performance_entry_callback via MakeSyncCallback() (Nicolai Stange) #36343 - [
7c903ec6c8
] - repl: disable blocking completions by default (Anna Henningsen) #36564 - [
d38a0ec93e
] - src: remove unnecessary ToLocalChecked node_errors (Daniel Bevenius) #36547 - [
bbc0d14cd2
] - src: use correct microtask queue for checkpoints (Anna Henningsen) #36581 - [
7efb3111e8
] - src: remove unnecessary ToLocalChecked call (Daniel Bevenius) #36523 - [
68687d3419
] - src: remove empty name check in node_env_var.cc (raisinten) #36133 - [
1b4984de98
] - src: remove duplicate V macros in node_v8.cc (Daniel Bevenius) #36454 - [
5ff7f42e65
] - src: use correct outer Context’s microtask queue (Anna Henningsen) #36482 - [
96c095f237
] - src: guard against env != null in node_errors.cc (Anna Henningsen) #36414 - [
4f3d7bb417
] - src: introduce convenience node::MakeSyncCallback() (Nicolai Stange) #36343 - [
e59788262c
] - src: add typedef for CleanupHookCallback callback (Daniel Bevenius) #36442 - [
2a60e3b9df
] - src: fix indentation in memory_tracker-inl.h (Daniel Bevenius) #36425 - [
210390f6fd
] - src: remove identical V macro (Daniel Bevenius) #36427 - [
02afe586aa
] - src: use using declarations consistently (Daniel Bevenius) #36365 - [
169406b7d7
] - src: add missing context scopes (Anna Henningsen) #36413 - [
3f33d0bcda
] - stream: fix pipe deadlock when starting with needDrain (Robert Nagy) #36563 - [
d8b5b9499c
] - stream: accept iterable as a valid first argument (ZiJian Liu) #36479 - [
58319d5336
] - tls: forward new SecureContext options (Alba Mendez) #36416 - [
fa40366276
] - util: simplify constructor retrieval in inspect() (Rich Trott) #36466 - [
cc544dbfaa
] - util: fix instanceof checks with null prototypes during inspection (Ruben Bridgewater) #36178 - [
13d6597b4b
] - util: fix module prefixes during inspection (Ruben Bridgewater) #36178 - [
20ecc82569
] - worker: fix broadcast channel SharedArrayBuffer passing (Anna Henningsen) #36501 - [
56fe9bae26
] - worker: refactor MessagePort entanglement management (Anna Henningsen) #36345
Documentation commits
- [
19c233232f
] - doc: fix AbortSignal example for stream.Readable (Michaël Zasso) #36596 - [
9fbab3e2f5
] - doc: update and run license-builder for Babel (Michaël Zasso) #36504 - [
a1ba6686a0
] - doc: add remark about Collaborators discussion page (FrankQiu) #36420 - [
c5602fb166
] - doc: simplify worker_threads.md text (Rich Trott) #36545 - [
149f2cfac1
] - doc: add two tips for speeding the dev builds (Momtchil Momtchev) #36452 - [
ad75c78c32
] - doc: add note about timingSafeEqual for TypedArray (Tobias Nießen) #36323 - [
9830fe5c9e
] - doc: move Derek Lewis to emeritus (Rich Trott) #36514 - [
eb29a16bae
] - doc: add issue reference to github pr template (Chinmoy Chakraborty) #36440 - [
f09985d42a
] - doc: update url.md (Rock) #36147 - [
c3ec90d23c
] - doc: make explicit reverting node_version.h changes (Richard Lau) #36461 - [
7a34452b1d
] - doc: add license info to the README (FrankQiu) #36278 - [
22f039339f
] - doc: revise addon mulitple initializations text (Rich Trott) #36457 - [
25a245443a
] - doc: add v15.4.0 link to CHANGELOG.md (Danielle Adams) #36456 - [
1ec8516fd6
] - doc: add PoojaDurgad to collaborators (Pooja D P) #36511 - [
98918110a1
] - doc: edit addon text about event loop blocking (Rich Trott) #36448 - [
62bfe3d313
] - doc: note v15.0.0 changed default --unhandled-rejections=throw (kai zhu) #36361 - [
129053fe4c
] - doc: update terminology (Michael Dawson) #36475 - [
e331de2571
] - doc: reword POSIX threads text in addons.md (Rich Trott) #36436 - [
04f166389b
] - doc: add RaisinTen as a triager (raisinten) #36404 - [
3341b2cb9d
] - doc: document ABORT_ERR code (Benjamin Gruenbaum) #36319 - [
6a6b3af736
] - doc: provide more context on techinical values (Michael Dawson) #36201
Other commits
- [
e1f00fd996
] - benchmark: reduce code duplication (Rich Trott) #36568 - [
82a26268d7
] - build: do not run GitHub actions for draft MRs (Michaël Zasso) #35910 - [
95c80f5fb0
] - build: run some workflows only on nodejs/node (Michaël Zasso) #36507 - [
584ea8b26c
] - build: fix make test-npm (Ruy Adorno) #36369 - [
01576fbc19
] - test: increase abort logic coverage (Moshe vilner) #36586 - [
22ac2279ee
] - test: increase coverage for stream (ZiJian Liu) #36538 - [
9fc2479707
] - test: increase coverage for worker (ZiJian Liu) #36491 - [
81e603b7cf
] - test: specify global object for globals (Rich Trott) #36498 - [
109ab787fd
] - test: increase coverage for fs/dir read (Zijian Liu) #36388 - [
9f2d3c291b
] - test: remove test-http2-client-upload as flaky (Rich Trott) #36496 - [
d299ceeac7
] - test: increase coverage for net/blocklist (Zijian Liu) #36405 - [
f7635fd86d
] - test: make executable name more general (Shelley Vohr) #36489 - [
acd78d9d25
] - test: increased externalized string length (Shelley Vohr) #36451 - [
0f749a35ec
] - test: add test for async contexts in PerformanceObserver (ZauberNerd) #36343 - [
dd705ad1f0
] - test: increase execFile abort coverage (Moshe vilner) #36429 - [
31b062d591
] - test: fix flaky test-repl (Rich Trott) #36415 - [
023291b43c
] - test: check null proto-of-proto in util.inspect() (Rich Trott) #36399 - [
d3d1f338c7
] - test: add SIGTRAP to test-signal-handler (Ash Cripps) #36368 - [
166aa8a7b5
] - test: fix child-process-pipe-dataflow (Santiago Gimeno) #36366 - [
ecbb757ae0
] - tools: fix make-v8.sh (Richard Lau) #36594 - [
e3c5adc6d0
] - tools: fix release script sign function (Antoine du Hamel) #36556 - [
0d4d34748d
] - tools: update ESLint to 7.16.0 (Yongsheng Zhang) #36579 - [
f3828c9dcb
] - tools: fix update-eslint.sh (Yongsheng Zhang) #36579 - [
27260c70b4
] - tools: fix release script (Antoine du Hamel) #36540 - [
c6700ad041
] - tools: remove unused variable in configure.py (Rich Trott) #36525 - [
7b8d373d5e
] - tools: lint shell scripts (Antoine du Hamel) #36099 - [
c6e65d09ef
] - tools: update ini in tools/node-lint-md-cli-rollup (Myles Borins) #36474 - [
7542a3bd55
] - tools: enable no-unsafe-optional-chaining lint rule (Colin Ihrig) #36411 - [
26f8ccfbe6
] - tools: update ESLint to 7.15.0 (Colin Ihrig) #36411 - [
8ecf2f9976
] - tools: update doc tool dependencies (Michaël Zasso) #36407 - [
040b39f076
] - tools: enable no-unused-expressions lint rule (Michaël Zasso) #36248
v15.4.0
Notable Changes
-
child_processes:
- add AbortSignal support (Benjamin Gruenbaum) #36308
-
deps:
- update ICU to 68.1 (Michaël Zasso) #36187
- events:
-
http:
- enable call chaining with setHeader() (pooja d.p) #35924
-
module:
- add isPreloading indicator (James M Snell) #36263
- stream:
-
worker:
- add experimental BroadcastChannel (James M Snell) #36271
Commits
- [
e79bdc313a
] - assert: refactor to use more primordials (Antoine du Hamel) #36234 - [
2344e3e360
] - benchmark: changedfstat
tofstatSync
(Narasimha Prasanna HN) #36206 - [
ca8db41151
] - benchmark,child_process: remove failing benchmark parameter (Antoine du Hamel) #36295 - [
9db9be774b
] - buffer: refactor to use primordials instead of Array#reduce (Antoine du Hamel) #36392 - [
8d8d2261a5
] - buffer: refactor to use more primordials (Antoine du Hamel) #36166 - [
74adc441c4
] - build: fix typo in Makefile (raisinten) #36176 - [
224a6471cc
] - (SEMVER-MINOR) child_process: add AbortSignal support (Benjamin Gruenbaum) #36308 - [
4ca1bd8806
] - child_process: refactor to use more primordials (Zijian Liu) #36269 - [
841e8f444e
] - crypto: fix "Invalid JWK" error messages (Filip Skokan) #36200 - [
278862aeb9
] - deps: upgrade npm to 7.0.15 (Ruy Adorno) #36293 - [
66bc2067ce
] - deps: V8: cherry-pick86991d0
(Benjamin Coe) #36254 - [
095cef2c11
] - deps: update ICU to 68.1 (Michaël Zasso) #36187 - [
8d69d8387e
] - dgram: refactor to use more primordials (Antoine du Hamel) #36286 - [
bef550a50c
] - doc: add Powershell oneliner to get Windows version (Michael Bashurov) #30289 - [
2649c384c6
] - doc: add version metadata to timers/promises (Colin Ihrig) #36378 - [
0401ffbfb6
] - doc: add process for handling premature disclosure (Michael Dawson) #36155 - [
3e5fcda13e
] - doc: add table header in intl.md (Rich Trott) #36261 - [
65d89fdd69
] - doc: adding example to Buffer.isBuffer method (naortedgi) #36233 - [
03cf8dbc0e
] - doc: fix typo in events.md (Luigi Pinca) #36231 - [
b176d61e8c
] - doc: fix --experimental-wasm-modules text location (Colin Ihrig) #36220 - [
44c4aaddad
] - doc: stabilize subpath patterns (Guy Bedford) #36177 - [
fdf5d851d0
] - doc: add missing version to update cmd (Ruy Adorno) #36204 - [
186ad24fdf
] - doc: cleanup events.md structure (James M Snell) #36100 - [
c14512b9a5
] - errors: display original symbol name (Benjamin Coe) #36042 - [
855a85c124
] - (SEMVER-MINOR) events: support signal in EventTarget (Benjamin Gruenbaum) #36258 - [
dc1930923b
] - (SEMVER-MINOR) events: graduate Event, EventTarget, AbortController (James M Snell) #35949 - [
537e5cbf51
] - fs: move method definition from header (Yash Ladha) #36256 - [
744b8aa807
] - fs: pass ERR_DIR_CLOSED asynchronously to dir.close (Zijian Liu) #36243 - [
c04a2df185
] - fs: refactor to use more primordials (Antoine du Hamel) #36196 - [
58abdcaceb
] - (SEMVER-MINOR) http: enable call chaining with setHeader() (pooja d.p) #35924 - [
cedf51f3ce
] - http2: refactor to use more primordials (Antoine du Hamel) #36357 - [
5f41f1b19e
] - http2: check write not scheduled in scope destructor (David Halls) #36241 - [
4127eb2405
] - https: add abortcontroller test (Benjamin Gruenbaum) #36307 - [
c2938bde6c
] - lib: add uncurried accessor properties toprimordials
(ExE Boss) #36329 - [
f73a0a8069
] - lib: fix typo in internal/errors.js (raisinten) #36426 - [
617cb58cc8
] - lib: refactor primordials.uncurryThis (Antoine du Hamel) #36221 - [
cc18907ec4
] - module: refactor to use more primordials (Antoine du Hamel) #36348 - [
d4de7c7eb9
] - (SEMVER-MINOR) module: add isPreloading indicator (James M Snell) #36263 - [
8611b8f98a
] - net: refactor to use more primordials (Antoine du Hamel) #36303 - [
2a24096720
] - os: refactor to use more primordials (Antoine du Hamel) #36284 - [
0e7f0c6d27
] - path: refactor to use more primordials (Antoine du Hamel) #36302 - [
ea46ca8cbf
] - perf_hooks: refactor to use more primordials (Antoine du Hamel) #36297 - [
a9ac86d1ee
] - policy: refactor to use more primordials (Antoine du Hamel) #36210 - [
39d0ceda48
] - process: refactor to use more primordials (Antoine du Hamel) #36212 - [
ab084c199e
] - querystring: refactor to use more primordials (Antoine du Hamel) #36315 - [
d29199ef82
] - quic: refactor to use more primordials (Antoine du Hamel) #36211 - [
b885409e48
] - readline: refactor to use more primordials (Antoine du Hamel) #36296 - [
9cb53f635a
] - repl: refactor to use more primordials (Antoine du Hamel) #36264 - [
8dadaa652e
] - src: remove some duplication in DeserializeProps (Daniel Bevenius) #36336 - [
a03aa0a6b2
] - src: rename AliasedBufferInfo->AliasedBufferIndex (Daniel Bevenius) #36339 - [
e7b2d91e04
] - src: use transferred consistently (Daniel Bevenius) #36340 - [
6ebb98af11
] - src: use ToLocal in DeserializeProperties (Daniel Bevenius) #36279 - [
47397ffd56
] - src: update node.rc file description (devsnek) #36197 - [
cfc8ec18db
] - src: fix label indentation (Rich Trott) #36213 - [
197ba21279
] - (SEMVER-MINOR) stream: support abort signal (Benjamin Gruenbaum) #36061 - [
6033d30361
] - (SEMVER-MINOR) stream: add FileHandle support to Read/WriteStream (Momtchil Momtchev) #35922 - [
a15addc153
] - string_decoder: refactor to use more primordials (Antoine du Hamel) #36358 - [
b39d150e60
] - test: fix comment misspellings of transferred (Rich Trott) #36360 - [
a7e794d1bf
] - test: fix flaky test-http2-respond-file-error-pipe-offset (Rich Trott) #36305 - [
1091a658e1
] - test: fix bootstrap test (Benjamin Gruenbaum) #36418 - [
fbcb72a665
] - test: increase coverage for readline (Zijian Liu) #36389 - [
22028aae54
] - test: skip flaky parts of broadcastchannel test on Windows (Rich Trott) #36386 - [
faca2b829e
] - test: fix test-worker-broadcastchannel-wpt (Rich Trott) #36353 - [
ea09da492c
] - test: fix typo in comment (inokawa) #36312 - [
b61ca1bfe6
] - test: replace anonymous functions by arrows (Aleksandr Krutko) #36125 - [
2c7358ef43
] - test: fix flaky sequential/test-fs-watch (Rich Trott) #36249 - [
b613950016
] - test: increase coverage for util.inspect() (Rich Trott) #36228 - [
69a8f05488
] - test: improve test coverage SourceMap API (Juan José Arboleda) #36089 - [
44d6d0bf0d
] - test: fix missed warning for non-experimental AbortController (James M Snell) #36240 - [
29b5236256
] - timers: reject with AbortError on cancellation (Benjamin Gruenbaum) #36317 - [
b20409e985
] - tls: refactor to use more primordials (Antoine du Hamel) #36266 - [
f317bba034
] - tls: permit null as a cipher value (Rich Trott) #36318 - [
9ae59c847a
] - tools: upgrade to @babel/eslint-parser 7.12.1 (Antoine du Hamel) #36321 - [
e798770803
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36324 - [
a8b95cfcb2
] - tools: bump cpplint to 1.5.4 (Rich Trott) #36324 - [
754b7a76b1
] - tools: remove bashisms from macOS release scripts (Antoine du Hamel) #36121 - [
2868ffb331
] - tools: remove bashisms from release script (Antoine du Hamel) #36123 - [
8cf1addaa8
] - tools: update stability index linking logic (Rich Trott) #36280 - [
d95ae65986
] - tools: update highlight.js to 10.1.2 (Myles Borins) #36309 - [
5935ccc11c
] - tools: fix undeclared identifier FALSE (Antoine du Hamel) #36276 - [
a2da7ba914
] - tools: use using-declaration consistently (Daniel Bevenius) #36245 - [
82c1e39c4a
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36235 - [
bcf7393412
] - tools: bump cpplint to 1.5.3 (Rich Trott) #36235 - [
be11976407
] - tools: enable no-nonoctal-decimal-escape lint rule (Colin Ihrig) #36217 - [
c86c2399a2
] - tools: update ESLint to 7.14.0 (Colin Ihrig) #36217 - [
cfadd82cf3
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36213 - [
03e8aaf613
] - tools: bump cpplint.py to 1.5.2 (Rich Trott) #36213 - [
6bc007fc94
] - tty: refactor to use more primordials (Zijian Liu) #36272 - [
fbd5652943
] - v8: refactor to use more primordials (Antoine du Hamel) #36285 - [
8731a80439
] - vm: addSafeForTerminationScope
s for SIGINT interruptions (Anna Henningsen) #36344 - [
47345a1f84
] - worker: refactor to use more primordials (Antoine du Hamel) #36393 - [
21c4704c7b
] - worker: refactor to use more primordials (Antoine du Hamel) #36267 - [
802d44b1a9
] - (SEMVER-MINOR) worker: add experimental BroadcastChannel (James M Snell) #36271 - [
4b4caada9f
] - zlib: refactor to use more primordials (Antoine du Hamel) #36347
v15.3.0
Notable Changes
- [
6349b1d673
] - (SEMVER-MINOR) dns: add a cancel() method to the promise Resolver (Szymon Marczak) #33099 - [
9ce9b016e6
] - (SEMVER-MINOR) events: add max listener warning for EventTarget (James M Snell) #36001 - [
8390f8a86b
] - (SEMVER-MINOR) http: add support for abortsignal to http.request (Benjamin Gruenbaum) #36048 - [
9c6be3cc90
] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978 - [
15ff155c12
] - (SEMVER-MINOR) lib: add throws option to fs.f/l/statSync (Andrew Casey) #33716 - [
85c85d368a
] - (SEMVER-MINOR) path: addpath/posix
andpath/win32
alias modules (ExE Boss) #34962 - [
d1baae3640
] - (SEMVER-MINOR) readline: add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675 - [
5729478509
] - (SEMVER-MINOR) src: add loop idle time in diagnostic report (Gireesh Punathil) #35940 - [
baa87c1a7d
] - (SEMVER-MINOR) util: addutil/types
alias module (ExE Boss) #34055
Commits
- [
34aa0c868e
] - assert: refactor to use more primordials (Antoine du Hamel) #35998 - [
28d710164a
] - async_hooks: refactor to use more primordials (Antoine du Hamel) #36168 - [
1924255fdb
] - async_hooks: fix leak in AsyncLocalStorage exit (Stephen Belanger) #35779 - [
3ee556a867
] - benchmark: fix build warnings (Gabriel Schulhof) #36157 - [
fcc38a1312
] - build: replace which with command -v (raisinten) #36118 - [
60874ba941
] - build: try “python3” as a last resort for 3.x (Ole André Vadla Ravnås) #35983 - [
fbe210b2a1
] - build: conditionally clear vcinstalldir (Brian Ingenito) #36009 - [
56f83e6876
] - build: refactor configure.py to use argparse (raisinten) #35755 - [
0b70822461
] - child_process: refactor to use more primordials (Antoine du Hamel) #36003 - [
e54108f2e4
] - cluster: refactor to use more primordials (Antoine du Hamel) #36011 - [
272fc794b2
] - crypto: fix format warning in AdditionalConfig (raisinten) #36060 - [
63a138e02f
] - crypto: fix passing TypedArray to webcrypto AES methods (Antoine du Hamel) #36087 - [
4a88c73fa5
] - deps: upgrade npm to 7.0.14 (nlf) #36238 - [
d16e8622a7
] - deps: upgrade npm to 7.0.13 (Ruy Adorno) #36202 - [
c23ee3744f
] - deps: upgrade npm to 7.0.12 (Ruy Adorno) #36153 - [
0fcbb1c0d5
] - deps: V8: cherry-pick3176bfd
(Anna Henningsen) #35612 - [
27f1bc05fd
] - deps: upgrade npm to 7.0.11 (Darcy Clarke) #36112 - [
8ae3ffe2be
] - deps: V8: cherry-pick1d0f426
(Ole André Vadla Ravnås) #35986 - [
4b7ba11d67
] - deps: V8: cherry-pick4e077ff
(Ole André Vadla Ravnås) #35986 - [
098a5b1298
] - deps: V8: cherry-pick086eecb
(Ole André Vadla Ravnås) #35986 - [
d2c757ab19
] - deps: V8: cherry-pick27e1ac1
(Ole André Vadla Ravnås) #35986 - [
6349b1d673
] - (SEMVER-MINOR) dns: add a cancel() method to the promise Resolver (Szymon Marczak) #33099 - [
0fbade38ef
] - doc: add arm64 macOS as experimental (Richard Lau) #36189 - [
42dfda8f78
] - doc: remove stray comma in url.md (Rich Trott) #36175 - [
8bbdbccbb6
] - doc: revise agent.destroy() text (Rich Trott) #36163 - [
545ac1fec5
] - doc: fix punctuation in v8.md (Rich Trott) #36192 - [
a6a90af8c0
] - doc: add compatibility/interop technical value (Geoffrey Booth) #35323 - [
4ab4a99900
] - doc: de-emphasize wrapping in napi_define_class (Gabriel Schulhof) #36159 - [
bb29508e8f
] - doc: add link for v8.takeCoverage() (Rich Trott) #36135 - [
24065b92f1
] - doc: mark modules implementation as stable (Guy Bedford) #35781 - [
142cacdc63
] - doc: clarify text about process not responding (Rich Trott) #36117 - [
0ff384b0be
] - doc: esm docs consolidation and reordering (Guy Bedford) #36046 - [
b17a83a00d
] - doc: claim ABI version for Electron v13 (Shelley Vohr) #36101 - [
e8a8513b2c
] - doc: fix invalid link in worker_threads.md (Rich Trott) #36109 - [
cd33594a0d
] - doc: move shigeki to emeritus (Rich Trott) #36093 - [
eefc6aa6c9
] - doc: document the error when cwd not exists in child_process.spawn (FeelyChau) #34505 - [
841a2812d0
] - doc: fix typo in debugger.md (Rich Trott) #36066 - [
500e709439
] - doc: update list styles for remark-parse@9 rendering (Rich Trott) #36049 - [
a8dab217eb
] - doc,url: fix url.hostname example (Rishabh Mehan) #33735 - [
e48ec703ba
] - domain: improve deprecation warning text for DEP0097 (Anna Henningsen) #36136 - [
bcbf176c22
] - errors: refactor to use more primordials (Antoine du Hamel) #36167 - [
66788970ac
] - esm: refactor to use more primordials (Antoine du Hamel) #36019 - [
9ce9b016e6
] - (SEMVER-MINOR) events: add max listener warning for EventTarget (James M Snell) #36001 - [
1550073dbc
] - events: disabled manual construction AbortSignal (raisinten) #36094 - [
8a6cabbb23
] - events: port some wpt tests (Ethan Arrowood) #34169 - [
3691eccf0a
] - fs: remove experimental from promises.rmdir recursive (Anders Kaseorg) #36131 - [
76b1863240
] - fs: filehandle read now accepts object as argument (Nikola Glavina) #34180 - [
2fdf509268
] - http: fix typo in comment (Hollow Man) #36193 - [
8390f8a86b
] - (SEMVER-MINOR) http: add support for abortsignal to http.request (Benjamin Gruenbaum) #36048 - [
387d92fd0e
] - http: onFinish will not be triggered again when finished (rickyes) #35845 - [
48bf59bb8b
] - http2: add support for AbortSignal to http2Session.request (Madara Uchiha) #36070 - [
8a0c3b9c76
] - http2: refactor to use more primordials (Antoine du Hamel) #36142 - [
f0aed8c01c
] - http2: add support for TypedArray to getUnpackedSettings (Antoine du Hamel) #36141 - [
9c6be3cc90
] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978 - [
0b40568afe
] - http2: delay session.receive() by a tick (Szymon Marczak) #35985 - [
1a4d43f840
] - lib: refactor to use more primordials (Antoine du Hamel) #36140 - [
d6ea12e003
] - lib: set abort-controller toStringTag (Benjamin Gruenbaum) #36115 - [
82f1cde57e
] - lib: remove primordials.SafePromise (Antoine du Hamel) #36149 - [
15ff155c12
] - (SEMVER-MINOR) lib: add throws option to fs.f/l/statSync (Andrew Casey) #33716 - [
75707f45eb
] - lib,tools: enforce access to prototype from primordials (Antoine du Hamel) #36025 - [
79b2ba6744
] - n-api: clean up binding creation (Gabriel Schulhof) #36170 - [
5698cc08f0
] - n-api: fix test_async_context warnings (Gabriel Schulhof) #36171 - [
3d623d850c
] - n-api: improve consistency of how we get context (Michael Dawson) #36068 - [
89da0c3353
] - n-api: factor out calling pattern (Gabriel Schulhof) #36113 - [
5c0ddbca01
] - net: fix invalid write after end error (Robert Nagy) #36043 - [
85c85d368a
] - (SEMVER-MINOR) path: addpath/posix
andpath/win32
alias modules (ExE Boss) #34962 - [
ed8af3a8b7
] - perf_hooks: make nodeTiming a first-class object (Momtchil Momtchev) #35977 - [
eb9295b583
] - promise: emit error on domain unhandled rejections (Benjamin Gruenbaum) #36082 - [
59af919d6b
] - querystring: reduce memory usage by Int8Array (sapics) #34179 - [
d1baae3640
] - (SEMVER-MINOR) readline: add getPrompt to get the current prompt (Mattias Runge-Broberg) #33675 - [
6d1b1c7ad0
] - src: integrate URL::href() and use in inspector (Daijiro Wachi) #35912 - [
7086f2e653
] - src: refactor using-declarations node_env_var.cc (raisinten) #36128 - [
122797e87f
] - src: remove duplicate logic for getting buffer (Yash Ladha) #34553 - [
5729478509
] - (SEMVER-MINOR) src: add loop idle time in diagnostic report (Gireesh Punathil) #35940 - [
a81dc9ae18
] - src,crypto: refactoring of crypto_context, SecureContext (James M Snell) #35665 - [
5fa35f6934
] - test: update comments in test-fs-read-offset-null (Rich Trott) #36152 - [
73bb54af77
] - test: update wpt url and resource (Daijiro Wachi) #36032 - [
77b47dfd08
] - test: fix typo in inspector-helper.js (Luigi Pinca) #36127 - [
474664963c
] - test: deflake test-http-destroyed-socket-write2 (Luigi Pinca) #36120 - [
f9bbd35937
] - test: make test-http2-client-jsstream-destroy.js reliable (Rich Trott) #36129 - [
c19df17acb
] - test: add test for fs.read when offset key is null (mayank agarwal) #35918 - [
9405cddbee
] - test: improve test-stream-duplex-readable-end (Luigi Pinca) #36056 - [
3be5e86c57
] - test: add util.inspect test for null maxStringLength (Rich Trott) #36086 - [
6a4cc43028
] - test: replace var with const (Aleksandr Krutko) #36069 - [
a367c0dfc2
] - timers: refactor to use more primordials (Antoine du Hamel) #36132 - [
a6ef92bc27
] - tools: bump unist-util-find@1.0.1 to unist-util-find@1.0.2 (Rich Trott) #36106 - [
2d2491284e
] - tools: only use 2 cores for macos action (Myles Borins) #36169 - [
d8fcf2c324
] - tools: remove bashisms from license builder script (Antoine du Hamel) #36122 - [
7e7ddb11c0
] - tools: hide commit queue action link (Antoine du Hamel) #36124 - [
63494e434a
] - tools: update doc tools to remark-parse@9.0.0 (Rich Trott) #36049 - [
bf0550ce4e
] - tools: enforce use of single quotes in editorconfig (Antoine du Hamel) #36020 - [
49649a499e
] - tools: fix config serialization w/ long strings (Ole André Vadla Ravnås) #35982 - [
be220b213d
] - tools: update ESLint to 7.13.0 (Luigi Pinca) #36031 - [
4140f491fd
] - util: fix to inspect getters that access this (raisinten) #36052 - [
baa87c1a7d
] - (SEMVER-MINOR) util: addutil/types
alias module (ExE Boss) #34055 - [
f7b2fce1c1
] - vm: refactor to use more primordials (Antoine du Hamel) #36023 - [
4e3883ec2d
] - win,build,tools: support VS prerelease (Baruch Odem) #36033
v15.2.1
Notable changes
This is a security release.
Vulnerabilities fixed:
- CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of service by getting the application to resolve a DNS record with a larger number of responses.
Commits
- [
2a44836eeb
] - deps: cherry-pick0d252eb
from upstream c-ares (Michael Dawson) nodejs-private/node-private#231 - [
b1f5518a0a
] - doc: fixevents.getEventListeners
example (Dmitry Semigradsky) #36085 - [
b477447a55
] - doc: fixadded:
info forstream.\_construct()
(Luigi Pinca) #36067 - [
df211208c0
] - test: add missing test coverage for setLocalAddress() (Rich Trott) #36039 - [
f5191f5bd2
] - test: remove flaky designation for fixed test (Rich Trott) #35961 - [
a2f652f7c5
] - test: move test-worker-eventlooputil to sequential (Rich Trott) #35996 - [
b0b43b27d6
] - test: fix unreliable test-fs-write-file.js (Rich Trott) #36102
v15.2.0
Notable changes
-
events:
- getEventListeners static (Benjamin Gruenbaum) #35991
- fs:
-
stream:
- fix thrown object reference (Gil Pedersen) #36065
Commits
- [
9d9a044c1b
] - benchmark: ignore build artifacts for napi addons (Richard Lau) #35970 - [
4c6de854be
] - benchmark: remove modules that require intl (Richard Lau) #35968 - [
292915a6a8
] - bootstrap: refactor to use more primordials (Antoine du Hamel) #35999 - [
10c9ea771d
] - build: fix zlib inlining for IA-32 (raisinten) #35679 - [
6ac9c8f31b
] - build, tools: look for local installation of NASM (Richard Lau) #36014 - [
9757b47c44
] - console: use more primordials (Antoine du Hamel) #35734 - [
0d7422651b
] - crypto: refactor to use more primordials (Antoine du Hamel) #36012 - [
dc4936ba50
] - crypto: fix comment in ByteSource (Tobias Nießen) #35972 - [
7cb5c0911e
] - deps: cherry-pick9a49b22
from V8 upstream (Daniel Bevenius) #35939 - [
4b03670877
] - dns: fix trace_events name for resolveCaa() (Rich Trott) #35979 - [
dcb27600da
] - doc: escape asterisk in cctest gtest-filter (raisinten) #36034 - [
923276ca53
] - doc: move v8.getHeapCodeStatistics() (Rich Trott) #36027 - [
71fa9c6b24
] - doc: add note regarding file structure in src/README.md (Denys Otrishko) #35000 - [
99cb36238d
] - doc: advise users to import the full set of trusted release keys (Reşat SABIQ) #32655 - [
06cc400160
] - doc: fix crypto doc linter errors (Antoine du Hamel) #36035 - [
01129a7b39
] - doc: revise v8.getHeapSnapshot() (Rich Trott) #35849 - [
77d33c9b2f
] - doc: update core-validate-commit link in guide (Daijiro Wachi) #35938 - [
6d56ba03e2
] - doc: update benchmark CI test indicator in README (Rich Trott) #35945 - [
8bd364a9b3
] - doc: add new wordings to the API description (Pooja D.P) #35588 - [
acd3617e1a
] - doc: option --prof documentation help added (krank2me) #34991 - [
6968b0fd49
] - doc: fix release-schedule link in backport guide (Daijiro Wachi) #35920 - [
efbfeff62b
] - doc: fix incorrect heading level (Bryan Field) #35965 - [
9c4b360d08
] - doc,crypto: added sign/verify method changes about dsaEncoding (Filip Skokan) #35480 - [
85cf30541d
] - doc,fs: document value of stats.isDirectory on symbolic links (coderaiser) #27413 - [
d6bd78ff82
] - doc,net: document socket.timeout (Brandon Kobel) #34543 - [
36c20d939a
] - doc,stream: write(chunk, encoding, cb) encoding can be null (dev-script) #35372 - [
9d26c4d496
] - domain: refactor to use more primordials (Antoine du Hamel) #35885 - [
d83e253065
] - errors: refactor to use more primordials (Antoine du Hamel) #35944 - [
567f8d8caf
] - (SEMVER-MINOR) events: getEventListeners static (Benjamin Gruenbaum) #35991 - [
9e673723e3
] - events: fire handlers in correct oder (Benjamin Gruenbaum) #35931 - [
ff59fcdf7b
] - events: define abort on prototype (Benjamin Gruenbaum) #35931 - [
ab0eb4f2c9
] - events: support event handlers on prototypes (Benjamin Gruenbaum) #35931 - [
33e2ee58a7
] - events: define event handler as enumerable (Benjamin Gruenbaum) #35931 - [
a7d0c76f86
] - events: support emit on nodeeventtarget (Benjamin Gruenbaum) #35851 - [
76332a0439
] - events: port some wpt tests (Benjamin Gruenbaum) #33621 - [
ccf9f0e62e
] - (SEMVER-MINOR) fs: support abortsignal in writeFile (Benjamin Gruenbaum) #35993 - [
7ef9c707e9
] - fs: replace finally with PromisePrototypeFinally (Baruch Odem (Rothkoff)) #35995 - [
ccbe267515
] - fs: remove unnecessary Function#bind() in fs/promises (Ben Noordhuis) #35208 - [
6011bfdec5
] - fs: remove unused assignment (Rich Trott) #35882 - [
92bdfd141b
] - (SEMVER-MINOR) fs: add support for AbortSignal in readFile (Benjamin Gruenbaum) #35911 - [
11f592450b
] - http2: add has method to proxySocketHandler (masx200) #35197 - [
28ed7d062e
] - http2: centralise socket event binding in Http2Session (Momtchil Momtchev) #35772 - [
429113ebfb
] - http2: move events to the JSStreamSocket (Momtchil Momtchev) #35772 - [
1dd744a420
] - http2: fix error stream write followed by destroy (David Halls) #35951 - [
af2a560c42
] - lib: add %TypedArray% abstract constructor to primordials (ExE Boss) #36016 - [
b700900d02
] - lib: refactor to use more primordials (Antoine du Hamel) #35875 - [
7a375902ff
] - module: refactor to use more primordials (Antoine du Hamel) #36024 - [
8d76db86b5
] - module: refactor to use iterable-weak-map (Benjamin Coe) #35915 - [
9b6512f7de
] - n-api: unlink reference during its destructor (Gabriel Schulhof) #35933 - [
1b277d97f3
] - src: remove ERR prefix in crypto status enums (Daniel Bevenius) #35867 - [
9774b4cc72
] - stream: fix thrown object reference (Gil Pedersen) #36065 - [
359a6590b0
] - stream: writableNeedDrain (Robert Nagy) #35348 - [
b7aa5e2296
] - stream: remove isPromise utility function (Antoine du Hamel) #35925 - [
fdae9ad188
] - test: fix races in test-performance-eventlooputil (Gerhard Stoebich) #36028 - [
0a4c96a7df
] - test: use global.EventTarget instead of internals (Antoine du Hamel) #36002 - [
f73b8d84db
] - test: improve error message for policy failures (Bradley Meck) #35633 - [
cb6f0d3d89
] - test: update old comment style test_util.cc (raisinten) #35884 - [
23f0d0c45c
] - test: fix error in test/internet/test-dns.js (Rich Trott) #35969 - [
77e4f19701
] - timers: cleanup abort listener on awaitable timers (James M Snell) #36006 - [
a7350b3a8f
] - tools: don't print gold linker warning w/o flag (Myles Borins) #35955 - [
1f27214480
] - tools: add new ESLint rule: prefer-primordials (Leko) #35448 - [
da3c2ab828
] - tools,doc: enable ecmaVersion 2021 in acorn parser (Antoine du Hamel) #35994 - [
f8098c3e43
] - tools,lib: recommend using safe primordials (Antoine du Hamel) #36026 - [
eea7e3b0d0
] - tools,lib: tighten prefer-primordials rules for Error statics (Antoine du Hamel) #36017 - [
7a2edea7ed
] - win, build: fix build time on Windows (Bartosz Sosnowski) #35932
v15.1.0
Notable Changes
Diagnostics channel (experimental module)
diagnostics_channel
is a new experimental module that provides an API to create named channels to report arbitrary message data for diagnostics purposes.
With diagnostics_channel
, Node.js core and module authors can publish contextual data about what they are doing at a given time. This could be the hostname and query string of a mysql query, for example. Just create a named channel with dc.channel(name)
and call channel.publish(data)
to send the data to any listeners to that channel.
const dc = require('diagnostics_channel');
const channel = dc.channel('mysql.query');
MySQL.prototype.query = function query(queryString, values, callback) {
// Broadcast query information whenever a query is made
channel.publish({
query: queryString,
host: this.hostname,
});
this.doQuery(queryString, values, callback);
};
Channels are like one big global event emitter but are split into separate objects to ensure they get the best performance. If nothing is listening to the channel, the publishing overhead should be as close to zero as possible. Consuming channel data is as easy as using channel.subscribe(listener)
to run a function whenever a message is published to that channel.
const dc = require('diagnostics_channel');
const channel = dc.channel('mysql.query');
channel.subscribe(({ query, host }) => {
console.log(`mysql query to ${host}: ${query}`);
});
The data captured can be used to provide context for what an app is doing at a given time. This can be used for things like augmenting tracing data, tracking network and filesystem activity, logging queries, and many other things. It's also a very useful data source for diagnostics tools to provide a clearer picture of exactly what the application is doing at a given point in the data they are presenting.
Contributed by Stephen Belanger #34895.
'spawn'
event
New child process Instances of ChildProcess
now emit a new 'spawn'
event once the child process has spawned successfully.
If emitted, the 'spawn'
event comes before all other events and before any data is received via stdout
or stderr
.
The 'spawn'
event will fire regardless of whether an error occurs within the spawned process.
For example, if bash some-command
spawns successfully, the 'spawn'
event will fire, though bash
may fail to spawn some-command
.
This caveat also applies when using { shell: true }
.
Contributed by Matthew Francis Brunetti #35369.
Set the local address for DNS resolution
It is now possible to set the local IP address used by a Resolver
instance to send its requests.
This allows programs to specify outbound interfaces when used on multi-homed
systems.
The resolver will use the v4 local address when making requests to IPv4 DNS servers, and the v6 local address when making requests to IPv6 DNS servers.
const { Resolver } = require('dns');
const resolver = new Resolver();
resolver.setLocalAddress('10.1.2.3');
// Equivalent to: resolver.setLocalAddress('10.1.2.3', '::0');
Contributed by Josh Dague #34824.
Control V8 coverage at runtime
The v8
module includes two new methods to control the V8 coverage started by the NODE_V8_COVERAGE
environment variable.
With v8.takeCoverage()
, it is possible to write a coverage report to disk on demand. This can be done multiple times during the lifetime of the process, and the execution counter will be reset on each call.
When the process is about to exit, one last coverage will still be written to disk, unless v8.stopCoverage()
was invoked before.
The v8.stopCoverage()
method allows to stop the coverage collection, so that V8 can release the execution counters and optimize code.
Contributed by Joyee Cheung #33807.
Analyze Worker's event loop utilization
Worker
instances now have a performance
property, with a single eventLoopUtilization
method that can be used to gather information about the worker's event loop utilization between the 'online'
and 'exit'
events.
The method works the same way as perf_hooks
eventLoopUtilization()
.
Contributed by Trevor Norris #35664.
Take a V8 heap snapshot just before running out of memory (experimental)
With the new --heapsnapshot-near-heap-limit=max_count
experimental command line flag, it is now possible to automatically generate a heap snapshot when the V8 heap usage is approaching the heap limit. count
should be a non-negative integer (in which case Node.js will write no more than max_count
snapshots to disk).
When generating snapshots, garbage collection may be triggered and bring the heap usage down, therefore multiple snapshots may be written to disk before the Node.js instance finally runs out of memory. These heap snapshots can be compared to determine what objects are being allocated during the time consecutive snapshots are taken.
Generating V8 snapshots takes time and memory (both memory managed by the V8 heap and native memory outside the V8 heap). The bigger the heap is, the more resources it needs. Node.js will adjust the V8 heap to accommondate the additional V8 heap memory overhead, and try its best to avoid using up all the memory avialable to the process.
$ node --max-old-space-size=100 --heapsnapshot-near-heap-limit=3 index.js
Wrote snapshot to Heap.20200430.100036.49580.0.001.heapsnapshot
Wrote snapshot to Heap.20200430.100037.49580.0.002.heapsnapshot
Wrote snapshot to Heap.20200430.100038.49580.0.003.heapsnapshot
<--- Last few GCs --->
[49580:0x110000000] 4826 ms: Mark-sweep 130.6 (147.8) -> 130.5 (147.8) MB, 27.4 / 0.0 ms (average mu = 0.126, current mu = 0.034) allocation failure scavenge might not succeed
[49580:0x110000000] 4845 ms: Mark-sweep 130.6 (147.8) -> 130.6 (147.8) MB, 18.8 / 0.0 ms (average mu = 0.088, current mu = 0.031) allocation failure scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
....
Contributed by Joyee Cheung #33010.
Commits
Semver-minor commits
- [
8169902b40
] - (SEMVER-MINOR) child_process: add ChildProcess 'spawn' event (Matthew Francis Brunetti) #35369 - [
548f91af2c
] - (SEMVER-MINOR) dns: add setLocalAddress to Resolver (Josh Dague) #34824 - [
f861733bac
] - (SEMVER-MINOR) http: report request start and end with diagnostics_channel (Stephen Belanger) #34895 - [
883ed4b7f1
] - (SEMVER-MINOR) http2: add updateSettings to both http2 servers (Vincent Boivin) #35383 - [
b38a43d5d9
] - (SEMVER-MINOR) lib: create diagnostics_channel module (Stephen Belanger) #34895 - [
a7f37bc725
] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 - [
7bfa872013
] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807 - [
15ffed5319
] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807 - [
221e28311f
] - (SEMVER-MINOR) worker: add eventLoopUtilization() (Trevor Norris) #35664
Semver-patch commits
- [
d95013f399
] - assert,repl: enable ecmaVersion 2021 in acorn parser (Michaël Zasso) #35827 - [
b11c7378e3
] - build: fix lint-js-fix target (Antoine du Hamel) #35927 - [
a5fa849631
] - build: add vcbuilt test-doc target (Antoine du Hamel) #35708 - [
34281cdaba
] - build: turn off Codecov comments (bcoe) #35800 - [
a9c09246bb
] - build: add license-builder GitHub Action (Tierney Cyren) #35712 - [
4447ff1162
] - build,tools: gitHub Actions: use Node.js Fermium (Antoine du Hamel) #35840 - [
273e147017
] - build,tools: add lint-js-doc target (Antoine du Hamel) #35708 - [
0ebf44b466
] - crypto: pass empty passphrases to OpenSSL properly (Tobias Nießen) #35914 - [
644c416389
] - crypto: rename check to createJob (Daniel Bevenius) #35858 - [
79a8fb62e6
] - crypto: fixup scrypt regressions (James M Snell) #35821 - [
abd7c9447c
] - crypto: fix webcrypto ECDH JWK import (Filip Skokan) #35855 - [
d3f1cde908
] - deps: upgrade npm to 7.0.8 (Myles Borins) #35953 - [
55adee0947
] - deps: upgrade npm to 7.0.7 (Luigi Pinca) #35908 - [
5cb77f2e79
] - deps: upgrade to cjs-module-lexer@1.0.0 (Guy Bedford) #35928 - [
1303a1fca8
] - deps: update to cjs-module-lexer@0.5.2 (Guy Bedford) #35901 - [
20accb08fa
] - deps: upgrade to cjs-module-lexer@0.5.0 (Guy Bedford) #35871 - [
52a77db759
] - deps: update acorn to v8.0.4 (Michaël Zasso) #35791 - [
e0a1541260
] - deps: update to cjs-module-lexer@0.4.3 (Guy Bedford) #35745 - [
894419c1f4
] - deps: V8: backport4263f8a
(Brian 'bdougie' Douglas) #35650 - [
564aadedac
] - doc,src,test: revise C++ code for linter update (Rich Trott) #35719 - [
7c8b5e5e0e
] - errors: do not call resolve on URLs with schemes (bcoe) #35903 - [
1cdfaa80f8
] - events: add a few tests (Benjamin Gruenbaum) #35806 - [
f08e2c0213
] - events: make abort_controller event trusted (Benjamin Gruenbaum) #35811 - [
438d9debfd
] - events: make eventTarget.removeAllListeners() return this (Luigi Pinca) #35805 - [
b6b7a3b86a
] - http: lazy create IncomingMessage.headers (Robert Nagy) #35281 - [
86ed87b6b7
] - http2: fix reinjection check (Momtchil Momtchev) #35678 - [
5833007eb0
] - http2: reinject data received before http2 is attached (Momtchil Momtchev) #35678 - [
cfe61b8714
] - http2: remove unsupported %.* specifier (Momtchil Momtchev) #35694 - [
d2f574b5be
] - lib: let abort_controller target be EventTarget (Daijiro Wachi) #35869 - [
b1e531a70b
] - lib: use primordials when calling methods of Error (Antoine du Hamel) #35837 - [
0f5a8c55c2
] - module: runtime deprecate subpath folder mappings (Guy Bedford) #35747 - [
d16e2fa69a
] - n-api: napi_make_callback emit async init with resource of async_context (legendecas) #32930 - [
0c17dbd201
] - n-api: revert change to finalization (Michael Dawson) #35777 - [
fb7196434e
] - src: remove redundant OpenSSLBuffer (James M Snell) #35663 - [
c9225789d3
] - src: remove ERR prefix in WebCryptoKeyExportStatus (Daniel Bevenius) #35639 - [
4128eefcb3
] - src: remove ignore GCC -Wcast-function-type for v8 (Daniel Bevenius) #35768 - [
4b8b5fee6a
] - src: use MaybeLocal.ToLocal instead of IsEmpty (Daniel Bevenius) #35716 - [
01d7c46776
] - Revert "src: ignore GCC -Wcast-function-type for v8.h" (Daniel Bevenius) #35758 - [
2868f52a5c
] - stream: fix regression on duplex end (Momtchil Momtchev) #35941 - [
70c41a830d
] - stream: remove redundant context from comments (Yash Ladha) #35728 - [
88eb6191e4
] - stream: fix duplicate logic in stream destroy (Yash Ladha) #35727 - [
a41e3ebc3a
] - timers: correct explanation in comment (Turner Jabbour) #35437 - [
ee15142fef
] - tls: allow reading data into a static buffer (Andrey Pechkurov) #35753 - [
102d7dfe02
] - zlib: test BrotliCompress throws invalid arg value (raisinten) #35830
Documentation commits
- [
7937fbe3bc
] - doc: update tables in README files for linting changes (Rich Trott) #35905 - [
c5b94220c5
] - doc: temporarily disable list-item-bullet-indent (Nick Schonning) #35647 - [
59b36af8d5
] - doc: disable no-undefined-references workarounds (Nick Schonning) #35647 - [
eb55462a75
] - doc: adjust table alignment for remark v13 (Nick Schonning) #35647 - [
0ac4a6ab16
] - doc: update crypto.createSecretKey history (Ben Turner) #35874 - [
4899998855
] - doc: move bnoordhuis to emeritus (Ben Noordhuis) #35865 - [
337bfcf614
] - doc: add on statement in the APIs docs (Pooja D.P) #35610 - [
9703219fdb
] - doc: fix a typo in CHANGELOG_V15 (Takuya Noguchi) #35804 - [
c14889bcc1
] - doc: move ronkorving to emeritus (Rich Trott) #35828 - [
8c2b17926c
] - doc: recommend test-doc instead of lint-md (Antoine du Hamel) #35708 - [
0580258449
] - doc: fix reference to googletest test fixture (Tobias Nießen) #35813 - [
d291e3abd9
] - doc: stabilize packages features (Myles Borins) #35742 - [
5e8d821b4c
] - doc: add conditional example for setBreakpoint() (Chris Opperwall) #35823 - [
8074f69f82
] - doc: make small improvements to REPL doc (Rich Trott) #35808 - [
4e76a3c106
] - doc: update MessagePort documentation for EventTarget inheritance (Anna Henningsen) #35839 - [
3db4354cc8
] - doc: use case-sensitive in the example (Pooja D.P) #35624 - [
b07f4a3f7a
] - doc: consolidate and clarify breakOnSigInt text (Rich Trott) #35787 - [
c2e6a4b081
] - doc: fix _construct example params order (Alejandro Oviedo) #35790 - [
6513a589fe
] - doc: add a subsystems header in pull-requests.md (Pooja D.P) #35718 - [
c365867c60
] - doc: fix typo in BUILDING.md (raisinten) #35807 - [
6211ffd2f7
] - doc: add require statement in the example (Pooja D.P) #35554 - [
7b3743d8dd
] - doc: modified memory set statement set size (Pooja D.P) #35517 - [
afbe23d800
] - doc: use kbd element in readline doc prose (Rich Trott) #35737 - [
c0a4fac040
] - doc: fix a typo in CHANGELOG_V12 (Shubham Parihar) #35786 - [
0e9acf83f7
] - doc: fix header level in fs.md (ax1) #35771 - [
f49afb5e10
] - doc: remove stability warning in v8 module doc (Rich Trott) #35774 - [
368ae952b2
] - doc: mark optional parameters in timers.md (Vse Mozhe Buty) #35764 - [
f6aa7c82c5
] - doc: add a example code to API doc property (Pooja D.P) #35738 - [
55b7a6cea3
] - doc: document changes for\*/promises
alias modules (ExE Boss) #34002 - [
4b7708a316
] - doc: update console.error example (Lee, Bonggi) #34964 - [
292b529dfa
] - doc: add missing link in Node.js 14 Changelog (Antoine du Hamel) #35782 - [
890b03ecd6
] - doc: improve text for breakOnSigint (Rich Trott) #35692 - [
1892532ee8
] - doc: this prints replaced with this is printed (Pooja D.P) #35515 - [
6590f8cb4a
] - doc: update package.json field definitions (Myles Borins) #35741 - [
f269c6cbe2
] - doc: add Installing Node.js header in BUILDING.md (Pooja D.P) #35710 - [
05a888a8c3
] - doc,esm: document experimental warning removal (Antoine du Hamel) #35750 - [
092c6c4f8f
] - doc,test: update v8 method doc and comment (Rich Trott) #35795
Other commits
- [
76ebae4c05
] - benchmark: make the benchmark tool work with Node 10 (Joyee Cheung) #35817 - [
9b549c1691
] - benchmark: add startup benchmark for loading public modules (Joyee Cheung) #35816 - [
5d61e3db4b
] - test: add missing ref comments to parallel.status (Rich Trott) #35896 - [
231af88001
] - test: correct test-worker-eventlooputil (Gerhard Stoebich) #35891 - [
da612dfc20
] - test: integrate abort_controller tests from wpt (Daijiro Wachi) #35869 - [
66ad4be2c1
] - test: add test to fs/promises setImmediate (tyankatsu) #35852 - [
830b789299
] - test: mark test-worker-eventlooputil flaky (Myles Borins) #35886 - [
7691b673dc
] - test: mark test-http2-respond-file-error-pipe-offset flaky (Myles Borins) #35883 - [
de3dcd7356
] - test: fix reference to WPT testharness.js (Tobias Nießen) #35814 - [
8958af4aa0
] - test: add onerror test cases to policy (Daijiro Wachi) #35797 - [
dd3cbb455a
] - test: add upstream test cases to encoding (Daijiro Wachi) #35794 - [
76991c039f
] - test: add upstream test cases to urlsearchparam (Daijiro Wachi) #35792 - [
110ef8aa50
] - test: refactor coverage logic (bcoe) #35767 - [
0c5e8ed651
] - test: add additional deprecation warning tests for rmdir recursive (Ian Sutherland) #35683 - [
11eca36e83
] - test: add windows and C++ coverage (Benjamin Coe) #35670 - [
fd027cd61a
] - tools: bump remark-lint-preset-node to 2.0.0 (Rich Trott) #35905 - [
c09fdba786
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35866 - [
3955ccd305
] - tools: bump cpplint to 1.5.1 (Rich Trott) #35866 - [
a07d1af4ea
] - tools: update ESLint to 7.12.1 (cjihrig) #35799 - [
d20b318c58
] - tools: update ESLint to 7.12.0 (cjihrig) #35799 - [
31753ec8aa
] - tools: add msvc /P output to .gitignore (Jiawen Geng) #35735 - [
afb3e24cb0
] - tools: add update-npm script (Myles Borins) #35822 - [
66da122d46
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #35719 - [
042d4dd71c
] - tools: bump cpplint to 1.5.0 (Rich Trott) #35719
v15.0.1
Notable changes
-
crypto: fix regression on randomFillSync (James M Snell) #35723
- This fixes issue https://github.com/nodejs/node/issues/35722.
- deps: upgrade npm to 7.0.3 (Ruy Adorno) #35724
- doc: add release key for Danielle Adams (Danielle Adams) #35545
Commits
- [
c509485c19
] - build: use make functions instead of echo (Antoine du Hamel) #35707 - [
f5acc2d030
] - crypto: fix regression on randomFillSync (James M Snell) #35723 - [
595c8df48d
] - deps: upgrade npm to 7.0.3 (Ruy Adorno) #35724 - [
69e7f20f2d
] - deps: V8: set correct V8 version patch number (Michaël Zasso) #35732 - [
b78294dc00
] - doc: use kbd element in readline doc (Rich Trott) #35698 - [
1efa87082b
] - doc: add release key for Danielle Adams (Danielle Adams) #35545 - [
6e91d644e3
] - doc: use kbd element in os doc (Rich Trott) #35656 - [
5a48a7b6f8
] - doc: add a statement in the documentation. (Pooja D.P) #35585 - [
6a7a61be7c
] - src: mark/pop OpenSSL errors in NewRootCertStore (Daniel Bevenius) #35514 - [
d54edece99
] - test: refactor test-crypto-pbkdf2 (Tobias Nießen) #35693
v15.0.0
Notable Changes
Deprecations and Removals
- [
a11788736a
] - (SEMVER-MAJOR) build: remove --build-v8-with-gn configure option (Yang Guo) #27576 - [
89428c7a2d
] - (SEMVER-MAJOR) build: drop support for VS2017 (Michaël Zasso) #33694 - [
c25cf34ac1
] - (SEMVER-MAJOR) doc: move DEP0018 to End-of-Life (Rich Trott) #35316 - [
2002d90abd
] - (SEMVER-MAJOR) fs: deprecation warning on recursive rmdir (Ian Sutherland) #35562 - [
eee522ac29
] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496 - [
41796ebd30
] - (SEMVER-MAJOR) net: remove long deprecated server.connections property (James M Snell) #33647 - [
a416692e93
] - (SEMVER-MAJOR) repl: remove deprecated repl.memory function (Ruben Bridgewater) #33286 - [
f217b2dfb0
] - (SEMVER-MAJOR) repl: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) #33286 - [
a1bcad8dc0
] - (SEMVER-MAJOR) repl: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) #33286 - [
4ace010b53
] - (SEMVER-MAJOR) repl: remove deprecated bufferedCommand property (Ruben Bridgewater) #33286 - [
37524307fe
] - (SEMVER-MAJOR) repl: remove deprecated .rli (Ruben Bridgewater) #33286 - [
a85ce885bd
] - (SEMVER-MAJOR) src: remove deprecated node debug command (James M Snell) #33648 - [
a8904e8eee
] - (SEMVER-MAJOR) timers: introduce timers/promises (James M Snell) #33950 - [
1211b9a72f
] - (SEMVER-MAJOR) util: change default value ofmaxStringLength
to 10000 (unknown) #32744 - [
ca8f3ef2e5
] - (SEMVER-MAJOR) wasi: drop --experimental-wasm-bigint requirement (Colin Ihrig) #35415
#35631
npm 7 -Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default.
#33021
Throw On Unhandled Rejections -As of Node.js 15, the default mode for unhandledRejection
is changed to throw
(from warn
). In throw
mode, if an unhandledRejection
hook is not set, the unhandledRejection
is raised as an uncaught exception. Users that have an unhandledRejection
hook should see no change in behavior, and it’s still possible to switch modes using the --unhandled-rejections=mode
process flag.
#32379
QUIC -Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the --experimental-quic
configuration flag. The Node.js QUIC implementation is exposed by the core net
module.
#35415
V8 8.6 -The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features:
-
Promise.any()
(from V8 8.5) -
AggregateError
(from V8 8.5) -
String.prototype.replaceAll()
(from V8 8.5) - Logical assignment operators
&&=
,||=
, and??=
(from V8 8.5)
Other Notable Changes
- [
50228cf6ff
] - (SEMVER-MAJOR) assert: addassert/strict
alias module (ExE Boss) #34001 - [
039cd00a9a
] - (SEMVER-MAJOR) dns: add dns/promises alias (shisama) #32953 - [
54b36e401d
] - (SEMVER-MAJOR) fs: reimplement read and write streams using stream.construct (Robert Nagy) #29656 - [
f5c0e282cc
] - (SEMVER-MAJOR) http2: allow Host in HTTP/2 requests (Alba Mendez) #34664 - [
eee522ac29
] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496 - [
a8b26d72c5
] - (SEMVER-MAJOR) lib: unflag AbortController (James M Snell) #33527 - [
74ca960aac
] - (SEMVER-MAJOR) lib: initial experimental AbortController implementation (James M Snell) #33527 - [
efefdd668d
] - (SEMVER-MAJOR) net: autoDestroy Socket (Robert Nagy) #31806 - [
0fb91acedf
] - (SEMVER-MAJOR) src: disallow JS execution inside FreeEnvironment (Anna Henningsen) #33874 - [
21782277c2
] - (SEMVER-MAJOR) src: use node:moduleName as builtin module filename (Michaël Zasso) #35498 - [
fb8cc72e73
] - (SEMVER-MAJOR) stream: construct (Robert Nagy) #29656 - [
705d888387
] - (SEMVER-MAJOR) worker: make MessageEvent class more Web-compatible (Anna Henningsen) #35496
Semver-Major Commits
- [
50228cf6ff
] - (SEMVER-MAJOR) assert: addassert/strict
alias module (ExE Boss) #34001 - [
d701247165
] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #35415 - [
a11788736a
] - (SEMVER-MAJOR) build: remove --build-v8-with-gn configure option (Yang Guo) #27576 - [
89428c7a2d
] - (SEMVER-MAJOR) build: drop support for VS2017 (Michaël Zasso) #33694 - [
dae283d96f
] - (SEMVER-MAJOR) crypto: refactoring internals, add WebCrypto (James M Snell) #35093 - [
ba77dc8597
] - (SEMVER-MAJOR) crypto: move node_crypto files to src/crypto (James M Snell) #35093 - [
9378070da0
] - (SEMVER-MAJOR) deps: V8: cherry-pickd76abfe
(Michaël Zasso) #35415 - [
efee8341ad
] - (SEMVER-MAJOR) deps: V8: cherry-pick717543b
(Michaël Zasso) #35415 - [
b006fa8730
] - (SEMVER-MAJOR) deps: V8: cherry-pick6be2f6e
(Michaël Zasso) #35415 - [
3c23af4cb7
] - (SEMVER-MAJOR) deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
b803b3f48b
] - (SEMVER-MAJOR) deps: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) #35415 - [
47cb9f14e8
] - (SEMVER-MAJOR) deps: update V8 postmortem metadata script (Colin Ihrig) #35415 - [
a1d639ba5d
] - (SEMVER-MAJOR) deps: update V8 to 8.6.395 (Michaël Zasso) #35415 - [
3ddcad55fb
] - (SEMVER-MAJOR) deps: upgrade npm to 7.0.0 (Myles Borins) #35631 - [
2e54524955
] - (SEMVER-MAJOR) deps: update npm to 7.0.0-rc.3 (Myles Borins) #35474 - [
e983b1cece
] - (SEMVER-MAJOR) deps: V8: cherry-pick0d6debc
(Gus Caplan) #33600 - [
039cd00a9a
] - (SEMVER-MAJOR) dns: add dns/promises alias (shisama) #32953 - [
c25cf34ac1
] - (SEMVER-MAJOR) doc: move DEP0018 to End-of-Life (Rich Trott) #35316 - [
8bf37ee496
] - (SEMVER-MAJOR) doc: update support macos version for 15.x (Ash Cripps) #35022 - [
2002d90abd
] - (SEMVER-MAJOR) fs: deprecation warning on recursive rmdir (Ian Sutherland) #35562 - [
54b36e401d
] - (SEMVER-MAJOR) fs: reimplement read and write streams using stream.construct (Robert Nagy) #29656 - [
32b641e528
] - (SEMVER-MAJOR) http: fixed socket.setEncoding fatal error (iskore) #33405 - [
8a6fab02ad
] - (SEMVER-MAJOR) http: emit 'error' on aborted server request (Robert Nagy) #33172 - [
d005f490a8
] - (SEMVER-MAJOR) http: cleanup end argument handling (Robert Nagy) #31818 - [
f5c0e282cc
] - (SEMVER-MAJOR) http2: allow Host in HTTP/2 requests (Alba Mendez) #34664 - [
1e4187fcf4
] - (SEMVER-MAJOR) http2: addinvalidheaders
test (Pranshu Srivastava) #33161 - [
d79c330186
] - (SEMVER-MAJOR) http2: refactor state code validation for the http2Stream class (rickyes) #33535 - [
df31f71f1e
] - (SEMVER-MAJOR) http2: header field valid checks (Pranshu Srivastava) #33193 - [
1428db8a1f
] - (SEMVER-MAJOR) lib: refactor Socket._getpeername and Socket._getsockname (himself65) #32969 - [
eee522ac29
] - (SEMVER-MAJOR) lib: add EventTarget-related browser globals (Anna Henningsen) #35496 - [
c66e6471e7
] - (SEMVER-MAJOR) lib: remove ERR_INVALID_OPT_VALUE and ERR_INVALID_OPT_VALUE_ENCODING (Denys Otrishko) #34682 - [
b546a2b469
] - (SEMVER-MAJOR) lib: handle one of args case in ERR_MISSING_ARGS (Denys Otrishko) #34022 - [
a86a295fd7
] - (SEMVER-MAJOR) lib: remove NodeError from the prototype of errors with code (Michaël Zasso) #33857 - [
a8b26d72c5
] - (SEMVER-MAJOR) lib: unflag AbortController (James M Snell) #33527 - [
74ca960aac
] - (SEMVER-MAJOR) lib: initial experimental AbortController implementation (James M Snell) #33527 - [
78ca61e2cf
] - (SEMVER-MAJOR) net: check args in net.connect() and socket.connect() calls (Denys Otrishko) #34022 - [
41796ebd30
] - (SEMVER-MAJOR) net: remove long deprecated server.connections property (James M Snell) #33647 - [
efefdd668d
] - (SEMVER-MAJOR) net: autoDestroy Socket (Robert Nagy) #31806 - [
6cfba9f7f6
] - (SEMVER-MAJOR) process: update v8 fast api calls usage (Maya Lekova) #35415 - [
3b10f7f933
] - (SEMVER-MAJOR) process: change default --unhandled-rejections=throw (Dan Fabulich) #33021 - [
d8eef83757
] - (SEMVER-MAJOR) process: use v8 fast api calls for hrtime (Gus Caplan) #33600 - [
49745cdef0
] - (SEMVER-MAJOR) process: delay throwing an error usingthrowDeprecation
(Ruben Bridgewater) #32312 - [
a416692e93
] - (SEMVER-MAJOR) repl: remove deprecated repl.memory function (Ruben Bridgewater) #33286 - [
f217b2dfb0
] - (SEMVER-MAJOR) repl: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) #33286 - [
a1bcad8dc0
] - (SEMVER-MAJOR) repl: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) #33286 - [
4ace010b53
] - (SEMVER-MAJOR) repl: remove deprecated bufferedCommand property (Ruben Bridgewater) #33286 - [
37524307fe
] - (SEMVER-MAJOR) repl: remove deprecated .rli (Ruben Bridgewater) #33286 - [
b65e5aeaa7
] - (SEMVER-MAJOR) src: implement NodePlatform::PostJob (Clemens Backes) #35415 - [
b1e8e0e604
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 88 (Michaël Zasso) #35415 - [
eeb6b473fd
] - (SEMVER-MAJOR) src: error reporting on CPUUsage (Yash Ladha) #34762 - [
21782277c2
] - (SEMVER-MAJOR) src: use node:moduleName as builtin module filename (Michaël Zasso) #35498 - [
05771279af
] - (SEMVER-MAJOR) src: enable wasm trap handler on windows (Gus Caplan) #35033 - [
b7cf823410
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 86 (Michaël Zasso) #33579 - [
0fb91acedf
] - (SEMVER-MAJOR) src: disallow JS execution inside FreeEnvironment (Anna Henningsen) #33874 - [
53fb2b6b41
] - (SEMVER-MAJOR) src: remove _third_party_main support (Anna Henningsen) #33971 - [
a85ce885bd
] - (SEMVER-MAJOR) src: remove deprecated node debug command (James M Snell) #33648 - [
ac3714637e
] - (SEMVER-MAJOR) src: remove unused CancelPendingDelayedTasks (Anna Henningsen) #32859 - [
a65218f5e8
] - (SEMVER-MAJOR) stream: try to wait for flush to complete before 'finish' (Robert Nagy) #34314 - [
4e3f6f355b
] - (SEMVER-MAJOR) stream: cleanup and fix Readable.wrap (Robert Nagy) #34204 - [
527e2147af
] - (SEMVER-MAJOR) stream: add promises version to utility functions (rickyes) #33991 - [
c7e55c6b72
] - (SEMVER-MAJOR) stream: fix writable.end callback behavior (Robert Nagy) #34101 - [
fb8cc72e73
] - (SEMVER-MAJOR) stream: construct (Robert Nagy) #29656 - [
4bc7025309
] - (SEMVER-MAJOR) stream: write should throw on unknown encoding (Robert Nagy) #33075 - [
ea87809bb6
] - (SEMVER-MAJOR) stream: fix _final and 'prefinish' timing (Robert Nagy) #32780 - [
0bd5595509
] - (SEMVER-MAJOR) stream: simplify Transform stream implementation (Robert Nagy) #32763 - [
8f86986985
] - (SEMVER-MAJOR) stream: use callback to properly propagate error (Robert Nagy) #29179 - [
94dd7b9f94
] - (SEMVER-MAJOR) test: update tests after increasing typed array size to 4GB (Kim-Anh Tran) #35415 - [
d9e98df01b
] - (SEMVER-MAJOR) test: fix tests for npm 7.0.0 (Myles Borins) #35631 - [
c87641aa97
] - (SEMVER-MAJOR) test: fix test suite to work with npm 7 (Myles Borins) #35474 - [
eb9d7a437e
] - (SEMVER-MAJOR) test: update WPT harness and tests (Michaël Zasso) #33770 - [
a8904e8eee
] - (SEMVER-MAJOR) timers: introduce timers/promises (James M Snell) #33950 - [
c55f661551
] - (SEMVER-MAJOR) tools: disable x86 safe exception handlers in V8 (Michaël Zasso) #35415 - [
80e8aec4a5
] - (SEMVER-MAJOR) tools: update V8 gypfiles for 8.6 (Ujjwal Sharma) #35415 - [
faeb9607c6
] - (SEMVER-MAJOR) tools: update V8 gypfiles for 8.5 (Ujjwal Sharma) #35415 - [
bb62f4ad9e
] - (SEMVER-MAJOR) url: file URL path normalization (Daijiro Wachi) #35477 - [
69ef4c2375
] - (SEMVER-MAJOR) url: verify domain is not empty after "ToASCII" (Michaël Zasso) #33770 - [
4831278a16
] - (SEMVER-MAJOR) url: remove U+0000 case in the fragment state (Michaël Zasso) #33770 - [
0d08d5ae7c
] - (SEMVER-MAJOR) url: remove gopher from special schemes (Michaël Zasso) #33325 - [
9be51ee9a1
] - (SEMVER-MAJOR) url: forbid lt and gt in url host code point (Yash Ladha) #33328 - [
1211b9a72f
] - (SEMVER-MAJOR) util: change default value ofmaxStringLength
to 10000 (unknown) #32744 - [
ca8f3ef2e5
] - (SEMVER-MAJOR) wasi: drop --experimental-wasm-bigint requirement (Colin Ihrig) #35415 - [
abd8cdfc4e
] - (SEMVER-MAJOR) win, child_process: sanitize env variables (Bartosz Sosnowski) #35210 - [
705d888387
] - (SEMVER-MAJOR) worker: make MessageEvent class more Web-compatible (Anna Henningsen) #35496 - [
7603c7e50c
] - (SEMVER-MAJOR) worker: set trackUnmanagedFds to true by default (Anna Henningsen) #34394 - [
5ef5116311
] - (SEMVER-MAJOR) worker: rename error code to be more accurate (Anna Henningsen) #33872
Semver-Minor Commits
- [
1d5fa88eb8
] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537 - [
095be6a01f
] - (SEMVER-MINOR) crypto: add getCipherInfo method (James M Snell) #35368 - [
df1023bb22
] - (SEMVER-MINOR) events: allow use of AbortController with on (James M Snell) #34912 - [
883fc779b6
] - (SEMVER-MINOR) events: allow use of AbortController with once (James M Snell) #34911 - [
e876c0c308
] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145 - [
6f34498148
] - (SEMVER-MINOR) net: add support for resolving DNS CAA records (Danny Sonnenschein) #35466 - [
37a8179673
] - (SEMVER-MINOR) net: make blocklist family case insensitive (James M Snell) #34864 - [
1f9b20b637
] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625 - [
278d38f4cf
] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 - [
2310f679a1
] - (SEMVER-MINOR) src: move node_binding to modern THROW_ERR* (James M Snell) #35469 - [
744a284ccc
] - (SEMVER-MINOR) stream: support async for stream impl functions (James M Snell) #34416 - [
bfbdc84738
] - (SEMVER-MINOR) timers: allow promisified timeouts/immediates to be canceled (James M Snell) #33833 - [
a8971f87d3
] - (SEMVER-MINOR) url: support non-special URLs (Daijiro Wachi) #34925
Semver-Patch Commits
- [
d10c59fc60
] - benchmark,test: remove output from readable-async-iterator benchmark (Rich Trott) #34411 - [
8a12e9994f
] - bootstrap: use file URL instead of relative url (Daijiro Wachi) #35622 - [
f8bde7ce06
] - bootstrap: build fast APIs in pre-execution (Joyee Cheung) #32984 - [
b18651bcd2
] - build: do not pass mode option to test-v8 command (Michaël Zasso) #35705 - [
bb2945ed6b
] - build: add GitHub Action for code coverage (Benjamin Coe) #35653 - [
cfbbeea4a1
] - build: use GITHUB_ENV file to set env variables (Michaël Zasso) #35638 - [
8a93b371a3
] - build: do not install jq in workflows (Michaël Zasso) #35638 - [
ccbd1d5efa
] - build: add quic to github action (gengjiawen) #34336 - [
f4f191bbc2
] - build: define NODE_EXPERIMENTAL_QUIC in mkcodecache and node_mksnapshot (Joyee Cheung) #34454 - [
5b2c263ba8
] - deps: fix typo in zlib.gyp that break arm-fpu-neon build (lucasg) #35659 - [
5b9593f727
] - deps: upgrade npm to 7.0.2 (Myles Borins) #35667 - [
dabc6ddddc
] - deps: upgrade npm to 7.0.0-rc.4 (Myles Borins) #35576 - [
757bac6711
] - deps: update nghttp3 (James M Snell) #34752 - [
c788be2e6e
] - deps: update ngtcp2 (James M Snell) #34752 - [
7816e5f7b9
] - deps: fix indenting of sources in ngtcp2.gyp (James M Snell) #34033 - [
f5343d1b40
] - deps: re-enable OPENSSL_NO_QUIC guards (James M Snell) #34033 - [
9de95f494e
] - deps: temporary fixup for ngtcp2 to build on windows (James M Snell) #34033 - [
ec7ad1d0ec
] - deps: cherry-pick akamai/openssl/commit/bf4b08ecfbb7a26ca4b0b9ecaee3b31d18d7bda9 (Tatsuhiro Tsujikawa) #34033 - [
c3d85b7637
] - deps: cherry-pick akamai/openssl/commit/a5a08cb8050bb69120e833456e355f482e392456 (Benjamin Kaduk) #34033 - [
bad1a150ea
] - deps: cherry-pick akamai/openssl/commit/d5a13ca6e29f3ff85c731770ab0ee2f2487bf8b3 (Benjamin Kaduk) #34033 - [
74cbfd3f36
] - deps: cherry-pick akamai/openssl/commit/a6282c566d88db11300c82abc3c84a4e2e9ea568 (Benjamin Kaduk) #34033 - [
8a9763a8ea
] - deps: update nghttp3 (James M Snell) #34033 - [
6b27d07779
] - deps: update ngtcp2 (James M Snell) #34033 - [
a041723774
] - deps: fix indentation for sources in nghttp3.gyp (Daniel Bevenius) #33942 - [
a0cbd676e7
] - deps: add defines to nghttp3/ngtcp2 gyp configs (Daniel Bevenius) #33942 - [
bccb514936
] - deps: maintaining ngtcp2 and nghttp3 (James M Snell) #32379 - [
834fa8f23f
] - deps: add ngtcp2 and nghttp3 (James M Snell) #32379 - [
f96b981528
] - deps: details for updating openssl quic support (James M Snell) #32379 - [
98c8498552
] - deps: update archs files for OpenSSL-1.1.0 (James M Snell) #32379 - [
2c549e505e
] - deps: add support for BoringSSL QUIC APIs (Todd Short) #32379 - [
1103b15af6
] - doc: fix YAML lint error on master (Rich Trott) #35709 - [
7798e59e98
] - doc: upgrade stability status of report API (Gireesh Punathil) #35654 - [
ce03a182cf
] - doc: clarify experimental API elements in vm.md (Rich Trott) #35594 - [
89defff3b9
] - doc: correct order of metadata for deprecation (Rich Trott) #35668 - [
ee85eb9f8a
] - doc: importModuleDynamically gets Script, not Module (Simen Bekkhus) #35593 - [
9e5a27a9d3
] - doc: fix EventEmitter examples (Sourav Shaw) #33513 - [
2c2c87e291
] - doc: fix stability indicator in webcrypto doc (Rich Trott) #35672 - [
f59d4e05a2
] - doc: add example code for process.getgroups() (Pooja D.P) #35625 - [
8a3808dc37
] - doc: use kbd element in tty doc (Rich Trott) #35613 - [
4079bfd462
] - doc: Remove reference to io.js (Hussaina Begum Nandyala) #35618 - [
e6d5af3c95
] - doc: fix typos in quic.md (Luigi Pinca) #35444 - [
524123fbf0
] - doc: update releaser in v12.18.4 changelog (Beth Griggs) #35217 - [
ccdd1bd82a
] - doc: fix incorrectly marked Buffer in quic.md (Rich Trott) #35075 - [
cc754f2985
] - doc: make AbortSignal text consistent in events.md (Rich Trott) #35005 - [
f9c362ff6c
] - doc: revise AbortSignal text and example using events.once() (Rich Trott) #35005 - [
7aeff6b8c8
] - doc: claim ABI version for Electron v12 (Shelley Vohr) #34816 - [
7a1220a1d7
] - doc: fix headings in quic.md (Anna Henningsen) #34717 - [
d5c7aec3cb
] - doc: use _can_ to describe actions in quic.md (Rich Trott) #34613 - [
319c275b26
] - doc: use _can_ to describe actions in quic.md (Rich Trott) #34613 - [
2c30920886
] - doc: use sentence-case in quic.md headers (Rich Trott) #34453 - [
8ada27510d
] - doc: add missing backticks in timers.md (vsemozhetbyt) #34030 - [
862d005e60
] - doc: make globals Extends usage consistent (Colin Ihrig) #33777 - [
85dbd17bde
] - doc: make perf_hooks Extends usage consistent (Colin Ihrig) #33777 - [
2e49010bc8
] - doc: make events Extends usage consistent (Colin Ihrig) #33777 - [
680fb8fc62
] - doc: fix deprecation "End-of-Life" capitalization (Colin Ihrig) #33691 - [
458677f5ef
] - errors: print original exception context (Benjamin Coe) #33491 - [
b1831fed3a
] - events: simplify event target agnostic logic in on and once (Denys Otrishko) #34997 - [
7f25fe8b67
] - fs: remove unused assignment (Rich Trott) #35642 - [
2c4f30deea
] - fs: fix when path is buffer on fs.symlinkSync (himself65) #34540 - [
db0e991d52
] - fs: remove custom Buffer pool for streams (Robert Nagy) #33981 - [
51a2df4439
] - fs: document why isPerformingIO is required (Robert Nagy) #33982 - [
999e7d7b44
] - gyp,build: consistent shared library location (Rod Vagg) #35635 - [
30cc54275d
] - http: don't emit error after close (Robert Nagy) #33654 - [
ddff2b2b22
] - lib: honor setUncaughtExceptionCaptureCallback (Gireesh Punathil) #35595 - [
a8806535d9
] - lib: use Object static properties from primordials (Michaël Zasso) #35380 - [
11f1ad939f
] - module: only try to enrich CJS syntax errors (Michaël Zasso) #35691 - [
aaf225a2a0
] - module: add setter for module.parent (Antoine du Hamel) #35522 - [
109a296e2a
] - quic: fix typo in code comment (Ikko Ashimine) #35308 - [
186230527b
] - quic: fix error message on invalid connection ID (Rich Trott) #35026 - [
e5116b304f
] - quic: remove unused function arguments (Rich Trott) #35010 - [
449f73e05f
] - quic: remove undefined variable (Rich Trott) #35007 - [
44e6a6af67
] - quic: use qlog fin flag (James M Snell) #34752 - [
2a80737278
] - quic: fixups after ngtcp2/nghttp3 update (James M Snell) #34752 - [
c855c3e8ca
] - quic: use net.BlockList for limiting access to a QuicSocket (James M Snell) #34741 - [
bfc35354c1
] - quic: consolidate stats collecting in QuicSession (James M Snell) #34741 - [
94aa291348
] - quic: clarify TODO statements (James M Snell) #34741 - [
19e712b9b2
] - quic: resolve InitializeSecureContext TODO comment (James M Snell) #34741 - [
240592228b
] - quic: fixup session ticket app data todo comments (James M Snell) #34741 - [
c17eaa3f3f
] - quic: add natRebinding argument to docs (James M Snell) #34669 - [
442968c92a
] - quic: check setSocket natRebinding argument, extend test (James M Snell) #34669 - [
10d5047a4f
] - quic: fixup set_socket, fix skipped test (James M Snell) #34669 - [
344c5e4e50
] - quic: limit push check to http/3 (James M Snell) #34655 - [
34165f03aa
] - quic: resolve some minor TODOs (James M Snell) #34655 - [
1e6e5c3ef3
] - quic: resolve minor TODO in QuicSocket (James M Snell) #34655 - [
ba5c64bf45
] - quic: use AbortController with correct name/message (Anna Henningsen) #34763 - [
a7477704c4
] - quic: prefer modernize-make-unique (gengjiawen) #34692 - [
5b6cd6fa1a
] - quic: use the SocketAddressLRU to track validation status (James M Snell) #34618 - [
f75e69a94b
] - quic: use SocketAddressLRU to track known SocketAddress info (James M Snell) #34618 - [
6b0b33cd4c
] - quic: cleanup some outstanding todo items (James M Snell) #34618 - [
6e65f26b73
] - quic: use QuicCallbackScope consistently for QuicSession (James M Snell) #34541 - [
d96083bad5
] - quic: introduce QuicCallbackScope (James M Snell) #34541 - [
4b0275ab87
] - quic: refactor clientHello (James M Snell) #34541 - [
a97b5f9c6a
] - quic: use OpenSSL built-in cert and hostname validation (James M Snell) #34533 - [
7a5fbafe96
] - quic: fix build for macOS (gengjiawen) #34336 - [
1f94b89309
] - quic: refactor ocsp to use async function rather than event/callback (James M Snell) #34498 - [
06664298fa
] - quic: remove no-longer relevant TODO statements (James M Snell) #34498 - [
2fb92f4cc6
] - quic: remove extraneous unused debug property (James M Snell) #34498 - [
b06fe33de1
] - quic: use async _construct for QuicStream (James M Snell) #34351 - [
8bd61d4c38
] - quic: documentation updates (James M Snell) #34351 - [
086c916997
] - quic: extensive refactoring of QuicStream lifecycle (James M Snell) #34351 - [
cf28f8a7dd
] - quic: gitignore qlog files (James M Snell) #34351 - [
83bf0d7e8c
] - quic: remove unneeded quicstream.aborted and fixup docs (James M Snell) #34351 - [
a65296db2c
] - quic: remove stream pending code (James M Snell) #34351 - [
da20287e1a
] - quic: simplify QuicStream construction logic (James M Snell) #34351 - [
6e30fe7a7f
] - quic: convert openStream to Promise (James M Snell) #34351 - [
89453cfc08
] - quic: fixup quic.md (James M Snell) #34283 - [
4523d4a813
] - quic: fixup closing/draining period timing (James M Snell) #34283 - [
ed4882241c
] - quic: properly pass readable/writable constructor options (James M Snell) #34283 - [
57c1129508
] - quic: implement QuicSession close as promise (James M Snell) #34283 - [
8e5c5b16ab
] - quic: cleanup QuicClientSession constructor (James M Snell) #34283 - [
fe4e7e4598
] - quic: use promisified dns lookup (James M Snell) #34283 - [
346aeaf874
] - quic: eliminate "ready"/"not ready" states for QuicSession (James M Snell) #34283 - [
6665dda9f6
] - quic: implement QuicSocket Promise API, part 2 (James M Snell) #34283 - [
79c0e892dd
] - quic: implement QuicSocket Promise API, part 1 (James M Snell) #34283 - [
53b12f0c7b
] - quic: implement QuicEndpoint Promise API (James M Snell) #34283 - [
16b32eae3e
] - quic: handle unhandled rejections on QuicSession (James M Snell) #34283 - [
e5d963e24d
] - quic: fixup kEndpointClose (James M Snell) #34283 - [
9f552df5b4
] - quic: fix endpointClose error handling, document (James M Snell) #34283 - [
b80108c033
] - quic: restrict addEndpoint to before QuicSocket bind (James M Snell) #34283 - [
81c01bbdba
] - quic: use a getter for stream options (James M Snell) #34283 - [
b8945ba2ab
] - quic: clarifying code comments (James M Snell) #34283 - [
429ab1dce6
] - quic: minor reduction in code duplication (James M Snell) #34283 - [
aafdc2fcad
] - quic: replace ipv6Only option with'udp6-only'
type (James M Snell) #34283 - [
fbc38ee134
] - quic: clear clang warning (gengjiawen) #34335 - [
c176d5fac2
] - quic: set destroyed at timestamps for duration calculation (James M Snell) #34262 - [
48a349efd9
] - quic: use Number instead of BigInt for more stats (James M Snell) #34262 - [
5e769b2eaf
] - quic: use less specific error codes (James M Snell) #34262 - [
26493c02a2
] - quic: remove no longer valid CHECK (James M Snell) #34247 - [
458d243f20
] - quic: proper custom inspect for QuicStream (James M Snell) #34247 - [
0860b11655
] - quic: proper custom inspect for QuicSession (James M Snell) #34247 - [
b047930d76
] - quic: proper custom inspect for QuicSocket (James M Snell) #34247 - [
511f8c1138
] - quic: proper custom inspect for QuicEndpoint (James M Snell) #34247 - [
fe11f6bf7c
] - quic: cleanup QuicSocketFlags, used shared state struct (James M Snell) #34247 - [
d08e99de24
] - quic: use getter/setter for stateless reset toggle (James M Snell) #34247 - [
f2753c7695
] - quic: unref timers again (Anna Henningsen) #34247 - [
71236097d0
] - quic: use Number() instead of bigint for QuicSocket stats (James M Snell) #34247 - [
94372b124a
] - quic: refactor/improve/document QuicSocket listening event (James M Snell) #34247 - [
afc9390ae5
] - quic: refactor/improve QuicSocket ready event handling (James M Snell) #34247 - [
e3813261b8
] - quic: add tests confirming error handling for QuicSocket close event (James M Snell) #34247 - [
cc89aac5f7
] - quic: refactor/improve error handling for busy event (James M Snell) #34247 - [
edc71ef008
] - quic: handle errors thrown / rejections in the session event (James M Snell) #34247 - [
bcde849be9
] - quic: remove unnecessary bool conversion (James M Snell) #34247 - [
c535131627
] - quic: additional minor cleanups in node_quic_session.h (James M Snell) #34247 - [
0f97d6066a
] - quic: use TimerWrap for idle and retransmit timers (James M Snell) #34186 - [
1b1e985478
] - quic: add missing memory tracker fields (James M Snell) #34160 - [
5a87e9b0a5
] - quic: cleanup timers if they haven't been already (James M Snell) #34160 - [
3837d9cf1f
] - quic: fixup lint issues (James M Snell) #34160 - [
7b062ca015
] - quic: refactor qlog handling (James M Snell) #34160 - [
e4d369e96e
] - quic: remove onSessionDestroy callback (James M Snell) #34160 - [
3acdd6aac7
] - quic: refactor QuicSession shared state to use AliasedStruct (James M Snell) #34160 - [
f9c2245fb5
] - quic: refactor QuicSession close/destroy flow (James M Snell) #34160 - [
f7510ca439
] - quic: additional cleanups on the c++ side (James M Snell) #34160 - [
b5bf5bb20f
] - quic: refactor native object flags for better readability (James M Snell) #34160 - [
b1750a4d53
] - quic: continued refactoring for quic_stream/quic_session (James M Snell) #34160 - [
31d6d9d0f7
] - quic: reduce duplication of code (James M Snell) #34137 - [
b5fe31ef19
] - quic: avoid using private JS fields for now (James M Snell) #34137 - [
2afc1abd05
] - quic: fixup constant exports, export all protocol error codes (James M Snell) #34137 - [
b1fab88ff0
] - quic: remove unused callback function (James M Snell) #34137 - [
3bae2d5073
] - quic: consolidate onSessionClose and onSessionSilentClose (James M Snell) #34137 - [
def8e76999
] - quic: fixup set_final_size (James M Snell) #34137 - [
d6034186d6
] - quic: cleanups for QuicSocket (James M Snell) #34137 - [
73a51bb9dc
] - quic: cleanups in JS API (James M Snell) #34137 - [
204f20f2d1
] - quic: minor cleanups in quic_buffer (James M Snell) #34087 - [
68634d2592
] - quic: remove redundant cast (gengjiawen) #34086 - [
213cac0b94
] - quic: temporarily skip quic-ipv6only test (James M Snell) #34033 - [
99f7c4bb5e
] - quic: possibly resolve flaky assertion failure in ipv6only test (James M Snell) #34033 - [
2a5922e483
] - quic: temporarily disable packetloss tests (James M Snell) #34033 - [
86e67aaa69
] - quic: updates to implement for h3-29 (James M Snell) #34033 - [
adf14e2617
] - quic: fix lint error in node_quic_crypto (Daniel Bevenius) #34019 - [
9f2e00fb99
] - quic: temporarily disable preferred address tests (James M Snell) #33934 - [
0e7c8bdc0c
] - quic: return 0 from SSL_CTX_sess_set_new_cb callback (Anna Henningsen) #33931 - [
c7d859e756
] - quic: refactor and improve ipv6Only (James M Snell) #33935 - [
1b7434dfc0
] - quic: set up FunctionTemplates more cleanly (Anna Henningsen) #33968 - [
8ef86a920c
] - quic: fix clang warning (gengjiawen) #33963 - [
013cd1ac6f
] - quic: use Check instead of FromJust in node_quic.cc (Daniel Bevenius) #33937 - [
09330fc155
] - quic: fix clang-tidy performance-faster-string-find issue (gengjiawen) #33975 - [
9743624c0b
] - quic: fix typo in comments (gengjiawen) #33975 - [
88ef15812c
] - quic: remove unused string include http3_application (Daniel Bevenius) #33926 - [
1bd88a3ac6
] - quic: fix up node_quic_stream includes (Daniel Bevenius) #33921 - [
d7d79f2163
] - quic: avoid memory fragmentation issue (James M Snell) #33912 - [
16116f5f5f
] - quic: remove noop code (Robert Nagy) #33914 - [
272b46e04d
] - quic: skip test-quic-preferred-address-ipv6.js when no ipv6 (James M Snell) #33919 - [
4b70f95d64
] - quic: use Check instead of FromJust in QuicStream (Daniel Bevenius) #33909 - [
133a97f60d
] - quic: always copy stateless reset token (Anna Henningsen) #33917 - [
14d012ef96
] - quic: fix minor linting issue (James M Snell) #33913 - [
55360443ce
] - quic: initial QUIC implementation (James M Snell) #32379 - [
a12a2d892f
] - repl: update deprecation codes (Antoine du HAMEL) #33430 - [
2b3acc44f0
] - src: large pages support in illumos/solaris systems (David Carlier) #34320 - [
84a7880749
] - src: minor cleanup and simplification of crypto::Hash (James M Snell) #35651 - [
bfc906906f
] - src: combine TLSWrap/SSLWrap (James M Snell) #35552 - [
9fd6122659
] - src: add embedding helpers to reduce boilerplate code (Anna Henningsen) #35597 - [
f7ed5f4ae3
] - src: remove toLocalChecked in crypto_context (James M Snell) #35509 - [
17d5d94921
] - src: replace more toLocalCheckeds in crypto_* (James M Snell) #35509 - [
83eaaf9731
] - src: remove unused AsyncWrapObject (James M Snell) #35511 - [
ee5f849fda
] - src: fix compiler warning in env.cc (Anna Henningsen) #35547 - [
40364b181d
] - src: add check against non-weak BaseObjects at process exit (Anna Henningsen) #35490 - [
bc0c094b74
] - src: unset NODE_VERSION_IS_RELEASE from master (Antoine du Hamel) #35531 - [
fdf0a84e82
] - src: move all base64.h inline methods into -inl.h header file (Anna Henningsen) #35432 - [
ff4cf817a3
] - src: create helper for reading Uint32BE (Juan José Arboleda) #34944 - [
c6e1edcc28
] - src: add Update(const sockaddr*) variant (James M Snell) #34752 - [
1c14810edc
] - src: allow instances of net.BlockList to be created internally (James M Snell) #34741 - [
6d1f0aed52
] - src: add SocketAddressLRU Utility (James M Snell) #34618 - [
feb93c4e84
] - src: guard against nullptr deref in TimerWrapHandle::Stop (Anna Henningsen) #34460 - [
7a447bcd54
] - src: snapshot node (Joyee Cheung) #32984 - [
c943cb4809
] - src: reset zero fill toggle at pre-execution (Joyee Cheung) #32984 - [
0b8ae5f2cd
] - src: snapshot loaders (Joyee Cheung) #32984 - [
7ecb285842
] - src: make code cache test work with snapshots (Joyee Cheung) #32984 - [
1faf6f459f
] - src: snapshot Environment upon instantiation (Joyee Cheung) #32984 - [
ef9964f4c1
] - src: add an ExternalReferenceRegistry class (Joyee Cheung) #32984 - [
404302fff5
] - src: split the main context initialization from Environemnt ctor (Joyee Cheung) #32984 - [
874460a1d1
] - src: refactor TimerWrap lifetime management (Anna Henningsen) #34252 - [
e2f9dc6e5a
] - src: remove user_data from TimerWrap (Anna Henningsen) #34252 - [
e19a251824
] - src: replace InspectorTimer with TimerWrap utility (James M Snell) #34186 - [
d4f69002b4
] - src: add TimerWrap utility (James M Snell) #34186 - [
52de4cb107
] - src: minor updates to FastHrtime (Anna Henningsen) #33851 - [
4678e44bb2
] - src: perform bounds checking on error source line (Anna Henningsen) #33645 - [
7232c2a160
] - src: use getauxval in node_main.cc (Daniel Bevenius) #33693 - [
6be80e1893
] - stream: fix legacy pipe error handling (Robert Nagy) #35257 - [
2b9003b165
] - stream: don't destroy on async iterator success (Robert Nagy) #35122 - [
9c62e0e384
] - stream: move to internal/streams (Matteo Collina) #35239 - [
e0d3b758a0
] - stream: improve Writable.destroy performance (Robert Nagy) #35067 - [
02c4869bee
] - stream: fix Duplex._construct race (Robert Nagy) #34456 - [
5aeaff6499
] - stream: refactor lazyLoadPromises (rickyes) #34354 - [
a55b77d2d3
] - stream: finished on closed OutgoingMessage (Robert Nagy) #34313 - [
e10e292c5e
] - stream: remove unused _transformState (Robert Nagy) #33105 - [
f5c11a1a0a
] - stream: don't emit finish after close (Robert Nagy) #32933 - [
089d654dd8
] - test: fix addons/dlopen-ping-pong for npm 7.0.1 (Myles Borins) #35667 - [
9ce5a03148
] - test: add test for listen callback runtime binding (H Adinarayana) #35657 - [
a3731309cc
] - test: refactor test-https-host-headers (himself65) #32805 - [
30fb4a015d
] - test: add common.mustSucceed (Tobias Nießen) #35086 - [
c143266b55
] - test: add a few uncovered url tests from wpt (Daijiro Wachi) #35636 - [
6751b6dc3d
] - test: check for AbortController existence (James M Snell) #35616 - [
9f2e19fa30
] - test: update url test for win (Daijiro Wachi) #35622 - [
c88d845db3
] - test: update wpt status for url (Daijiro Wachi) #35335 - [
589dbf1392
] - test: update wpt tests for url (Daijiro Wachi) #35329 - [
46bef7b771
] - test: add Actions annotation output (Mary Marchini) #34590 - [
a9c5b873ca
] - test: move buffer-as-path symlink test to its own test file (Rich Trott) #34569 - [
31ba9a20bd
] - test: run test-benchmark-napi on arm (Rich Trott) #34502 - [
2c4ebe0426
] - test: use.then(common.mustCall())
for all async IIFEs (Anna Henningsen) #34363 - [
772fdb0cd3
] - test: fix flaky test-fs-stream-construct (Rich Trott) #34203 - [
9b8d317d99
] - test: fix flaky test-http2-invalidheaderfield (Rich Trott) #34173 - [
2ccf15b2bf
] - test: ensure finish is emitted before destroy (Robert Nagy) #33137 - [
27f3530da3
] - test: remove unnecessary eslint-disable comment (Rich Trott) #34000 - [
326a79ebb9
] - test: fix typo in test-quic-client-empty-preferred-address.js (gengjiawen) #33976 - [
b0b268f5a2
] - test: fix flaky fs-construct test (Robert Nagy) #33625 - [
cbe955c227
] - test: add net regression test (Robert Nagy) #32794 - [
5d179cb2ec
] - timers: use AbortController with correct name/message (Anna Henningsen) #34763 - [
64d22c320c
] - timers: fix multipleResolves in promisified timeouts/immediates (Denys Otrishko) #33949 - [
fbe33aa52e
] - tools: bump remark-lint-preset-node to 1.17.1 (Rich Trott) #35668 - [
35a6946193
] - tools: update gyp-next to v0.6.2 (Michaël Zasso) #35690 - [
be80faa0c8
] - tools: update gyp-next to v0.6.0 (Ujjwal Sharma) #35635 - [
2d83e743d9
] - tools: update ESLint to 7.11.0 (Colin Ihrig) #35578 - [
0eca660948
] - tools: update ESLint to 7.7.0 (Colin Ihrig) #34783 - [
77b68f9a29
] - tools: add linting rule for async IIFEs (Anna Henningsen) #34363 - [
f04538761f
] - tools: enable Node.js command line flags in node_mksnapshot (Joyee Cheung) #32984 - [
b0d4eb37c7
] - tools: update ESLint to 7.4.0 (Colin Ihrig) #34205 - [
076e4ed2d1
] - tools: update ESLint from 7.2.0 to 7.3.1 (Rich Trott) #34000 - [
7afe3af200
] - url: fix file url reparse (Daijiro Wachi) #35671
v14.18.2
Notable changes
This release contains a c-ares update to fix a regression introduced in Node.js 14.17.5 resolving CNAME records containing underscores #39780.
Also included are commits to allow Node.js 14 to continue to build and pass tests on our Jenkins CI, including adding Python 3.10 to the list of allowable Python versions for building.
Commits
- [
7923c61a62
] - build: pin build-docs workflow to Node.js 14 (Richard Lau) #40939 - [
da356128fb
] - build: support Python 3.10.0 (FrankQiu) #40296 - [
9c3a85d279
] - deps: update c-ares to 1.18.1 (Richard Lau) #40660 - [
cd7c340545
] - deps: V8: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296 - [
6330d435f5
] - doc: mark Node.js 10 as End-of-Life (Richard Lau) #38482 - [
8ca082ec71
] - doc: fix CJS-ESM selector in Safari (Bradley Farias) #40135 - [
92490d1c89
] - doc: add macOS arm64 experimental status (Michael Rienstra) #40127 - [
8894bdd4d8
] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325 - [
704989b698
] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838 - [
df401cd346
] - test: update upload.zip to be uncorrupted (Greg Ziskind) #37294 - [
aa947f7dbf
] - tools: add script to update c-ares (Richard Lau) #40660 - [
6b7b2bba41
] - tools: patch jinja2 for Python 3.10 compat (Michaël Zasso) #40296 - [
39583f77d8
] - worker: avoid potential deadlock on NearHeapLimit (Santiago Gimeno) #38403
v14.18.1
This is a security release.
Notable changes
-
CVE-2021-22959: HTTP Request Smuggling due to spaced in headers (Medium)
- The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS). More details will be available at CVE-2021-22959 after publication.
-
CVE-2021-22960: HTTP Request Smuggling when parsing the body (Medium)
- The parse ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions. More details will be available at CVE-2021-22960 after publication.
Commits
- [
8c254ca7e4
] - deps: update llhttp to 2.1.4 (Fedor Indutny) nodejs-private/node-private#285 - [
9b92ae2499
] - http: add regression test for smuggling content length (Matteo Collina) nodejs-private/node-private#285 - [
f467539719
] - http: add regression test for chunked smuggling (Matteo Collina) nodejs-private/node-private#285
v14.18.0
Notable Changes
- [
3a60de0135
] - assert: change status of legacy asserts (James M Snell) #38113 - [
df37c106a7
] - (SEMVER-MINOR) buffer: introduce Blob (James M Snell) #36811 - [
223494c548
] - (SEMVER-MINOR) buffer: add base64url encoding option (Filip Skokan) #36952 - [
14fc4ddabc
] - (SEMVER-MINOR) child_process: allowoptions.cwd
receive a URL (Khaidi Chu) #38862 - [
b68b13acb3
] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256 - [
da98c9f99b
] - (SEMVER-MINOR) child_process: allow promisified exec to be cancel (Carlos Fuentes) #34249 - [
779310ac87
] - (SEMVER-MINOR) child_process: add 'overlapped' stdio flag (Thiago Padilha) #29412 - [
40eb3b79f1
] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755 - [
39eba0a2e1
] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537 - [
d8d9a9628a
] - (SEMVER-MINOR) dns: add "tries" option to Resolve options (Luan Devecchi) #39610 - [
15ba19b020
] - (SEMVER-MINOR) dns: allow--dns-result-order
to change default dns verbatim (Ouyang Yadong) #38099 - [
307c1d817f
] - doc: refactor fs docs structure (James M Snell) #37170 - [
9ee3f77e32
] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362 - [
e73bfed2f4
] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918 - [
989c204a58
] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028 - [
ef72490cde
] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 - [
cad9d20f64
] - (SEMVER-MINOR) fs: add support for async iterators tofsPromises.writeFile
(HiroyukiYagihashi) #37490 - [
2b0e2706c0
] - fs: improve fsPromises readFile performance (Nitzan Uziely) #37608 - [
fe12cc07b3
] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179 - [
2459c115a8
] - (SEMVER-MINOR) fs: allowposition
parameter to be aBigInt
in read and readSync (Darshan Sen) #36190 - [
6544cfb4b9
] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145 - [
a6c6cbb4e6
] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978 - [
1e5aca550c
] - inspector: mark as stable (Gireesh Punathil) #37748 - [
93af04afbb
] - (SEMVER-MINOR) module: add support forURL
toimport.meta.resolve
(Antoine du Hamel) #38587 - [
f9f9389d83
] - (SEMVER-MINOR) module: add support fornode:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - [
87c71065eb
] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625 - [
b421d99a48
] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195 - [
6a4811df8a
] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569 - [
4a88ddeeca
] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155 - [
1a6bf1c4a3
] - (SEMVER-MINOR) process: add api to enable source-maps programmatically (legendecas) #39085 - [
99735a6fe8
] - (SEMVER-MINOR) process: add'worker'
event (James M Snell) #38659 - [
3982919317
] - (SEMVER-MINOR) process: add direct access to rss without iterating pages (Adrien Maret) #34291 - [
526e6c7bde
] - (SEMVER-MINOR) readline: add AbortSignal support to interface (Nitzan Uziely) #37932 - [
e6eee08692
] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 - [
32de361d70
] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662 - [
797f7f8a38
] - (SEMVER-MINOR) repl: add auto‑completion fornode:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - [
abfd71b64c
] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768 - [
1efae01b18
] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768 - [
f7933804ba
] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023 - [
6d06ac2202
] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 - [
577d228ca0
] - (SEMVER-MINOR) src: add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 - [
658a266cd4
] - (SEMVER-MINOR) src: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 - [
f421422ea4
] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 - [
a62d4d60f4
] - (SEMVER-MINOR) stream: add readableDidRead if has been read from (Robert Nagy) #39589 - [
63502131a3
] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 - [
68bbebd42c
] - (SEMVER-MINOR) tls: allow reading data into a static buffer (Andrey Pechkurov) #35753 - [
1cbb74d63d
] - (SEMVER-MINOR) url: expose urlToHttpOptions utility (Yongsheng Zhang) #35960 - [
8eb11356dd
] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814 - [
84fcdc3074
] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807 - [
b238b6bf17
] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807 - [
9f6bc58da8
] - (SEMVER-MINOR) worker: add setEnvironmentData/getEnvironmentData (James M Snell) #37486
Commits
Semver-minor commits
- [
f3563d3197
] - (SEMVER-MINOR) async_hooks: use new v8::Context PromiseHook API (Stephen Belanger) #36394 - [
df37c106a7
] - (SEMVER-MINOR) buffer: introduce Blob (James M Snell) #36811 - [
223494c548
] - (SEMVER-MINOR) buffer: add base64url encoding option (Filip Skokan) #36952 - [
14fc4ddabc
] - (SEMVER-MINOR) child_process: allowoptions.cwd
receive a URL (Khaidi Chu) #38862 - [
b68b13acb3
] - (SEMVER-MINOR) child_process: add timeout to spawn and fork (Nitzan Uziely) #37256 - [
da98c9f99b
] - (SEMVER-MINOR) child_process: allow promisified exec to be cancel (Carlos Fuentes) #34249 - [
779310ac87
] - (SEMVER-MINOR) child_process: add 'overlapped' stdio flag (Thiago Padilha) #29412 - [
40eb3b79f1
] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755 - [
39eba0a2e1
] - (SEMVER-MINOR) cli: add --node-memory-debug option (Anna Henningsen) #35537 - [
d9b58a0262
] - (SEMVER-MINOR) deps: V8: cherry-pickfa4cb17
(Stephen Belanger) #38577 - [
9d7177c152
] - (SEMVER-MINOR) deps: V8: cherry-pick4c07451
(Stephen Belanger) #36394 - [
ec0f0ef8ef
] - (SEMVER-MINOR) deps: V8: cherry-pick5f44131
(Stephen Belanger) #36394 - [
3e7238e45a
] - (SEMVER-MINOR) deps: V8: cherry-pick272445f
(Stephen Belanger) #36394 - [
214e568597
] - (SEMVER-MINOR) deps: V8: backportc0fceaa
(Stephen Belanger) #36394 - [
d8d9a9628a
] - (SEMVER-MINOR) dns: add "tries" option to Resolve options (Luan Devecchi) #39610 - [
15ba19b020
] - (SEMVER-MINOR) dns: allow--dns-result-order
to change default dns verbatim (Ouyang Yadong) #38099 - [
defb77cac9
] - (SEMVER-MINOR) doc: add missing change to resolver ctor (Luan Devecchi) #39610 - [
9ee3f77e32
] - (SEMVER-MINOR) errors: remove experimental from --enable-source-maps (Benjamin Coe) #37362 - [
989c204a58
] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028 - [
ef72490cde
] - (SEMVER-MINOR) fs: allow no-params fsPromises fileHandle read (Nitzan Uziely) #38287 - [
cad9d20f64
] - (SEMVER-MINOR) fs: add support for async iterators tofsPromises.writeFile
(HiroyukiYagihashi) #37490 - [
fe12cc07b3
] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179 - [
2459c115a8
] - (SEMVER-MINOR) fs: allowposition
parameter to be aBigInt
in read and readSync (Darshan Sen) #36190 - [
6544cfb4b9
] - (SEMVER-MINOR) http2: add support for sensitive headers (Anna Henningsen) #34145 - [
a6c6cbb4e6
] - (SEMVER-MINOR) http2: allow setting the local window size of a session (Yongsheng Zhang) #35978 - [
93af04afbb
] - (SEMVER-MINOR) module: add support forURL
toimport.meta.resolve
(Antoine du Hamel) #38587 - [
f9f9389d83
] - (SEMVER-MINOR) module: add support fornode:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - [
76d4f22bab
] - (SEMVER-MINOR) net: allow net.BlockList to use net.SocketAddress objects (James M Snell) #37917 - [
82363d864d
] - (SEMVER-MINOR) net: add SocketAddress class (James M Snell) #37917 - [
0202ba46b8
] - (SEMVER-MINOR) net: make net.BlockList cloneable (James M Snell) #37917 - [
a41a3e3b3f
] - (SEMVER-MINOR) net: make blocklist family case insensitive (James M Snell) #34864 - [
87c71065eb
] - (SEMVER-MINOR) net: introduce net.BlockList (James M Snell) #34625 - [
b421d99a48
] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195 - [
6a4811df8a
] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #38569 - [
4a88ddeeca
] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155 - [
1a6bf1c4a3
] - (SEMVER-MINOR) process: add api to enable source-maps programmatically (legendecas) #39085 - [
99735a6fe8
] - (SEMVER-MINOR) process: add'worker'
event (James M Snell) #38659 - [
3982919317
] - (SEMVER-MINOR) process: add direct access to rss without iterating pages (Adrien Maret) #34291 - [
526e6c7bde
] - (SEMVER-MINOR) readline: add AbortSignal support to interface (Nitzan Uziely) #37932 - [
e6eee08692
] - (SEMVER-MINOR) readline: add support for the AbortController to the question method (Mattias Runge-Broberg) #33676 - [
32de361d70
] - (SEMVER-MINOR) readline: add history event and option to set initial history (Mattias Runge-Broberg) #33662 - [
797f7f8a38
] - (SEMVER-MINOR) repl: add auto‑completion fornode:
‑prefixedrequire(…)
calls (ExE Boss) #37246 - [
abfd71b64c
] - (SEMVER-MINOR) src: call overload ctor from the original ctor (Darshan Sen) #39768 - [
1efae01b18
] - (SEMVER-MINOR) src: add a constructor overload for CallbackScope (Darshan Sen) #39768 - [
1aa2080d29
] - (SEMVER-MINOR) src: fix align in cares_wrap.h (Luan) #39610 - [
f7933804ba
] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023 - [
6d06ac2202
] - (SEMVER-MINOR) src: add --heapsnapshot-near-heap-limit option (Joyee Cheung) #33010 - [
4091eb9db7
] - (SEMVER-MINOR) src: move node_binding to modern THROW_ERR* (James M Snell) #35469 - [
577d228ca0
] - (SEMVER-MINOR) src: add way to get IsolateData and allocator from Environment (Anna Henningsen) #36441 - [
658a266cd4
] - (SEMVER-MINOR) src: allow preventing SetPrepareStackTraceCallback (Shelley Vohr) #36447 - [
f421422ea4
] - (SEMVER-MINOR) src: add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) #35486 - [
a62d4d60f4
] - (SEMVER-MINOR) stream: add readableDidRead if has been read from (Robert Nagy) #39589 - [
63502131a3
] - (SEMVER-MINOR) stream: pipeline accept Buffer as a valid first argument (Nitzan Uziely) #37739 - [
72ef41c72b
] - (SEMVER-MINOR) test: add wpt tests for Blob (Michaël Zasso) #36811 - [
68bbebd42c
] - (SEMVER-MINOR) tls: allow reading data into a static buffer (Andrey Pechkurov) #35753 - [
587deacad9
] - (SEMVER-MINOR) tools: addWorker
to type-parser (James M Snell) #38659 - [
1cbb74d63d
] - (SEMVER-MINOR) url: expose urlToHttpOptions utility (Yongsheng Zhang) #35960 - [
8eb11356dd
] - (SEMVER-MINOR) util: expose toUSVString (Robert Nagy) #39814 - [
84fcdc3074
] - (SEMVER-MINOR) v8: implement v8.stopCoverage() (Joyee Cheung) #33807 - [
b238b6bf17
] - (SEMVER-MINOR) v8: implement v8.takeCoverage() (Joyee Cheung) #33807 - [
9f6bc58da8
] - (SEMVER-MINOR) worker: add setEnvironmentData/getEnvironmentData (James M Snell) #37486
Semver-patch commits
- [
3a60de0135
] - assert: change status of legacy asserts (James M Snell) #38113 - [
5a42be9719
] - async_hooks: use resource stack for AsyncLocalStorage run (Stephen Belanger) #39890 - [
fc29ddb38e
] - async_hooks: emit promise trace events from JS (Stephen Belanger) #39135 - [
13296d1abf
] - async_hooks: eliminate native PromiseHook (Stephen Belanger) #39135 - [
48e5971e51
] - async_hooks: check for empty contexts before removing (Bryan English) #39095 - [
691c00c48b
] - async_hooks: switch between native and context hooks correctly (Stephen Belanger) #38912 - [
8484ab2a6c
] - buffer: avoid creating the backing store in the thread (James M Snell) #37052 - [
c8d039a872
] - buffer: make Blob's constructor more spec-compliant (Michaël Zasso) #37361 - [
05d73ac286
] - buffer: make Blob's slice method more spec-compliant (Michaël Zasso) #37361 - [
e7cf2efc60
] - buffer: add @@toStringTag to Blob (Colin Ihrig) #37336 - [
d99deeaf97
] - build: fix update authors commit (Mestery) #39858 - [
5e1cba81bf
] - build: add authors.yml (Tierney Cyren) #35831 - [
ed3c332089
] - build: add option to hide console window (Cheng Zhao) #39712 - [
c696f97c5e
] - build: exclude markdown files from some GitHub Actions (Rich Trott) #39565 - [
0bd6dd1ee2
] - build: use lts shorthand in GitHub Actions (Rich Trott) #39538 - [
3482bca643
] - build: override python executable path on configure (legendecas) #39465 - [
61261cdb8e
] - build: use Node.js 14 in commit-lint.yml (Rich Trott) #39506 - [
719f1563c1
] - build: fixhost_arch_cc()
for AIX/IBM i (Richard Lau) #39481 - [
6e06b2ff9d
] - build: update coverage Makefile target comments (Richard Lau) #39365 - [
4e28d2b2c0
] - build: run workflows when a MR is ready for review (Michaël Zasso) #39405 - [
0da5d74da4
] - build: update to setup-node@v2 (Rich Trott) #39366 - [
f2e1c2267e
] - build: update gcovr for gcc 8 compatibility (Richard Lau) #39326 - [
131dd6ec4d
] - build: remove unused comment in Makefile (LitoMore) #39171 - [
40e46321b0
] - build: uvwasi honours node_shared_libuv (Jérémy Lal) #39260 - [
5c6ab719f2
] - build: shorten path used in tarball build workflow (Richard Lau) #39192 - [
870526374c
] - build: addlibrary_files
to gyp variables (himself65) #39293 - [
0e221156aa
] - build: pass directory instead of list of files to js2c.py (Joyee Cheung) #39069 - [
8d8415415b
] - build: don't pass--mode
argument to V8 test-runner (Richard Lau) #39055 - [
2d50217634
] - build: fix commit linter on unrebased MRs (Mary Marchini) #39121 - [
c93d5e006e
] - build: use Actions to validate commit message (Mary Marchini) #32417 - [
0bcaf9c4d1
] - child_process: fix spawn and fork abort behavior (Nitzan Uziely) #37325 - [
8010c83180
] - child_process: fix bad abort signal leak (Nitzan Uziely) #37257 - [
32aff2f5a0
] - console: refactor to avoid unsafe array iteration (Antoine du Hamel) #36753 - [
f46e8cdf79
] - debugger: remove undefined parameter (Rich Trott) #39570 - [
482459edd4
] - debugger: validate sec-websocket-accept response header (Chris Opperwall) #39357 - [
e9c46107d7
] - debugger: rename internal module (Rich Trott) #39378 - [
49e0883c75
] - debugger: indicate server is ending (Rich Trott) #39334 - [
72a3419510
] - debugger: rename inspector-cli test module to debugger (Rich Trott) #38530 - [
b3352cfba4
] - debugger: prevent simultaneous heap snapshots (Rich Trott) #39638 - [
e5826ab1c2
] - debugger: remove final lint exceptions in inspect_repl.js (Rich Trott) #39078 - [
34c0701952
] - deps: V8: cherry-pick00bb1a7
(Darshan Sen) #39829 - [
42359ab582
] - deps: upgrade to libuv 1.42.0 (Luigi Pinca) #39525 - [
d863a9db68
] - deps: bump HdrHistogram_C to 0.11.2 (Matteo Collina) #39462 - [
4c93968a62
] - deps: extract gtest source files to deps/googletest (legendecas) #39386 - [
fcae391fed
] - deps: update Acorn to v8.4.1 (Michaël Zasso) #39166 - [
327838dd96
] - deps: V8: backportc922458
(Stephen Belanger) #39743 - [
89c1bbd7b2
] - deps: V8: cherry-pick81814ed
(Stephen Belanger) #39719 - [
8b9215d07c
] - deps: update to cjs-module-lexer@1.2.2 (Guy Bedford) #39402 - [
e201293ddb
] - dgram: use simplified validator (Voltrex) #39753 - [
6fdac38f91
] - doc,fs: remove experimental status for WHATWG URL as path (Antoine du Hamel) #38870 - [
d56e8268f9
] - doc,lib: prepare for stricter multi-line array linting (Rich Trott) #37088 - [
5500ae9236
] - domain: do not add domain to promise from other context (Stephen Belanger) #39135 - [
dc855af18e
] - errors: don't throw TypeError on missing export (Benjamin Coe) #39017 - [
c13eadc218
] - errors: eliminate all overhead for hidden calls (Momtchil Momtchev) #35644 - [
d42bbe48c5
] - esm: use correct URL for error decoration (Bradley Farias) #37854 - [
9db3304368
] - esm: update to correct deprecation code (Colin Ihrig) #37147 - [
e73bfed2f4
] - esm: deprecate legacy main lookup for modules (Guy Bedford) #36918 - [
c1782ea1f5
] - events: allow the options argument to be null (Luigi Pinca) #39486 - [
d2834fb97f
] - fs: improve fsPromises writeFile performance (Nitzan Uziely) #37610 - [
ee1d13c90d
] - fs: use byteLength to handle ArrayBuffer views (Michaël Zasso) #38187 - [
b38d6b475b
] - fs: fixup negative length in fs.truncate (James M Snell) #37483 - [
fe28128f3c
] - fs: add docs and tests forAsyncIterable
support infh.writeFile
(Antoine du Hamel) #39836 - [
2b0e2706c0
] - fs: improve fsPromises readFile performance (Nitzan Uziely) #37608 - [
a4d6f78619
] - fs: move constants to internal/fs/utils.js (Darshan Sen) #38061 - [
402f7722ce
] - fs: add validatePosition and use in read and readSync (Darshan Sen) #37051 - [
2bc301dcff
] - http: decodes url.username and url.password for authorization header (Lew Gordon) #39310 - [
5459f4af33
] - http: clean up HttpParser correctly (Tobias Koppers) #39292 - [
8b3feee148
] - http,https: align server option of https with http (Qingyu Deng) #38992 - [
cf59e87c8b
] - inspector: update inspector_protocol to89c4adf
(Rich Trott) #39650 - [
ea5f2047a2
] - inspector: update inspector_protocol to8ec18cf
(Rich Trott) #39614 - [
1e5aca550c
] - inspector: mark as stable (Gireesh Punathil) #37748 - [
8a2ce5dae6
] - inspector: move inspector async hooks to environment (Joyee Cheung) #39112 - [
338189ff6f
] - lib: simplify validators (Voltrex) #39753 - [
e1019351e8
] - lib: cleanup validation (Voltrex) #39652 - [
dbaf4988bc
] - lib: use validators (Voltrex) #39663 - [
9c33e4bfb2
] - lib: use validator (Voltrex) #39547 - [
5b1104291d
] - lib: usevalidateObject
(Voltrex) #39605 - [
1ce81079df
] - lib: remove use of array destructuring (Antoine du Hamel) #36818 - [
b24b34effd
] - lib: addbound apply
variants of varargsprimordials
(ExE Boss) #37005 - [
7cdff9a6a8
] - lib: refactorprimordials.makeSafe
to use more primordials (ExE Boss) #36865 - [
1737352580
] - lib: comment explaining special-case handling of promises (Stephen Belanger) #39135 - [
7f54cccb6c
] - lib: refactor to use validateString (ZiJian Liu) #37006 - [
98259dc527
] - module: improve support of data: URLs (Antoine du Hamel) #37392 - [
9aba2888a1
] - net: throw ERR_OUT_OF_RANGE if blockList.addSubnet prefix is NaN (ZiJian Liu) #36732 - [
2ca12c83b4
] - node-api: handle pending exception in cb wrapper (Michael Dawson) #39476 - [
9e5edf2158
] - node-api: cctest on v8impl::Reference (legendecas) #38970 - [
a74032a490
] - node-api: rtn pending excep on napi_new_instance (legendecas) #38798 - [
bcb85adee6
] - policy: canonicalize before resolving specifiers (Bradley Farias) #37863 - [
0ff520cf02
] - policy: fix integrity when DEFAULT_ENCODING is set (Tobias Nießen) #39750 - [
6c87b591d9
] - readline: allow completer to rewrite existing input (Anna Henningsen) #39178 - [
37b4708b19
] - repl: fix tla function hoisting (Don Jayamanne) #39745 - [
9264caeafe
] - repl: do not include legacy getter/setter methods in completion (Anna Henningsen) #39576 - [
50c5e71e22
] - repl: correctly hoist top level await declarations (ejose19) #39265 - [
1e065a0a43
] - repl: processTopLevelAwait fallback error handling (ejose19) #39290 - [
99664494ff
] - repl: ensure correct syntax err for await parsing (Guy Bedford) #39154 - [
761dafafde
] - repl: fix Ctrl+C on top level await (Antoine du Hamel) #38656 - [
88b02cbb08
] - repl: add auto‑completion for dynamic import calls (ExE Boss) #37178 - [
8f3a8830ba
] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37188 - [
a48e2d6ec7
] - repl: refactor to avoid unsafe array iteration (Darshan Sen) #36663 - [
20ffadf437
] - repl: refactor to use more primordials (Antoine du Hamel) #36264 - [
f69c934ad4
] - report: generates report on threads with no isolates (legendecas) #38994 - [
c4686fa5a7
] - src: fix TextDecoder final flush size calculation (James M Snell) #39737 - [
495cd02c20
] - src: add cosmetic space character toasync_wrap.h
file (Juan José Arboleda) #39459 - [
985ec48975
] - src: print native module id on native module not found (legendecas) #39460 - [
e6ff7e648e
] - src: close HandleWraps instead of deleting them in OnGCCollect() (Anna Henningsen) #39441 - [
5c473bdc12
] - src: remove unused guards around node-api reference (legendecas) #38334 - [
41213bd507
] - src: add JSDoc typings for v8 (Voltrex) #38944 - [
02b1df9fac
] - src: fix crash in AfterGetAddrInfo (Anna Henningsen) #39735 - [
99493b07d4
] - src: fix fatal errors when a current isolate not exist (legendecas) #38624 - [
9433c28c14
] - src: remove more extra semis from member fns (Shelley Vohr) #38744 - [
bad990c934
] - src: use BaseObject::kInteralFieldCount in Blob (Joyee Cheung) #36991 - [
0a759dff52
] - src: compare IPv4 addresses in host byte order (Colin Ihrig) #39096 - [
d73181f243
] - src: reduce duplicated boilerplate with new env utility fn (James M Snell) #36536 - [
85af15a8b6
] - src: allow instances of net.BlockList to be created internally (James M Snell) #34741 - [
1008c80176
] - src: add SocketAddressLRU Utility (James M Snell) #34618 - [
e404841a9c
] - src: set PromiseHooks by Environment (Bryan English) #38821 - [
c8c290ae8f
] - src,zlib: tighten up Z_*_WINDOWBITS macros (Khaidi Chu) #39115 - [
de171177b4
] - stream: cleanendWritableNT
(Mestery) #39645 - [
32a5b8f59b
] - stream: move duplicated code to an internal module (Rich Trott) #37508 - [
f90b22d351
] - util: add internal createDeferredPromise() (Colin Ihrig) #37095 - [
61b4a98480
] - zlib: avoid convertingUint8Array
instances toBuffer
(Antoine du Hamel) #39492
Documentation commits
- [
8efd559347
] - doc: add duplicate CVE check in sec. release doc (Daniel Bevenius) #39845 - [
7b123ec78d
] - doc: improve description of the triagers team (Michaël Zasso) #39833 - [
615477f67b
] - doc: update instructions for cc (Michael Dawson) #39674 - [
1a8a26d92e
] - doc: fix malformed changelog entries (Rich Trott) #39791 - [
9e772ca9a1
] - doc: fix lint errors in packages.md (Rich Trott) #39792 - [
2624c98207
] - doc: add example of self-reference in scoped packages (Jesús Leganés-Combarro 'piranna) #37630 - [
00f2cee26c
] - doc: add himadriganguly as a triager (Himadri Ganguly) #39757 - [
95b9cc78d2
] - doc: fix YAML comment opening tags (Jayden Seric) #38324 - [
49a7962d58
] - doc: fixfs.rmdir
recursive
option deprecation history (Antoine du Hamel) #39728 - [
53300d33c7
] - doc: fixed variable names in queueMicrotask example (ashish maurya) #39634 - [
df1e20aaf1
] - doc: update debugger.md description and examples (Rich Trott) #39661 - [
9672bbf01c
] - doc: fix color contrast issue in light mode (Rich Trott) #39660 - [
48281ecfcd
] - doc: add code examples toWritable.destroy()
andWritable.destroyed
(Juan José Arboleda) #39491 - [
8799a134e4
] - doc: moveNODE_MODULE_VERSION
in release guide (Richard Lau) #39544 - [
89c8afcf48
] - doc: remove outdated ARM information from release guide (Richard Lau) #39544 - [
a718b26f28
] - doc: fence command examples in release guide (Richard Lau) #39544 - [
42669bb049
] - doc: update backport labels in release guide (Richard Lau) #39544 - [
a437de3c5f
] - doc: add code example tohttp.createServer
method (Juan José Arboleda) #39455 - [
695569fc17
] - doc: move lball@redhat.com to emeritus (Lance Ball) #39501 - [
c7523da86c
] - doc: update AUTHORS (Rich Trott) #39488 - [
e826109d5c
] - doc: update strategic initiative champion (Rich Trott) #39487 - [
39da842051
] - doc: simplify unnecessarily specific .mailmap entries (Rich Trott) #39430 - [
6a4c6ce4d7
] - doc: update checkbox label in backporting guide (Darshan Sen) #39420 - [
d17afa08bd
] - doc: remove _Addenda_ from headers (Rich Trott) #39427 - [
ae97a96d9e
] - doc: simplify .mailmap file (Rich Trott) #39418 - [
a3dee70f66
] - doc: fix broken internal link in http.md (Rich Trott) #39425 - [
ca947ac524
] - doc: remove outdated step in onboarding exercise (Rich Trott) #39410 - [
86e12607f0
] - doc: revise strategic initiatives text (Rich Trott) #39417 - [
cd8e773d28
] - doc: update mailmap and AUTHORS (Rich Trott) #39393 - [
8376b07ae8
] - doc: use a details tag for completed initiatves (Rich Trott) #39416 - [
43d28f5f00
] - doc: update commit-queue.md to indicate GitHub Actions are checked (Rich Trott) #39411 - [
63b0603e95
] - doc: use _pull request_ instead of _MR_ in onboarding doc (Rich Trott) #39409 - [
73f784f764
] - doc: add strategic initiatives from TSC repo (Rich Trott) #39394 - [
1a494d51dc
] - doc: standardize on _pull request_ (Rich Trott) #39384 - [
eb12e4ccfb
] - doc: make minor edits to pull request text (Rich Trott) #39383 - [
ab0bf4fa1a
] - doc: add docker-node and build-wg issue contents (Daniel Bevenius) #39215 - [
8438e8bf33
] - doc: add instructions for core vuln files (Daniel Bevenius) #39220 - [
c3cfefc2d3
] - doc: standardize on not capitalizing _collaborator_ (Rich Trott) #39379 - [
672023f9f2
] - doc: update mailmap and deduplicate AUTHORS entry (Rich Trott) #39391 - [
baaa397e39
] - doc: update AUTHORS (Rich Trott) #39367 - [
f39d93a428
] - doc: move jdalton to emeritus (Rich Trott) #39380 - [
0b1ce72d64
] - doc: edit guide on pull requests (Rich Trott) #39359 - [
6f0b3a20d1
] - doc: add text about moving long commit lists out of MR description (Danielle Adams) #39186 - [
9d43ce3b80
] - doc: do not use & for "and" in text (Rich Trott) #39345 - [
25c104f21f
] - doc: update AUTHORS (Rich Trott) #39277 - [
b47b47930c
] - doc: put information about the past in details tags (Rich Trott) #39321 - [
5eafc3afa8
] - doc: move AndreasMadsen to emeritus (Rich Trott) #39315 - [
fbf658f1d5
] - doc: move ofrobots to collaborator emeritus (Rich Trott) #39307 - [
fc7d714149
] - doc: simplify CRAN mirror text in benchmark guide (Rich Trott) #39287 - [
22f0b7e0d0
] - doc: use "repository" instead of "repo" in onboarding.md (Rich Trott) #39286 - [
f46ae3ffb6
] - doc: update collaborator email address (Rich Trott) #39263 - [
8c569cef88
] - doc: remove GitHub mark (Rich Trott) #39251 - [
b4a0c5a384
] - doc: remove emailing the TSC from offboarding doc (Rich Trott) #39280 - [
a4d70ff0cc
] - doc: use "repository" in guides versus repo (Michael Dawson) #39198 - [
31163ed9ee
] - doc: update Node-api version matrix (Michael Dawson) #39197 - [
9357547519
] - doc: update node-api support matrix (Michael Dawson) #38424 - [
f08e9d5230
] - doc: remove onboarding-extras (Rich Trott) #39252 - [
6466faf26d
] - doc: move Sam Ruby to emeritus (Rich Trott) #39264 - [
06acbf6453
] - doc: update AUTHORS file (Rich Trott) #39250 - [
9178805653
] - doc: fix color contrast for anchor marks in dark mode (Rich Trott) #39168 - [
c6118b23f7
] - doc: rename datatypes to data types (FrankEntriken) #39209 - [
fdd315918f
] - doc: normalize CSS variable names and indentation (Rich Trott) #39199 - [
9c7c44781c
] - doc: use more consistent formatting for deprecations (Rich Trott) #39218 - [
c97ebd7905
] - doc: update AUTHORS (Rich Trott) #39217 - [
c4a3a24848
] - doc: use "pull request" instead of "MR" in packages.md (Rich Trott) #39213 - [
0d098bfaf0
] - doc: move v8.stopCoverage() to expected location in doc (Rich Trott) #39212 - [
bd6af78749
] - doc: move vm.measureMemory() to expected location in doc (Rich Trott) #39211 - [
7378b84bb8
] - doc: add missing deprecation code (Colin Ihrig) #37147 - [
2f6861ca51
] - doc: use ASCII order for md refs (Antoine du Hamel) #39170 - [
fa3909504f
] - doc: add cc oss-security@lists.openwall.com (Daniel Bevenius) #39191 - [
52105acd5f
] - doc: remove instructions for unsupported Node.js versions (Rich Trott) #39185 - [
eb2d75da16
] - doc: remove obsolete cc recommendations (Rich Trott) #39181 - [
4cf17edd03
] - doc: use "repository" in maintaining-V8 doc (Rich Trott) #39179 - [
d6a4f8aac9
] - doc: fix broken link in errors.md (Rich Trott) #39200 - [
82458b30fe
] - doc: correct JavaScript primitive value names in n-api.md (legendecas) #39129 - [
2629979fd0
] - doc: apply logical ordering to CSS variables (Rich Trott) #39169 - [
1996580b06
] - doc: use repository instead of repo (Rich Trott) #39157 - [
74ba115ab6
] - doc: fixEventTarget.dispatchEvent
docs (Rohan Sharma) #39127 - [
2884d9094d
] - doc: update AUTHORS file (Rich Trott) #39082 - [
d069c725b1
] - doc: fix napi_default_property name (Davidson Francis) #39104 - [
1b74d3f775
] - doc: fix dead links in packages.md (Michaël Zasso) #39113 - [
0c2b5a048d
] - doc: clearify that http does chunked encoding itself (Mao Wtm) #28379 - [
d0d731e271
] - doc: add descriptions about whenoptions.mode
is ignored (Ray) #39881 - [
898db5a570
] - doc: add code example tofs.truncate
method (Juan José Arboleda) #39454 - [
05d7460747
] - doc: add annotation to writeFiledata
asObject
(Jacob) #39167 - [
2ef61b987d
] - doc: fix constants usage in fs.access example (Cyrille Bourgois) #39289 - [
b2c533ea1d
] - doc: remove unnecessary module format comments (Rich Trott) #39219 - [
e8355c47d2
] - doc: remove file name from self-reference links (Antoine du Hamel) #39165 - [
f799c4617e
] - doc: useawait
in filehandle.truncate() snippet (RA80533) #38939 - [
e7f3f0d778
] - doc: update abort signal in fs promise api example (Moritz Kneilmann) #38669 - [
a44219d979
] - doc: add documentation for fs.WriteStream.close() (Hitesh Sharma) #38610 - [
c3ae1cfbab
] - doc: fix fs.openSync() signature (Luigi Pinca) #38591 - [
23a8aed3f9
] - doc: typo stats() should be stat(); clarity (Bryan Field) #38541 - [
9fe46ea0fd
] - doc: fix broken AHAFS link in fs doc (Rich Trott) #38534 - [
7a92c3cfd4
] - doc: clarify that fs.Dir async iterator closes automatically (James M Snell) #38438 - [
b819848487
] - doc: remove superfluous await from fsPromises.readdir example (Michael Rommel) #38293 - [
9fa7dcf9df
] - doc: fix missing backtick in fs.md (Siddharth) #38260 - [
4cf4ee99dc
] - doc: fix typo in fs.md (Antoine du Hamel) #38100 - [
f9d36cbf42
] - doc: fix typos in /doc/api/fs.md (Merlin Luntke) #37557 - [
bbcc2171c5
] - doc: fix typo "director" instead of "directory" (humanwebpl) #37523 - [
67ac6b3b66
] - doc: fix "referred to" in fs docs (Tobias Nießen) #37388 - [
3b9fa2412f
] - doc: change "Version 4 UUID" to "version 4 UUID" (Tobias Nießen) #39682 - [
3d26572773
] - doc: add point to ask H1 reporter about credit (Daniel Bevenius) #39585 - [
469190d13c
] - doc: move util.toUSVString() outside of deprecated group (Luigi Pinca) #39840 - [
f509788850
] - doc: fix lint error in modules.md (Rich Trott) #37811 - [
a7833c7ce6
] - doc: refactor signal info in child_process.md (Darshan Sen) #37528 - [
f5b2fe1204
] - doc: change lang info string in fs JS snippets (Antoine du Hamel) #37605 - [
307c1d817f
] - doc: refactor fs docs structure (Michaël Zasso) #37170 - [
298a16a2e7
] - doc: update emitClose default for fs streams (Kevin Locke) #36653 - [
0c469b3f77
] - doc: revise process.memoryUsage() text (Rich Trott) #36757 - [
1ebe7d70ea
] - doc: fix punctuation in v8.md (Rich Trott) #36192 - [
591a05b637
] - doc: add link for v8.takeCoverage() (Rich Trott) #36135 - [
e5fe3164f3
] - doc: add YAML metadata for process.memoryUsage.rss (Gerhard Stoebich) #36781
Other commits
- [
ab66dabbf2
] - doc,meta: update email addresses for misterdjules (Rich Trott) #39433 - [
c6ccd97fe2
] - doc,tools: removecheckLinks.mjs
(Antoine du Hamel) #39206 - [
8f8f528f08
] - meta: add gyp as owner of gyp files and tools/gyp (Mary Marchini) #34847 - [
4b2eee5232
] - meta: consolidate AUTHORS entries for ooHmartY (Rich Trott) #39705 - [
6916a6c2b0
] - meta: consolidate AUTHORS entries for homosaur (Rich Trott) #39705 - [
b65a635c8a
] - meta: consolidate AUTHORS entries for Ayase-252 (Rich Trott) #39705 - [
e86b59cf4c
] - meta: consolidate AUTHORS entries for robin-drexler (Rich Trott) #39705 - [
1eda8442bd
] - meta: consolidate AUTHORS entries for samshull (Rich Trott) #39705 - [
cd67d86572
] - meta: update AUTHORS (Rich Trott) #39705 - [
bb06282a9e
] - meta: consolidate email addresses for MarshallOfSound (Rich Trott) #39651 - [
12fe34eae4
] - meta: consolidate email addresses for tadjik1 (Rich Trott) #39651 - [
4301e252b4
] - meta: consolidate email addresses for szmarczak (Rich Trott) #39651 - [
3e8fc49730
] - meta: update AUTHORS (Rich Trott) #39636 - [
60f41c34dd
] - meta: simplify mailmap (Rich Trott) #39612 - [
fc9c680260
] - meta: consolidate emails for tadhgcreedon (Rich Trott) #39611 - [
d87fcf9959
] - meta: consolidate emails for timcosta (Rich Trott) #39611 - [
fdbe97849b
] - meta: consolidate emails for timruffles (Rich Trott) #39611 - [
b9f2ea92e9
] - meta: update AUTHORS (Rich Trott) #39629 - [
472cf1520e
] - meta: add mailmap entry for ryzokuken (Rich Trott) #39596 - [
ae3f8b1eda
] - meta: add mailmap entry for uttampawar (Rich Trott) #39596 - [
2a2d8ebd90
] - meta: add mailmap entry for dmabupt (Rich Trott) #39596 - [
030036ec92
] - meta: align README/.mailmap/AUTHORS email entries (Rich Trott) #39505 - [
fd2146be91
] - meta: add mailmap entry for garygsc (Rich Trott) #39588 - [
0833e2d9cb
] - meta: add mailmap entry for ttzztztz (Rich Trott) #39588 - [
1fbc19ee32
] - meta: update AUTHORS (Rich Trott) #39587 - [
2d6428665d
] - meta: update .mailmap to remove duplication in AUTHORS (Rich Trott) #39561 - [
6c4febd701
] - meta: add .mailmap entries to remove AUTHORS duplicates (Rich Trott) #39560 - [
1755f49a20
] - meta: add .mailmap entry to remove duplication in AUTHORS (Rich Trott) #39559 - [
fdcc5729d9
] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521 - [
27e9a44852
] - meta: update collaborator email in README (Rich Trott) #39521 - [
5e1c49ff0f
] - meta: update collaborator email in AUTHORS/.mailmap (Rich Trott) #39521 - [
fbecae169e
] - meta: move gdams to emeritus (Rich Trott) #39539 - [
48ec33f1b8
] - meta: update collaborator email in README (Rich Trott) #39510 - [
f269df31ea
] - meta: remove unneeded .mailmap entry (Rich Trott) #39512 - [
b0c1aab28d
] - meta: update email address for collaborator (Rich Trott) #39511 - [
5f4935292a
] - meta: align collaborator name in .mailmap/AUTHORS with README (Rich Trott) #39489 - [
1b2078c912
] - meta: align email address in README/.mailmap/AUTHORS (Rich Trott) #39503 - [
2f816bf24b
] - meta: revise .mailmap for README consistency (Rich Trott) #39457 - [
1302a911f5
] - meta: alphabetize .mailmap file (Rich Trott) #39434 - [
55322c0260
] - meta: align collaborator email in .mailmap/AUTHORS with README (Rich Trott) #39478 - [
83f5cc0bd4
] - meta: update AUTHORS (Rich Trott) #39461 - [
69b56a3fe9
] - meta: add .mailmap entry for new email for existing contributor (Rich Trott) #39431 - [
2f325c946f
] - meta: use form schema for bug report template (Michaël Zasso) #39194 - [
9766a99dd2
] - meta: add @nodejs/actions as CODEOWNERS (Mary Marchini) #39119 - [
007f9a0e36
] - test: fix test-vm-memleak for high baseline platforms (Rich Trott) #38062 - [
0fabd8e755
] - test: fix flaky test-vm-memleak (Rich Trott) #38054 - [
64fb928ec7
] - test: fix flaky test-child-process-exec-abortcontroller-promisified (Antoine du Hamel) #37572 - [
e660892f1a
] - test: use simplfied validator (voltrexmaster) #39753 - [
779417f97e
] - test: use template to concatenate string (Himadri Ganguly) #39621 - [
a61076042d
] - test: deflake test-http2-buffersize (Luigi Pinca) #39591 - [
68ef265c39
] - test: convert anonymous function to arrow function (Himadri Ganguly) #39604 - [
78db43c9e7
] - test: add test-debugger-breakpoint-exists (Rich Trott) #39570 - [
5696bcf715
] - test: fix WASI link test (Richard Lau) #39485 - [
0b564a6d40
] - test: add test for WebSocket secret verification in debugger (Rich Trott) #39357 - [
831f266d6f
] - test: put common lint exceptions into config file (Rich Trott) #39358 - [
d8066f5325
] - test: mark test-domain-error-types flaky (James M Snell) #39369 - [
c915a1bd04
] - test: remove eslint-disable comment from fixture file (Rich Trott) #39320 - [
1eb8307cc5
] - test: move debugger test case to parallel (Rich Trott) #39300 - [
546202364c
] - test: remove debugger workaround for AIX (Rich Trott) #39296 - [
e12164e88d
] - test: fix test-debugger-heap-profiler for workers (Richard Lau) #39687 - [
a45bf2f1a0
] - test: use common.PORT instead of hardcoded port number (Rich Trott) #39298 - [
9b737ebd4b
] - test: add test for debugger restart message issue (Rich Trott) #39273 - [
68523894ab
] - test: remove workaround code in debugger test (Rich Trott) #39238 - [
2cd414147b
] - test: move test-debugger-address to parallel (Rich Trott) #39236 - [
a2e4020e4b
] - test: prepare for consistent comma-dangle lint rule (Rich Trott) #37930 - [
62b439e04d
] - test: replace "inspector-cli" with "debugger" (Rich Trott) #39156 - [
f13a302d23
] - test: improve coverage of stream.Readable (Rongjian Zhang) #38702 - [
f3d2e6ac29
] - test: add tests forbound apply
variants of varargsprimordials
(ExE Boss) #37005 - [
f70fd00fb3
] - test: use localhost test instead of connecting to remote (Adam Majer) #39011 - [
c4ff5e4a7e
] - test: update error message keywords (leeight) #39826 - [
922dacebfb
] - test: increase coverage for Blob (ZiJian Liu) #38515 - [
c6ab19895d
] - test: account for OOM risks in heapsnapshot-near-heap-limit tests (Joyee Cheung) #37761 - [
971d5be57c
] - test: split heap snapshot limit tests (Rich Trott) #37189 - [
815d59a7b3
] - test: fix test-memory-usage.js for IBMi (Rich Trott) #36758 - [
aa5309c33f
] - test: increase coverage for net/blocklist (Zijian Liu) #36405 - [
f3be3ec417
] - test: check mustCall errors in test-fs-read-type (Tobias Nießen) #36914 - [
b643fe7edf
] - test: use faster variant for rss (Pooja D P) #36839 - [
d4362db111
] - test: use faster variant for rss in test-crypto-dh-leak (Pooja D P) #36766 - [
3094ef967a
] - test: use faster variant for rss in test-vm-memleak.js (Pooja D P) #36769 - [
ff7879b41e
] - test: use faster variant for rss test-memoryusage-emfile (Pooja D P) #36768 - [
d39200c7f4
] - tools: make utils.SearchFiles Python2-compatible (Michaël Zasso) #40020 - [
55493f2011
] - tools: update workflow to open a pull request (Rich Trott) #39825 - [
417a3ac474
] - tools: use find-inactive-collaborators to modify README.md (Rich Trott) #39825 - [
e9b1a006a1
] - tools: fix markdown linting (Rich Trott) #39832 - [
67f1bff657
] - tools: update markdown linter dependencies and move to ESM (Antoine du Hamel) #39801 - [
67c5921e8a
] - tools: update rollup to latest version in markdown linter (Rich Trott) #39797 - [
64714b429a
] - tools: update markdown lint dependencies (Rich Trott) #39770 - [
de9461168a
] - tools: bump remark-preset-lint-node to 3.0.0 (Rich Trott) #39755 - [
dfdf6c7317
] - tools: update markdown linter rules (Rich Trott) #38384 - [
f8fee449f7
] - tools: update path-parse in markdown linter package-lock file (Rich Trott) #39729 - [
a338c0e07b
] - tools: fix more build warnings in inspector_protocol (Richard Lau) #39725 - [
09630cf199
] - tools: cherry-pickffb34b6
(Darshan Sen) #39725 - [
26a067e33e
] - tools: update inspector_protocol toe8ba1a7
(Rich Trott) #39694 - [
9847d58feb
] - tools: update inspector_protocol to39ca567
(Rich Trott) #39694 - [
6870bb7505
] - tools: update inspector_protocol to97d3146
(Rich Trott) #39694 - [
383fa01e97
] - Revert "tools: fix compiler warning in inspector_protocol" (Rich Trott) #39694 - [
b95a759c86
] - tools: update inspector_protocol toa53e96d
(Rich Trott) #39694 - [
ad39687422
] - tools: update inspector_protocol tofe0467f
(Rich Trott) #39694 - [
78de83cc74
] - tools: improve error detection in find-inactive-collaborators (Rich Trott) #39617 - [
a5152a0875
] - tools: flag README/mailmap mismatches in find-inactive-collaborators (Rich Trott) #39477 - [
87c5332f89
] - tools: use mailmap for find-inactive-collaborators (Rich Trott) #39432 - [
f75224f1ce
] - tools: email matchin is case insensitive for .mailmap (Rich Trott) #39430 - [
dfb77a581f
] - tools: make internal link checker more robust (Rich Trott) #39429 - [
d2c0da20a0
] - tools: added remark-frontmatter (Ben Halverson) #38717 - [
cec04821aa
] - tools: change commit fetch limiting in find-inactive-collaborators (Rich Trott) #39362 - [
d948148498
] - tools: use Node.js 16.x for GitHub workflow (Rich Trott) #39362 - [
edc5791b5a
] - tools: add GitHub Action to run find-inactive-collaborators.mjs (Rich Trott) #39335 - [
d86d37bc9e
] - tools: relax max-len lint rule for template strings (Rich Trott) #38097 - [
f467e2a0c5
] - tools: pass bot token to node-pr-labeler (Michaël Zasso) #39271 - [
61ec594609
] - tools: add find-inactive-collaborators.js (Rich Trott) #39262 - [
ff0ca11521
] - tools: update path-parse to 1.0.7 (Rich Trott) #39232 - [
b8fb75121b
] - tools: remove unusedlint-pr-commit-message.sh
(Richard Lau) #39120 - [
e7761b627f
] - tools: apply consistent comma-dangle lint rule (Rich Trott) #37930 - [
315eba7789
] - tools: make comma-dangle ESLint rule more stringent … (Rich Trott) #37088 - [
3ecfe9d7ee
] - tools: update remark-preset-lint-node to 2.4.1 (Rich Trott) #39201 - [
70e527c0c7
] - tools: upgradehighlight.js
to version 11.0.1 (Antoine du Hamel) #39032 - [
7b2bebba7a
] - tools: add support for import assertions in linter (Antoine du Hamel) #39924 - [
1353a6e22f
] - tools: update ESLint to 7.32.0 (Luigi Pinca) #39602 - [
509f26549c
] - tools: update ESLint to 7.31.0 (Colin Ihrig) #39424 - [
f0e0c8f720
] - tools: update ESLint to 7.30.0 (Colin Ihrig) #39242 - [
6540c271e4
] - tools: update @babel/eslint-parser to 7.14.7 (Rich Trott) #39160 - [
d7e2318e74
] - tools: add ESLint rule no-array-destructuring (Antoine du Hamel) #36818 - [
87e5429334
] - tools,doc: fix error message for unrecognized type (Antoine du Hamel) #39221 - [
f206af679c
] - typings: add a few JSDoc typings for the net lib module (nerdthatnoonelikes) #38953 - [
d458cd7e2b
] - typings: add JSDoc typings for timers (Voltrex) #38834
v14.17.6
This is a security release.
Notable Changes
These are vulnerabilities in the node-tar, arborist, and npm cli modules which are related to the initial reports and subsequent remediation of node-tar vulnerabilities CVE-2021-32803 and CVE-2021-32804. Subsequent internal security review of node-tar and additional external bounty reports have resulted in another 5 CVE being remediated in core npm CLI dependencies including node-tar, and npm arborist.
You can read more about it in:
Commits
- [
5b3f70bfb5
] - deps: update archs files for OpenSSL-1.1.1l (Richard Lau) #39868 - [
71372625ae
] - deps: upgrade openssl sources to 1.1.1l (Richard Lau) #39868 - [
4276984803
] - deps: upgrade npm to 6.14.15 (Darcy Clarke) #39856
v14.17.5
This is a security release.
Notable Changes
-
CVE-2021-3672/CVE-2021-22931: Improper handling of untypical characters in domain names (High)
- Node.js was vulnerable to Remote Code Execution, XSS, application crashes due to missing input validation of hostnames returned by Domain Name Servers in the Node.js DNS library which can lead to the output of wrong hostnames (leading to Domain Hijacking) and injection vulnerabilities in applications using the library. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22931.
-
CVE-2021-22940: Use after free on close http2 on stream canceling (High)
- Node.js was vulnerable to a use after free attack where an attacker might be able to exploit memory corruption to change process behavior. This release includes a follow-up fix for CVE-2021-22930 as the issue was not completely resolved by the previous fix. You can read more about it at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22940.
-
CVE-2021-22939: Incomplete validation of rejectUnauthorized parameter (Low)
- If the Node.js HTTPS API was used incorrectly and "undefined" was in passed for the "rejectUnauthorized" parameter, no error was returned and connections to servers with an expired certificate would have been accepted. You can read more about it at https://nvd.nist.gov/vuln/detail/CVE-2021-22939.
Commits
- [
4923b59e0b
] - deps: update c-ares to 1.17.2 (Beth Griggs) #39724 - [
847a4c6a8a
] - deps: reflect c-ares source tree (Beth Griggs) #39653 - [
33208e2f89
] - deps: apply missed updates from c-ares 1.17.1 (Beth Griggs) #39653 - [
af5c1af9a4
] - http2: add tests for cancel event while client is paused reading (Akshay K) #39622 - [
434872e838
] - http2: update handling of rst_stream with error code NGHTTP2_CANCEL (Akshay K) #39622 - [
35b86110e4
] - tls: validate "rejectUnauthorized: undefined" (Matteo Collina) nodejs-private/node-private#276
v14.17.4
This is a security release.
Notable Changes
-
CVE-2021-22930: Use after free on close http2 on stream canceling (High)
- Node.js is vulnerable to a use after free attack where an attacker might be able to exploit the memory corruption, to change process behavior. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930
This releases also fixes some regressions with internationalization introduced by the ICU updates in Node.js 14.17.0 and 14.17.1.
Commits
- [
86477b2b53
] - benchmark: output JSON-compatible numbers (Michaël Zasso) #38778 - [
f9693cf0a0
] - benchmark: fix http elapsed time (Antoine du Hamel) #38743 - [
1ab4f81abc
] - build: fix building with external builtins (Momtchil Momtchev) #39091 - [
a657f250f1
] - build: reconfigure when gyp files change on Windows (Joyee Cheung) #39066 - [
6962c647d6
] - Revert "build: work around bug in MSBuild v16.10.0" (Michaël Zasso) #38977 - [
069cf59e56
] - build: make build-addons errors fail the build (Richard Lau) #38983 - [
d341561ae0
] - build: fix commit-queue default branch (Mary Marchini) #38998 - [
0736dd833a
] - build: don't pass python override to V8 build (Richard Lau) #38969 - [
49a000683a
] - build: correct Xcode spelling in .gitignore (bl-ue) #38895 - [
1ffbe3d5da
] - build: remove outdated dont-land-on-v6.x label (Michaël Zasso) #38886 - [
7f53a0b349
] - build: add lto build to CI (Jiawen Geng) #38567 - [
a6f8ba8f0c
] - build: allow LTO with Clang 3.9.1+ (Jesse Chan) #38751 - [
b5b1d1fb79
] - build: replace non-POSIX test -a|o (Issam E. Maghni) #38731 - [
fc2b1ec308
] - child_process: refactor to usevalidateBoolean
(Qingyu Deng) #38927 - [
55ea29eedd
] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728 - [
716ee1531c
] - debugger: rename internal library for clarity (Rich Trott) #39080 - [
b7ee9d8287
] - debugger: use ERR_DEBUGGER_STARTUP_ERROR in _inspect.js (Rich Trott) #39024 - [
5d4d23dcf3
] - debugger: use error codes in debugger REPL (Rich Trott) #39024 - [
a3991d7c18
] - debugger: use ERR_DEBUGGER_ERROR in debugger client (Rich Trott) #39024 - [
052e1c5385
] - debugger: removed unused function argument (Rich Trott) #38850 - [
f9a4dcb30c
] - debugger: refactorinspect_repl
to use primordials (Antoine du Hamel) #38551 - [
ad8056659f
] - debugger: refactor to use internal modules (Antoine du Hamel) #38550 - [
b5724a1984
] - debugger: disable only the lint rules required by current file state (Rich Trott) #38529 - [
34659f2b7a
] - debugger: avoid non-ASCII char in code file (Rich Trott) #38529 - [
ae90756582
] - debugger: wrap lines longer than 80 chars (Rich Trott) #38529 - [
b30ff35a36
] - debugger: align message with Node.js standard (Rich Trott) #38400 - [
d74d67f207
] - debugger: remove unnecessary boilerplate copyright comment (Rich Trott) #38952 - [
e58f938ab3
] - debugger: enable linter oninternal/inspector/inspect_client
(Antoine du Hamel) #38417 - [
249acd5e69
] - debugger: reduce scope of eslint disable comment (Rich Trott) #38946 - [
0ef5e088c0
] - debugger: revise async iterator usage to comply with lint rules (Rich Trott) #38847 - [
79bfb0416b
] - debugger: wait for V8 debugger to be enabled (Michaël Zasso) #38811 - [
721edeffd3
] - debugger: refactorinternal/inspector/_inspect
to use more primordials (Antoine du Hamel) #38406 - [
21ecee1b4b
] - debugger: add usage example for--port
(Rafael Gonzaga) #38400 - [
cde72213d1
] - Revert "debugger: rename internal library for clarity" (Antoine du Hamel) #39446 - [
4c2b813799
] - debugger: rename internal library for clarity (Rich Trott) #39080 - [
61da371251
] - debugger: apply automatic lint fixes for inspect_repl.js (Rich Trott) #38411 - [
8dd1f70fe3
] - debugger: apply automatic lint fixes for _inspect.js (Rich Trott) #38411 - [
fb0ab4c034
] - debugger: removed unused function argument (Rich Trott) #38850 - [
9e28c6c946
] - debugger: fix race condition/deadlock on initialization (Rich Trott) #38161 - [
a8924fa0fb
] - debugger: replace internal use of deprecated API (Rich Trott) #38161 - [
22afb7cbe6
] - debugger: allow longer time to connect (Rich Trott) #38161 - [
b172e6f436
] - debugger: accommodate line chunking in Windows (Rich Trott) #38161 - [
1da692185a
] - debugger: fix inspect restart on Windows (Rich Trott) #38161 - [
0321c5b194
] - debugger: remove unused code (Rich Trott) #38161 - [
8bd2a3926a
] - debugger: move node-inspect to internal library (Rich Trott) #38161 - [
acf5279c39
] - deps: upgrade npm to 6.14.14 (Darcy Clarke) #39553 - [
4efefe02a8
] - deps: V8: backportae7bfb3
(Michaël Zasso) #39051 - [
5039f21396
] - deps: V8: backport16ffec9
(Michaël Zasso) #39051 - [
9b69069f71
] - deps: V8: cherry-pickb0a7f56
(Michaël Zasso) #39051 - [
4213e97d26
] - deps: V8: cherry-pick81181a8
(thomasmichaelwallace) #39187 - [
ccecea5f72
] - deps: restore minimum ICU version to 65 (Richard Lau) #39068 - [
7557e74cf4
] - deps: V8: update build dependencies (Michaël Zasso) #39244 - [
a60a960406
] - deps: V8: cherry-pick8959494
(Michaël Zasso) #39244 - [
7fdd6ecbb4
] - deps: V8: cherry-pick0b3a4ec
(Michaël Zasso) #39244 - [
4be2e878b7
] - deps: V8: cherry-pick7c182bd
(Michaël Zasso) #39244 - [
a83b01a4af
] - deps: V8: cherry-pick92e6d33
(Michaël Zasso) #39244 - [
17eb561184
] - deps: V8: backport1b1eda0
(Michaël Zasso) #39244 - [
04032fa1a3
] - doc: remove references to deleted freenode channels (devsnek) #39047 - [
797bd73849
] - doc: add missing parameter types (Voltrex) #39013 - [
e474e984e5
] - doc: clarify that only one Python version is required to build (bl-ue) #38894 - [
cd48ee71d9
] - doc: fixed typo in process.md (Derevianchenko Maksym) #38941 - [
41fcbad2b2
] - doc: add missing semis after classes (Darshan Sen) #38931 - [
b40529643b
] - doc: mark util.inherits as legacy (Voltrex) #38896 - [
b2d836b1ea
] - doc: clarify whenreadable._read(...)
is called (Shaun Keys) #38726 - [
e36d2a6d6a
] - doc: fixed typo in n-api.md (julianjany) #38822 - [
b4f60bb523
] - doc: use "Long Term Support" in collaborator guide (Rich Trott) #38841 - [
7a9850a5fb
] - doc: use "Long Term Support" in technical values doc (Rich Trott) #38841 - [
dfe9698db0
] - doc: use "Long Term Support" in README (Philip) #38839 - [
8699e622fc
] - doc: fix grammar infs.md
(yotamselementor) #38818 - [
826ae9b2e2
] - doc: fixup code sample in http.md (TodorTotev) #38776 - [
8049b69b7f
] - doc: document null target pattern (Guy Bedford) #38724 - [
4d9129eb71
] - doc: update code examples fornode:url
module (fisker Cheung) #38645 - [
2ff671e4c4
] - doc,url: clarify domainTo* when built without ICU (Darshan Sen) #38789 - [
9b993edca8
] - errors: add ERR_DEBUGGER_STARTUP_ERROR (Rich Trott) #39024 - [
cfccf13e84
] - errors: add ERR_DEBUGGER_ERROR (Rich Trott) #39024 - [
bb9a9adc2b
] - errors: don't rekey on primitive type (Benjamin Coe) #39025 - [
d48b91ea2b
] - http2: on receiving rst_stream with cancel code add it to pending list (Akshay K) #39423 - [
d8cc2fffd6
] - lib: add primordials.SafeArrayIterator (Antoine du Hamel) #36532 - [
e3223edb89
] - lib: harden lint checks for globals (Antoine du Hamel) #38419 - [
d4f96bb926
] - lib: enforce usingprimordials.globalThis
instead ofglobal
(Antoine du Hamel) #38230 - [
ea9003a559
] - lib: addglobalThis
to primordials (Antoine du Hamel) #38211 - [
097a7874d3
] - lib: remove semicolon in preparation for babel/eslint-parser update (Rich Trott) #39094 - [
199fe32cbc
] - lib: make internal/options lazy (Joyee Cheung) #38993 - [
2bc2a232af
] - lib: add JSDoc typings for child_process (Voltrex) #38222 - [
b0a1984d4d
] - lib: fix typos (bl-ue) #38846 - [
6c061d5f2c
] - meta: update label-pr-config (Michaël Zasso) #38950 - [
afb61786b9
] - module: fix legacynode
specifier resolution to resolve"main"
field (Antoine du Hamel) #38979 - [
cd3305a9e4
] - node-api: avoid SecondPassCallback crash (Michael Dawson) #38899 - [
e7f266e93d
] - src: use SPrintF in ProcessEmitWarning (Darshan Sen) #38758 - [
43fe6c1d27
] - src: cleanup uv_fs_t regardless of success or not (legendecas) #38996 - [
dcfb182546
] - src: refactor to use locale functions (Darshan Sen) #39014 - [
bee477b000
] - src: throw error in LoadBuiltinModuleSource when reading fails (Joyee Cheung) #38904 - [
ff7cc8f9ef
] - src: add not-weak DCHECK to PersistentToLocal::Strong (Anna Henningsen) #38875 - [
981217e48a
] - src: replaceauto
s in node_api.cc (Khaidi Chu) #38852 - [
73e199d963
] - src: fix typos (bl-ue) #38845 - [
2d32031724
] - src: use HandleScope in StreamReq::Done() (Darshan Sen) #38720 - [
2c11d3ec0a
] - src: remove commented code innode_file.cc
(Juan José Arboleda) #38693 - [
846a138f54
] - src: write named pipe info in diagnostic report (legendecas) #38637 - [
7d82200861
] - src: replaceauto
s in node_contextify.cc (Khaidi Chu) #38644 - [
51da7d2048
] - src,url: separate some tables out of node_url.cc (Khaidi Chu) #38988 - [
45c2ea3b72
] - test: add NumberFormat resolvedOptions test (Richard Lau) #39401 - [
6b2fea38d1
] - test: move inspector-cli tests to sequential (Rich Trott) #39079 - [
6447cab7be
] - test: improve buffer coverage (Rongjian Zhang) #38538 - [
6f1862eab3
] - test: fix name of variable in inspector-cli test (Tobias Nießen) #38869 - [
40093504bc
] - test: fix typo (Houssem Chebab) #39045 - [
ab28f9b9a1
] - test: remove obsolete TLS test (Rich Trott) #39001 - [
b3b59953fe
] - test: improve coverage of lib/events.js (Rongjian Zhang) #38582 - [
c99a09f05f
] - test: http outgoing _headers setter null (ycjcl868) #38881 - [
660a97b1d5
] - test: suppress warning in test_environment.cc (Daniel Bevenius) #38868 - [
0cca16ac4c
] - test: improve coverage of fs internal utils (Rongjian Zhang) #38746 - [
fecad40f27
] - test: fix writefile with fd (Nitzan Uziely) #38820 - [
01f00faaa8
] - test: simplify test-path-resolve.js (himself65) #38671 - [
504bfd7a88
] - test: improve coverage forquestion
in readline (Qingyu Deng) #38799 - [
eb91932e77
] - test: os, replace custom flatten method with built-in Array.flat (Wael Almattar) #38770 - [
aeea252b96
] - test: improve coverage of lib/_http_outgoing.js (Rongjian Zhang) #38734 - [
e265d8ee1b
] - test: give js-native-api tests consistent names (Gabriel Schulhof) #38692 - [
99fd8bfc6a
] - test: fix flaky inspector-cli tests when breakpionts are restored (Rich Trott) #38431 - [
4d3a1fad28
] - test: extend timeout on debugger tests for slower machines (Rich Trott) #38161 - [
dd2642b5db
] - test: fix comment typo (Rich Trott) #38161 - [
193ea8fd91
] - test: fix test-inspector-cli-address (Rich Trott) #38161 - [
a62826bbe6
] - test,debugger: migrate node-inspect tests to core (Rich Trott) #38161 - [
ab45ace9bd
] - tools: update babel-eslint-parser to 7.14.5 (Rich Trott) #39094 - [
b8e63b3c08
] - tools: update ESLint to 7.29.0 (Rich Trott) #39083 - [
54a250e79c
] - tools: update doctool dependencies, migrate to ESM (Michaël Zasso) #38966 - [
443db64eed
] - tools: avoid crashing CQ when git push fails (Antoine du Hamel) #36861 - [
547f88b149
] - tools: fix typo in commit-queue.sh (bl-ue) #39000 - [
1023433a81
] - tools: update ESLint to 7.28.0 (Luigi Pinca) #38955 - [
9b4ae8fbb0
] - tools: bump remark-preset-lint-node to 2.3.0 (Rich Trott) #38910 - [
2ad0719e86
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #38851 - [
b7686d0c1e
] - tools: bump cpplint to 1.5.5 (Rich Trott) #38851 - [
2ec7c9de57
] - tools: remove exception for Node.js 8 and earlier (Rich Trott) #38840 - [
1dc71da302
] - tools: update setup-node to setup-node@v2 (pengjie) #38825 - [
fc219d862c
] - tools: remove node-inspect from license (Rich Trott) #38161 - [
4bb0bd0f0e
] - tools,doc: forbid CJS globals in ESM code snippets (Antoine du Hamel) #38889 - [
58154ce426
] - typings: add JSDoc typings for https (Voltrex) #38589 - [
6ea1368a67
] - typings: add JSDoc typings for events (Voltrex) #38712 - [
b6942a6138
] - url,src: simplify ipv6 logic by using uv_inet_pton (Khaidi Chu) #38842 - [
dd00547ada
] - vm: use missing validator (Voltrex) #38935 - [
2c28e00685
] - worker: do not look up context twice in PostMessage (Anna Henningsen) #38784
v14.17.3
Notable Changes
Node.js 14.17.2 introduced a regression in the Windows installer on non-English locales that is being fixed in this release. There is no need to download this release if you are not using the Windows installer.
Commits
- [
0f00104a2c
] - win,msi: use localized "Authenticated Users" name (Richard Lau) #39241
v14.17.2
This is a security release.
Notable Changes
Vulnerabilities fixed:
-
CVE-2021-22918: libuv upgrade - Out of bounds read (Medium)
- Node.js is vulnerable to out-of-bounds read in libuv's uv__idna_toascii() function which is used to convert strings to ASCII. This is called by Node's dns module's lookup() function and can lead to information disclosures or crashes. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22918
-
CVE-2021-22921: Windows installer - Node Installer Local Privilege Escalation (Medium)
- Node.js is vulnerable to local privilege escalation attacks under certain conditions on Windows platforms. More specifically, improper configuration of permissions in the installation directory allows an attacker to perform two different escalation attacks: PATH and DLL hijacking. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22921
Commits
- [
a7496aba0a
] - deps: uv: cherry-pick99c29c9
(Ben Noordhuis) nodejs-private/node-private#267 - [
d0b449da1d
] - win,msi: set install directory permission (AkshayK) nodejs-private/node-private#269
v14.17.1
Notable Changes
- [
6035492c8f
] - deps: update ICU to 69.1 (Michaël Zasso) #38178 - [
9417fd0bc8
] - errors: align source-map stacks with spec (Benjamin Coe) #37252
Commits
- [
87fa636953
] - assert: refactor to use more primordials (Antoine du Hamel) #36234 - [
cfff3b4462
] - assert: refactor to avoid unsafe array iteration (Antoine du Hamel) #37344 - [
dd18def7db
] - async_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #37125 - [
5f3e96b570
] - async_hooks,doc: replace process.stdout.fd with 1 (Darshan Sen) #38382 - [
f4cb8b8281
] - benchmark: avoid usingconsole.log()
(Antoine du Hamel) #38370 - [
9e4c1f2f2c
] - benchmark: useprocess.hrtime.bigint()
(Antoine du Hamel) #38369 - [
3c886e0ad6
] - buffer: remove TODOs inatob
/btoa
(Khaidi Chu) #38548 - [
c5b86f8c2f
] - buffer: remove unreachable code (Rongjian Zhang) #38537 - [
9ae2a27d44
] - buffer: make FastBuffer safe to construct (Antoine du Hamel) #36587 - [
ff546ff744
] - buffer: refactor to use primordials instead of Array#reduce (Antoine du Hamel) #36392 - [
5acf0a5ba3
] - buffer: refactor to use more primordials (Antoine du Hamel) #36166 - [
52fd42ec46
] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #38873 - [
5df0f35bf6
] - build: add workaround for V8 builds (Richard Lau) #38632 - [
754aa384e0
] - build: remove dependency ondistutils.spawn
(Richard Lau) #38600 - [
5de7e64f3a
] - build: fix make test-npm (Ruy Adorno) #36369 - [
e5fae63108
] - child_process: reduce abort handler code duplication (Rich Trott) #36644 - [
598d2bdf09
] - child_process: treat already-aborted controller as aborting (Rich Trott) #36644 - [
8d7708bdef
] - child_process: refactor to use more primordials (Antoine du Hamel) #36003 - [
b8c4d30e77
] - deps: update to cjs-module-lexer@1.2.1 (Guy Bedford) #38450 - [
6035492c8f
] - deps: update ICU to 69.1 (Michaël Zasso) #38178 - [
51dad8cabb
] - deps: V8: cherry-pick035c305
(Michaël Zasso) #38497 - [
a467125c8d
] - deps: V8: cherry-pickdfcdf78
(Benjamin Coe) #36573 - [
acc9fad2ba
] - deps: V8: cherry-pick86991d0
(Benjamin Coe) #36254 - [
d67827744b
] - deps: V8: cherry-pick530080c
(Milad Fa) #38508 - [
bac9ba4f8a
] - dgram: extract cluster lazy loading method to make it testable (Rongjian Zhang) #38563 - [
f5b2115b76
] - dgram: refactor to use more primordials (Antoine du Hamel) #36286 - [
cd7cf0547a
] - dns: refactor to use more primordials (Antoine du Hamel) #36314 - [
9f67c0852c
] - doc: cleanup events.md structure (James M Snell) #36100 - [
41cfe645c0
] - doc: fix JS flavor selection (Antoine du Hamel) #37791 - [
7c4748b0dc
] - doc: useHEAD
instead ofmaster
for links (Antoine du Hamel) #38518 - [
26426577ff
] - doc: remove import.meta.resolve parent URL type (Kevin Locke) #38585 - [
88055abf19
] - doc: document buffer.kStringMaxLength (Tobias Nießen) #38688 - [
2e8dfee165
] - doc: clarify synchronous blocking of Worker stdio (James M Snell) #38658 - [
212cd5cf05
] - doc: update contact info (Gabriel Schulhof) #38689 - [
fa35c0662b
] - doc: change color of doctag on night mode (Qingyu Deng) #38652 - [
4c67437c53
] - doc: clarify DiffieHellmanGroup class docs (Nitzan Uziely) #38363 - [
e90c60b1e3
] - doc: use AIX instead of Aix in fs.md (Rich Trott) #38535 - [
dc67fec1b4
] - doc: remove extraneous dash from flag prefix (Rodolfo Carvalho) #38532 - [
4c54d81a59
] - doc: document'secureConnect'
event limitation (James M Snell) #38447 - [
839e8d1672
] - doc: mark querystring api as legacy (James M Snell) #38436 - [
a75b7af9bd
] - doc: add arguments for stream event of Http2Server and Http2SecureServer (Qingyu Deng) #37892 - [
cf0007edc4
] - doc: indicate that abort tests do not generate core files (Rich Trott) #38422 - [
945450b5cf
] - doc: add try/catch in http2 respondWithFile example (Matteo Collina) #38410 - [
1f7cd7148a
] - doc: note the system requirements for V8 tests (DeeDeeG) #38319 - [
cd54834854
] - doc: minor clarification to pathObject (James M Snell) #38437 - [
ba117c2c6f
] - doc: document new TCP_KEEPCNT and TCP_KEEPINTVL socket option defaults (Arnold Zokas) #38313 - [
dcdbaffced
] - doc: do not mention TCP in the allowHalfOpen option description (Luigi Pinca) #38360 - [
fe8003e5de
] - doc: update message to match actual output (Rich Trott) #35271 - [
c03f23e126
] - doc: request default snap track be updated for LTS (Rod Vagg) #37708 - [
a9f7aeed12
] - doc: markprocess.hrtime()
as legacy (Antoine du Hamel) #38371 - [
cede0c57b8
] - doc: fix version history for"exports"
patterns (Antoine du Hamel) #38355 - [
9702f22397
] - doc: fixpackage.json
"imports"
field history (Antoine du Hamel) #38356 - [
2d96da875e
] - doc: fix typo in buffer.md (divlo) #38323 - [
6b58f28472
] - doc: add nodejs-sec email template (Daniel Bevenius) #38290 - [
5a532e4725
] - doc: update TSC members list with three new members (Rich Trott) #38352 - [
e994d6a27c
] - doc: usefoo.prototype.bar
notation in buffer.md (Voltrex) #38032 - [
c61f363d66
] - doc: internal/test/binding for testing (Bradley Meck) #38026 - [
0bb6fe31b3
] - doc: add missing events.on metadata (Anna Henningsen) #37965 - [
30c82b2745
] - doc: fix wording in outgoingMessage.write (Tobias Nießen) #37894 - [
932000020a
] - doc: fix grammar errors in http document (Qingyu Deng) #37265 - [
19e8ae44c4
] - doc: add document for http.OutgoingMessage (Qingyu Deng) #37265 - [
a6c123363d
] - doc: remove generated from dsaEncoding description (Marko Kaznovac) #37459 - [
bc6ea63e48
] - doc: document how to register external bindings for snapshot (Joyee Cheung) #37463 - [
2168e954aa
] - doc: document the NO_COLOR and FORCE_COLOR env vars (James M Snell) #37477 - [
2907848fc9
] - doc: clarify event.isTrusted text (Rich Trott) #36827 - [
7efa020892
] - doc: expand openssl instructions (Michael Dawson) #36554 - [
b197a44152
] - doc: document ABORT_ERR code (Benjamin Gruenbaum) #36319 - [
1d80f89442
] - doc: document changes for*/promises
alias modules (ExE Boss) #34002 - [
9417fd0bc8
] - errors: align source-map stacks with spec (Benjamin Coe) #37252 - [
dcd221ce69
] - errors: refactor to use more primordials (Antoine du Hamel) #36651 - [
ee444473e9
] - errors: display original symbol name (Benjamin Coe) #36042 - [
83d28374d6
] - errors: refactor to use more primordials (Antoine du Hamel) #36167 - [
7d7e34c15a
] - errors: refactor to use more primordials (Antoine du Hamel) #35944 - [
18e5c0f3e2
] - events: refactor to use optional chaining (ZiJian Liu) #36763 - [
4fdcbae583
] - events: refactor to use more primordials (Antoine du Hamel) #36304 - [
c4e7dca8f3
] - fs: fix error when writing buffers > INT32_MAX (Zach Bjornson) #38546 - [
07c55d2844
] - Revert "http: make HEAD method to work with keep-alive" (Michaël Zasso) #38949 - [
d8da265c81
] - http2: treat non-EOF empty frames like other invalid frames (Anna Henningsen) #37875 - [
c3bd0fdb73
] - http2: fix setting options before handle exists (Anna Henningsen) #37875 - [
74fe1d8f0c
] - http2: add support for TypedArray to getUnpackedSettings (Antoine du Hamel) #36141 - [
c90f1dbeb3
] - https: refactor to use more primordials (Antoine du Hamel) #36195 - [
8258799472
] - inspector: remove redundant method for connection check (Yash Ladha) #37986 - [
ba19313e1e
] - inspector: refactor to use more primordials (Antoine du Hamel) #36356 - [
eb8f7ee634
] - lib: revert primordials in a hot path (Antoine du Hamel) #38248 - [
cea8b4265c
] - lib: makeIterableWeakMap
safe to iterate (Antoine du Hamel) #38523 - [
490bc58229
] - lib: fix and improve os typings (Akhil Marsonya) #38316 - [
af39df6d03
] - lib: add URI handling functions to primordials (Antoine du Hamel) #37394 - [
16691be80e
] - lib: fix WebIDLobject
and dictionary type conversion (ExE Boss) #37047 - [
47ed512312
] - lib: refactor to use optional chaining in internal/options.js (raisinten) #36939 - [
346fc0ac21
] - lib: support returning Safe collections from C++ (ExE Boss) #36989 - [
8912caba64
] - lib: expose primordials object (Antoine du Hamel) #36872 - [
46c019b988
] - lib: refactor source_map to use more primordials (Antoine du Hamel) #36733 - [
cf9556d8f7
] - lib: refactor source_map to avoid unsafe array iteration (Antoine du Hamel) #36734 - [
6eaf357f49
] - lib: simplifyprimordials.uncurryThis
(ExE Boss) #36866 - [
9338759b01
] - lib: remove v8_prof_polyfill from eslint ignore list (Antoine du Hamel) #36537 - [
c9861a344a
] - lib: remove unused code (Brian White) #36632 - [
01a71dd393
] - lib: refactor to use more primordials in internal/encoding.js (raisinten) #36480 - [
e6c0877604
] - lib: refactor to use primordials in internal/priority_queue.js (ZiJian Liu) #36560 - [
6e3a2ffb98
] - lib: add primordials.SafeStringIterator (Antoine du Hamel) #36526 - [
bf0738bc07
] - lib: make safe primordials safe to construct (Antoine du Hamel) #36428 - [
7ebc18f293
] - lib: make safe primordials safe to iterate (Antoine du Hamel) #36391 - [
e12dbc8519
] - lib: refactor to use more primordials in internal/histogram.js (raisinten) #36455 - [
5daeac64a4
] - lib: add uncurried accessor properties toprimordials
(ExE Boss) #36329 - [
bb4900d9eb
] - lib: refactor primordials.uncurryThis (Antoine du Hamel) #36221 - [
0fbe945ebb
] - lib: refactor to use more primordials (Antoine du Hamel) #36140 - [
24d4d63308
] - lib: add %TypedArray% abstract constructor to primordials (ExE Boss) #36016 - [
e2395b0f3b
] - lib: use Object static properties from primordials (Michaël Zasso) #35380 - [
b3e22e1612
] - lib,tools: enforce access to prototype from primordials (Antoine du Hamel) #36025 - [
e94e0b488e
] - meta: add v8 team (Jiawen Geng) #38566 - [
fcc6a00f1a
] - meta: post comment when pr labeled fast-track (James M Snell) #38446 - [
bd0d9647ca
] - module: clarify CJS global-like variables not defined error message (Antoine du Hamel) #37852 - [
0fdb5d59f7
] - module: refactor NativeModule to avoid unsafe array iteration (Antoine du Hamel) #37656 - [
77c7d979b6
] - module: simplify tryStatSync with throwIfNoEntry option (Antoine du Hamel) #36971 - [
1aae572220
] - module: refactor to use more primordials (Antoine du Hamel) #36348 - [
9e7f166161
] - module: refactor to use more primordials (Antoine du Hamel) #36024 - [
eee1d291cf
] - module: refactor to use iterable-weak-map (Benjamin Coe) #35915 - [
52cbe89f7f
] - net: refactor to use more primordials (Antoine du Hamel) #36303 - [
779ad54078
] - node-api: faster threadsafe_function (Fedor Indutny) #38506 - [
5995221ced
] - node-api: fix shutdown crashes (Michael Dawson) #38492 - [
d8acec4cb1
] - node-api: make reference weak parameter an indirect link to references (Chengzhong Wu) #38000 - [
c442d89ad6
] - os: refactor to use more primordials (Antoine du Hamel) #36284 - [
daeb6fcd78
] - path: inline conditions (Voltrex) #38613 - [
e2f531f646
] - path: refactor to use more primordials (Akhil Marsonya) #37893 - [
c1364d15a2
] - path: refactor to use more primordials (Antoine du Hamel) #36302 - [
726ef40fcb
] - perf_hooks: throw ERR_INVALID_ARG_VALUE if histogram.percentile param is NaN (ZiJian Liu) #36937 - [
4686f4f41b
] - perf_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #36723 - [
6adec6351e
] - perf_hooks: refactor to use more primordials (Antoine du Hamel) #36297 - [
bf9aa425c0
] - policy: refactor to use more primordials (Antoine du Hamel) #36210 - [
0f6c3f76b3
] - querystring: refactor to use more primordials (Antoine du Hamel) #36315 - [
b5b8a996f3
] - readline: refactor to use more primordials (Antoine du Hamel) #36296 - [
cd981808b4
] - repl: document top level await limitation with const/let (James M Snell) #38449 - [
a4eb5571eb
] - repl: display prompt once after error callback (Anna Henningsen) #38314 - [
163fcecb69
] - src: fix multiple AddLinkedBinding() calls (Anna Henningsen) #39012 - [
8809ef98f9
] - src: update cares_wrap OpenBSD defines (Anna Henningsen) #38670 - [
d66f88ce97
] - src: remove extra semi after member fn (Shelley Vohr) #38686 - [
bc2111c7e6
] - src: make workers messaging more resilient (Juan José Arboleda) #38510 - [
378e0e778b
] - src: fix validation of negative offset to avoid abort (James M Snell) #38421 - [
c170026b7b
] - src: use %progbits instead of @progbits (Stephen Gallagher) #38312 - [
d177541b0e
] - src: fix setting Converter sub char length (James M Snell) #38331 - [
e279b029c0
] - src: avoid deferred gc/cleanup for Buffer.from (James M Snell) #38337 - [
006c7b78da
] - src: indent long help text properly (David Glasser) #37911 - [
f5541ddea3
] - src: fix ETW_WRITE_EMPTY_EVENT macro (Michaël Zasso) #37334 - [
6b1052d034
] - src: disable unfixable MSVC warnings (Michaël Zasso) #37334 - [
38afa3fa79
] - src: avoid implicit type conversions (take 2) (Michaël Zasso) #37334 - [
8a60ae2161
] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #38722 - [
78cde14c45
] - src: fix compiler warning in env.cc (Anna Henningsen) #35547 - [
ea311a41cc
] - src: add check against non-weak BaseObjects at process exit (Anna Henningsen) #35490 - [
a1b4681efc
] - src: use transferred consistently (Daniel Bevenius) #36340 - [
29c623e5cb
] - src: fix label indentation (Rich Trott) #36213 - [
dbb0d2612c
] - stream: fix multiple Writable.destroy() calls (Robert Nagy) #38221 - [
a18b1ff80b
] - stream: the position of _read() is wrong (helloyou2012) #38292 - [
ab130e929a
] - stream: only use legacy close listeners if not willEmitClose (Robert Nagy) #36649 - [
c31e2f6b0f
] - stream: fix legacy pipe error handling (Robert Nagy) #35257 - [
1dc4dea215
] - string_decoder: throw ERR_STRING_TOO_LONG for UTF-8 (Michaël Zasso) #36661 - [
0db9101922
] - string_decoder: refactor to use more primordials (Antoine du Hamel) #36358 - [
8a44ee478e
] - test: improve coverage of lib/_http_client.js (Rongjian Zhang) #38599 - [
8a45b85dbd
] - test: improve coverage of lib/os.js (Rongjian Zhang) #38653 - [
d7c6a3eb03
] - test: call functions internally (Voltrex) #38560 - [
726cb48bd8
] - test: complete coverage of querystring (Rongjian Zhang) #38520 - [
4f1ba79eb8
] - test: increase coverage for AbortController (ZiJian Liu) #38514 - [
d98b355336
] - test: run message and pseudo-tty tests in parallel (Richard Lau) #38502 - [
7938af6565
] - test: move test-net-connect-econnrefused from pummel to sequential (Rich Trott) #38462 - [
52f3837518
] - test: fixcommon.mustCall
length
andname
properties (Antoine du Hamel) #38464 - [
fdfb39e692
] - test: address deprecation warning (Rich Trott) #38448 - [
25e5afe3be
] - test: move abort test from pummel to abort directory (Rich Trott) #38396 - [
296b969e0a
] - test: skip some pummel tests on slower machines (Rich Trott) #38394 - [
a9ff9c0918
] - test: add ancestor package.json checks for tmpdir (Richard Lau) #38285 - [
c9ce98c377
] - test: replace function with arrow function and remove unused argument (Andres) #38235 - [
c77abf5a89
] - test: use .test domain for not found address (Richard Lau) #38286 - [
d9eb8b3ed0
] - test: increase fs promise coverage (Emil Sivervik) #36813 - [
d85b70fffa
] - test: increase timeout on ASAN Action (Antoine du Hamel) #37007 - [
836fba52ea
] - test: improve coverage ofSourceTextModule
getters (Juan José Arboleda) #37013 - [
f43fc6b6cc
] - test: improve coverage forModule
getters (Juan José Arboleda) #36950 - [
a45d280c18
] - test: improve coverage on worker threads (Juan José Arboleda) #36910 - [
ec4d79e259
] - test: improve coverage atlib/internal/vm/module.js
(Juan José Arboleda) #36898 - [
c34de75687
] - test: guard large string decoder allocation (Michaël Zasso) #36795 - [
3215a58843
] - test: add already-aborted-controller test for spawn() (Rich Trott) #36644 - [
c3b116795b
] - test: add test for reused AbortController with execfile() (Rich Trott) #36644 - [
219ed0ba4c
] - test: add Actions annotation output (Mary Marchini) #34590 - [
89ee6abae0
] - test: use.then(common.mustCall())
for all async IIFEs (Anna Henningsen) #34363 - [
294b3e60a5
] - test,doc,lib: adjust object literal newlines for lint rule (Rich Trott) #37040 - [
bfe02b8808
] - test,readline: improve tab completion coverage (Antoine du Hamel) #38465 - [
1dc7fd238c
] - timers: fix unsafe array iteration (Darshan Sen) #37223 - [
679973866d
] - timers: reject with AbortError on cancellation (Benjamin Gruenbaum) #36317 - [
dec3610a31
] - timers: refactor to use more primordials (Antoine du Hamel) #36132 - [
d84b05a619
] - timers: cleanup abort listener on awaitable timers (James M Snell) #36006 - [
f6e4dbb779
] - tls: validate ticket keys buffer (Antoine du Hamel) #38308 - [
661e9809bd
] - tls: fix session and keylog add listener segfault (Nitzan Uziely) #38180 - [
de44e90523
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36324 - [
37bc7d5945
] - tools: bump cpplint to 1.5.4 (Rich Trott) #36324 - [
84e918858e
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36235 - [
fb2bb93f95
] - tools: bump cpplint to 1.5.3 (Rich Trott) #36235 - [
3351910f97
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36213 - [
193b18effa
] - tools: bump cpplint.py to 1.5.2 (Rich Trott) #36213 - [
8a6c35d735
] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764 - [
f8753b6299
] - tools: update ESLint to 7.26.0 (Colin Ihrig) #38605 - [
1098aec40b
] - tools: update ESLint to 7.25.0 (Colin Ihrig) #38378 - [
3fbabfa94d
] - tools: update ESLint to 7.24.0 (Colin Ihrig) #38179 - [
6ce779cd8b
] - tools: update ESLint to 7.23.0 (Luigi Pinca) #37979 - [
77f88e7725
] - tools: update ESLint to 7.22.0 (Colin Ihrig) #37734 - [
5de911eeaf
] - tools: make update-eslint.sh work with npm@7 (Luigi Pinca) #37566 - [
839976669f
] - tools: add support for mjs and cjs JS snippet linting (Antoine du Hamel) #37311 - [
2463bd0689
] - tools: update eslint-plugin-markdown configuration (Colin Ihrig) #37549 - [
f868fac455
] - tools: enable object-curly-newline in ESLint rules (Rich Trott) #37040 - [
d13508d219
] - tools: make GH Actions workflows work if default branch is not master (Antoine du Hamel) #38516 - [
7021c31d06
] - tools: use mktemp to create the workspace directory (Luigi Pinca) #38432 - [
16a3e555ba
] - tools: use a shallow clone of the npm/cli repository (Luigi Pinca) #38463 - [
3484a23140
] - tools: remove fixer for non-ascii-character ESLint custom rule (Rich Trott) #38413 - [
aec4b295e4
] - tools: fix doc generation when version info is not available (Antoine du Hamel) #38398 - [
0172b110a3
] - tools: add _depot_tools to PATH (for V8 tests) (DeeDeeG) #38299 - [
d0eed18c87
] - tools: fix type mismatch in test runner (Richard Lau) #38289 - [
11ca018db9
] - tools: simplify eslint comma-dangle configuration (tools) (Rich Trott) #37883 - [
f7c14e86a7
] - tools: simplify eslint comma-dangle configuration (Rich Trott) #37850 - [
241e05795b
] - tools: run doctool tests on GitHub Actions CI (Antoine du Hamel) #37398 - [
a4dd50f8f9
] - tools: refactor prefer-primordials (Antoine du Hamel) #36018 - [
4af3906e72
] - tools: update ESLint to 7.21.0 (Luigi Pinca) #37546 - [
955880de1a
] - tools: update ESLint to 7.20.0 (Colin Ihrig) #37339 - [
42c1f98a31
] - tools: update ESLint to 7.19.0 (Colin Ihrig) #37159 - [
25eb720b4d
] - tools: update ESLint to 7.18.0 (Colin Ihrig) #36955 - [
4983ef205e
] - tools: update gyp-next to v0.7.0 (Michaël Zasso) #36580 - [
613378da1e
] - tools: update ESLint to 7.17.0 (Colin Ihrig) #36726 - [
e6d01f6545
] - tools: update ESLint to 7.16.0 (Yongsheng Zhang) #36579 - [
98806da810
] - tools: enable no-unsafe-optional-chaining lint rule (Colin Ihrig) #36411 - [
7d411920f6
] - tools: update ESLint to 7.15.0 (Colin Ihrig) #36411 - [
226a86c3b5
] - tools: enable no-unused-expressions lint rule (Michaël Zasso) #36248 - [
24a81c7d6c
] - tools: enable no-nonoctal-decimal-escape lint rule (Colin Ihrig) #36217 - [
19d4eb17b9
] - tools: update ESLint to 7.14.0 (Colin Ihrig) #36217 - [
9fa8d2037f
] - tools: add linting rule for async IIFEs (Anna Henningsen) #34363 - [
55fc206d13
] - tools: update ESLint to 7.13.0 (Luigi Pinca) #36031 - [
937fc0a30c
] - tools: update ESLint to 7.12.1 (Colin Ihrig) #35799 - [
29d0840a90
] - tools: update ESLint to 7.12.0 (Colin Ihrig) #35799 - [
dcbd44758c
] - tools: update ESLint to 7.11.0 (Colin Ihrig) #35578 - [
c7751b4e69
] - tools: add new ESLint rule: prefer-primordials (Leko) #35448 - [
9a5411a2b4
] - tools,doc: add support for several flavors of JS code snippets (Antoine du Hamel) #37162 - [
e19478aa76
] - tools,lib: recommend using safe primordials (Antoine du Hamel) #36026 - [
5f848a612d
] - tools,lib: tighten prefer-primordials rules for Error statics (Antoine du Hamel) #36017 - [
716076e389
] - tty: refactor to avoid unsafe array iteration (Antoine du Hamel) #36771 - [
41d74a4d9a
] - tty: refactor to use more primordials (Zijian Liu) #36272 - [
e35a3543fd
] - typings: add JSDoc typings for util (Rohit Gohri) #38213 - [
c8b22185f7
] - url: refactor to use more primordials (Antoine du Hamel) #36316 - [
e113035c9a
] - util: simplify constructor retrieval in inspect() (Rich Trott) #36466 - [
1551b40d01
] - v8: refactor to use more primordials (Antoine du Hamel) #36527 - [
6c1bbb5caf
] - v8: refactor to use more primordials (Antoine du Hamel) #36285 - [
3aee77d279
] - vm: refactor to avoid unsafe array iteration (Antoine du Hamel) #36752 - [
0dea86634d
] - wasi: refactor to avoid unsafe array iteration (Antoine du Hamel) #36724 - [
2c66305ac4
] - Revert "worker: removeERR_CLOSED_MESSAGE_PORT
" (Juan José Arboleda) #38510 - [
698bffaa90
] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #37346 - [
3d4785c174
] - worker: refactor to use more primordials (Antoine du Hamel) #36267 - [
8702b045a4
] - zlib: fix brotli flush range (Khaidi Chu) #38408 - [
459fe6864e
] - zlib: refactor to avoid unsafe array iteration (Antoine du Hamel) #36722 - [
740638de0f
] - zlib: refactor to use primordial instead of <string>.startsWith (Rohan Chougule) #36718 - [
32e10f388c
] - zlib: refactor to use more primordials (Antoine du Hamel) #36347
v14.17.0
Notable Changes
Diagnostics channel (experimental module)
diagnostics_channel
is a new experimental module that provides an API to create named channels to report arbitrary message data for diagnostics purposes.
The module was initially introduced in Node.js v15.1.0 and is backported to v14.17.0 to enable testing it at a larger scale.
With diagnostics_channel
, Node.js core and module authors can publish contextual data about what they are doing at a given time. This could be the hostname and query string of a mysql query, for example. Just create a named channel with dc.channel(name)
and call channel.publish(data)
to send the data to any listeners to that channel.
const dc = require('diagnostics_channel');
const channel = dc.channel('mysql.query');
MySQL.prototype.query = function query(queryString, values, callback) {
// Broadcast query information whenever a query is made
channel.publish({
query: queryString,
host: this.hostname,
});
this.doQuery(queryString, values, callback);
};
Channels are like one big global event emitter but are split into separate objects to ensure they get the best performance. If nothing is listening to the channel, the publishing overhead should be as close to zero as possible. Consuming channel data is as easy as using channel.subscribe(listener)
to run a function whenever a message is published to that channel.
const dc = require('diagnostics_channel');
const channel = dc.channel('mysql.query');
channel.subscribe(({ query, host }) => {
console.log(`mysql query to ${host}: ${query}`);
});
The data captured can be used to provide context for what an app is doing at a given time. This can be used for things like augmenting tracing data, tracking network and filesystem activity, logging queries, and many other things. It's also a very useful data source for diagnostics tools to provide a clearer picture of exactly what the application is doing at a given point in the data they are presenting.
Contributed by Stephen Belanger #34895.
UUID support in the crypto module
The new crypto.randomUUID()
method now allows to generate random
RFC 4122 Version 4 UUID strings:
const { randomUUID } = require('crypto');
console.log(randomUUID());
// 'aa7c91a1-f8fc-4339-b9db-f93fc7233429'
Contributed by James M Snell #36729.
AbortController
and AbortSignal
Experimental support for Node.js 14.17.0 adds experimental partial support for AbortController
and AbortSignal
.
Both constructors can be enabled globally using the --experimental-abortcontroller
flag.
Additionally, several Node.js APIs have been updated to support AbortSignal
for cancellation.
It is not mandatory to use the built-in constructors with them. Any spec-compliant third-party alternatives
should be compatible.
AbortSignal
support was added to the following methods:
child_process.exec
child_process.execFile
child_process.fork
child_process.spawn
dgram.createSocket
events.on
events.once
fs.readFile
fs.watch
fs.writeFile
http.request
https.request
http2Session.request
- The promisified variants of
setImmediate
andsetTimeout
Other notable changes
- doc:
- deps:
- http:
-
util:
- add getSystemErrorMap() impl (eladkeyshawn) #38101
Commits
- [
9fb10dc4e7
] - assert,util: fix commutativity edge case (Ruben Bridgewater) #37711 - [
2bbf253b00
] - benchmark: changedfstat
tofstatSync
(Narasimha Prasanna HN) #36206 - [
c00c31c3c5
] - benchmark: improve compare.R output (Brian White) #38118 - [
a191bc7761
] - benchmark: add benchmark for fsPromises.writeFile (Nitzan Uziely) #37610 - [
d2770a5608
] - benchmark: add benchmark for NODE_V8_COVERAGE (Benjamin Coe) #36972 - [
4318e708b8
] - benchmark: make output RFC 4180 compliant (Tobias Nießen) #37038 - [
0fbeab7a95
] - benchmark: improve explanations in R script (Tobias Nießen) #36995 - [
c22efc5191
] - benchmark: fix http2 benchmarks (Rich Trott) #36871 - [
682d0a92db
] - benchmark: fix http/headers.js with test-double (Rich Trott) #36794 - [
3a11ee88a2
] - benchmark: add simple https benchmark (Andrey Pechkurov) #36612 - [
681c4afc51
] - benchmark: reduce code duplication (Rich Trott) #36568 - [
f28eea0896
] - benchmark,child_process: remove failing benchmark parameter (Antoine du Hamel) #36295 - [
bf2d9f25d4
] - (SEMVER-MINOR) buffer: implement btoa and atob (James M Snell) #37529 - [
0544410328
] - buffer,errors: add missing n literal in range error string (Cactysman) #37750 - [
5667d0a540
] - build: don't run test workflow on doc dir on macOS (ycjcl868) #37999 - [
079d90b9f3
] - build: package release changelog for releases (Richard Lau) #38033 - [
5c74dc7227
] - build: refactor Makefile (raisinten) #36759 - [
38921b3805
] - build: do not "exit" a script meant to be "source"d (François-Denis Gonthier) #35520 - [
dcbcd9e045
] - build: run some workflows only on nodejs/node (Michaël Zasso) #36507 - [
cda0a80713
] - build: fix typo in Makefile (raisinten) #36176 - [
d8f8719415
] - build: do not pass mode option to test-v8 command (Michaël Zasso) #38275 - [
f62b138278
] - build: fix label-pr workflow (Michaël Zasso) #38399 - [
1250db9206
] - build: label MRs with GitHub Action instead of nodejs-github-bot (Phillip Johnsen) #38301 - [
9ccf7dbe2d
] - build,lib,test: change whitelist to allowlist (Michaël Zasso) #36406 - [
385e8e8d7b
] - (SEMVER-MINOR) child_process: support AbortSignal in fork (Benjamin Gruenbaum) #36603 - [
0b691ce57e
] - (SEMVER-MINOR) child_process: add signal support to spawn (Benjamin Gruenbaum) #36432 - [
6c08c9de4a
] - child_process: clean event listener correctly (Benjamin Gruenbaum) #36424 - [
a5c0f39197
] - (SEMVER-MINOR) child_process: add AbortSignal support (Benjamin Gruenbaum) #36308 - [
aa5b726f83
] - (SEMVER-MINOR) child_process: add ChildProcess 'spawn' event (Matthew Francis Brunetti) #35369 - [
723977feaa
] - crypto: reduce range of size to int max (Qingyu Deng) #38096 - [
46ece20fe3
] - crypto: fix DiffieHellman argument validation (Antoine du Hamel) #37810 - [
00659a9218
] - crypto: fix randomInt bias (Tobias Nießen) #36894 - [
08f9130888
] - (SEMVER-MINOR) crypto: implement randomuuid (James M Snell) #36729 - [
8951c19e72
] - deps: V8: cherry-pick501482c
(Colin Ihrig) #38121 - [
ea0b0697c3
] - deps: update nghttp2 to 1.42.0 (Michaël Zasso) #36842 - [
5747dff04e
] - deps: update to c-ares 1.17.1 (Danny Sonnenschein) #36207 - [
329ee8bbc3
] - deps: V8: cherry-pickbbc59d1
(Michaël Zasso) #38275 - [
bda15149f8
] - deps: V8: cherry-pickbe91c6c
(Michaël Zasso) #38275 - [
16a005cfa0
] - deps: V8: cherry-pick4e24c35
(Michaël Zasso) #38275 - [
42140a12f2
] - deps: V8: cherry-pickeddb823
(Michaël Zasso) #38275 - [
4d0bc3839a
] - deps: V8: cherry-pick6771d3e
(Michaël Zasso) #38275 - [
982937893e
] - deps: V8: cherry-pickf44fcbf
(Michaël Zasso) #38275 - [
fa45d6a358
] - deps: V8: cherry-pick93b2105
(Michaël Zasso) #38275 - [
c5fe3a226a
] - deps: V8: cherry-pick1a7d55a
(Michaël Zasso) #38275 - [
7dd68ac5b6
] - deps: V8: cherry-pick8ebd894
(Michaël Zasso) #38275 - [
a4a9246ea1
] - deps: V8: cherry-pick1e35f64
(Michaël Zasso) #38275 - [
9bfb0f33e9
] - deps: V8: cherry-pick3066b7b
(Michaël Zasso) #38275 - [
5dc82469d5
] - deps: V8: cherry-pick254c794
(Michaël Zasso) #38275 - [
77b7a3b710
] - deps: V8: cherry-pick5678ebe
(Michaël Zasso) #38275 - [
0bd8e14501
] - deps: V8: cherry-pick8130669
(Michaël Zasso) #38275 - [
d221cdc97c
] - deps: V8: cherry-pickd2283ba
(Michaël Zasso) #38275 - [
26cc160565
] - deps: V8: cherry-pick53c4d05
(Michaël Zasso) #38275 - [[
05530e8333
](https://github.com/nodejs/node/com
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.