Node.js v22.19.0 (LTS)
Antoine du Hamel
2025-08-28, Version 22.19.0 'Jod' (LTS), @aduh95
Notable Changes
- [
8e2076a24f
] - (SEMVER-MINOR) cli: addNODE_USE_SYSTEM_CA=1
(Joyee Cheung) #59276 - [
e592d739c2
] - (SEMVER-MINOR) cli: support${pid}
placeholder in--cpu-prof-name
(Haram Jeong) #59072 - [
cda1dab6e2
] - (SEMVER-MINOR) crypto: addtls.setDefaultCACertificates()
(Joyee Cheung) #58822 - [
1f184513e9
] - (SEMVER-MINOR) dns: support max timeout (theanarkh) #58440 - [
bace73a173
] - doc: update the instruction on how to verify releases (Antoine du Hamel) #59113 - [
fa9a9e9c69
] - (SEMVER-MINOR) esm: unflag--experimental-wasm-modules
(Guy Bedford) #57038 - [
390a9dc20b
] - (SEMVER-MINOR) http: addserver.keepAliveTimeoutBuffer
option (Haram Jeong) #59243 - [
c12c5343ad
] - lib: docs deprecate_http_*
(Sebastian Beltran) #59293 - [
f57ee3d71f
] - (SEMVER-MINOR) net: updatenet.blocklist
to allow file save and file management (alphaleadership) #58087 - [
035da74c31
] - (SEMVER-MINOR) process: addthreadCpuUsage
(Paolo Insogna) #56467 - [
8e697d1884
] - (SEMVER-MINOR) zlib: add dictionary support tozstdCompress
andzstdDecompress
(lluisemper) #59240
Commits
- [
73aa0ae37f
] - assert: change utils to use index instead of for...of (방진혁) #59278 - [
dfe3a11eed
] - benchmark: remove deprecated _extend from benchmark (Rafael Gonzaga) #59228 - [
9b9d30042a
] - benchmark: add fs warmup to writefile-promises (Bruno Rodrigues) #59215 - [
a663f7f954
] - benchmark: add calibrate-n script (Rafael Gonzaga) #59186 - [
1b9b5bddd6
] - benchmark: adjust configuration for string-decoder bench (Rafael Gonzaga) #59187 - [
d0ac3319f9
] - benchmark: add --track to benchmark (Rafael Gonzaga) #59174 - [
2044968b86
] - benchmark: small lint fix on _cli.js (Rafael Gonzaga) #59172 - [
4e519934cb
] - benchmark: drop misc/punycode benchmark (Rafael Gonzaga) #59171 - [
07e173d969
] - benchmark: fix sqlite-is-transaction (Rafael Gonzaga) #59170 - [
8440b6177f
] - benchmark: reduce N for diagnostics_channel subscribe benchmark (Arthur Angelo) #59116 - [
8615ea6db0
] - buffer: cache Environment::GetCurrent to avoid repeated calls (Mert Can Altin) #59043 - [
3deb5361d2
] - build: fix node_use_sqlite for GN builds (Shelley Vohr) #59017 - [
0f0ce63116
] - build: remove suppressions.supp (Rafael Gonzaga) #59079 - [
b30a2117dc
] - build,deps,tools: prepare to update to OpenSSL 3.5 (Richard Lau) #58100 - [
8e2076a24f
] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) #59276 - [
e592d739c2
] - (SEMVER-MINOR) cli: support${pid}
placeholder in --cpu-prof-name (Haram Jeong) #59072 - [
b5571047ed
] - crypto: prepare webcrypto key import/export for modern algorithms (Filip Skokan) #59284 - [
cda1dab6e2
] - (SEMVER-MINOR) crypto: add tls.setDefaultCACertificates() (Joyee Cheung) #58822 - [
76dab34fb7
] - deps: support madvise(3C) across ALL illumos revisions (Dan McDonald) #58237 - [
19d3ed64b6
] - deps: update sqlite to 3.50.4 (Node.js GitHub Bot) #59337 - [
38bafc59e0
] - deps: V8: backport 493cb53691be (Chengzhong Wu) #59238 - [
e8da171cc3
] - deps: update sqlite to 3.50.3 (Node.js GitHub Bot) #59132 - [
fd4ba38ab6
] - deps: update googletest to 7e17b15 (Node.js GitHub Bot) #59131 - [
f71f427b95
] - deps: update archs files for openssl-3.0.17 (Node.js GitHub Bot) #59134 - [
79c5a8f4d2
] - deps: upgrade openssl sources to openssl-3.0.17 (Node.js GitHub Bot) #59134 - [
0dcc84cf53
] - deps: update corepack to 0.34.0 (Node.js GitHub Bot) #59133 - [
1f184513e9
] - (SEMVER-MINOR) dns: support max timeout (theanarkh) #58440 - [
f64f5df80e
] - doc: fix--use-system-ca
history (Joyee Cheung) #59411 - [
e22aeaa38f
] - doc: add missing section forsetReturnArrays
insqlite.md
(Edy Silva) #59074 - [
e44ef07235
] - doc: rename x509.extKeyUsage to x509.keyUsage (Filip Skokan) #59332 - [
2c5d0aac5e
] - doc: fix Pbkdf2Params hash attribute heading (Filip Skokan) #59395 - [
fde94346e5
] - doc: fix missing reference links for server.keepAliveTimeoutBuffer (Lee Jiho) #59356 - [
9af8bcea58
] - doc: fix grammar in global dispatcher usage (Eng Zer Jun) #59344 - [
0edf17198f
] - doc: run license-builder (github-actions[bot]) #59343 - [
7f767a2e38
] - doc: correct orthographyeg.
→e.g.
(Jacob Smith) #59329 - [
a46ed50350
] - doc: clarify the need of compiler compatible with c++20 (Rafael Gonzaga) #59297 - [
212263a305
] - doc: clarify release candidate stability index (Filip Skokan) #59295 - [
ce93b8b556
] - doc: add WDYT to glossary (btea) #59280 - [
ebaaf2c67f
] - doc: add manpage entry for --use-system-ca (Joyee Cheung) #59273 - [
43b5a21916
] - doc: add path.join and path.normalize clarification (Rafael Gonzaga) #59262 - [
409c66d328
] - doc: fix typo intest/common/README.md
(Yoo) #59180 - [
cbb0a8eb13
] - doc: add note on process memoryUsage (fengmk2) #59026 - [
9892b15d81
] - doc: format safely fordoc-kit
(Aviv Keller) #59229 - [
bace73a173
] - doc: update the instruction on how to verify releases (Antoine du Hamel) #59113 - [
b549deac02
] - doc: copyedit SECURITY.md (Rich Trott) #59190 - [
ef1bc3f344
] - doc: fix broken sentence inURL.parse
(Superchupu) #59164 - [
3c6639e8ec
] - doc: improve onboarding instructions (Joyee Cheung) #59159 - [
6ffaac66bc
] - doc: add constraints for mem leak to threat model (Rafael Gonzaga) #58917 - [
e419d20144
] - doc: add Aditi-1400 to collaborators (Aditi Singh) #59157 - [
ba380f7bf3
] - doc: avoid suggesting testing fast api with intense loop (Chengzhong Wu) #59111 - [
fa1a532f2b
] - doc: fix typo in writing-test.md (SeokHun) #59123 - [
0b93ca3d19
] - doc: add RafaelGSS as steward July 25 (Rafael Gonzaga) #59078 - [
7d747aeac8
] - doc: clarify ERR_FS_FILE_TOO_LARGE to reflect fs.readFile() I/O limit (Haram Jeong) #59050 - [
0b5613f9fe
] - doc: run license-builder (github-actions[bot]) #59056 - [
1b6b5e72d3
] - doc: fix typed list formatting (Aviv Keller) #59019 - [
756c7dd639
] - doc: refineutil.parseArgs
default
definition (Slayer95) #58958 - [
0b840523a2
] - doc: remove unused import inzlib.md
(coderaiser) #59041 - [
3e9ed4b080
] - doc: add stability index to the--watch-kill-signal
flag (Dario Piotrowicz) #58997 - [
cb08a5d43f
] - doc: add missing<code>
blocks (Antoine du Hamel) #58995 - [
4a42360fe5
] - doc: add scroll margin to links (Roman Reiss) #58982 - [
9d073f32da
] - doc: add sponsorship link to RafaelGSS (Rafael Gonzaga) #58983 - [
3cc11fc9ac
] - domain: remove deprecated API call (Alex Yang) #59339 - [
fa9a9e9c69
] - (SEMVER-MINOR) esm: unflag --experimental-wasm-modules (Guy Bedford) #57038 - [
177ed3b3dd
] - esm: js-string Wasm builtins in ESM Integration (Guy Bedford) #59020 - [
4619fe0e04
] - fs: fix glob TypeError on restricted dirs (Sylphy-0xd3ac) #58674 - [
ad2089e32d
] - fs: correct error message when FileHandle is transferred (Alex Yang) #59156 - [
390a9dc20b
] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong) #59243 - [
659002359d
] - http2: set Http2Stream#sentHeaders for raw headers (Darshan Sen) #59244 - [
d02831ef73
] - inspector: initial support for Network.loadNetworkResource (Shima Ryuhei) #58077 - [
264a838779
] - lib: add trace-sigint APIs (theanarkh) #59040 - [
d22d2fa6d4
] - lib: optimize writable stream buffer clearing (Yoo) #59406 - [
a5e9759409
] - lib: do not modify prototype deprecated asyncResource (RafaelGSS) #59195 - [
9254257fc0
] - lib: restructure assert to become a class (Miguel Marcondes Filho) #58253 - [
946eab8d77
] - lib: handle superscript variants on windows device (Rafael Gonzaga) #59261 - [
cd857a97b5
] - lib: use validateString (hotpineapple) #59296 - [
c12c5343ad
] - lib: docs deprecate _http_* (Sebastian Beltran) #59293 - [
a28e5f0938
] - lib: add type names in source mapped stack traces (Chengzhong Wu) #58976 - [
6aec5aee7c
] - lib: prefer AsyncIteratorPrototype primordial (René) #59097 - [
e704349858
] - lib: fix incorrectArrayBufferPrototypeGetDetached
primordial type (Dario Piotrowicz) #58978 - [
2fc25fd400
] - lib: flag to conditionally modify proto on deprecate (Rafael Gonzaga) #58928 - [
446ee98e00
] - meta: clarify pr objection process further (James M Snell) #59096 - [
46c339e4f3
] - meta: add mailmap entry for aditi-1400 (Aditi) #59316 - [
70a586261f
] - meta: add tsc and build team as codeowners building.md (Rafael Gonzaga) #59298 - [
e666e06781
] - meta: add nodejs/path to path files (Rafael Gonzaga) #59289 - [
251b65dd6c
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #59140 - [
c8a7964da8
] - meta: add marco-ippolito to security release stewards (Marco Ippolito) #58944 - [
0eec5cc492
] - module: fix conditions override in synchronous resolve hooks (Joyee Cheung) #59011 - [
4acf7cd6d3
] - module: throw error when re-runing errored module jobs (Joyee Cheung) #58957 - [
f57ee3d71f
] - (SEMVER-MINOR) net: update net.blocklist to allow file save and file management (alphaleadership) #58087 - [
4aefcfc318
] - node-api: reword "implementation in an alternative VM" as implementable (Chengzhong Wu) #59036 - [
ff6be2ed5d
] - node-api,doc: update links to ecma262 with section names (Chengzhong Wu) #59087 - [
8d60602677
] - perf_hooks: do not expose SafeMap via Histogram wrapper (René) #59094 - [
035da74c31
] - (SEMVER-MINOR) process: add threadCpuUsage (Paolo Insogna) #56467 - [
74e1aa4d06
] - process: make execve's args argument optional (Allon Murienik) #58412 - [
3366e60bd9
] - src: use simdjson to parse SEA configuration (Joyee Cheung) #59323 - [
63cc06977a
] - src: mark realm leaf classes final (Anna Henningsen) #59355 - [
133d410cd9
] - src: use C++20contains()
method (iknoom) #59304 - [
57fe96fe49
] - src: added CHECK_NOT_NULL check for multiple eq_wrap_async (F3lixTheCat) #59267 - [
a8f381a6c5
] - src: add nullptr checks inStreamPipe::New
(Burkov Egor) #57613 - [
0769e5a0dc
] - src: call unmask after install signal handler (theanarkh) #59059 - [
1e7639e9e1
] - src: useFastStringKey
forTrackV8FastApiCall
(Anna Henningsen) #59148 - [
9075a1a4bf
] - src: use C++20consteval
forFastStringKey
(Anna Henningsen) #59148 - [
5a0fd5689b
] - src: remove declarations of removed BaseObject static fns (Anna Henningsen) #59093 - [
c637a2c41d
] - src: add cache to nearest parent package json (Ilyas Shabi) #59086 - [
3375a6cfee
] - test: deflake sequential/test-tls-session-timeout (Joyee Cheung) #59423 - [
438cb11a15
] - test: update WPT resources,WebCryptoAPI,webstorage (Filip Skokan) #59311 - [
68bec19f76
] - test: add known issue test for fs.cpSync dereference bug (James M Snell) #58941 - [
a100cce379
] - test: deflake stream-readable-to-web test (Ethan Arrowood) #58948 - [
b7577d853b
] - test: make test-inspector-network-resource sequential (Shima Ryuhei) #59104 - [
667ee82443
] - test: don't use expose internals in test-http-outgoing-buffer.js (Meghan Denny) #59219 - [
feec26d3bb
] - test: use mustSucceed in test-fs-read (Sungwon) #59204 - [
d7e23769ab
] - test: prepare test-crypto-rsa-dsa for newer OpenSSL (Richard Lau) #58100 - [
3a9aca91c6
] - test: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) #59158 - [
3aee7625b9
] - test: expand linting rules aroundassert
w literal messages (Anna Henningsen) #59147 - [
667c2ced38
] - test: update WPT for WebCryptoAPI to ab08796857 (Node.js GitHub Bot) #59129 - [
89ac344393
] - test: update WPT for WebCryptoAPI to 19d82c57ab (Node.js GitHub Bot) #59129 - [
d332957ac6
] - test: skip tests that cause timeouts on IBM i (Abdirahim Musse) #59014 - [
a23562ff72
] - test: updatestartCLI
to set--port=0
by default (Dario Piotrowicz) #59042 - [
4a12f5d83b
] - test: mark test-inspector-network-fetch as flaky on Windows (Joyee Cheung) #59091 - [
ac4f7aa69c
] - test: add missing port=0 arg in test-debugger-extract-function-name (Dario Piotrowicz) #58977 - [
8dd09267e3
] - test,crypto: skip unsupported ciphers (Shelley Vohr) #59388 - [
45200b43ea
] - tools: update coverage GitHub Actions to fixed version (Rich Trott) #59512 - [
8f2b8b3dc4
] - tools: allow selecting test subsystems with numbers in their names (Darshan Sen) #59242 - [
f9bc2573dd
] - tools: clarify README linter error message (Joyee Cheung) #59160 - [
cba0de128d
] - tools: add support for URLs to PR commits inmerge.sh
(Antoine du Hamel) #59162 - [
039949ef5b
] - tools: bump @eslint/plugin-kit from 0.3.1 to 0.3.3 in /tools/eslint (dependabot[bot]) #59119 - [
6a8a73aa35
] - tools: ignore CVE mention when linting release proposals (Antoine du Hamel) #59037 - [
d0f40f3a3a
] - tools,test: enforce best practices to detect never settling promises (Antoine du Hamel) #58992 - [
9d801a3f00
] - typings: improve internal binding types (Nam Yooseong) #59351 - [
6dbda6cb25
] - typings: improve internal binding types (Michaël Zasso) #59176 - [
e22dddf859
] - util: respect nested formats in styleText (Alex Yang) #59098 - [
491f390515
] - worker: add cpuUsage for worker (theanarkh) #59177 - [
8e697d1884
] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper) #59240
Windows 32-bit Installer: https://nodejs.org/dist/v22.19.0/node-v22.19.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v22.19.0/node-v22.19.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.19.0/node-v22.19.0-arm64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v22.19.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v22.19.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.19.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v22.19.0/node-v22.19.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v22.19.0/node-v22.19.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v22.19.0/node-v22.19.0.tar.gz
Other release files: https://nodejs.org/dist/v22.19.0/
Documentation: https://nodejs.org/docs/v22.19.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
30d83f7c179081542dfe0908d7e27a97ec2270091db6763028356e6750e476b6 node-v22.19.0-aix-ppc64.tar.gz
0b9eacc6ca3833fbccdb7636bd668bacdbb88fe404a980efa50014b84e42953c node-v22.19.0-arm64.msi
c59006db713c770d6ec63ae16cb3edc11f49ee093b5c415d667bb4f436c6526d node-v22.19.0-darwin-arm64.tar.gz
1c3a9e78da501bbc1f0c99fbbb69bb7c722bc7a9bf30128b21ea502f3905892a node-v22.19.0-darwin-arm64.tar.xz
3cfed4795cd97277559763c5f56e711852d2cc2420bda1cea30c8aa9ac77ce0c node-v22.19.0-darwin-x64.tar.gz
41796082f45db51738d1902cae84fa4f699ff6d2550321361424e8bfe6ea1939 node-v22.19.0-darwin-x64.tar.xz
183bdc17092336ad21e01a425d238e85db4ee077ae3caa0547ff1fbda07d9bd8 node-v22.19.0-headers.tar.gz
12a22367bd09674d04b95265f14295d737892bd682b99aad3122364d36e1ac8f node-v22.19.0-headers.tar.xz
d32817b937219b8f131a28546035183d79e7fd17a86e38ccb8772901a7cd9009 node-v22.19.0-linux-arm64.tar.gz
0b2d9f564b6594222a62c82e1df2efe119dd4a4aff29644f4dd325bf360b6bcc node-v22.19.0-linux-arm64.tar.xz
969037e6da2a710904d121dcb998510bc0d5d4d61d70ce5eb578096cf36c60e8 node-v22.19.0-linux-armv7l.tar.gz
91ea7b35edf17d351177da671ea8b40ee8e42d83f6397ab1b66767e50c7d87a9 node-v22.19.0-linux-armv7l.tar.xz
b18b05265c5586e0a7797831ed747eeac7300fd2c495b8b5276596823b076e12 node-v22.19.0-linux-ppc64le.tar.gz
fd1395179c23daec4f5e7d91353ba297b886de2ec7693ed01eb159bc382b18b2 node-v22.19.0-linux-ppc64le.tar.xz
d434665268adf0670a36676f5f3f46aaf5e13aad3fc81dac87119e871745bf22 node-v22.19.0-linux-s390x.tar.gz
874beeae662ae6d27d9078de99b9e553284a614da35abea3b1a13fe5ef79bb8e node-v22.19.0-linux-s390x.tar.xz
d36e56998220085782c0ca965f9d51b7726335aed2f5fc7321c6c0ad233aa96d node-v22.19.0-linux-x64.tar.gz
c0649af18e6a24f6fe5535a3e86b341dd49a8e71117c8b68bde973ef834f16f2 node-v22.19.0-linux-x64.tar.xz
d32bc3a62cf0bc0d0d10d943f29383924994eb8492521f63a7b584396242ab95 node-v22.19.0.pkg
4cea680423f98abc6a2a5ca127fb34c5f6586c24217f57749be6ea886c9be9a6 node-v22.19.0.tar.gz
0272acfce50ce9ad060288321b1092719a7f19966f81419835410c59c09daa46 node-v22.19.0.tar.xz
fc941b1baa84c5d1959d06b45c79c38bf50f3e20a8a3bcbb477d64baf7da801e node-v22.19.0-win-arm64.7z
e4a7336010d58ff35b53d9dd5869095c56089c70913cf22508cf8183593e56b2 node-v22.19.0-win-arm64.zip
7c4547349b05779000ed3b4999c4cdaa1a4752eaef2e6b53bddb4477d0d98e29 node-v22.19.0-win-x64.7z
ea3fad0e67a991d8477d8c01344b56e69c676ccb733f065b22436994b1253f86 node-v22.19.0-win-x64.zip
2e0e9090d4e6fb33832351f531ee921284c1130bcb52173e182a55cfcdfcdd3f node-v22.19.0-win-x86.7z
708b8a297a19e9ac433e32ac0fc496755757c5e00bd5a0683917e73cae5fe8ea node-v22.19.0-win-x86.zip
9d75369d5c62f1d24340c7163cbb252fe29e1950b58095ea5f495998930ccefa node-v22.19.0-x64.msi
96aae9a1053d3f8c81d04f15d3db6debbbb9dad418a0b71dcebaeeb8a5c76ae8 node-v22.19.0-x86.msi
e22d8ae9e47ff62ae4a9a21ecd52feb229c32c1a1d3024ec60c100abb940df30 win-arm64/node.exe
c174ae3348a4a59c9d61629a7a73a38679fd27c55b2a7d85a2ea3e65de2beb13 win-arm64/node.lib
eb4296fadcdc93aa33ef17ade648f3c58e166e3b0e0014b308dbfa7699adbf6e win-arm64/node_pdb.7z
9bd3d552eb550cdab011b8090a1f6bfa95656ea59301d5e8b9f76114204f80a5 win-arm64/node_pdb.zip
995a3fb3cefad590cd3f4b321532a4b9582fb9c6575320ed2e3e894caac3e362 win-x64/node.exe
4af0951712fb05a686a03e0592880e195ba53e5eb70e224d7ea7b8b76f2a3e86 win-x64/node.lib
fdb302e7d91ab9d1097d82c3e22dfc3bf9f3c8c7e8f1a83a8a7d8b0e60eb4eb4 win-x64/node_pdb.7z
0145b60fb83e2f0007d2a7cf98922530a66d906e6fcf73ab9ed061ac8a282cce win-x64/node_pdb.zip
8a1fb53454db56c83417abf147922932a764809954b800e34a6903a6c5833c9e win-x86/node.exe
e1830d28633bfa80180edfffe5f091dc945701ba8cf2b743ca542d34759f505a win-x86/node.lib
f1ebfb3a63ad01201213771582b719ea55d78a4464fb4fb125972498f4e33512 win-x86/node_pdb.7z
2950f743349e188015355dc67a2b9841a2655a30c08d8440eeb619bdce68597c win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaLDGPAAKCRAgsaOQsWjT
VoIwAQDRMdguX4LNxiNICciOtmrK2+mXo1w4RKP6O7Qx7ACeUAEAhi5Ti/Va65O/
AepgUXbYoo01h+HjKkbnZiq5HcIl4Q0=
=YDz7
-----END PGP SIGNATURE-----