Loncat ke konten

Node.js 26.9.0 (Current)

Antoine du Hamel

2026-09-16, Version 26.9.0 (Current), @aduh95

Notable Changes

  • [d414624dce] - (SEMVER-MINOR) crypto: add a generic MAC API (Filip Skokan) #65553
  • [7ac458f802] - (SEMVER-MINOR) crypto: discover ciphers from OpenSSL providers (Filip Skokan) #65484
  • [7c7e95a3bd] - (SEMVER-MINOR) crypto: discover hashes from OpenSSL providers (Filip Skokan) #65484
  • [2d2f4f6d1a] - (SEMVER-MINOR) ffi: enable module by default (Matteo Collina) #65475
  • [657415c6df] - (SEMVER-MINOR) lib: implement node:bench (James M Snell) #65606
  • [ebcfec2f0c] - (SEMVER-MINOR) perf_hooks: implement Histogram meanCI API (James M Snell) #65606
  • [e1913630c3] - (SEMVER-MINOR) perf_hooks: add CBOR export/import for histogram exchange (James M Snell) #65434
  • [8e9151c9f2] - (SEMVER-MINOR) src: let embedders supply a builtin code cache without a snapshot (Shelley Vohr) #65352
  • [889854f18b] - (SEMVER-MINOR) src,lib: implement experimental DTLS API (James M Snell) #63182
  • [5198142c59] - (SEMVER-MINOR) vfs: integrate with CJS and ESM module loaders (Matteo Collina) #63653
  • [5af9d72e7f] - (SEMVER-MINOR) worker: add support for Web Workers (Aviv Keller) #64894

Commits

  • [59dcad3f44] - (SEMVER-MINOR) benchmark: implement node:bench version of bench tools (James M Snell) #65606
  • [6bdb6dd8fa] - benchmark: fix max-regressions detection in compare.js (James M Snell) #65587
  • [49d40091ba] - benchmark: add --analyze option to benchmark/scatter.js (James M Snell) #65594
  • [bd40a9a19a] - benchmark: add crypto class benchmarks (Filip Skokan) #65518
  • [6bff2238f5] - buffer: pad aligned allocations by a multiple of 8 (Lazizbek Ergashev) #65605
  • [37d12946dd] - buffer: prevent abort on indexOf with lone surrogate needle (Rafael Gonzaga) #65430
  • [02f8eb3b2d] - build: add --shared-perfetto flag (Antoine du Hamel) #65614
  • [fe7032ec41] - build: enable V8 gdb/lldb plugin support (Chengzhong Wu) #65786
  • [109f2caf80] - build: allow linking shared dependencies in the GN build (Shelley Vohr) #65797
  • [55213fd8a8] - build: enable the V8 sandbox in shared-cage builds (Shelley Vohr) #62237
  • [120929a1b3] - build: add --shared-highway configure flag (Antoine du Hamel) #65686
  • [c99af0942b] - build: add --shared-abseil configure flag (Antoine du Hamel) #65682
  • [431c2bf0eb] - build: define V8_CONTIGUOUS_COMPRESSED_RO_SPACE for shared cage (Shelley Vohr) #65464
  • [b6b5764c6e] - build: remove obsolete configure flags (Chengzhong Wu) #65456
  • [a623ee29d9] - build,src: make --use-largepages a no-op (Joyee Cheung) #65389
  • [2f494cb7aa] - crypto: fix multi-prime RSA JWKs (Filip Skokan) #65649
  • [501d8ac815] - crypto: cache valid ECDH key pairs (Filip Skokan) #65615
  • [3fd905ea8f] - crypto: add strict mode to --force-fips (Filip Skokan) #65645
  • [54b3cdb805] - crypto: add FIPS indicator diagnostics channel (Filip Skokan) #65645
  • [3e6e931fc9] - crypto: fix public PKCS8 export error (한국) #65609
  • [d414624dce] - (SEMVER-MINOR) crypto: add a generic MAC API (Filip Skokan) #65553
  • [eef579047c] - crypto: validate JWK usages before key_ops (Filip Skokan) #65550
  • [9a9b137a24] - crypto: fix private SPKI export error (Filip Skokan) #65550
  • [9941fb5dab] - crypto: fix RSA-PSS oversized salt handling (Filip Skokan) #65550
  • [09b431596a] - crypto: correct CCM decryption FIPS error message (kyungrae) #65450
  • [e6b34e6f7a] - crypto: harden X509Certificate state (Filip Skokan) #65518
  • [a884b6ccbc] - crypto: optimize key slot caching (Filip Skokan) #65518
  • [fb512086d3] - crypto: add null checks for OPENSSL_INIT_new() (Nora Dossche) #63457
  • [656504ffc0] - crypto: prevent Hmac.digest() from returning uninitialized memory (Matteo Collina) #65112
  • [15e7884732] - crypto: avoid throwing CryptoKey brand checks (Filip Skokan) #65503
  • [3302bec74a] - crypto: avoid throwing KeyObject brand checks (Filip Skokan) #65503
  • [7ac458f802] - (SEMVER-MINOR) crypto: discover ciphers from OpenSSL providers (Filip Skokan) #65484
  • [7c7e95a3bd] - (SEMVER-MINOR) crypto: discover hashes from OpenSSL providers (Filip Skokan) #65484
  • [0539e90110] - deps: update googletest to 283c17563fe7a1111cd7f581aa5d541e8baeff2f (Node.js GitHub Bot) #65833
  • [e34af820da] - deps: update simdjson to 4.6.11 (Node.js GitHub Bot) #65834
  • [5fb7ffebc2] - deps: update zlib to 1.3.2.1-motley-285e94b (Node.js GitHub Bot) #65835
  • [05cdf1db62] - deps: V8: backport 1a0089053443 (Jakob Linke) #65764
  • [8910f7914a] - deps: V8: backport c9c0abfa51f0 (Jakob Linke) #65764
  • [e7fd388424] - deps: V8: backport ebd15783b7ba (Marja Hölttä) #65764
  • [82715158b8] - deps: V8: backport f3d4d458fe59 (Olivier Flückiger) #65702
  • [7003159885] - diagnostics_channel: lazily create tracing context (Romain Lanz) #65513
  • [a97def782f] - doc: clarify node:bench significance policy (James M Snell) #65631
  • [c74091647d] - doc: clarify isolation modes for node:bench (James M Snell) #65631
  • [3ef81a676c] - doc: clarify measurement integrity details of node:bench (James M Snell) #65631
  • [6b565d7b2c] - doc: clarify security triage dispositions and permission boundaries (Rafael Gonzaga) #65436
  • [724981287c] - (SEMVER-MINOR) doc: move histogram.burnRate to correct location in doc (James M Snell) #65434
  • [f8b627c09b] - doc: fix default limit of maxHeadersCount (Aryn H) #65472
  • [aa3d94fc1d] - doc: fix return types for sync methods (Chiang Fong Lee) #58575
  • [fe9f452ddd] - doc: document REPL DEP0185 throws and uncaught-exception behavior (Adrián Estrada) #64993
  • [6b84ee66fa] - errors: validate constructor name (Christian Aurich) #65607
  • [ed1b629901] - events: fix weak listener retention overwrite (Aryan) #64024
  • [7b4c17f723] - ffi: throw on missing memory helper arguments (Soul Lee) #65500
  • [cf78d4260e] - ffi: include SharedArrayBuffer in error message (Donghoon Kang) #65735
  • [2d2f4f6d1a] - (SEMVER-MINOR) ffi: enable module by default (Matteo Collina) #65475
  • [bdcb6def4e] - ffi: validate DynamicLibrary getter receivers (Trivikram Kamat) #65415
  • [5d24a8fe37] - fs: copy directory trees for fs.cp() on the thread pool (Shelley Vohr) #65488
  • [40bdf32d91] - fs: give directories created by cpSync the source directory's mode (Shelley Vohr) #65488
  • [6ac1bc040f] - fs: write files in one thread pool round trip (Shelley Vohr) #65489
  • [b4b89c08c1] - fs: handle recursive watch setup races (Filip Skokan) #65699
  • [54a1311d9e] - fs: apply nocase to literal glob exclude patterns (Yusuke Hayashi) #64817
  • [2130460831] - fs: improve performance of recursive directory read (Aviv Keller) #65524
  • [ab7f4c88b7] - fs: do not descend into symlinks for ** unless following symlinks (RafaelGSS) #65435
  • [e990324e7a] - fs: watch directories, not files, in recursive fs.watch fallback (Shelley Vohr) #65486
  • [b6db21972a] - fs: preserve directory timestamps in cp (Abhinandan Kumar) #65540
  • [d418ca140e] - fs: fix recursive watch error handling (Filip Skokan) #65635
  • [ea372bf9c9] - fs: cancel in-flight stat on abort (Mert Can Altin) #63142
  • [458664073e] - fs: fix rmSync error messages for non-ASCII paths (Yeaseen) #61233
  • [34b38235c3] - fs: add maxDepth option to glob (Alexander Lichter) #64003
  • [e3cc0d9313] - http: fast-forward teardown of unread messages (Matteo Collina) #65732
  • [f9175a212c] - http: coalesce chunked writes during auto-corking (GetThatCookie) #64987
  • [b4a7cd3efb] - http2: fix write deadlock exposed by larger window sizes (Tim Perry) #65440
  • [b7e97f6cfd] - http2: error for incomplete reads on RST, auto-drain, deprecate aborted (Tim Perry) #63249
  • [d62989dbdf] - http2: fix async context loss when trailers carry END_STREAM (Orgad Shaneh) #63814
  • [8aba314f87] - https: limit proxy CONNECT response headers (Matteo Collina) #64545
  • [bea74e1cb5] - lib: put node:bench behind an --experimental-bench flag (James M Snell) #65920
  • [2835523960] - lib: fixup node:bench handling of --require option (James M Snell) #65631
  • [aae83d87a4] - lib: improve diagnostic message support (James M Snell) #65631
  • [ba7baed423] - lib: have runFile honor permissions and accept URL/Buffer paths (James M Snell) #65631
  • [55103db988] - lib: add runFile api to node:bench (James M Snell) #65631
  • [0a4c50eb76] - lib: add context.diagnostic api to node:bench (James M Snell) #65631
  • [476e25e864] - lib: add bench:plan event to node:bench (James M Snell) #65631
  • [67cf0e556f] - lib: clarify mean in node:bench docs (James M Snell) #65631
  • [f85f72ad42] - lib: improve node:bench stream handling (James M Snell) #65631
  • [b32b09f56b] - lib: add runId, fileRunId, entryFile, namePath to node:bench (James M Snell) #65631
  • [4b9b53f958] - (SEMVER-MINOR) lib: add node:bench explicit createRunner (James M Snell) #65606
  • [d9f18171f0] - (SEMVER-MINOR) lib: complete the implementation of node:bench and cli (James M Snell) #65606
  • [c39e20e9ca] - (SEMVER-MINOR) lib: implement bench/reporters (James M Snell) #65606
  • [657415c6df] - (SEMVER-MINOR) lib: implement node:bench (James M Snell) #65606
  • [46863a7f9c] - lib: use Float16Array from primordials (Antoine du Hamel) #65702
  • [cbd0948138] - lib: defer source map payload decoding until first use (Shelley Vohr) #65490
  • [1ddb1c8934] - lib: optimize async context frame activation (Tim Perry) #65519
  • [02f6feef7e] - lib: use validateArray for array arguments (JunHwan Choi) #65344
  • [962795ab8c] - lib: apply minor dtls cleanups (James M Snell) #63539
  • [c07b2ab8a9] - lib,benchmark: address multiple review issues (James M Snell) #65631
  • [54a5e25f72] - module: derive builtinModules from enabled builtin set (Jungwon Sohn) #65418
  • [c93a90cf12] - net: fix BlockList.fromJSON for IPv4-mapped IPv6 rules (Daijiro Wachi) #64125
  • [506d23b76f] - net: recognize bare IPv6 loopback addresses in isLoopback (Daijiro Wachi) #63619
  • [81cd6d7b78] - net: improve dtls cert verification (James M Snell) #64314
  • [51d094e26b] - node-api: make object property arrays const (Yilong Li) #65621
  • [875c7ecee2] - node-api: enter env context for async callbacks (Shelley Vohr) #65406
  • [ebcfec2f0c] - (SEMVER-MINOR) perf_hooks: implement Histogram meanCI API (James M Snell) #65606
  • [09b333bcc5] - perf_hooks: add missing resource timing attributes (greenhead) #65017
  • [e1913630c3] - (SEMVER-MINOR) perf_hooks: add CBOR export/import for histogram exchange (James M Snell) #65434
  • [67a78317dd] - permission: do not enforce fs and addons in audit mode (Issac) #65659
  • [19e69e5f72] - permission: support URL and Uint8Array as has()/drop() reference (Seungmin Nam) #65492
  • [168af4d8d7] - permission: block FileHandle fsync and fdatasync (Rafael Gonzaga) #65431
  • [855fff682f] - quic: stop guarding ngtcp2_recv_stop_sending callback field (René) #65688
  • [d30df2a3e1] - quic: reuse TLS pause machinery to drop event deferral & improve 0RTT (Tim Perry) #65522
  • [fce1b6a482] - quic: remove unused fin flag from blob reader wakeup (trivenay) #65315
  • [c721aabfb7] - quic: apply multiple fixes to flow control signaling (James M Snell) #65309
  • [2c552cd32c] - quic: release stream arenas before cleanup (Trivikram Kamat) #65410
  • [487662717b] - sea: mount bundled assets as a virtual file system (Matteo Collina) #65675
  • [0ec15a2a54] - sea: keep ELF segments on separate pages in --build-sea output (Shelley Vohr) #65564
  • [1627fd6561] - sqlite: re-validate database state after reading options (Trevor Burnham) #65595
  • [18c3867d19] - sqlite: run backup completion in callback scope (Filip Skokan) #65666
  • [a77d738683] - sqlite: copy changeset before applying it (Matteo Collina) #65286
  • [b5f0558c84] - sqlite: reject closing a session from a callback (Trevor Burnham) #65454
  • [5f95032859] - sqlite: keep sessions alive across SQLite callbacks (Trevor Burnham) #65465
  • [2ce0e2eb10] - sqlite: throw on disposal of an in-use session (Guilherme Araújo) #65449
  • [f66ed89136] - src: fix use-after-free in CleanupHookThunkRun (Caleb Everett) #65630
  • [14613fdc3e] - (SEMVER-MINOR) src: fixup histogram and options linting issues (James M Snell) #65606
  • [6db3f662cf] - src: fix startup snapshot reproducibility of InternalFieldInfo (Chengzhong Wu) #65684
  • [8e9151c9f2] - (SEMVER-MINOR) src: let embedders supply a builtin code cache without a snapshot (Shelley Vohr) #65352
  • [760337aa5b] - src: fix live lock between environments with blocked requests (Ilyas Shabi) #65520
  • [f2a588c385] - src: apply IsolateSettings when using a snapshot (Shelley Vohr) #65407
  • [2fd50ae915] - src: add re-entrancy guard to TriggerUncaughtException (Temuulen Undrakhbayar) #64327
  • [e260fd146c] - src: reuse cached strings in CompileSerializeMain (agape1225) #65453
  • [0650dca863] - src: add missing vector include (Filip Skokan) #65622
  • [6e9d44d1fe] - src: disable V8 external memory reasonable size check (Paul Bouchon) #65589
  • [9c46e56303] - src: report libuv error when openAsBlob cannot stat (Paul Bouchon) #65517
  • [a0aaff6b07] - src: list scripts when --run has no command (James Ross) #64606
  • [469590c155] - src: fixup manual new/delete usages (James M Snell) #65348
  • [5902acf031] - src: make the options structs smaller with packed bits (James M Snell) #65145
  • [0c24639a5a] - (SEMVER-MINOR) src, lib: add stats to dtls (James M Snell) #63182
  • [652fbc286e] - (SEMVER-MINOR) src,lib: add dtls interop tests (James M Snell) #63182
  • [889854f18b] - (SEMVER-MINOR) src,lib: implement experimental DTLS API (James M Snell) #63182
  • [76538d519c] - stream: use webidl validation semantics for args (James M Snell) #65658
  • [649a4aba93] - stream: ensure that stateful transforms preserve this (James M Snell) #65658
  • [23220992c0] - stream: fix nested async flushing with infinite sources (James M Snell) #65658
  • [3ad1338139] - stream: ensure from() observes returned rejecting promise correctly (James M Snell) #65658
  • [cafdee6369] - stream: apply source normalization once at call time (James M Snell) #65658
  • [edb83cb620] - stream: make consumer signals on longer alter source precedence (James M Snell) #65658
  • [56bdd765df] - stream: make pipeTo source normalization independent of Writer (James M Snell) #65658
  • [037c07af2b] - stream: pre-aborted pipeTo now applies dest failure handling (James M Snell) #65658
  • [7308492d48] - stream: ensure pre-existing writes drain before EOF and end() waits (James M Snell) #65658
  • [756773477b] - stream: ensure async dispoal after endSync awaits for drain (James M Snell) #65658
  • [042b951312] - stream: ensure factory signals remain active through closing (James M Snell) #65658
  • [2dc09ca9ca] - stream: canWrite and ondrain now reflect physical capacity (James M Snell) #65658
  • [9192fbb6dd] - stream: skip unobserved 'readable' emission at EOF (Matteo Collina) #65749
  • [dc25a61e7a] - stream: avoid per-chunk promises in webstream adapters (Matteo Collina) #65548
  • [82ae196af6] - stream: address stream/iter review feedback (James M Snell) #65652
  • [3b37b48592] - stream: replace object sentinel with symbol (James M Snell) #65652
  • [b6424b6612] - stream: ensure pipeToSync requires synchronous close (James M Snell) #65652
  • [830fc81acf] - stream: cancel active stream/iter pulls (James M Snell) #65652
  • [30606908de] - stream: fix merge settlement tagging and falsy error tracking (James M Snell) #65652
  • [7319198755] - stream: ensure full-close semantics when closed (James M Snell) #65652
  • [bf5acb783f] - stream: defend against re-entrancy in writev (James M Snell) #65652
  • [b01594f93a] - stream: ensure stability of stored metadata (James M Snell) #65652
  • [7bfd81ab09] - stream: fixup writer to terminate on consumer return/throw (James M Snell) #65652
  • [dc2483c38d] - stream: ensure iterator cleanup on done, reject, etc (James M Snell) #65652
  • [f6fac6f7f0] - stream: fixup cancelation handling in pull() (James M Snell) #65652
  • [dfe0617e71] - stream: fix early drain after Utf8Stream reopen (Matteo Collina) #65633
  • [900fae0a24] - test: split test-bench-cli to try deflaking it (James M Snell) #65919
  • [31f4bd73b2] - test: make node:bench test samples survive a coarse clock (Shelley Vohr) #65780
  • [e0fa1893c3] - test: do not dump core in external memory limit test (Shelley Vohr) #65780
  • [00ad283b8d] - test: zero-fill buffers before the string length limit check (Christian Aurich) #65755
  • [70763fcc46] - test: expand test coverage of node:bench (James M Snell) #65631
  • [5a38e6b115] - (SEMVER-MINOR) test: fix node:bench test timing (James M Snell) #65606
  • [536ae0e24b] - (SEMVER-MINOR) test: improve node:bench test coverage (James M Snell) #65606
  • [eec66d529c] - (SEMVER-MINOR) test: update bench tests to not fail on no-crypto (James M Snell) #65606
  • [ce7b349de5] - test: bump WPT webidl and interfaces (Filip Skokan) #65679
  • [ec96f8dc23] - test: update WPT for url to c23755a144 (Node.js GitHub Bot) #65651
  • [ebe2ac248b] - test: fix recursive fs.watch error fixture (Filip Skokan) #65683
  • [a19912ee8f] - test: update streams WPT (Jeong SeokChan) #65638
  • [14b5dfc63d] - test: remove console.log call in node_run_list (Antoine du Hamel) #65572
  • [3f67df139c] - test: expect node:ffi to be enabled by default (Matteo Collina) #65636
  • [b9ee2e67bf] - (SEMVER-MINOR) test: use native builder for legacy SEA tests (Filip Skokan) #65553
  • [53a29d0894] - test: use common spawnSync helpers in more tests (greenhead) #65552
  • [5c680a50f4] - test: add coverage for removeEventListener boolean capture (Lazizbek Ergashev) #65245
  • [6f99474912] - test: deflake fastutf8stream destroy and reopen tests (Christian Aurich) #65554
  • [2342b2bf30] - test: cover Readable.from() sync iterator errors (jakecastelli) #65515
  • [1e455a4ffe] - test: support inspecting WPTs in child processes (Filip Skokan) #65510
  • [1f7cab588e] - test: document WPT runner workflows (Filip Skokan) #65510
  • [d39a902cec] - test: simplify test-worker-heap-profile.js (Donghoon Kang) #65372
  • [90d1b863f7] - test: keep WPT backend checks alive (Filip Skokan) #65320
  • [be60c34b52] - (SEMVER-MINOR) test: enable multi-global WPTs (Filip Skokan) #64894
  • [d04cfcda8e] - (SEMVER-MINOR) test: add opt-in process WPT runner (Filip Skokan) #64894
  • [715c21f805] - (SEMVER-MINOR) test: accomodate multi-global tests in WPT{Runner,TestSpec,Report} (Filip Skokan) #64894
  • [9aa8489a01] - test: fix lint in dtls tests (Matteo Collina) #64902
  • [6a3d8a6d9f] - tls: read the peer certificate chain without consuming it (Tony Gies) #65602
  • [2e519f8fef] - tls,quic: commonize TLS cert handling between tls, dtls & quic (Tim Perry) #64711
  • [2266c14051] - tools: add GHA workflow to test vendored Perfetto (Antoine du Hamel) #65614
  • [19779f121f] - tools: fix the list of globals in ESLint config files (Antoine du Hamel) #65281
  • [b57db8dfd3] - typings: add types for performance binding (Jungwon Sohn) #65574
  • [371e2260f4] - typings: add encodeIntoResults to EncodingBinding (greenhead) #65350
  • [417cdd8a77] - typings: add typing for permission binding (Seungmin Nam) #65385
  • [a82cc7097f] - url: align URLPatternInit dictionary conversion with WebIDL (Piyush Yadav) #65498
  • [0e8f7b96b0] - util: canonicalize namespaced tags in inspect() (René) #63257
  • [acd2bb10ce] - v8: add setHeapProfileNearHeapLimit (Ilyas Shabi) #64676
  • [d0535b1041] - vfs: load native addons from a mounted file system (Philipp Dunkel) #65680
  • [ea6f70ba41] - vfs: fix rename over non-empty directory (Christian Aurich) #65613
  • [b4f6b3798a] - vfs: add ZipProvider (Philipp Dunkel) #64915
  • [5198142c59] - (SEMVER-MINOR) vfs: integrate with CJS and ESM module loaders (Matteo Collina) #63653
  • [38192126e2] - worker: start worker threads from the built-in snapshot (Shelley Vohr) #65336
  • [56144ea80a] - worker: add ref/unref to web workers (Aviv Keller) #65507
  • [7231c13b8a] - (SEMVER-MINOR) worker: add wpt tests for Web Workers (Aviv Keller) #64894
  • [5af9d72e7f] - (SEMVER-MINOR) worker: add support for Web Workers (Aviv Keller) #64894
  • [069a1b1200] - zlib: avoid waiting for paused ZIP iterators (Trivikram Kamat) #65278

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

SHASUMS

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

09f04e0b7e1b1315065711896e214b4358dc9f4c42504b622b059e2608d4d73d  node-v26.9.0-aix-ppc64.tar.gz
2d9c80e92339ec578f9e577d88332e6b7b938f134bf3ff77f403435f51aeb19a  node-v26.9.0-arm64.msi
6f3de7ed853ee283b4bf24b6e426618f1d357401ce5815db1866eb85eb4b05d9  node-v26.9.0-darwin-arm64.tar.gz
8dd6e383c216dbadd04e6eaac5b8fcaec8ba700a58fa51ebd38d4f9532741909  node-v26.9.0-darwin-arm64.tar.xz
06b2e742ed9025dc84adc830243b3f731956eac9c321bccd0ede384209af02a8  node-v26.9.0-darwin-x64.tar.gz
6608fb3719eb61acbd5cee3e53833be12f84fac10a0799581a4995f67d4dab79  node-v26.9.0-darwin-x64.tar.xz
cb76d89ce93960e23e6d3f23eeafc0a9aebeb139b6797ce13669837bc1439e49  node-v26.9.0-headers.tar.gz
665b9e443170f3dee350897719b782c82968daae8d8c3931a232b94a25f9a5c0  node-v26.9.0-headers.tar.xz
d5077591aa38b48d90bf9b3ac10da8d2f40dce289b20294913c58c19f153eb12  node-v26.9.0-linux-arm64.tar.gz
686d07ed3bc5d68d9f7bd4939b7e8849a87d0664ac19c8c5474474f44cc956db  node-v26.9.0-linux-arm64.tar.xz
3914ce13acf24880cceb34a6967206de2f8caa0fef93f142a0ddb14c36328f35  node-v26.9.0-linux-ppc64le.tar.gz
2ba7e7927eddef043cf60075bbc39305ed3999e4eb7dca46f1c16d89dc681146  node-v26.9.0-linux-ppc64le.tar.xz
c5386ff8968eadf66dd79209355b38c01ee712c6cfd32b92bbcc9cc4dc4de0fd  node-v26.9.0-linux-s390x.tar.gz
7b88848893ddb3e22549fcc27bbfac2083cf5738dc5186260ff0e2c28470bf05  node-v26.9.0-linux-s390x.tar.xz
153190a1170b39b1157e32a9fdf70bd4721163d2e360111d127af4b73656a323  node-v26.9.0-linux-x64-musl.tar.gz
828a3d5aff8dd82dd8808afa20cadcea7fd591f708ba3d32ddacb2799d2af065  node-v26.9.0-linux-x64-musl.tar.xz
03d9104fc4f19652e74480fed11c023d75981464b7292f21a601c3f95ce7d90d  node-v26.9.0-linux-x64.tar.gz
c6ecd8efc1c1d395265891675319da7a7b3785c6be174bd78933cf4f057624d1  node-v26.9.0-linux-x64.tar.xz
053b26778445a14fa60cd87bc71bd70551b59ffcf028585b441689e0c426be13  node-v26.9.0.pkg
26ca5350af859c255118479b08a37075cbc17cdafffe47436d72e4be107e2760  node-v26.9.0.tar.gz
47b970d88511b429e587b740fa733176909d2a2005a29662f01b05205f58468b  node-v26.9.0.tar.xz
ef222a58fb788c6dbe104e5f8231e881faf0d1ae89fdef3a34fd71800914ed5b  node-v26.9.0-win-arm64.7z
b70e4557d1b3829e45c0afc19ac9376ccbd4a8661235377ffce90b39fc7227ba  node-v26.9.0-win-arm64.zip
3b2e8048784f9f407d20de357aef11f921542d5ad9f9b1159a291ce9c467f7f0  node-v26.9.0-win-x64.7z
c8af870b5b3e9789a6cbdb30270e7c212e12d76a7afa7fc7f21b6b21cc22a71b  node-v26.9.0-win-x64.zip
9abc94e80f63feca139725812c2a8a78e00db986477d12c3042e876045f056bb  node-v26.9.0-x64.msi
be0af07f8b8dd179a38625451168111d1b0c52df2b8956bbc8e7c5c4d59a4752  win-arm64/node.exe
b4698292d445fef5b4e7c2409998c6ca24dc49eecec6dad23d8419441d9661fa  win-arm64/node.lib
a1fbaa0a848101bf0b1bb810afd7ba520f1fe302c553a9b3fa1cae033cacd5d0  win-arm64/node_pdb.7z
3752598db945043e004842326b1f7493c016edee3efd21f70118ee5ef0e4eee8  win-arm64/node_pdb.zip
8490398f5e0082772dfb0ae5a6ebdff98a97696a20cb9778b4f82eec79b6d0a1  win-x64/node.exe
ecf83a409940ee9013587238c618107f5ed48cce7d9f785fa09b296df2d7abac  win-x64/node.lib
31089fe2ada2d52d387d3faaf3fb8cb4d1337094c5c1bfb1d2a66c72796c9c5c  win-x64/node_pdb.7z
557393333af5f5dfed74ccd55ab621859df1d2f57ff952b325b15a0253ddabd8  win-x64/node_pdb.zip

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaqrc4gAKCRAgsaOQsWjT
VjUaAQC7Mc963kCQCpnOSbOcltadbebc6UEnJ161/a1G2hB+RwEAjwYJE887VHAu
GfGwB6sr8316Mfze/xc0cnBueHScqAY=
=qpbg
-----END PGP SIGNATURE-----