|
9 | 9 | </tr> |
10 | 10 | <tr> |
11 | 11 | <td> |
| 12 | +<a href="#20.20.1">20.20.1</a><br/> |
12 | 13 | <a href="#20.20.0">20.20.0</a><br/> |
13 | 14 | <a href="#20.19.6">20.19.6</a><br/> |
14 | 15 | <a href="#20.19.5">20.19.5</a><br/> |
|
76 | 77 | * [io.js](CHANGELOG_IOJS.md) |
77 | 78 | * [Archive](CHANGELOG_ARCHIVE.md) |
78 | 79 |
|
| 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 | + |
79 | 168 | <a id="20.20.0"></a> |
80 | 169 |
|
81 | 170 | ## 2026-01-13, Version 20.20.0 'Iron' (LTS), @marco-ippolito |
|
0 commit comments