Skip to content

Commit b4ab4e6

Browse files
2026-03-05, Version 20.20.1 'Iron' (LTS)
Notable changes: build: * test on Python 3.14 (Christian Clauss) #59983 crypto: * update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 * update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741 PR-URL: TODO
1 parent 01df3a5 commit b4ab4e6

File tree

3 files changed

+92
-2
lines changed

3 files changed

+92
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ release.
3535
</tr>
3636
<tr>
3737
<td valign="top">
38-
<b><a href="doc/changelogs/CHANGELOG_V20.md#20.20.0">20.20.0</a></b><br/>
38+
<b><a href="doc/changelogs/CHANGELOG_V20.md#20.20.1">20.20.1</a></b><br/>
39+
<a href="doc/changelogs/CHANGELOG_V20.md#20.20.0">20.20.0</a><br/>
3940
<a href="doc/changelogs/CHANGELOG_V20.md#20.19.6">20.19.6</a><br/>
4041
<a href="doc/changelogs/CHANGELOG_V20.md#20.19.5">20.19.5</a><br/>
4142
<a href="doc/changelogs/CHANGELOG_V20.md#20.19.4">20.19.4</a><br/>

doc/changelogs/CHANGELOG_V20.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
</tr>
1010
<tr>
1111
<td>
12+
<a href="#20.20.1">20.20.1</a><br/>
1213
<a href="#20.20.0">20.20.0</a><br/>
1314
<a href="#20.19.6">20.19.6</a><br/>
1415
<a href="#20.19.5">20.19.5</a><br/>
@@ -76,6 +77,94 @@
7677
* [io.js](CHANGELOG_IOJS.md)
7778
* [Archive](CHANGELOG_ARCHIVE.md)
7879

80+
<a id="20.20.1"></a>
81+
82+
## 2026-03-05, Version 20.20.1 'Iron' (LTS), @marco-ippolito
83+
84+
### Notable Changes
85+
86+
* \[[`3fe01c888d`](https://github.com/nodejs/node/commit/3fe01c888d)] - **build**: test on Python 3.14 (Christian Clauss) [#59983](https://github.com/nodejs/node/pull/59983)
87+
* \[[`a6fbb966f8`](https://github.com/nodejs/node/commit/a6fbb966f8)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
88+
* \[[`43e548c642`](https://github.com/nodejs/node/commit/43e548c642)] - **crypto**: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#60741](https://github.com/nodejs/node/pull/60741)
89+
90+
### Commits
91+
92+
* \[[`f5c11428a6`](https://github.com/nodejs/node/commit/f5c11428a6)] - **assert**: fix deepEqual always return true on URL (Xuguang Mei) [#50853](https://github.com/nodejs/node/pull/50853)
93+
* \[[`3fe01c888d`](https://github.com/nodejs/node/commit/3fe01c888d)] - **build**: test on Python 3.14 (Christian Clauss) [#59983](https://github.com/nodejs/node/pull/59983)
94+
* \[[`cc4f7af6f3`](https://github.com/nodejs/node/commit/cc4f7af6f3)] - **build**: skip sscache action on non-main branches (Joyee Cheung) [#61790](https://github.com/nodejs/node/pull/61790)
95+
* \[[`a6fbb966f8`](https://github.com/nodejs/node/commit/a6fbb966f8)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
96+
* \[[`43e548c642`](https://github.com/nodejs/node/commit/43e548c642)] - **crypto**: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#60741](https://github.com/nodejs/node/pull/60741)
97+
* \[[`8a133cd717`](https://github.com/nodejs/node/commit/8a133cd717)] - **crypto**: ensure documented RSA-PSS saltLength default is used (Filip Skokan) [#60662](https://github.com/nodejs/node/pull/60662)
98+
* \[[`01df3a5049`](https://github.com/nodejs/node/commit/01df3a5049)] - **deps**: V8: backport 6a0a25abaed3 (Vivian Wang) [#61687](https://github.com/nodejs/node/pull/61687)
99+
* \[[`42b2404cf7`](https://github.com/nodejs/node/commit/42b2404cf7)] - **deps**: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) [#61731](https://github.com/nodejs/node/pull/61731)
100+
* \[[`6bd339835a`](https://github.com/nodejs/node/commit/6bd339835a)] - **deps**: update googletest to 56efe3983185e3f37e43415d1afa97e3860f187f (Node.js GitHub Bot) [#61605](https://github.com/nodejs/node/pull/61605)
101+
* \[[`56f29521db`](https://github.com/nodejs/node/commit/56f29521db)] - **deps**: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) [#61417](https://github.com/nodejs/node/pull/61417)
102+
* \[[`5c10f0b4c0`](https://github.com/nodejs/node/commit/5c10f0b4c0)] - **deps**: update icu to 78.2 (Node.js GitHub Bot) [#60523](https://github.com/nodejs/node/pull/60523)
103+
* \[[`1e0d39410f`](https://github.com/nodejs/node/commit/1e0d39410f)] - **deps**: update acorn-walk to 8.3.5 (Node.js GitHub Bot) [#61928](https://github.com/nodejs/node/pull/61928)
104+
* \[[`3f482a068c`](https://github.com/nodejs/node/commit/3f482a068c)] - **deps**: update acorn to 8.16.0 (Node.js GitHub Bot) [#61925](https://github.com/nodejs/node/pull/61925)
105+
* \[[`6e7bff1234`](https://github.com/nodejs/node/commit/6e7bff1234)] - **deps**: update llhttp to 9.3.1 (Node.js GitHub Bot) [#61827](https://github.com/nodejs/node/pull/61827)
106+
* \[[`b77a216c74`](https://github.com/nodejs/node/commit/b77a216c74)] - **deps**: brotli: cherry-pick e230f474b87 (liujiahui) [#61003](https://github.com/nodejs/node/pull/61003)
107+
* \[[`5de8af95f8`](https://github.com/nodejs/node/commit/5de8af95f8)] - **deps**: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) [#61135](https://github.com/nodejs/node/pull/61135)
108+
* \[[`c8586b563f`](https://github.com/nodejs/node/commit/c8586b563f)] - **deps**: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) [#61271](https://github.com/nodejs/node/pull/61271)
109+
* \[[`f372cc7922`](https://github.com/nodejs/node/commit/f372cc7922)] - **deps**: update timezone to 2025c (Node.js GitHub Bot) [#61138](https://github.com/nodejs/node/pull/61138)
110+
* \[[`75aaecc2c8`](https://github.com/nodejs/node/commit/75aaecc2c8)] - **deps**: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) [#61055](https://github.com/nodejs/node/pull/61055)
111+
* \[[`76b8dbe11d`](https://github.com/nodejs/node/commit/76b8dbe11d)] - **deps**: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) [#60898](https://github.com/nodejs/node/pull/60898)
112+
* \[[`4f728fff74`](https://github.com/nodejs/node/commit/4f728fff74)] - **deps**: update brotli to 1.2.0 (Node.js GitHub Bot) [#60540](https://github.com/nodejs/node/pull/60540)
113+
* \[[`2b6a904ff9`](https://github.com/nodejs/node/commit/2b6a904ff9)] - **deps**: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) [#60739](https://github.com/nodejs/node/pull/60739)
114+
* \[[`00d6dfce06`](https://github.com/nodejs/node/commit/00d6dfce06)] - **deps**: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) [#60646](https://github.com/nodejs/node/pull/60646)
115+
* \[[`6d887e12f8`](https://github.com/nodejs/node/commit/6d887e12f8)] - **deps**: update googletest to 279f847 (Node.js GitHub Bot) [#60219](https://github.com/nodejs/node/pull/60219)
116+
* \[[`cbf92620cc`](https://github.com/nodejs/node/commit/cbf92620cc)] - **deps**: update googletest to 50b8600 (Node.js GitHub Bot) [#59955](https://github.com/nodejs/node/pull/59955)
117+
* \[[`d98a8575ee`](https://github.com/nodejs/node/commit/d98a8575ee)] - **deps**: update googletest to 7e17b15 (Node.js GitHub Bot) [#59131](https://github.com/nodejs/node/pull/59131)
118+
* \[[`906e005153`](https://github.com/nodejs/node/commit/906e005153)] - **deps**: update googletest to 35b75a2 (Node.js GitHub Bot) [#58710](https://github.com/nodejs/node/pull/58710)
119+
* \[[`4a513a488d`](https://github.com/nodejs/node/commit/4a513a488d)] - **deps**: update googletest to e9092b1 (Node.js GitHub Bot) [#58565](https://github.com/nodejs/node/pull/58565)
120+
* \[[`d05f882b6d`](https://github.com/nodejs/node/commit/d05f882b6d)] - **deps**: update googletest to 0bdccf4 (Node.js GitHub Bot) [#57380](https://github.com/nodejs/node/pull/57380)
121+
* \[[`4772c87d81`](https://github.com/nodejs/node/commit/4772c87d81)] - **deps**: update googletest to e235eb3 (Node.js GitHub Bot) [#56873](https://github.com/nodejs/node/pull/56873)
122+
* \[[`142c6d77a8`](https://github.com/nodejs/node/commit/142c6d77a8)] - **deps**: update minimatch to 10.2.4 (Node.js GitHub Bot) [#62016](https://github.com/nodejs/node/pull/62016)
123+
* \[[`10a4b064fc`](https://github.com/nodejs/node/commit/10a4b064fc)] - **deps**: update minimatch to 10.2.2 (Node.js GitHub Bot) [#61830](https://github.com/nodejs/node/pull/61830)
124+
* \[[`be8892a4b1`](https://github.com/nodejs/node/commit/be8892a4b1)] - **deps**: update minimatch to 10.1.2 (Node.js GitHub Bot) [#61732](https://github.com/nodejs/node/pull/61732)
125+
* \[[`9b3b0186e5`](https://github.com/nodejs/node/commit/9b3b0186e5)] - **deps**: update minimatch to 10.1.1 (Node.js GitHub Bot) [#60543](https://github.com/nodejs/node/pull/60543)
126+
* \[[`850acffe59`](https://github.com/nodejs/node/commit/850acffe59)] - **deps**: update archs files for openssl (Antoine du Hamel) [#61912](https://github.com/nodejs/node/pull/61912)
127+
* \[[`39e4f68690`](https://github.com/nodejs/node/commit/39e4f68690)] - **deps**: upgrade openssl sources to openssl-3.0.19 (Antoine du Hamel) [#61912](https://github.com/nodejs/node/pull/61912)
128+
* \[[`2ea16d3bd6`](https://github.com/nodejs/node/commit/2ea16d3bd6)] - **deps**: update corepack to 0.34.6 (Node.js GitHub Bot) [#61510](https://github.com/nodejs/node/pull/61510)
129+
* \[[`622f973d1c`](https://github.com/nodejs/node/commit/622f973d1c)] - **deps**: update corepack to 0.34.5 (Node.js GitHub Bot) [#60842](https://github.com/nodejs/node/pull/60842)
130+
* \[[`2cd265d8b9`](https://github.com/nodejs/node/commit/2cd265d8b9)] - **deps**: update corepack to 0.34.4 (Node.js GitHub Bot) [#60643](https://github.com/nodejs/node/pull/60643)
131+
* \[[`65e839687b`](https://github.com/nodejs/node/commit/65e839687b)] - **deps**: update corepack to 0.34.2 (Node.js GitHub Bot) [#60550](https://github.com/nodejs/node/pull/60550)
132+
* \[[`e03b4271a2`](https://github.com/nodejs/node/commit/e03b4271a2)] - **dns**: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) [#61453](https://github.com/nodejs/node/pull/61453)
133+
* \[[`1e6b039325`](https://github.com/nodejs/node/commit/1e6b039325)] - **doc**: fix typo in http.md (Michael Solomon) [#59354](https://github.com/nodejs/node/pull/59354)
134+
* \[[`4592017d55`](https://github.com/nodejs/node/commit/4592017d55)] - **doc**: fix grammar in global dispatcher usage (Eng Zer Jun) [#59344](https://github.com/nodejs/node/pull/59344)
135+
* \[[`dd7c2d476a`](https://github.com/nodejs/node/commit/dd7c2d476a)] - **doc**: fix typo in `test/common/README.md` (Yoo) [#59180](https://github.com/nodejs/node/pull/59180)
136+
* \[[`2179d3e875`](https://github.com/nodejs/node/commit/2179d3e875)] - **doc**: fix broken sentence in `URL.parse` (Superchupu) [#59164](https://github.com/nodejs/node/pull/59164)
137+
* \[[`25442f0a72`](https://github.com/nodejs/node/commit/25442f0a72)] - **doc**: fix typo in writing-test.md (SeokHun) [#59123](https://github.com/nodejs/node/pull/59123)
138+
* \[[`eeba4c5b6e`](https://github.com/nodejs/node/commit/eeba4c5b6e)] - **doc**: fix `fetch` subsections in `globals.md` (Antoine du Hamel) [#58933](https://github.com/nodejs/node/pull/58933)
139+
* \[[`b931fceccd`](https://github.com/nodejs/node/commit/b931fceccd)] - **doc**: fix wrong RFC number in http2 (Deokjin Kim) [#58753](https://github.com/nodejs/node/pull/58753)
140+
* \[[`e7606f0250`](https://github.com/nodejs/node/commit/e7606f0250)] - **doc**: punctuation fix for Node-API versioning clarification (Jiacai Liu) [#58599](https://github.com/nodejs/node/pull/58599)
141+
* \[[`78b7b53bba`](https://github.com/nodejs/node/commit/78b7b53bba)] - **doc**: fix typo of file `http.md`, `outgoingMessage.setTimeout` section (yusheng chen) [#58188](https://github.com/nodejs/node/pull/58188)
142+
* \[[`0f4ffc01ca`](https://github.com/nodejs/node/commit/0f4ffc01ca)] - **doc**: support toolchain with Visual Studio 2019 & 2022 only (Mike McCready) [#61450](https://github.com/nodejs/node/pull/61450)
143+
* \[[`8fdde5d110`](https://github.com/nodejs/node/commit/8fdde5d110)] - **doc**: fix v20 changelog after security release (Marco Ippolito) [#61371](https://github.com/nodejs/node/pull/61371)
144+
* \[[`a09bf57646`](https://github.com/nodejs/node/commit/a09bf57646)] - **http**: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) [#58178](https://github.com/nodejs/node/pull/58178)
145+
* \[[`ef8fe9907d`](https://github.com/nodejs/node/commit/ef8fe9907d)] - **http2**: validate initialWindowSize per HTTP/2 spec (Matteo Collina) [#61402](https://github.com/nodejs/node/pull/61402)
146+
* \[[`5d2ef90fc1`](https://github.com/nodejs/node/commit/5d2ef90fc1)] - **meta**: persist sccache daemon until end of build workflows (René) [#61639](https://github.com/nodejs/node/pull/61639)
147+
* \[[`648f4232b8`](https://github.com/nodejs/node/commit/648f4232b8)] - **path,win**: fix bug in resolve and normalize (Hüseyin Açacak) [#55623](https://github.com/nodejs/node/pull/55623)
148+
* \[[`6a58f6a84e`](https://github.com/nodejs/node/commit/6a58f6a84e)] - **src**: fix flags argument offset in JSUdpWrap (Weixie Cui) [#61948](https://github.com/nodejs/node/pull/61948)
149+
* \[[`1c2016ffc8`](https://github.com/nodejs/node/commit/1c2016ffc8)] - **test**: mark stringbytes-external-max flaky on AIX (Stewart X Addison) [#60995](https://github.com/nodejs/node/pull/60995)
150+
* \[[`9655c6e8c4`](https://github.com/nodejs/node/commit/9655c6e8c4)] - **test**: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) [#60565](https://github.com/nodejs/node/pull/60565)
151+
* \[[`ac9114ca91`](https://github.com/nodejs/node/commit/ac9114ca91)] - **test**: fix flaky test-performance-eventloopdelay (Matteo Collina) [#61629](https://github.com/nodejs/node/pull/61629)
152+
* \[[`3a6e05e0d6`](https://github.com/nodejs/node/commit/3a6e05e0d6)] - **test**: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) [#59158](https://github.com/nodejs/node/pull/59158)
153+
* \[[`517b975c56`](https://github.com/nodejs/node/commit/517b975c56)] - **test**: account for truthy signal in flaky async\_hooks tests (Darshan Sen) [#58478](https://github.com/nodejs/node/pull/58478)
154+
* \[[`efe173f6ec`](https://github.com/nodejs/node/commit/efe173f6ec)] - **test**: mark `test-http2-debug` as flaky on LinuxONE (Richard Lau) [#58494](https://github.com/nodejs/node/pull/58494)
155+
* \[[`a53d495693`](https://github.com/nodejs/node/commit/a53d495693)] - **test**: set `test-fs-cp` as flaky (Stefan Stojanovic) [#56799](https://github.com/nodejs/node/pull/56799)
156+
* \[[`4032dd9130`](https://github.com/nodejs/node/commit/4032dd9130)] - **test**: mark `test-esm-loader-hooks-inspect-wait` flaky (Richard Lau) [#56803](https://github.com/nodejs/node/pull/56803)
157+
* \[[`d75ae77653`](https://github.com/nodejs/node/commit/d75ae77653)] - **test**: skip strace test with shared openssl (Richard Lau) [#61987](https://github.com/nodejs/node/pull/61987)
158+
* \[[`4e978c304d`](https://github.com/nodejs/node/commit/4e978c304d)] - **tools**: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) [#58752](https://github.com/nodejs/node/pull/58752)
159+
* \[[`0a158ac8c7`](https://github.com/nodejs/node/commit/0a158ac8c7)] - **tools**: enforce removal of `lts-watch-*` labels on release proposals (Antoine du Hamel) [#61672](https://github.com/nodejs/node/pull/61672)
160+
* \[[`c27c6587d6`](https://github.com/nodejs/node/commit/c27c6587d6)] - **tools**: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) [#61663](https://github.com/nodejs/node/pull/61663)
161+
* \[[`5067a4f0ba`](https://github.com/nodejs/node/commit/5067a4f0ba)] - **tools**: validate release commit diff as part of `lint-release-proposal` (Antoine du Hamel) [#61440](https://github.com/nodejs/node/pull/61440)
162+
* \[[`fc1cf15ffc`](https://github.com/nodejs/node/commit/fc1cf15ffc)] - **tools**: add read permission to workflows that read contents (Antoine du Hamel) [#58255](https://github.com/nodejs/node/pull/58255)
163+
* \[[`5cb26f8697`](https://github.com/nodejs/node/commit/5cb26f8697)] - **tools**: switch to ARM runners on GHA jobs (Antoine du Hamel) [#61903](https://github.com/nodejs/node/pull/61903)
164+
* \[[`1abada9c34`](https://github.com/nodejs/node/commit/1abada9c34)] - **tools**: avoid building twice in coverage jobs (Antoine du Hamel) [#61899](https://github.com/nodejs/node/pull/61899)
165+
* \[[`f260e40127`](https://github.com/nodejs/node/commit/f260e40127)] - **tools**: use ubuntu-slim runner in GHA (Antoine du Hamel) [#61759](https://github.com/nodejs/node/pull/61759)
166+
* \[[`64beca5e01`](https://github.com/nodejs/node/commit/64beca5e01)] - **tools**: use ubuntu-slim runner in GHA (Antoine du Hamel) [#61734](https://github.com/nodejs/node/pull/61734)
167+
79168
<a id="20.20.0"></a>
80169

81170
## 2026-01-13, Version 20.20.0 'Iron' (LTS), @marco-ippolito

src/node_version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#define NODE_VERSION_IS_LTS 1
3030
#define NODE_VERSION_LTS_CODENAME "Iron"
3131

32-
#define NODE_VERSION_IS_RELEASE 0
32+
#define NODE_VERSION_IS_RELEASE 1
3333

3434
#ifndef NODE_STRINGIFY
3535
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)

0 commit comments

Comments
 (0)