NodeJS 20.19.3 (LTS) has been released, featuring several significant updates. Significant updates include the stable Gradient WebCryptoAPI algorithms, improved root certificates to NSS 3.108, and a timezone change to 2025b. The build incorporates updates to the ICU, Corepack, and SIMDUTF versions. The commits include making FILE_OFFSET_BITS=64 work for 32-bit systems, using glob for dependencies in out/Makefile, allowing length=0 for HKDF and PBKDF2 in SubtleCrypto.deriveBits, and updating simdutf to version 6.4.2.
Node.js — Node v20.19.3 (LTS)
Node.js
is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Notable Changes
- [
c535a3c483] - crypto: graduate WebCryptoAPI Ed25519 and X25519 algorithms as stable (Filip Skokan) #56142- [
af1dc63815] - crypto: update root certificates to NSS 3.108 (Node.js GitHub Bot) #57381- [
01d63a4ddf] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857- [
b6daa344eb] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102Commits
- [
fc1fa7a357] - build: use FILE_OFFSET_BITS=64 esp. on 32-bit arch (RafaelGSS) #58090- [
79e0812181] - build: use glob for dependencies of out/Makefile (Richard Lau) #55789- [
f56e62851a] - crypto: allow length=0 for HKDF and PBKDF2 in SubtleCrypto.deriveBits (Filip Skokan) #55866- [
c535a3c483] - crypto: graduate WebCryptoAPI Ed25519 and X25519 algorithms as stable (Filip Skokan) #56142- [
39925de8b1] - crypto: allow non-multiple of 8 in SubtleCrypto.deriveBits (Filip Skokan) #55296- [
af1dc63815] - crypto: update root certificates to NSS 3.108 (Node.js GitHub Bot) #57381- [
d09008add3] - deps: V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #58342- [
fd56652425] - deps: V8: cherry-pick 182d9c05e78b (Andrey Kosyakov) #58342- [
447481e829] - deps: V8: cherry-pick third_party/zlib@646b7f569718 (Hans Wennborg) #58342- [
eb447168df] - deps: update simdutf to 6.4.2 (Node.js GitHub Bot) #57855- [
01d63a4ddf] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857- [
10fb49f2a9] - deps: update icu to 77.1 (Node.js GitHub Bot) #57455- [
f1dc7d0205] - deps: update corepack to 0.32.0 (Node.js GitHub Bot) #57265- [
7a2e64bb8a] - deps: update simdutf to 6.4.0 (Node.js GitHub Bot) #56764- [
e80669be0d] - doc: mention reports should align with Node.js CoC (Rafael Gonzaga) #57607- [
7b2c0bc92e] - doc: add gurgunday as triager (Gürgün Dayıoğlu) #57594- [
791e4879de] - doc: document REPL custom eval arguments (Dario Piotrowicz) #57690- [
2917f09876] - doc: improved fetch docs (Alessandro Miliucci) #57296- [
d940b15843] - doc: clarifyunhandledRejectionevents behaviors in process doc (Dario Piotrowicz) #57654- [
71c664fab7] - doc: update position type to integer | null in fs (Yukihiro Hasegawa) #57745- [
0c0fbfa9c6] - doc: add missing v0.x changelog entries (Antoine du Hamel) #57779- [
e99462c9fc] - doc: correct deprecation type ofassert.CallTracker(René) #57997- [
c7e92696ef] - doc: add returns for https.get (Eng Zer Jun) #58025- [
ccc42b69ce] - doc: fix env variable name inutil.styleText(Antoine du Hamel) #58072- [
b6daa344eb] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102- [
e5d6a3df16] - doc: fixAsyncLocalStorageexample response changes after node v18 (Naor Tedgi (Abu Emma)) #57969- [
f006411998] - doc: fix typo of filezlib.md(yusheng chen) #58093- [
5193735df4] - doc: add missing options.signal to readlinePromises.createInterface() (Jimmy Leung) #55456- [
fd44af730f] - doc: fix misaligned options in vm.compileFunction() (Jimmy Leung) #58145- [
0fdcc0ddcd] - doc: add ambassaor message (Brian Muenzenmeyer) #57600- [
5ca9616bd3] - doc: increase z-index of header element (Dario Piotrowicz) #57851- [
81342d10f0] - doc: fix deprecation type forDEP0148(Livia Medeiros) #57785- [
776becfe01] - doc: remove mention of--requirenot supporting ES modules (Huáng Jùnliàng) #57620- [
3140a8f133] - doc: add missingdeprecatedbadges infs.md(Yukihiro Hasegawa) #57384- [
441ce24ae3] - doc: deprecate passing invalid types infs.existsSync(Carlos Espa) #55892- [
0556f54544] - http: correctly translate HTTP method (Paolo Insogna) #52701- [
c2c6d2b035] - http: be more generational GC friendly (ywave620) #56767- [
cdf3fa241c] - http2: skip writeHead if stream is closed (Shima Ryuhei) #57686- [
bbd5aec785] - http2: fix graceful session close (Kushagra Pandey) #57808- [
b427ae4f34] - meta: removebuild-windows.yml(Aviv Keller) #54662- [
49e624f554] - os: fix netmask format check condition in getCIDR function (Wiyeong Seo) #57324- [
d582954434] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #57754- [
234a505e96] - src: allow embedder customization of OOMErrorHandler (Shelley Vohr) #57325- [
c0252cd380] - src: fix -Wunreachable-code-return in node_sea (Shelley Vohr) #57664- [
fcd1622fc1] - src: fix kill signal 0 on Windows (Stefan Stojanovic) #57695- [
850192b06b] - test: skip broken sea on rhel8 (Marco Ippolito) #58761- [
3cf7cfb695] - test: update WPT for WebCryptoAPI to edd42c005c (Node.js GitHub Bot) #57365- [
f57765bdcf] - test: mark test-without-async-context-frame flaky on windows (James M Snell) #56753- [
275ea8e7ef] - test: force GC in test-file-write-stream4 (Luigi Pinca) #57930- [
da6a13c338] - test: deflake test-http2-options-max-headers-block-length (Luigi Pinca) #57959- [
56fce6691e] - test: prevent extraneous HOSTNAME substitution in test-runner-output (René) #58076- [
c9c0be5596] - test: update expected error message for macOS (Antoine du Hamel) #57742- [
3cbf5f93d2] - test: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) #58414- [
bffd4ec379] - test: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) #58415- [
8237346fb7] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #54593- [
b90c4ab937] - tools: remove unusedosx-pkg-postinstall.sh(Antoine du Hamel) #57667- [
414013dcfb] - tools: edit create-release-proposal workflow to handle pr body length (Elves Vieira) #57841- [
7c449ed6b3] - tools: fix tarball testing directory (Marco Ippolito) #57994- [
d164dc2d38] - tools: update sccache version to v0.10.0 (Marco Ippolito) #57994- [
debd3c2cc0] - tools: disable failing test envs intest-linuxCI (Antoine du Hamel) #58351- [
152112505a] - typings: fixImportModuleDynamicallyCallbackreturn type (Chengzhong Wu) #57160- [
363bf744ab] - worker: flush stdout and stderr on exit (Matteo Collina) #56428
is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.