Releases: nodejs/node
2022-01-10, Version 14.18.3 'Fermium' (LTS), @richardlau
This is a security release.
Notable changes
Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)
Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.
Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
More details will be available at CVE-2021-44531 after publication.
Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)
Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.
Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.
More details will be available at CVE-2021-44532 after publication.
Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)
Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
More details will be available at CVE-2021-44533 after publication.
Prototype pollution via console.table properties (Low)(CVE-2022-21824)
Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.
Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.
More details will be available at CVE-2022-21824 after publication.
Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.
Commits
- [
e2a74f3c99] - console: fix prototype pollution via console.table (Tobias Nießen) nodejs-private/node-private#307 - [
df1b2c33f6] - crypto,tls: implement safe x509 GeneralName format (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300 - [
9f2c52617f] - src: add cve reverts and associated tests (Michael Dawson and Akshay Kumar) nodejs-private/node-private#300 - [
b14be42518] - src: remove unused x509 functions (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300 - [
83d8f880bb] - tls: fix handling of x509 subject and issuer (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300 - [
461a0c674b] - tls: drop support for URI alternative names (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300
2022-01-10, Version 12.22.9 'Erbium' (LTS), @richardlau
This is a security release.
Notable changes
Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)
Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.
Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.
More details will be available at CVE-2021-44531 after publication.
Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)
Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.
Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.
More details will be available at CVE-2021-44532 after publication.
Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)
Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.
Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.
More details will be available at CVE-2021-44533 after publication.
Prototype pollution via console.table properties (Low)(CVE-2022-21824)
Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.
Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.
More details will be available at CVE-2022-21824 after publication.
Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.
Commits
- [
be69403528] - console: fix prototype pollution via console.table (Tobias Nießen) nodejs-private/node-private#307 - [
19873abfb2] - crypto,tls: implement safe x509 GeneralName format (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300 - [
ff9ac7d757] - doc: fix date for v12.22.8 (Richard Lau) #41213 - [
a5c7843cab] - src: add cve reverts and associated tests (Michael Dawson and Akshay Kumar) nodejs-private/node-private#300 - [
d4e5d1b9ca] - src: remove unused x509 functions (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300 - [
8c2db2c86b] - tls: fix handling of x509 subject and issuer (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300 - [
e0fe6a635e] - tls: drop support for URI alternative names (Tobias Nießen and Akshay Kumar) nodejs-private/node-private#300
2021-12-17, Version 17.3.0 (Current), @danielleadams
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: fixBlobconstructor on variousTypedArrays (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.socketcan 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](https://github....
2021-12-16, Version 12.22.8 'Erbium' (LTS), @richardlau
Notable Changes
This release contains a c-ares update to fix a regression introduced in
Node.js 12.22.5 resolving CNAME records containing underscores
#39780.
Root certificates have been updated to those from Mozilla's Network
Security Services 3.71 #40281.
Commits
- [
2d42295d2a] - build: pin macOS GitHub runner to macos-10.15 (Richard Lau) #41124 - [
41e09ec71b] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728 - [
f0be07796e] - crypto: update root certificates (Richard Lau) #40280 - [
4c9f920d34] - deps: update archs files for OpenSSL-1.1.1m (Richard Lau) #41172 - [
60d7d4171e] - deps: upgrade openssl sources to 1.1.1m (Richard Lau) #41172 - [
7feff67419] - deps: add -fno-strict-aliasing flag to libuv (Daniel Bevenius) #40631 - [
534ac7c7c6] - deps: update c-ares to 1.18.1 (Richard Lau) #40660 - [
c019fa9b70] - deps: update to cjs-module-lexer@1.2.2 (Guy Bedford) #39402 - [
b13340eff4] - doc: add alternative version links to the packages page (Filip Skokan) #36915 - [
243b2fbfdb] - lib: fix regular expression to detect `/` and `\` (Francesco Trotta) #40325 - [
70e094a26b] - repl: fix error message printing (Anna Henningsen) #38209 - [
02b432a704] - src: fix crash in AfterGetAddrInfo (Anna Henningsen) #39735 - [
7479447d6a] - test: deflake child-process-pipe-dataflow (Luigi Pinca) #40838 - [
833e199393] - tools: update certdata.txt (Richard Lau) #40280 - [
e4339fe286] - tools: add script to update c-ares (Richard Lau) #40660 - [
f50b9c1e8a] - worker: avoid potential deadlock on NearHeapLimit (Santiago Gimeno) #38403
2021-12-01, Version 16.13.1 'Gallium' (LTS), @BethGriggs
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-pick 422dc378a1da (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-modulesdocumentation (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.symlinkcode 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](https:...
2021-11-30, Version 17.2.0 (Current), @targos
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: fixmakeinvocation 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-pick cced52a97ee9 (Ray Wang) #40656 - [
d6ae50ff96] - deps: V8: cherry-pick 7ae0b77628f6 (Ray Wang) #40882 - [
e60053deee] - deps: V8: cherry-pick 2a0bc36dec12 (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-pick bd019bd (Refael Ackermann) #32116 - [
371ee64c92] - (SEMVER-MINOR) deps: update V8 to 9.6.180.14 (Michaël Zasso) #40488 - [
6506a42c16] - deps: V8: cherry-pick cced52a97ee9 (Ray Wang) #40656 - [
a612ecb42f] - deps: V8: cherry-pick 7ae0b77628f6 (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 PR 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](https://github.com/nodejs/no...
2021-11-30, Version 14.18.2 'Fermium' (LTS), @richardlau
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
2021-11-09, Version 17.1.0 (Current), @targos
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-pick 422dc378a1da (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-modulesdocumentation (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.symlinkcode example (Juan José Arboleda) #40414 - [
404730ac1b] - doc: update for changed--dns-result-orderdefault (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-...
2021-10-26, Version 16.13.0 'Gallium' (LTS), @richardlau
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.
2021-10-20, Version 17.0.1 (Current), @targos
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