Node v22.17.0 (LTS)
Antoine du Hamel
2025-06-24, Version 22.17.0 'Jod' (LTS), @aduh95
Notable Changes
⚠️ Deprecations
Instantiating node:http
classes without new
Constructing classes like IncomingMessage
or ServerResponse
without the new
keyword is now discouraged. This clarifies API expectations and aligns with standard
JavaScript behavior. It may warn or error in future versions.
Contributed by Yagiz Nizipli in #58518.
options.shell = ""
in node:child_process
Using an empty string for shell
previously had undefined behavior. This change
encourages explicit choices (e.g., shell: true
or a shell path) and avoids
relying on implementation quirks.
Contributed by Antoine du Hamel and Renegade334 #58564.
HTTP/2 priority signaling
The HTTP/2 prioritization API (e.g., stream.priority
) is now deprecated due to
poor real-world support. Applications should avoid using priority hints and expect future removal.
Contributed by Matteo Collina and Antoine du Hamel #58313.
✅ Features graduated to stable
assert.partialDeepStrictEqual()
This method compares only a subset of properties in deep object comparisons, useful for flexible test assertions. Its stabilization means it's now safe for general use and won't change unexpectedly in future releases.
Contributed by Ruben Bridgewater in #57370.
Miscellaneous
dirent.parentPath
filehandle.readableWebStream()
fs.glob()
fs.openAsBlob()
node:readline/promises
port.hasRef()
readable.compose()
readable.iterator()
readable.readableAborted
readable.readableDidRead
Duplex.fromWeb()
Duplex.toWeb()
Readable.fromWeb()
Readable.isDisturbed()
Readable.toWeb()
stream.isErrored()
stream.isReadable()
URL.createObjectURL()
URL.revokeObjectURL()
v8.setHeapSnapshotNearHeapLimit()
Writable.fromWeb()
Writable.toWeb()
writable.writableAborted
- Startup Snapshot API
ERR_INPUT_TYPE_NOT_ALLOWED
ERR_UNKNOWN_FILE_EXTENSION
ERR_UNKNOWN_MODULE_FORMAT
ERR_USE_AFTER_CLOSE
Contributed by James M Snell in #57513 and #58541.
Semver-minor features
🔧 fs.FileHandle.readableWebStream
gets autoClose
option
This gives developers explicit control over whether the file descriptor should be closed when the stream ends. Helps avoid subtle resource leaks.
Contributed by James M Snell in #58548.
🔧 fs.Dir
now supports explicit resource management
This improves ergonomics around async iteration of directories. Developers can
now manually control when a directory is closed using .close()
or with Symbol.asyncDispose
.
Contributed by Antoine du Hamel in #58206.
📊 http2
gains diagnostics channel: http2.server.stream.finish
Adds observability support for when a stream finishes. Useful for logging, monitoring, and debugging HTTP/2 behavior without patching internals.
Contributed by Darshan Sen in #58560.
🔐 Permissions: implicit allow-fs-read to entrypoint
Node.js permissions model now allows read access to the entry file by default. It makes running permission-restricted apps smoother while preserving security.
Contributed by Rafael Gonzaga in #58579.
🎨 util.styleText()
adds 'none'
style
This lets developers remove styling cleanly without hacks. Useful for overriding inherited terminal styles when composing styled strings.
Contributed by James M Snell in #58437.
🧑💻 Community updates
- [
0105c13556
] - doc: add Filip Skokan to TSC (Rafael Gonzaga) #58499 - [
3b857735ef
] - doc: add JonasBa to collaborators (Jonas Badalic) #58355 - [
fdf7612735
] - doc: add puskin to collaborators (Giovanni Bucci) #58308
Commits
- [
ffe7e1ace0
] - (SEMVER-MINOR) assert: mark partialDeepStrictEqual() as stable (Ruben Bridgewater) #57370 - [
269931f289
] - async_hooks: ensure AsyncLocalStore instances work isolated (Gerhard Stöbich) #58149 - [
9e0746a4ff
] - benchmark: fix broken fs.cpSync benchmark (Dario Piotrowicz) #58472 - [
dee8cb5bcb
] - benchmark: add more options to cp-sync (Sonny) #58278 - [
e840fd5b85
] - benchmark: fix typo in method name for error-stack (Miguel Marcondes Filho) #58128 - [
b9a16e97e0
] - buffer: give names toBuffer.prototype.*Write()
functions (Livia Medeiros) #58258 - [
d56a5e40af
] - buffer: use constexpr where possible (Yagiz Nizipli) #58141 - [
215587feca
] - build: add support for OpenHarmony operating system (hqzing) #58350 - [
9bcef6821c
] - build: fix uvwasi pkgname (Antoine du Hamel) #58270 - [
7c3883c2ae
] - build: search for libnode.so in multiple places (Jan Staněk) #58213 - [
3f954accb3
] - build: fix pointer compression builds (Joyee Cheung) #58171 - [
04c8f59f84
] - build: use FILE_OFFSET_BITS=64 esp. on 32-bit arch (RafaelGSS) #58090 - [
8c2cf3a372
] - build: use //third_party/simdutf by default in GN (Shelley Vohr) #58115 - [
cff8006792
] - child_process: give names toChildProcess
functions (Livia Medeiros) #58370 - [
6816d779b6
] - child_process: give names to promisifiedexec()
andexecFile()
(LiviaMedeiros) #57916 - [
5572cecca4
] - crypto: expose crypto.constants.OPENSSL_IS_BORINGSSL (Shelley Vohr) #58387 - [
d6aa02889c
] - deps: use proper C standard when building libuv (Yaksh Bariya) #58587 - [
375a6413d5
] - deps: update simdjson to 3.12.3 (Node.js GitHub Bot) #57682 - [
e0cd138e52
] - deps: update googletest to e9092b1 (Node.js GitHub Bot) #58565 - [
31e592631f
] - deps: update corepack to 0.33.0 (Node.js GitHub Bot) #58566 - [
386c24260b
] - deps: update sqlite to 3.50.0 (Node.js GitHub Bot) #58272 - [
f84998d40b
] - deps: update OpenSSL gen container to Ubuntu 22.04 (Michaël Zasso) #58432 - [
d49fd29859
] - deps: update llhttp to 9.3.0 (Fedor Indutny) #58144 - [
e397980a1a
] - deps: update libuv to 1.51.0 (Node.js GitHub Bot) #58124 - [
a28c33645c
] - dns: fix dns query cache implementation (Ethan Arrowood) #58404 - [
6939b0c624
] - doc: fix the order ofprocess.md
sections (Allon Murienik) #58403 - [
1ca253c363
] - doc: add support link for panva (Filip Skokan) #58591 - [
8319edbcf6
] - doc: update metadata for _transformState deprecation (James M Snell) #58530 - [
697d258136
] - doc: deprecate passing an empty string tooptions.shell
(Antoine du Hamel) #58564 - [
132fc804e8
] - doc: correct formatting of example definitions for--test-shard
(Jacob Smith) #58571 - [
7d0df646f6
] - doc: clarify DEP0194 scope (Antoine du Hamel) #58504 - [
1e6d7da0ce
] - doc: deprecate HTTP/2 priority signaling (Matteo Collina) #58313 - [
5a917bc1d0
] - doc: explain child_process code and signal null values everywhere (Darshan Sen) #58479 - [
0105c13556
] - doc: add Filip Skokan to TSC (Rafael Gonzaga) #58499 - [
2bdc87cd64
] - doc: updategit node release
example (Antoine du Hamel) #58475 - [
28f9b43186
] - doc: add missing options.info for ZstdOptions (Jimmy Leung) #58360 - [
e19496dfc1
] - doc: add missing options.info for BrotliOptions (Jimmy Leung) #58359 - [
7f905863db
] - doc: clarify x509.checkIssued only checks metadata (Filip Skokan) #58457 - [
5cc97df637
] - doc: add links to parent class fornode:zlib
classes (Antoine du Hamel) #58433 - [
36e0d5539b
] - doc: remove remaining uses of@@wellknown
syntax (René) #58413 - [
2f36f8e863
] - doc: clarify behavior of --watch-path and --watch flags (Juan Ignacio Benito) #58136 - [
3b857735ef
] - doc: add JonasBa to collaborators (Jonas Badalic) #58355 - [
9d5e969bb6
] - doc: add latest security release steward (Rafael Gonzaga) #58339 - [
b22bb03167
] - doc: fix CryptoKey.algorithm type and other interfaces in webcrypto.md (Filip Skokan) #58294 - [
670f31060b
] - doc: mark the callback argument of crypto.generatePrime as mandatory (Allon Murienik) #58299 - [
39d9a61239
] - doc: remove comma delimiter mention on permissions doc (Rafael Gonzaga) #58297 - [
573b0b7bfe
] - doc: make Stability labels not sticky in Stability index (Livia Medeiros) #58291 - [
a5a686a3ae
] - doc: update commit-queue documentation (Dario Piotrowicz) #58275 - [
fdf7612735
] - doc: add puskin to collaborators (Giovanni Bucci) #58308 - [
be492a1708
] - doc: update stability status for diagnostics_channel to experimental (Idan Goshen) #58261 - [
7d00fc2206
] - doc: clarify napi_get_value_string_* for bufsize 0 (Tobias Nießen) #58158 - [
c8500a2c4a
] - doc: fix typo of filehttp.md
,outgoingMessage.setTimeout
section (yusheng chen) #58188 - [
34a9b856c3
] - doc: update return types for eventNames method in EventEmitter (Yukihiro Hasegawa) #58083 - [
faedee59d2
] - doc: fix typo in benchmark script path (Miguel Marcondes Filho) #58129 - [
570d8d3f10
] - doc: clarify future Corepack removal in v25+ (Trivikram Kamat) #57825 - [
a71b9fc2ff
] - doc: mark multiple APIs stable (James M Snell) #57513 - [
73a97d47f3
] - doc,lib: update source map links to ECMA426 (Chengzhong Wu) #58597 - [
8b41429499
] - doc,src,test: fix typos (Noritaka Kobayashi) #58477 - [
0cea14ec7f
] - errors: show url of unsupported attributes in the error message (Aditi) #58303 - [
b9586bf898
] - (SEMVER-MINOR) fs: add autoClose option to FileHandle readableWebStream (James M Snell) #58548 - [
72a1b061f3
] - fs: unexpose internal constants (Chengzhong Wu) #58327 - [
5c36510dec
] - fs: add support forURL
forfs.glob
'scwd
option (Antoine du Hamel) #58182 - [
3642b0d944
] - fs: improve cpSync no-filter copyDir performance (Dario Piotrowicz) #58461 - [
24865bc7e8
] - fs: improvecpSync
dest overriding performance (Dario Piotrowicz) #58160 - [
1b3847694d
] - (SEMVER-MINOR) fs: add toDir
support for explicit resource management (Antoine du Hamel) #58206 - [
cff62e3265
] - fs: ensuredir.read()
does not throw synchronously (Antoine du Hamel) #58228 - [
cb39e4ca1f
] - fs: glob is stable, so should not emit experimental warnings (Théo LUDWIG) #58236 - [
597bfefbe1
] - http: deprecate instantiating classes without new (Yagiz Nizipli) #58518 - [
5298da0102
] - http: remove unused functions and add todos (Yagiz Nizipli) #58143 - [
cff440e0fa
] - http,https: give names to anonymous or misnamed functions (Livia Medeiros) #58180 - [
43bf1f619a
] - http2: add raw header array support to h2Session.request() (Tim Perry) #57917 - [
e8a0f5b063
] - http2: add lenient flag for RFC-9113 (Carlos Fuentes) #58116 - [
49cb90d4a5
] - (SEMVER-MINOR) http2: add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560 - [
6a56c68728
] - http2: add diagnostics channel 'http2.server.stream.error' (Darshan Sen) #58512 - [
59806b41d3
] - http2: add diagnostics channel 'http2.server.stream.start' (Darshan Sen) #58449 - [
d3d662ae47
] - http2: remove no longer userful options.selectPadding (Jimmy Leung) #58373 - [
dec6c9af8c
] - http2: add diagnostics channel 'http2.server.stream.created' (Darshan Sen) #58390 - [
9e98899986
] - http2: add diagnostics channel 'http2.client.stream.close' (Darshan Sen) #58329 - [
86610389d8
] - http2: add diagnostics channel 'http2.client.stream.finish' (Darshan Sen) #58317 - [
2d3071671e
] - http2: add diagnostics channel 'http2.client.stream.error' (Darshan Sen) #58306 - [
6c3e426d6f
] - http2: add diagnostics channel 'http2.client.stream.start' (Darshan Sen) #58292 - [
b99d131a61
] - http2: add diagnostics channel 'http2.client.stream.created' (Darshan Sen) #58246 - [
b0644330f5
] - http2: give name to promisifiedconnect()
(LiviaMedeiros) #57916 - [
4092d3611a
] - inspector: add mimeType and charset support to Network.Response (Shima Ryuhei) #58192 - [
d7d8599f7c
] - inspector: add protocol method Network.dataReceived (Chengzhong Wu) #58001 - [
aabafbc28f
] - inspector: support for worker inspection in chrome devtools (Shima Ryuhei) #56759 - [
20d978de9a
] - lib: make ERM functions into wrappers returning undefined (Livia Medeiros) #58400 - [
13567eac5f
] - (SEMVER-MINOR) lib: graduate error codes that have been around for years (James M Snell) #58541 - [
342b5a0d7a
] - lib: remove no-mixed-operators eslint rule (Ruben Bridgewater) #58375 - [
af7baef75a
] - lib: fix sourcemaps with ts module mocking (Marco Ippolito) #58193 - [
8f73f42d4e
] - meta: bump github/codeql-action from 3.28.16 to 3.28.18 (dependabot[bot]) #58552 - [
5dfedbeb86
] - meta: bump codecov/codecov-action from 5.4.2 to 5.4.3 (dependabot[bot]) #58551 - [
53c50f66f5
] - meta: bump step-security/harden-runner from 2.11.0 to 2.12.0 (dependabot[bot]) #58109 - [
a1a7024831
] - meta: bump ossf/scorecard-action from 2.4.1 to 2.4.2 (dependabot[bot]) #58550 - [
a379988ef6
] - meta: bump rtCamp/action-slack-notify from 2.3.2 to 2.3.3 (dependabot[bot]) #58108 - [
f6a46c87f2
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #58456 - [
98b6aa0dcd
] - meta: bump github/codeql-action from 3.28.11 to 3.28.16 (dependabot[bot]) #58112 - [
5202b262e3
] - meta: bump codecov/codecov-action from 5.4.0 to 5.4.2 (dependabot[bot]) #58110 - [
d97616ac6e
] - meta: bump actions/download-artifact from 4.2.1 to 4.3.0 (dependabot[bot]) #58106 - [
f4065074cf
] - meta: ignore mailmap changes in linux ci (Jonas Badalic) #58356 - [
e6d1224e54
] - meta: bump actions/setup-node from 4.3.0 to 4.4.0 (dependabot[bot]) #58111 - [
26da160ab2
] - meta: bump actions/setup-python from 5.5.0 to 5.6.0 (dependabot[bot]) #58107 - [
4cc4195493
] - module: handle instantiated async module jobs in require(esm) (Joyee Cheung) #58067 - [
72fac71b92
] - module: clarify cjs global-like error on ModuleJobSync (Carlos Espa) #56491 - [
fecd841c93
] - net: always publish to 'net.client.socket' diagnostics channel (Darshan Sen) #58349 - [
25ee328d2b
] - path: improve path.resolve() performance when used as process.cwd() (Ruben Bridgewater) #58362 - [
6fd1b23260
] - permission: remove useless conditional (Juan José) #58514 - [
5b2cca51a3
] - report: use uv_getrusage_thread in report (theanarkh) #58405 - [
63ec23e84b
] - sqlite: add build option to build without sqlite (Michael Dawson) #58122 - [
9d8677bff5
] - sqlite: handle thrown errors in result callback (Colin Ihrig) #58426 - [
3490c75760
] - sqlite: setname
andlength
onsqlite.backup()
(Livia Medeiros) #58251 - [
50bdd94e0b
] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #58500 - [
7de58417cc
] - src: env_vars caching and local variable scope optimization (Mert Can Altin) #57624 - [
6d99ec33a4
] - src: fix FIPS init error handling (Tobias Nießen) #58379 - [
4c23a9575e
] - src: fix possible dereference of null pointer (Eusgor) #58459 - [
eb143e902b
] - src: fix -Wreturn-stack-address error (Shelley Vohr) #58439 - [
31058b8785
] - src: reorganize ContextifyFunction methods (Chengzhong Wu) #58434 - [
7521077299
] - src: improve CompileFunctionAndCacheResult error handling (Chengzhong Wu) #58434 - [
0c9efccb12
] - src: fix build when using shared simdutf (Antoine du Hamel) #58407 - [
aa00f5946f
] - src: add a variant of ToV8Value() for primitive arrays (Aditi) #57576 - [
29a11506fc
] - src: remove unusedcheckMessagePort
internal binding (Dario Piotrowicz) #58267 - [
0ce3feed5b
] - src: remove unusedshouldRetryAsESM
internal binding (Dario Piotrowicz) #58265 - [
517219613d
] - src: add a couple fast apis in node_os (James M Snell) #58210 - [
3f834da09e
] - src: fix module buffer allocation (X-BW) #57738 - [
a793706db0
] - src: remove overzealous tcsetattr error check (Ben Noordhuis) #58200 - [
5656c74517
] - src: remove NonCopyableMaybe (Tobias Nießen) #58168 - [
cab242334b
] - src: improve parsing of boolean options (Edy Silva) #58039 - [
a5df778150
] - src,lib: obtain sourceURL in magic comments from V8 (Chengzhong Wu) #58389 - [
bd6743b434
] - src,permission: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579 - [
5bd99e4a4d
] - stream: making DecompressionStream spec compilent for trailing junk (0hm☘️) #58316 - [
6582b19488
] - test: reduce flakiness in test-heapdump-http2 (Joyee Cheung) #58148 - [
0f6a262744
] - test: improve flakiness detection on stack corruption tests (Darshan Sen) #58601 - [
983affaea2
] - test: mark timeouts & flaky test as flaky on IBM i (Abdirahim Musse) #58583 - [
3603362b6f
] - test: rewrite test-child-process-spawn-args (Michaël Zasso) #58546 - [
93900b0c17
] - test: make sqlite-database-sync tests work with system sqlite (Jelle Licht) #58507 - [
7d505f4185
] - test: force slow JSON.stringify path for overflow (Shelley Vohr) #58181 - [
2e8570b8f9
] - test: account for truthy signal in flaky async_hooks tests (Darshan Sen) #58478 - [
1f1e194c0f
] - test: update WPT for WebCryptoAPI to 591c95ce61 (Node.js GitHub Bot) #58176 - [
d822632d91
] - test: remove --no-warnings flag (Tobias Nießen) #58424 - [
01377713d7
] - test: add tests ensuring worker threads cannot access internals (Joe) #58332 - [
99a20902fc
] - test: leverage process.features.openssl_is_boringssl in test (Shelley Vohr) #58421 - [
b3e0cf1b15
] - test: fix test-buffer-tostring-range on allocation failure (Joyee Cheung) #58416 - [
1d4b3451c5
] - test: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) #58415 - [
612c393c71
] - test: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) #58414 - [
b11b9cdad8
] - test: make crypto tests work with BoringSSL (Shelley Vohr) #58117 - [
99711ee548
] - test: test reordering of setAAD and setAuthTag (Tobias Nießen) #58396 - [
828aaaa3f7
] - test: switch from deprecatedoptparse
toargparse
(Aviv Keller) #58224 - [
9af305408e
] - test: do not skip OCB decryption in FIPS mode (Tobias Nießen) #58382 - [
9527c876bf
] - test: show more information in test-http2-debug upon failure (Joyee Cheung) #58391 - [
9be0601112
] - test: remove loop over single element (Tobias Nießen) #58368 - [
40a03d3d14
] - test: add chacha20-poly1305 to auth tag order test (Tobias Nießen) #58367 - [
cccb15df7e
] - test: skip wasm-allocation tests for pointer compression builds (Joyee Cheung) #58171 - [
f18041ae8e
] - test: remove references to create(De|C)ipher (Tobias Nießen) #58363 - [
ca8d66c1fc
] - test: remove unnecessaryconsole.log
from test-repl-null-thrown (Dario Piotrowicz) #58281 - [
455372023d
] - test: allowtmpDir.path
to be modified (Aviv Keller) #58173 - [
1f1fab60c7
] - test: fix executable flags (Livia Medeiros) #58250 - [
8bafc0f061
] - test: deflake test-http2-client-socket-destroy (Luigi Pinca) #58212 - [
97aac9f17a
] - test: skip test-buffer-tostring-rangeerror when low on memory (Ruben Bridgewater) #58142 - [
2896760da1
] - test: marktest-http2-debug
as flaky on LinuxONE (Richard Lau) #58494 - [
7327d14780
] - test: reduce iteration count in test-child-process-stdout-flush-exit (Antoine du Hamel) #58273 - [
1bd7a2edf9
] - test_runner: support mocking json modules (Jacob Smith) #58007 - [
a3877c53b1
] - test_runner: add level parameter to reporter.diagnostic (Jacopo Martinelli) #57923 - [
253772c2d9
] - tools: bump the eslint group in/tools/eslint
with 6 updates (dependabot[bot]) #58549 - [
b7feda97b0
] - tools: disable failing coverage jobs (Antoine du Hamel) #58770 - [
8a47096093
] - tools: ignoredeps/
andbenchmark/
for CodeQL (Rafael Gonzaga) #58254 - [
70be158126
] - tools: add read permission to workflows that read contents (Antoine du Hamel) #58255 - [
e4373be766
] - tools: exclude deps/v8/tools from CodeQL scans (Rich Trott) #58132 - [
23ceb364d4
] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #58105 - [
5b6ced3255
] - tty: improve color terminal color detection (Ruben Bridgewater) #58146 - [
7be70979c6
] - tty: use terminal VT mode on Windows (Anna Henningsen) #58358 - [
b7d7ffe793
] - typings: add inspector internalBinding typing (Shima Ryuhei) #58492 - [
0056d1a2e2
] - typings: remove no longer validFixedSizeBlobCopyJob
type (Dario Piotrowicz) #58305 - [
581c0738f9
] - typings: remove no longer validrevokeDataObject
type (Dario Piotrowicz) #58305 - [
1db1c870f0
] - typings: add missing typings forTypedArray
(Jason Zhang) #58248 - [
6d3f43c9a6
] - url: improve performance of the format function (Giovanni Bucci) #57099 - [
54288bdb42
] - (SEMVER-MINOR) util: add 'none' style to styleText (James M Snell) #58437 - [
6af5358f9c
] - util: add internalassignFunctionName()
function (LiviaMedeiros) #57916 - [
9f2e5aad38
] - vm: import call should return a promise in the current context (Chengzhong Wu) #58309 - [
92304a5e62
] - watch: fix watch args not being properly filtered (Dario Piotrowicz) #58279 - [
539df8e98d
] - win,tools: use Azure Trusted Signing (Stefan Stojanovic) #58502 - [
ef66357637
] - worker: give names toMessagePort
functions (Livia Medeiros) #58307 - [
b3cd847528
] - zlib: remove mentions of unexposed Z_TREES constant (Jimmy Leung) #58371
Windows 32-bit Installer: https://nodejs.org/dist/v22.17.0/node-v22.17.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v22.17.0/node-v22.17.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.17.0/node-v22.17.0-arm64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v22.17.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v22.17.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.17.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v22.17.0/node-v22.17.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v22.17.0/node-v22.17.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v22.17.0/node-v22.17.0.tar.gz
Other release files: https://nodejs.org/dist/v22.17.0/
Documentation: https://nodejs.org/docs/v22.17.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2af6ce32705926ad81e3873917ed67e9298665be4a1b57eed359e485e79b08d7 node-v22.17.0-aix-ppc64.tar.gz
ee4c124b6539864189db92204adab71569e2f3f1b51c7349472dce47715d9c3b node-v22.17.0-arm64.msi
615dda58b5fb41fad2be43940b6398ca56554cbe05800953afadc724729cb09e node-v22.17.0-darwin-arm64.tar.gz
cc9cc294eaf782dd93c8c51f460da610cc35753c6a9947411731524d16e97914 node-v22.17.0-darwin-arm64.tar.xz
c39c8ec3cdadedfcc75de0cb3305df95ae2aecebc5db8d68a9b67bd74616d2ad node-v22.17.0-darwin-x64.tar.gz
f79de1f64df4ac68493a344bb5ab7d289d0275271e87b543d1278392c9de778a node-v22.17.0-darwin-x64.tar.xz
4aa859c413e6c8550015be16b0a55df85358a70e4ac1f04ad23ee42e8566c13c node-v22.17.0-headers.tar.gz
46238c1a2d5e8a3807741683aaf8e2a854affb700f6ae5106e073b9fb1bccccb node-v22.17.0-headers.tar.xz
3e99df8b01b27dc8b334a2a30d1cd500442b3b0877d217b308fd61a9ccfc33d4 node-v22.17.0-linux-arm64.tar.gz
140aee84be6774f5fb3f404be72adbe8420b523f824de82daeb5ab218dab7b18 node-v22.17.0-linux-arm64.tar.xz
ce120efe921de3eaaba2394edaacfab3e61376a56199cb93fc7e9bf0b3f14a16 node-v22.17.0-linux-armv7l.tar.gz
28613fc5a6b1427910c2b1352997fd8ffb76d3c43c23685e812acb9f89b42b6e node-v22.17.0-linux-armv7l.tar.xz
c3a49ac3d56404290a66afdd9b149d87201fa1dc52740c21cf70b182cf8dfc4c node-v22.17.0-linux-ppc64le.tar.gz
3670b7a8517b4abd0d3069c24117a7072fd2bf156e62315d9a43999b5ba0f318 node-v22.17.0-linux-ppc64le.tar.xz
394f839554bfd8c7e8db006a4de7604553bc478c26e6082749731f6d612c6f78 node-v22.17.0-linux-s390x.tar.gz
a0af149f0f17fb757f384ec71e101af2967063930b445565c846b078931da369 node-v22.17.0-linux-s390x.tar.xz
0fa01328a0f3d10800623f7107fbcd654a60ec178fab1ef5b9779e94e0419e1a node-v22.17.0-linux-x64.tar.gz
325c0f1261e0c61bcae369a1274028e9cfb7ab7949c05512c5b1e630f7e80e12 node-v22.17.0-linux-x64.tar.xz
38a183b193b25a7c42b3ce40f11694ba12976ad98fd93cdc0990ed7d77f30c1a node-v22.17.0-win-arm64.7z
78355dc9ca117bb71d3f081e4b1b281855e2b134f3939bb0ca314f7567b0e621 node-v22.17.0-win-arm64.zip
77f58f65389a84b1243e58fc5af1bee1ceda57a029e22644cac1c1d3117aa826 node-v22.17.0-win-x64.7z
721ab118a3aac8584348b132767eadf51379e0616f0db802cc1e66d7f0d98f85 node-v22.17.0-win-x64.zip
4f9aa2d620c4ccd90ca895644807e8114ab8d28919271f105434669d4f2c671e node-v22.17.0-win-x86.7z
7817aab24c310a52f12063a8c1748c80c7bd02666f4869c090cbc4edefa24b62 node-v22.17.0-win-x86.zip
896ff4a1aff30468e93e77a8884bb1aec466df7febf08daaa1d22dd5e4b14756 node-v22.17.0-x64.msi
10f125469f972aa73ef9bd5ec5d5e017b3f71aa4cbc73c1eb1a0cd6a9de47884 node-v22.17.0-x86.msi
9fc5fe75e222c37e5581dcdab0d872bbabd5b671353a3ad1846783fe07042845 node-v22.17.0.pkg
f8bf095ff559033edf04108fb1f14f72e2be337c609d4f83e8af1e299af7f4b4 node-v22.17.0.tar.gz
7a3ef2aedb905ea7926e5209157266e2376a5db619d9ac0cba3c967f6f5db4f9 node-v22.17.0.tar.xz
b06cf160eca7522dc795b437289ebfcbd9fb309d6049a157120c3d1fd5835f55 win-arm64/node.exe
55e76551dd4efcade32b9112346cc39e9e4b9e960337457424cc544c982d1dde win-arm64/node.lib
1cf5b579ff14fea0397dc340541fd055e32658f70a6426f2befbbdab35ab1c3c win-arm64/node_pdb.7z
2e2354dcb8a0f132a32405849ed180cc09104dbb27a5468a9b4dd81a46aa938c win-arm64/node_pdb.zip
39d45b5933f339d3ebdebd76474893dab5d7da1038920f65cf5bbcf0f20f3636 win-x64/node.exe
4b439e66fc4644fe9ff2da51b950020679f1f14b317c06045f61e9e979fc514f win-x64/node.lib
ded15db5d44215fcedf9d6d579551e5c98ca697d2862a17d95a5a44cb5159051 win-x64/node_pdb.7z
456b3abf537f65f5abcc53fc47bd5624408374f2309627c09b6a3b065141b8b5 win-x64/node_pdb.zip
fbc2e68bb7b1efd24769ebdf914a98dd2752f5dfd459526a197259c9ddbbc60f win-x86/node.exe
2660035ca8007a5e1274e6a8cf04d70c1c0f3240a053da4bae297bb428d13f41 win-x86/node.lib
55c6a20d88c8fe6cf76237c86824267e53f01d05f66a81c6c909aa4593380d24 win-x86/node_pdb.7z
98a83abad92055eb54d53df2219575bc56bf41169c2acb28cfca9874852c861f win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEwNYkhDnx1WBKr/tAIdkA/9sjN1YFAmhbPvgACgkQIdkA/9sj
N1ae8g//WiPGUjbPxt7HXpSVjscVuCieJdQf5aVmuxPtwDGwZvwidZb+EOVfOevE
NU+in/tdxz/x3QxT3qd+qVKlPNcUlxUEYzYPUdXRhzqV4gZzg4/Kb3VXBIvfnYh9
QPgR4D9wwiNMaZ8Fn1dIx+Th6EKkOx5QD8igJcRiFVGnaj1oukaXPr4OHg5vTSE5
reoMjGiOd4t/XoaIDAzYaTg3YH/k3EunaP8cI0IafMz7MwscBNXujKhdBuPBjXVd
gF3GhxJEAbUPQp6SOd/dr5lA3PqbejpX3vZKbj8tW2tb9EwFQ6MnAy4UzbwNVpck
B2REBe0enSEdg6dMOVfaGBJB/mXiF2QRzhv6J2nLCeIX5ZU5N41T5yjmwo0jf+H0
jRHdeR2Pgy3TPO6US0/W1T4YtBMMyV2QuZLDMI8YQ/8cUcj8x//r33FEIlrvfp9G
nt0EICURZh4ZccXiTbqUdfysfx3k9qenoNM6gXqmIsxeP824woRWF29kRmUkj4FO
aaJOIdODMUNCi4cPucwATbkRWRwEhlFc0BYXcSMfaaPaWdSEn2WW3McU7ry0PtRT
o/+EHbFfv7EV7BBAe347+8EG6/mLErPvziWdRKk/t3avv00SRlZkpGwWxB/XpW4K
XF7G1sW4qPTzTet9Tv7Q/ef3MgaSdfeDJtrrAT7NYaRPYQqvRVg=
=iP4d
-----END PGP SIGNATURE-----