Skip to content

Node.js 20.20.1 (LTS)

Marco Ippolito

2026-03-05, Version 20.20.1 'Iron' (LTS), @marco-ippolito

Notable Changes

  • [91a66e671c] - build: test on Python 3.14 (Christian Clauss) #59983
  • [f66056054b] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
  • [80feacaddb] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741

Commits

  • [6f580d5399] - assert: fix deepEqual always return true on URL (Xuguang Mei) #50853
  • [91a66e671c] - build: test on Python 3.14 (Christian Clauss) #59983
  • [cc4f7af6f3] - build: skip sscache action on non-main branches (Joyee Cheung) #61790
  • [f66056054b] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
  • [80feacaddb] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741
  • [fa88cc07e2] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662
  • [88b2eec88a] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) #61830
  • [5c053264f1] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) #61687
  • [4a398699d0] - deps: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) #61731
  • [4fa43adf15] - deps: update googletest to 56efe3983185e3f37e43415d1afa97e3860f187f (Node.js GitHub Bot) #61605
  • [1a855d490c] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417
  • [d8a9359826] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523
  • [e79cd3a0bb] - deps: update acorn-walk to 8.3.5 (Node.js GitHub Bot) #61928
  • [0707ade464] - deps: update acorn to 8.16.0 (Node.js GitHub Bot) #61925
  • [dc5a3cddef] - deps: update llhttp to 9.3.1 (Node.js GitHub Bot) #61827
  • [46043b94c7] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135
  • [6be15a596e] - deps: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) #61271
  • [10881404cd] - deps: update timezone to 2025c (Node.js GitHub Bot) #61138
  • [1594a78c85] - deps: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) #61055
  • [7fa2ee1933] - deps: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) #60898
  • [09259532ef] - deps: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) #60739
  • [aa8bdb6886] - deps: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) #60646
  • [cc849fde27] - deps: update googletest to 279f847 (Node.js GitHub Bot) #60219
  • [a99ba553a2] - deps: update googletest to 50b8600 (Node.js GitHub Bot) #59955
  • [6349a79f5f] - deps: update googletest to 7e17b15 (Node.js GitHub Bot) #59131
  • [8ba759f1a0] - deps: update googletest to 35b75a2 (Node.js GitHub Bot) #58710
  • [927d906850] - deps: update googletest to e9092b1 (Node.js GitHub Bot) #58565
  • [bf8919f5c2] - deps: update googletest to 0bdccf4 (Node.js GitHub Bot) #57380
  • [ae6231dac0] - deps: update googletest to e235eb3 (Node.js GitHub Bot) #56873
  • [0561c62e85] - deps: update minimatch to 10.1.2 (Node.js GitHub Bot) #61732
  • [f0ef221b0d] - deps: update minimatch to 10.1.1 (Node.js GitHub Bot) #60543
  • [15bd0da404] - deps: update archs files for openssl (Antoine du Hamel) #61912
  • [04d439323f] - deps: upgrade openssl sources to openssl-3.0.19 (Antoine du Hamel) #61912
  • [2ea16d3bd6] - deps: update corepack to 0.34.6 (Node.js GitHub Bot) #61510
  • [622f973d1c] - deps: update corepack to 0.34.5 (Node.js GitHub Bot) #60842
  • [2cd265d8b9] - deps: update corepack to 0.34.4 (Node.js GitHub Bot) #60643
  • [65e839687b] - deps: update corepack to 0.34.2 (Node.js GitHub Bot) #60550
  • [2dc99d2771] - dns: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) #61453
  • [2c7b84b1d8] - doc: fix typo in http.md (Michael Solomon) #59354
  • [a84b42667c] - doc: fix grammar in global dispatcher usage (Eng Zer Jun) #59344
  • [ffd0ada45f] - doc: fix typo in test/common/README.md (Yoo) #59180
  • [b4d9d006e7] - doc: fix broken sentence in URL.parse (Superchupu) #59164
  • [45e9971d9c] - doc: fix typo in writing-test.md (SeokHun) #59123
  • [e9fd10b5d6] - doc: fix fetch subsections in globals.md (Antoine du Hamel) #58933
  • [3715dd1c2b] - doc: fix wrong RFC number in http2 (Deokjin Kim) #58753
  • [098c017eac] - doc: punctuation fix for Node-API versioning clarification (Jiacai Liu) #58599
  • [545bf434e1] - doc: fix typo of file http.md, outgoingMessage.setTimeout section (yusheng chen) #58188
  • [b3d6683e7b] - doc: support toolchain with Visual Studio 2019 & 2022 only (Mike McCready) #61450
  • [8fdde5d110] - doc: fix v20 changelog after security release (Marco Ippolito) #61371
  • [31d04599be] - http: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) #58178
  • [5ec7d1eba0] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402
  • [5c091d5a96] - meta: persist sccache daemon until end of build workflows (René) #61639
  • [183353aba0] - path,win: fix bug in resolve and normalize (Hüseyin Açacak) #55623
  • [dbe9e5091b] - src: fix flags argument offset in JSUdpWrap (Weixie Cui) #61948
  • [4106bfc775] - test: mark stringbytes-external-max flaky on AIX (Stewart X Addison) #60995
  • [de51937306] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565
  • [368b221be3] - test: fix flaky test-performance-eventloopdelay (Matteo Collina) #61629
  • [e134912a33] - test: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) #59158
  • [5630170d3e] - test: account for truthy signal in flaky async_hooks tests (Darshan Sen) #58478
  • [1e5363bb63] - test: mark test-http2-debug as flaky on LinuxONE (Richard Lau) #58494
  • [662998787a] - test: set test-fs-cp as flaky (Stefan Stojanovic) #56799
  • [0807127339] - test: mark test-esm-loader-hooks-inspect-wait flaky (Richard Lau) #56803
  • [6320cd0721] - test: skip strace test with shared openssl (Richard Lau) #61987
  • [83b9f8ee02] - tools: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) #58752
  • [6cf9b5786e] - tools: enforce removal of lts-watch-* labels on release proposals (Antoine du Hamel) #61672
  • [cd4161499c] - tools: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) #61663
  • [6dc2a99a0d] - tools: validate release commit diff as part of lint-release-proposal (Antoine du Hamel) #61440
  • [5014f22332] - tools: add read permission to workflows that read contents (Antoine du Hamel) #58255
  • [6c3ad2a5a3] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903
  • [1abada9c34] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899
  • [f260e40127] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759
  • [64beca5e01] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734

Windows 32-bit Installer: https://nodejs.org/dist/v20.20.1/node-v20.20.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v20.20.1/node-v20.20.1-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v20.20.1/node-v20.20.1-arm64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v20.20.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v20.20.1/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v20.20.1/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v20.20.1/node-v20.20.1.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v20.20.1/node-v20.20.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v20.20.1/node-v20.20.1.tar.gz
Other release files: https://nodejs.org/dist/v20.20.1/
Documentation: https://nodejs.org/docs/v20.20.1/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

6565a303b13143bf74d65a90eb32f67d97bccbfacbd7c13f9130212756b5966c  node-v20.20.1-aix-ppc64.tar.gz
cc0004c14866004c7fb35a3cfabf66d6cfacc963121cb112b9bbe1a0962747c5  node-v20.20.1-arm64.msi
36c5ef36d955995ea2dea700b16b8e79bedeb1ecb4569e77ddc8fc739aa56bac  node-v20.20.1-darwin-arm64.tar.gz
7ccad11f66d39bbf3a35b9b6f3b65bafde481cb76bbef902d0a153fdfa321360  node-v20.20.1-darwin-arm64.tar.xz
ea8d2cd7280d935232bae5456704843aa50cf452e10b95abd92a721db6496965  node-v20.20.1-darwin-x64.tar.gz
0d4130046901c9b249563d6053b1512217a14c1dde164b15713fb8a25b914650  node-v20.20.1-darwin-x64.tar.xz
18561cca368164e7d20e9967568a174ca8f01b91092b2ca46210ff443c3fedce  node-v20.20.1-headers.tar.gz
33f134077a58e7285514456aa24f0d177ff6a13a7af420067f6070a8688804ad  node-v20.20.1-headers.tar.xz
d6947e10ddc124284aee92981cc739cd4581a6b4bf89520792f2b582600195fa  node-v20.20.1-linux-arm64.tar.gz
f9a7b07fafd1adaf2c375af2ede31f462395377a8a6c9427d32793a68135e774  node-v20.20.1-linux-arm64.tar.xz
6d7b0f1f3a88004b251fd4d2ee2f5c4faca15587a3cdaaefae11e655b9e01cde  node-v20.20.1-linux-armv7l.tar.gz
483fb1370a2111be05294f38dc0255e6982ab69904380ff6f63f2a54ce136eb9  node-v20.20.1-linux-armv7l.tar.xz
d885a22c1a08bd2d2f91c290770f3a9762075c4ec222fcd9d9fc921b0c8294b9  node-v20.20.1-linux-ppc64le.tar.gz
214db347255f28ac8f6cc3c4bf5743f729e0b9e8cb9fb478258d981031fcce6f  node-v20.20.1-linux-ppc64le.tar.xz
7f0688d98fce89a9d7c623a3b0d2eab8374333f31461c8cb8b9d34712c45a1ba  node-v20.20.1-linux-s390x.tar.gz
daa1bd477346861291d1e0f92b99bd671323061f92577905647f7145348d1116  node-v20.20.1-linux-s390x.tar.xz
6362e50804cdcc110592201f67beda93bcd702fdcbe1c42840a50d590e3af0ce  node-v20.20.1-linux-x64.tar.gz
1592ef30f7a63309581a130f7fd8b3311a3e08ee0c609a3d13234590fe35409f  node-v20.20.1-linux-x64.tar.xz
7560c232ce06f2fff19f0b43e6b56cf7bb86e43c98005dd95487085dfd2c9378  node-v20.20.1.pkg
1b6eaf0fa2b99a19ec682149faa0aabbea5bb7f8af2f44ee6f6491d5ff6a9235  node-v20.20.1.tar.gz
e540efdd6750f838e867daf9ab9d90ea195423f915613d05d87105f4d2ecd186  node-v20.20.1.tar.xz
c0128606ebd275db161ccc90b103a01dba2698bc66bb17b87515cde8814b3a75  node-v20.20.1-win-arm64.7z
2de4684a20c98a50bbf0e5cc7cadd94abe6341c0fa3830a49f384deaf4457ff7  node-v20.20.1-win-arm64.zip
6c96f5deebd2efc622397758bbcdadb10a0d8db0cecbb12577a2c183751708b6  node-v20.20.1-win-x64.7z
499e886ed617abb37d5e3a2b87a3f737e3c673b146361fb5ee70d08d7fdf6d2b  node-v20.20.1-win-x64.zip
1756fde9976a040c9187075c65d781380b1cd8b35caa56fa30e2ea12a6e88a1e  node-v20.20.1-win-x86.7z
9d7b464e77a4aa28f425d94230b632ce65d0caed52cf4e2c50bc3217e862ab33  node-v20.20.1-win-x86.zip
ce635af568160648e67121b14620771f1e9199194fd0c7c4886ce676c938f0a9  node-v20.20.1-x64.msi
986a9ba871e30242f3e9588d38f9949f1cbc672b6348d43c14be8d9e29eddf44  node-v20.20.1-x86.msi
55548a2e02ce19b1b2a48da3c1f332d9174487a3396399ee3a270fcf442d1331  win-arm64/node.exe
deacf784c804e5ab9df886b2de4c7a04d77ee1c722e2e4f1567aac62391ec4c4  win-arm64/node.lib
12c490748993a1a39c58723354276809cc388cfa88d02760037747aba80104f3  win-arm64/node_pdb.7z
3644b1ddb8661c6c3191e4ec10b56047e7cb477adbc41fbe01e758277f8f2fc0  win-arm64/node_pdb.zip
c0e91d79c5541a733999101578f2febbc2c4ca48bb9727cad3c5ed874805d84a  win-x64/node.exe
6b9b49107d47c9f94b8cb191be208a303560e8ebb88bccfbd8a43ca0dc33cf99  win-x64/node.lib
282e9f621b564b28c2ed922fc1d8e8b2c084f295e80461bca707bb034f4dbe49  win-x64/node_pdb.7z
342e06e0ba7e5d84688b7177978b8ab2788f4b13e0b872209a04305832c2269d  win-x64/node_pdb.zip
08bcde38088527bf56fbee5978c02f71919e9c571ae5c4b2d6077969cf70331f  win-x86/node.exe
eeb5cad8803c51da6031c3617b469d539511a7ef1d659a046a13f467af313562  win-x86/node.lib
64b6f00e31a687726b75613a815f2c71c2b586e7fd984188c981f6b5dbefa6fb  win-x86/node_pdb.7z
a0f2e63f7a3d7e4801355ca71edc36c90f244aee0d9519297532d09702c748fe  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEzGj1oxBv9EgyLkjtJ/XjjVsKIV8FAmmpjYEACgkQJ/XjjVsK
IV+BLg//au5QL89m4AR95rosHUkCelwigFowaMzyPgg402M9ZQhDFesrb8pH5VaG
pAgWXxwHJxgLfnc1m4a3fzuioIlk+Nky6TBeyFblbzACHvvVo2tc/n+NMKQcFRzu
paE957VhAokaty/OjMVsEYWyVoS2vMaH53/ja97Ggj7GCU4MI9FfD+qn141PXYhQ
MN5e02qrU0r19q1eWjBnBz55VHE2fGzow7Q+aJZaqTrAzRszBPpvwY1cEMjMLsOD
dd+pP6kJZqcsdnuHVbdDdaZE/45rGvUxBqtIoe9JzSRHvERB6DeDxKD8itH/wXQK
jrP1rYMTt6GGiTQxt6ncZ4t4mTEQ2buRgHWL3D9bik8wxGnHZggT7QGNvO9Rs3R9
hKKA4nUfHKtZ2Z5TKOFMWOF6m0TMGcI1XZSzVpfWQt3xI+jdzTSLyKItCLg0hveK
A9ZQuz6ivUnm5fp2LqYD+QnqSyjfclqTx3R0WycBEn1j0MB9dQmMtHF1tYU/PMLd
2tZn6y61XCZruKITV9VnzL3vnBY4mbV1uHDAWoGJTr3+oL2QOpn61zPRBTkwIdqm
Nu96f8nIYLmYuqGTQqzgxVT59eQU9ev6tF5fyeIz6amc1BRasMHxdMWQqGRt88nk
AQYIYe3men0WDNwMKD/G95OI92gnH+4kFhJxxkvEMwaqNgSWoOU=
=nBV4
-----END PGP SIGNATURE-----