Node.js 26.8.0 (Current)
Antoine du Hamel 2026-08-26, Version 26.8.0 (Current), @aduh95 Notable Changes [74234ee30e] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416 [4232997fa2] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495 [f0531f1c87] - (SEMVER-MINOR) crypto: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411 [3f4b80ebb5] - diagnostics_channel: mark TracingChannel as stable (Abdelrahman Awad) #64525 [753033c110] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024 [3d7d277493] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #64974 [9e8e9080fd] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #65416 [c18b0aa54e] - repl: add basic syntax highlighting (Aviv Keller) #64591 [58ea88e1d3] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.close() (Guilherme Araújo) #64232 [7c61b08aed] - (SEMVER-MINOR) sqlite: add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) #64232 [4299cd5897] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #64965 [df48191061] - (SEMVER-MINOR) zlib: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339 Commits [162257b403] - assert: improve documentation wording (Kamal Rawal) #64953 [74234ee30e] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416 [2cb96dd462] - benchmark: add test-only and mock timers cases (Luan Muniz) #64097 [562168f93f] - benchmark: apply highWaterMark in webstreams pipe-to (Matteo Collina) #65138 [fbec4eb386] - benchmark: complete the sqlite is-transaction fix (Edy Silva) #65218 [d8acfc45f1] - benchmark: add test runner hooks and options (Luan Muniz) #63754 [13e7d54f67] - buffer: prevent string write offset overflow (Matteo Collina) #65043 [615273deac] - buffer: support aligned allocations (Robert Nagy) #65003 [bc6b630e21] - buffer: treat detached ArrayBuffers as empty (Archkon) #64504 [ddf9f9d265] - build: target Power 9 and z14 (Richard Lau) #65439 [fda8ee894e] - build: use build-ci for benchmark merge-commit rebuild (Yagiz Nizipli) #65362 [03692786ef] - build: add simdutf dir to include path in GN build (Shelley Vohr) #65382 [3da555a3ed] - build: pass target architecture to small-icu genccode (ulofiai) #65095 [ffe1e7cbea] - build: update binary-upload to use correct tarball name (Stewart X Addison) #65282 [50174cb94a] - build: deprecate always enabled --enable-static (Chengzhong Wu) #65103 [28f662b424] - build: check FIPS option value in node.gyp (Filip Skokan) #64982 [29a2ecefeb] - build: handle malformed OpenSSL macros (Filip Skokan) #64982 [6deeef1801] - build: enable perfetto updater (Chengzhong Wu) #64966 [312f0c6a7e] - build: add host toolset to perfetto_sdk (Ryuhei Shima) #64751 [1a4f5e537b] - build,win: add PGO workload scripts (Stefan Stojanovic) #63696 [21655dccbc] - child_process: keep SIGWINCH from killing on Win (Kirill Saied) #64510 [4232997fa2] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495 [f0531f1c87] - (SEMVER-MINOR) crypto: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411 [109566a2f7] - crypto: fix missing error checks on ASN1_STRING_to_UTF8() (Nora Dossche) #65200 [501f81612d] - crypto: improve SubtleCrypto.supports() accuracy (Filip Skokan) #65222 [137ff67fd3] - crypto: use available BoringSSL APIs (Filip Skokan) #65423 [0e87576ed4] - crypto: remove obsolete BoringSSL shims (Filip Skokan) #65423 [af867ce3e4] - crypto: add mgf1Hash for RSA-OAEP (Adam Mcgrath) #65073 [66ee4792bf] - crypto: disable non-FIPS WebCrypto paths in FIPS mode (Filip Skokan) #65172 [6a142c03e9] - crypto: read WebCrypto inputs through primordials (Filip Skokan) #65115 [92e3110462] - crypto: fix disabling FIPS mode (Filip Skokan) #64982 [d69bed2f49] - debugger: wait for target startup (Filip Skokan) #65194 [5c7c0b8b15] - deps: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) #65316 [4cb6b1335e] - deps: update simdjson to 4.6.7 (Node.js GitHub Bot) #65318 [a39ad67482] - deps: update googletest to 49495eacfdbda3f4b6ba219923fedbb2e3f99376 (Node.js GitHub Bot) #65317 [46762dad57] - deps: cherry-pick libuv/libuv@e640dc9 (ulofiai) #65118 [abb7a15a8d] - deps: update perfetto to 57.2 (Node.js GitHub Bot) #65114 [ebd8c6ba52] - deps: float ICU-23262 patch for icu78 (René) #64678 [f2cc681109] - deps: enable AVX-512 OpenSSL asm with clang (Daniel Lemire) #65136 [f45dc92913] - deps: update undici to 8.10.0 (Node.js GitHub Bot) #65155 [4160dfdf81] - deps: update googletest to d89aac5f0dd4021198d903d39de16f896726de21 (Node.js GitHub Bot) #65153 [631d3aa37b] - deps: update libffi to 3.8.0 (Node.js GitHub Bot) #65154 [788976c626] - dgram: don't swallow bind errors when callback is provided (armanmikoyan) #62602 [d286423043] - diagnostics_channel: validate before channel activation (Trivikram Kamat) #65313 [3f4b80ebb5] - diagnostics_channel: mark TracingChannel as stable (Abdelrahman Awad) #64525 [152a326f92] - dns: validate address type in lookupService (Lazizbek Ergashev) #64878 [00c71fec93] - dns: validate port range in setServers() (René) #65021 [e9327d1422] - dns: fix crash on setServers with port 0 (Lazizbek Ergashev) #65009 [9e227ef20d] - doc: update AHAFS reference link (Taeuk Ha) #65481 [5fbf6c57af] - doc: fix property names in os.networkInterfaces() example (Jihwan) #65469 [13f16d28d1] - doc: fix broken links in cli.md (Donghoon Kang) #65412 [0f36ee3755] - doc: remove outdated WASI version fallback (이혜미) #65303 [1ad09f712a] - doc: fix broken GYP link in n-api.md (Donghoon Kang) #65413 [24cd694237] - doc: document that an empty OPENSSL_CONF skips config loading (Orgad Shaneh) #64949 [dae434132e] - doc: fix broken TLS security level example (soreavis) #65391 [96b91dc987] - doc: clarify socket destroyed behavior (Dayun) #65395 [9d8d27d444] - doc: update outdated nodejs.org guide links (Donghoon Kang) #65394 [65f675086e] - doc: clarify that ipv4 mapped to ipv6 are classified as ipv6 (Vedant Kulkarni) #62117 [89aba0c311] - doc: clarify how fs.Dirent file types are determined (soreavis) #64532 [3ed0492f52] - doc: update security release prepare command (Rafael Gonzaga) #64699 [63583c4e75] - doc: clarify copyFile symlink behavior (T) #62941 [abfc51f757] - doc: document setRawMode write access on Windows (Erik Demaine) #63856 [4a784cb3e6] - doc: document per-architecture fast FFI argument limits (Seongeun Lee) #65207 [262f966155] - doc: add missing return types in fs.md (Chaseton Collins) #65307 [695cd896a7] - doc: add missing return types in buffer.md (Yuya Inoue) #65308 [676a1228cd] - doc: fix lint clean command (greenhead) #65274 [9ea318d4e3] - doc: fix typo in onboarding.md (서울민트초코) #65295 [3b6a918ab4] - doc: add missing added: tags to fs.lchmod (Lazizbek Ergashev) #65283 [a77b1e61df] - doc: fix SQLite changeset constant descriptions (greenhead) #65265 [ab50ae60e4] - doc: document open pull request limit (Matteo Collina) #65250 [e2f4ea03a3] - doc: document http2 header constants (Harjoth Khara) #64548 [5b5509d0d3] - doc: create ai-guidelines and include to CONTRIBUTING (Rafael Gonzaga) #62105 [c63e873073] - doc: fix broken fs.BigIntStats link in vfs.md (greenhead) #65045 [d6059e84c0] - doc: update synopsis (Augustin Mauroy) #65171 [43f1dc03e7] - doc: document close() error when in a sqlite callback (Trivikram Kamat) #65090 [8f5f48ad96] - doc: fix broken internal links (greenhead) #64901 [5b64b37739] - doc: report proper return type on urlPattern.test (Brian Muenzenmeyer) #64831 [9633bb0f29] - doc: fix permission documentation examples (greenhead) #64897 [e52e573fd7] - doc: document sqlite parameter binding (Guilherme Araújo) #65089 [fa52f11d3b] - doc: finalize statements in sqlite examples (Guilherme Araújo) #65088 [0157c45012] - doc: document quic stopSending() and resetStream() (Issac) #64888 [003a913799] - doc: clarify sqlite bare parameter default (Sumit Kumar Das) #62009 [c5588d71ad] - doc: remove usage of util.inherits (Augustin Mauroy) #60817 [673db40fbf] - doc: fix grammar in worker_threads.md (이혜미) #64913 [ee5f72cf16] - doc: fix broken link (Antoine du Hamel) #65078 [0450ab6c6a] - doc: update node.1 to fix linter (Antoine du Hamel) #65053 [9a256b0693] - doc: clarify OpenSSL FIPS configuration (Filip Skokan) #64982 [c321752dcb] - doc: remove --expose-gc flag from CLI documentation (Dario Piotrowicz) #58909 [0cf79931bb] - doc: document ArrayBuffer support in pbkd2Sync (kyungrae2002) #64976 [3b8a0bacaa] - doc: correct default highWaterMark values (Yilong Li) #64617 [be313012e4] - doc: use ffi.suffix in permission example (agape1225) #64914 [4a1c9a7ee0] - esm: avoid super-linear data URL MIME regex (Sumit Kumar Das) #61951 [b1770bc196] - esm: only register text format when enabled (Efe Karasakal) #64992 [f48927fe5b] - esm: fix wasm import name in error message (이혜미) #64950 [8d48adf688] - events: inline iterationCondition hybrid dispatch closure (Szymon Łągiewka) #64473 [b827c0047e] - events: inline createEvent hybrid dispatch closure (Szymon Łągiewka) #64473 [7670c81d99] - ffi: prefer canonical type names (Trivikram Kamat) #65417 [1fe7a1c33d] - ffi: validate the value passed to the float setters (Soul Lee) #65342 [537feecd0b] - ffi: reject direct SharedArrayBuffer pointers (Trivikram Kamat) #65233 [0002f0a718] - ffi: remove dead null check in callback arguments (Trivikram Kamat) #64998 [9024ec27b6] - ffi: keep FFI functions non-constructible (Trivikram Kamat) #65184 [9b4f349b01] - ffi: refresh cached string buffers on every call (Trivikram Kamat) #65051 [eacd65e9c2] - ffi: reject detached ArrayBufferViews (Trivikram Kamat) #65086 [be2ab89730] - ffi: reject detached ArrayBuffers as pointers (Trivikram Kamat) #65083 [6f9e0846ea] - ffi: validate fast pointer BigInt argument ranges (Trivikram Kamat) #65032 [3e6688c5e3] - ffi: reuse the callable created per symbol (Trivikram Kamat) #64971 [8b0bdd931c] - ffi: shrink trampoline placement probe window (Trivikram Kamat) #64969 [9c282c4532] - ffi: accept pointer BigInts in multi-argument fast calls (Trivikram Kamat) #64964 [b98294b57d] - ffi: support SharedArrayBuffer in getRawPointer (Junsoo Ha) #64864 [5cac7c2c55] - ffi: reuse libffi call plans (Yilong Li) #64958 [262f0ec82a] - fs: stop stat()ing every entry in recursive readdir (Shelley Vohr) #65487 [e3ae912e9a] - fs: use sized reads for large files in readFileUtf8 (Shelley Vohr) #65328 [bc1e19b4b7] - fs: fix realpath of namespaced drive paths (Jason Zhang) #65378 [6673ebadf2] - fs: abort in-flight stat operations (Mert Can Altin) #63143 [74dcdbb5f1] - fs: fix glob early return skipping sibling entries (Srinu desetti) #64895 [6305a744df] - fs: pass symlink type in cp when filter is provided (Jerry Zhao) #62654 [c5cb6bc7e2] - fs: allocate FSReqPromise stat arrays lazily (Samuel Attard) #63886 [992af05719] - fs: fix out-of-bounds write in mkdtemp for long prefixes (Hierax_Umbra) #64770 [2de845b2dd] - fs: treat std::errc::permission_denied as EPERM error (Kirill Saied) #64698 [77fedbd350] - fs: read small files in one thread pool round trip (Shelley Vohr) #65327 [810929b6dd] - Revert "fs: fix close listener leak in FileHandle streams" (Mike McCready) #65387 [8873b91fce] - fs: fix close listener leak in FileHandle streams (Y1D7NG) #64227 [656cfaeb2d] - fs: add windowsHandle option to file streams (Kirill Saied) #63851 [c2c31d69fd] - http: improve performance with known-length calls to end() (Tim Perry) #65466 [7e9204f4b3] - http: use intrusive lists in ConnectionsList (Matteo Collina) #65296 [98e6272c70] - http: cache maxHeaderPairs per header section (GetThatCookie) #64988 [6c3516f179] - http: fix keylog listener setup on existing agent sockets (Shani Singh) #65066 [dad9548fbc] - http: emit drain on socket takeover and avoid stale HWM reuse (Naman Trivedi) #64991 [563cab119b] - http2: avoid uaf while receiving and sending rst_stream (esgor) #64166 [099801641b] - inspector: avoid calling into JS from V8 interrupts (Joyee Cheung) #65028 [b71d5de0b8] - lib: use bracket notation instead of startsWith/endsWith for single char (Taejin Kim) #61500 [e8e2abcc8d] - lib: load fewer builtins when bootstrapping without a snapshot (Shelley Vohr) #65329 [3619dc0601] - lib: fix ERR_INVALID_ARG_TYPE with --enable-source-maps (June) #63215 [ad7c67026b] - lib: harden webidl dictionary member reads (Filip Skokan) #65115 [b5182f0a1c] - lib: use validateArray for array arguments (greenhead) #64959 [7f7df06821] - lib: add and test [EnforceRange] in webcrypto dictionaries (Filip Skokan) #65091 [753033c110] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024 [8d39d0d660] - meta: add a root-level AGENTS.md (James M Snell) #65493 [3770f9baea] - meta: move targos to emeritus (Michaël Zasso) #65393 [a9b31dfe30] - meta: add unified http api initiative (James M Snell) #65139 [6bffc306aa] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #65182 [4abd1c8100] - meta: add support for alpha prerelease tag (Antoine du Hamel) #63135 [132c578e97] - meta: add Aviv Keller to .mailmap (Aviv Keller) #65048 [7aff78d231] - meta: update sccache to 0.17.0 (René) #64985 [97a437e7ea] - module: add a read-only mode to the compile cache (Shelley Vohr) #65302 [5821362819] - module: do not split a portable compile cache by uid (Shelley Vohr) #65293 [eb5d66e856] - module: report unreadable package.json (Paul Bouchon) #65223 [43757d07c1] - module: cache nearest parent package.json per directory (Shelley Vohr) #65326 [d7805e00dc] - module: fix --check on ambiguous ESM files (Paul Bouchon) #65203 [646221a495] - net: handle undefined parent in _unrefTimer and _destroy (Shivay-98) #64644 [3d7d277493] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #64974 [9e8e9080fd] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #65416 [01a8ae0ce6] - permission: guard UDP handle adoption (Rafael Gonzaga) #65358 [ac3c412aaf] - permission: enforce addon permission in GetLinkedBinding (Rafael Gonzaga) #65432 [8765afd4c2] - process: validate resource stats array offsets (Archkon) #65098 [d0447c93f6] - quic: changes for nghttp3_conn_close_stream2 (Marten Richter) #64574 [91393898b5] - quic: mark drain promise handled (James M Snell) #65319 [5c9576bf50] - quic: reset rejected HTTP/3 request streams with H3_REQUEST_REJECTED (trivenay) #65442 [ec956f2abc] - quic: write desired size needs update on maxstream (Marten Richter) #64768 [41c510803d] - quic: do not destroy incoming streams that have a consumer (trivenay) #65335 [009e376581] - quic: fix wake up blob (Marten Richter) #64044 [4674a10368] - quic: convert incoming :status header to number (Hallison Pereira Melo) #63589 [5953165f53] - quic: fix infinite loop if STOP_SENDING received on a buffering stream (Tim Perry) #64715 [bb499c312e] - repl: keep entries added while history file is loading (Mhayk Whandson) #64513 [825fcfe4d5] - repl: add benchmarks (Aviv Keller) #64590 [c18b0aa54e] - repl: add basic syntax highlighting (Aviv Keller) #64591 [f32a8631ad] - sea: avoid dangling CLI option pointers (Archkon) #64755 [3126ce5779] - sea: handle NUL bytes in asset keys (Archkon) #64773 [64a8843ff2] - sea: reject trailing content in config JSON (Archkon) #64774 [1d9dd252f1] - sea: reject malformed --node-options values (Archkon) #64803 [6ec735c910] - sqlite: reject reentry while binding parameters (Trevor Burnham) #65294 [60cb384c15] - sqlite: remove unused column name helper (Trivikram Kamat) #65401 [fce6754a83] - sqlite: reject busy statement finalization in authorizer (Trivikram Kamat) #65369 [e2f952f2ff] - sqlite: prevent reentrant session.close() (Trivikram Kamat) #65349 [0e8af3378a] - sqlite: reuse cached column names in statement all() and get() (Edy Silva) #65276 [e6bfec91be] - sqlite: validate StatementSync.run() integers (Trivikram Kamat) #65178 [bbb1226dbe] - sqlite: add diagnostic channel (Guilherme Araújo) #62241 [6302168de8] - sqlite: add stmt persistent flag (Guilherme Araújo) #62757 [2989311d81] - sqlite: reject connection access from authorizer callbacks (Trevor Burnham) #65156 [72c37b133e] - sqlite: expose prepared statement statistics (Edy Silva) #64541 [3e50a2f1e9] - sqlite: manage sqlite3_stmt lifetime with RAII (Guilherme Araújo) #62419 [3ab7e72555] - sqlite: check sqlite3_step() and sqlite3_reset() results (semimikoh) #63319 [5e387ce979] - sqlite: reject statement-less SQL in prepare() (Trevor Burnham) #65157 [83169e58f3] - sqlite: reject statement-less SQL in SQLTagStore (Trevor Burnham) #65157 [7f31f6226e] - sqlite: isolate applyChangeset filter errors (Trivikram Kamat) #64823 [c89878c3c8] - sqlite: reject deserialize() while in a callback (Trivikram Kamat) #64796 [5a852b22d4] - sqlite: check null returns from sqlite value functions (Nora Dossche) #63288 [5cb78ed300] - sqlite: validate maxSize argument in createTagStore() (Anshika Jain) #63792 [ca885876f6] - sqlite: refactor error helpers and user function pointers (Ali Hassan) #62794 [06b1758dcd] - sqlite: reject non-positive backup rates (Trivikram Kamat) #64893 [ce0ca47023] - sqlite: clear SQLTagStore bindings (Matteo Collina) #65041 [49fb028714] - sqlite: bind Boolean (mike-git374) #62001 [09d0da99e9] - sqlite: fix undefined behaviour in Session::Changeset() (Nora Dossche) #63637 [58ea88e1d3] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.close() (Guilherme Araújo) #64232 [7c61b08aed] - (SEMVER-MINOR) sqlite: add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) #64232 [9167ebd32b] - sqlite: bind ArrayBuffer (mike-git374) #62061 [5da6eaa8af] - sqlite: prevent database close during callbacks (Matteo Collina) #64743 [29d794bc84] - src: fix heap value deduplication in embedder graph (Ilyas Shabi) #64801 [b405e9b039] - src: fix out-of-bounds write when transcoding odd-length ucs2 (nashit hayat) #64512 [101a215472] - src: use simdutf for two-byte utf8 conversion (Mert Can Altin) #62248 [340b98346f] - src: run same-priority platform tasks in posting order (Shelley Vohr) #65353 [83a7949c18] - src: define O_SYNC, O_DSYNC and O_DIRECT on Windows (Kirill Saied) #64707 [32bb197f2a] - src: use simdutf for two-byte strings in UTF-8 writes (Shelley Vohr) #65324 [613be79cf4] - src: add v8::Local specialization for MaybeStackBuffer (James M Snell) #65159 [922d47cbd7] - src: escape Windows environment variables in task runner (Antoine du Hamel) #65217 [3a47f1f282] - src: apply minor namespace format tweak in permissions (James M Snell) #65158 [981cfa537d] - src: simplify permissions with BooleanPermissions (James M Snell) #65158 [5954b13f88] - src: simplify includes in permissions (James M Snell) #65158 [d4ced88c09] - src: apply a modest performance perf to permissions (James M Snell) #65158 [efb649ec26] - src: make permission storage a bit more efficient (James M Snell) #65158 [521aaf10fc] - src: apply multiple general cleanups to permissions (James M Snell) #65158 [ac920e0d2b] - src: simplify c++ diagnostics channel API (James M Snell) #65158 [ec8fe275a1] - src: make minor cleanup to permission checks (James M Snell) #65158 [968bdd0135] - src: use DictionaryTemplate for permission diag channel message (James M Snell) #65158 [f77aa2f703] - src: cache permission strings (James M Snell) #65158 [4018f3a776] - src: shave about 20 bytes off each TLSWrap instance (James M Snell) #65144 [b7a23426d9] - src: add SetAbortHandler (Max H Fisher) #64684 [3cfe19489c] - src: use concepts where appropriate (James M Snell) #65148 [d8a0f288ab] - src: match cmd.exe case-insensitively in task runner (Archkon) #64907 [262d88e6c2] - src: reuse cached env strings in remaining files (Seongeun Lee) #65039 [ad35fe97f0] - src: expose Windows-only fs open flags (Kirill Saied) #64775 [8c4531bbc9] - src: report why --enable-fips failed (Filip Skokan) #64979 [a293dbf0e1] - src: update repeated use strings to env (James M Snell) #64760 [044402cf0e] - src: use UTF-8 for task runner filesystem paths (Archkon) #64868 [5b7d02e401] - stream: normalize fused stateless transform results (Trivikram Kamat) #65367 [1d6ec2ddc5] - stream: encode whole chunks in TextEncoderStream (Matteo Collina) #65414 [0afda47ca4] - stream: prevent share from eagerly draining source (Trivikram Kamat) #65338 [dc51c7926e] - stream: drain pending writes before broadcast end (Trivikram Kamat) #65334 [a77f9f7a32] - stream: reuse unexposed managed read buffers (GetThatCookie) #64990 [c42fbcc0d1] - stream: avoid duplicated endReadableNT scheduling (Matteo Collina) #65310 [9ec9383d1d] - stream: decouple transform backpressure changes (Matteo Collina) #65143 [a9dc50d275] - stream: reject pull on signal abort during flush (Trivikram Kamat) #65346 [815424db74] - stream: avoid leaking consumers on signal failure (Trivikram Kamat) #65299 [6a2e0561e8] - stream: use validateObject for zlib/iter params (greenhead) #65015 [4f6f2cfffa] - stream: use validateNumber for BYOB reader options.min (greenhead) #65014 [4d297428e6] - stream: consolidate non-op algorithm callbacks (Matteo Collina) #65138 [f7e0c81be4] - stream: cut promise churn in webstreams hot paths (Matteo Collina) #65138 [5edffb544f] - stream: speed up async iteration of Readable (Matteo Collina) #64447 [0876a29bb6] - stream: preserve falsy cancellation reasons (Trivikram Kamat) #64705 [374f7e214d] - stream: use validateBuffer for BYOB reader view (greenhead) #65046 [6bd15b2ac9] - stream: fix recursive WritableStream abort (Jeong SeokChan) #64825 [f33dba704d] - string_decoder: decode UTF-8 via StringBytes::Encode (Shelley Vohr) #65324 [6409983a6c] - test: update WPT for WebCryptoAPI to e235e089b4 (Node.js GitHub Bot) #65478 [01cb4f99a0] - test: convert forEach to for of test-messageevent-brandcheck file (Nachiketa Pathak) #65279 [359369e24e] - test: use spawnSyncAndAssert in windowsHide test (Junsoo Ha) #65351 [9304dee833] - test: remove test-debugger-run-after-quit-restart as flaky on macOS (Yuya Inoue) #65424 [30f1a19eec] - test: simplify test-timers-interval-promisified.js (Donghoon Kang) #65322 [acaf986ad5] - test: add Headers coverage and benchmark (Yagiz Nizipli) #65365 [b6852e2b96] - test: deflake test-net-listen-ipv6only (sangwook) #64173 [235a0baf8b] - test: use common/child_process spawnSync helpers (Junsoo Ha) #65377 [29f010fbb0] - test: fix Linux debug skip in SEA test guard (구현우) #63751 [33d7b4c6b3] - test: add closed-library assertions for getFunctions and getSymbols (Anshika Jain) #63769 [24a76e18ec] - test: avoid timer race in event loop delay test (Trivikram Kamat) #64728 [fdc1e78595] - test: enforce exit code in test-http-server-stale-close (Antoine du Hamel) #65198 [c644f2e07c] - test: convert test-async-local-storage-bind to async loop (freida-code) #65270 [1d5e5e8f43] - test: replace forEach() with for...of in parallel tests (Phillip Markert) #65272 [9346570fed] - test: convert forEach to for in test-constant.js file (NIxxy25) #65271 [7af0a96090] - test: use for-of instead of forEach (Felix P.) #65268 [63e6f2edc3] - test: wait for FFI background optimization (Trivikram Kamat) #65300 [bca3367583] - test: add a simple test for import defer of a CJS module (Maya Lekova) #64694 [00b687bc4a] - test: cover ZIP fd lifecycle and add rollback (Philipp Dunkel) #65016 [31742f2f42] - test: cover ZIP header-confusion and DoS guards (Philipp Dunkel) #65016 [87ee7bff38] - test: cover realpathSync resolving symlinks after a FIFO stat (Hendrik Liebau) #65113 [fd7e904433] - test: update tests to run with OpenSSL >= 3.0 FIPS mode (Filip Skokan) #64960 [219495fe2c] - test: account for [EnforceRange] in test-webcrypto-prototype-pollution (Filip Skokan) #65173 [bf86fab458] - test: add permission fast api test (James M Snell) #65158 [cc19107e5d] - test: update WPT for WebCryptoAPI to 4c2fd05ed5 (Node.js GitHub Bot) #65150 [69e4fabb29] - test: update WPT for urlpattern to 4832db4761 (Node.js GitHub Bot) #65151 [b1aa78a57e] - test: fix hidden error in test-http-server-stale-close.js (Meghan Denny) #59357 [59d7e22a12] - test: avoid deadlock issue in pipeline http2 tests to fix flakiness (Tim Perry) #65079 [7074ae30fa] - test: allow half-open CONNECT tunnel sockets (Trivikram Kamat) #64973 [82b2d9c08d] - test: update passphrases to comply with the next OpenSSL FIPS mode (Filip Skokan) #65077 [7f3a42035c] - test: use libuv clock for immediate queue test (Trivikram Kamat) #64889 [7ddd853d8c] - test: increase timeout in probe-failure-hang-during-evaluate (Joyee Cheung) #64719 [28cad47cef] - test: update WPT for WebCryptoAPI to 82c3d9069c (Node.js GitHub Bot) #64977 [74a3e91bb7] - test: prefer in-memory databases in sqlite tests (Paul Bouchon) #64701 [7fc8a3ad8c] - test,doc: cover and document multi-byte offset/size in randomFill (kyungrae2002) #64834 [4de7e63883] - test_runner: match dotfiles in default coverage exclude (semimikoh) #63401 [79c39c217d] - test_runner: print coverage and diagnostic info with dot reporter (mag123c) #61423 [cce803b174] - test_runner: use run options with isolation="none" (Sylvester Keil) #62269 [797ef40d23] - test_runner: mock dual-package with conditional exports (Maruthan G) #62943 [1ad7ca310a] - test_runner: restore directory search for --test (Paul Bouchon) #64637 [400d598b3c] - test_runner: add classname hierarchy for JUnit reporter (mag123c) #60220 [9572a0b15f] - test_runner: fix junit report on empty diagnostic (Lazizbek Ergashev) #65357 [e3fda695fe] - test_runner: extend tag filter with boolean expression DSL (Chemi Atlow) #63054 [4e06739c7b] - test_runner: do not tag-filter test file wrappers (Chemi Atlow) #65170 [e73f74738d] - test_runner: fix env option validation (Jihwan) #64865 [2a0b1ec4cc] - tls: throw on invalid ALPNProtocols instead of aborting (Sankalp Thakur) #65076 [15da4a190b] - tls: fix authorized state on no-cert TLS1.3 client cert resumption (Tim Perry) #64677 [1864175435] - tls: don't trigger SNICallback or OCSPRequest from the TLS lib stack (Tim Perry) #64827 [8f4ee7eda5] - tls: drop hand-rolled TLS client hello parser (Tim Perry) #64827 [a457631496] - tools: improve commit queue failure comment (Filip Skokan) #65433 [78175c68f8] - tools: improve nix-changes coverage (Antoine du Hamel) #65403 [6f0c08bf80] - tools: refactor shell.nix pkcs11 integration to its own section (Antoine du Hamel) #65404 [35b18b4455] - tools: fix max body length handler in create-release-proposal.sh (Antoine du Hamel) #65455 [88d5f644a2] - tools: bump brace-expansion in /tools/clang-format (dependabot[bot]) #64984 [41edd2f214] - tools: make env variables consistent in cron jobs (Antoine du Hamel) #65168 [7c09bd5ece] - tools: fix man-page generation on Windows (James Ross) #64886 [1a20d27118] - tools: bump undici from 6.27.0 to 6.28.0 in /tools/doc (dependabot[bot]) #65011 [ebbe4af869] - tools: fix linter when permittedInsecurePackages is empty (Antoine du Hamel) #65226 [17d2b067bf] - tools: update BoringSSL pin on v26.x (Filip Skokan) #65483 [be4e7de04c] - tools: only include fast-tracked and old enough PRs in CQ (Antoine du Hamel) #65197 [53d52731c9] - tools: fix quote escaping in update-nixpkgs-pin.sh (Antoine du Hamel) #65166 [40b1b18839] - tools: remove skip logic in commit-queue.sh (Antoine du Hamel) #65162 [5506f77924] - tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/lint-md (dependabot[bot]) #65129 [fc038a0ef5] - tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/eslint (dependabot[bot]) #65130 [10b2c8a873] - tools: fix GITHUB_TOKEN permissions for CQ workflow (Antoine du Hamel) #65192 [73de450845] - tools: use the read-only token when filtering PRs in CQ (Antoine du Hamel) #65169 [31c1bcb627] - tools: delay removal of commit-queue label (Antoine du Hamel) #65101 [89d3905595] - tools: move ncu config to global for commit queue (Filip Skokan) #65132 [aa3b598e2e] - tools: prefilter commit queue metadata (Filip Skokan) #64343 [4f2c634258] - tools: lazy-abort failed PR merges in CQ (Antoine du Hamel) #65004 [8657497521] - tools: fix pkcs11-store-test check (Antoine du Hamel) #65023 [0e1a99ac24] - tools: add an OpenSSL FIPS build to test-shared.yml (Filip Skokan) #64960 [b6fa9c1819] - tools: sync mk-ca-bundle.pl with curl (Archkon) #64753 [f0140d7ebd] - tools: store "default" OpenSSL version in openssl-matrix.nix (Antoine du Hamel) #64962 [4c8d8afa99] - tools: remove true from branch name for auto-update automation (Antoine du Hamel) #64961 [2dd7d4c56f] - tools: add ./tools/nix/pkcs11.nix to nix-changes.yml (Filip Skokan) #64967 [cf395004ed] - tty: add raw-vt and io raw modes (Samuel Williams) #64140 [a5e5c7f756] - typings: add signal_wrap internal binding types (Seongeun Lee) #65229 [5219e53dd6] - typings: add diagnostics_channel typings (Seongeun Lee) #65227 [215223dff1] - typings: add watchdog internal binding types (Seongeun Lee) #65228 [eb095a94bd] - typings: add internal_only_v8 binding typeis (Donghoon Kang) #65071 [9fc811a0f2] - typings: add credentials internal binding types (Donghoon Kang) #65036 [f032c22430] - url: skip unused href reuse comparison (Yagiz Nizipli) #65361 [2a64032141] - url: speed up WHATWG URL parsing (Yagiz Nizipli) #65361 [c4dbe14ec6] - url: speed up URLSearchParams (Yagiz Nizipli) #65363 [001c37c0a2] - url: bounds-check short Windows file URL paths (Archkon) #64788 [1a63416b1a] - url: handle unparsable serialized URLs in setters (Matteo Collina) #64651 [cb4b89c018] - util: allow single-line format when break length is infinite (Hamid Reza Ghavami) #64238 [f644853680] - util: fix OSC 8 hyperlink stripping in stripVTControlCharacters (Dushyant Singh Hada) #64319 [eb1ebbb39d] - util: fix formatting of functions returned from getters (Richard Gibson) #64839 [f373dab724] - util: use more primordials in comparisons.js (Ayoub Mabrouk) #61198 [6ca9c1e078] - util: preserve function names without source map names (Hiroki Osame) #65108 [4299cd5897] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #64965 [1aafd19813] - zlib: roll back a failed add() directory rewrite (Philipp Dunkel) #65016 [d29cc0926a] - zlib: let a ZipFile read finish before close() (Philipp Dunkel) #65016 [2bda6db916] - zlib: do not hang archiving a FIFO or device (Philipp Dunkel) #65016 [55b04957c9] - zlib: reject local/central ZIP header mismatch (Philipp Dunkel) #65016 [575260d3b4] - zlib: validate central directory record count (Matteo Collina) #65002 [8e848d9be3] - zlib: reject ambiguous ZIP archive ends (Matteo Collina) #65007 [df48191061] - (SEMVER-MINOR) zlib: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339 [ee7bf09090] - zlib: validate pledgedSrcSize for sync zstd (Archkon) #64601 Windows 64-bit Installer: https://nodejs.org/dist/v26.8.0/node-v26.8.0-x64.msi Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.8.0/node-v26.8.0-arm64.msi Windows 64-bit Binary: https://nodejs.org/dist/v26.8.0/win-x64/node.exe Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.8.0/win-arm64/node.exe macOS 64-bit Installer: https://nodejs.org/dist/v26.8.0/node-v26.8.0.pkg macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-darwin-arm64.tar.gz macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-darwin-x64.tar.gz Linux 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-x64.tar.xz Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-ppc64le.tar.xz Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-s390x.tar.xz AIX 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-aix-ppc64.tar.gz ARMv8 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-arm64.tar.xz Source Code: https://nodejs.org/dist/v26.8.0/node-v26.8.0.tar.gz Other release files: https://nodejs.org/dist/v26.8.0/ Documentation: https://nodejs.org/docs/v26.8.0/api/ SHASUMS -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 37703c35d7acbe0a9a15e99fbc2beed2f46b7bb9bcaa3521ba9965abd5027055 node-v26.8.0-aix-ppc64.tar.gz ddede7d279871c9ce0fb787c665ee80ddddd57c35e22849a4b19c2003df07529 node-v26.8.0-arm64.msi d6516f067a433cd979b27dfdb0bad88ce97f47be33b713d04c8361b1502f19c6 node-v26.8.0-darwin-arm64.tar.gz be8d1c71b3d42ce8e976b2f0165c099f638351024be2da0ed7f816439c8326e9 node-v26.8.0-darwin-arm64.tar.xz 58e0866e3b4355c1e3140fdc0c1b1b2a55616f4e5a37fda12123e98114a05138 node-v26.8.0-darwin-x64.tar.gz 0737d450ea5a150e8a73c385a76aa0590ce38bca6b494b82e3077e0b402de6a8 node-v26.8.0-darwin-x64.tar.xz 1e59dbae77777821009407c1220a3f301110e80141ef18f0ddea22eff2c5c62b node-v26.8.0-headers.tar.gz 921bff506d5bd4624efe57348c49fa6684c79eb3732c5114640ddac002b27eab node-v26.8.0-headers.tar.xz c358e4c9bd4cd1a4521fa2ae140c88637a3679fc3e99cd1aa6bca1ec5131f13f node-v26.8.0-linux-arm64.tar.gz 7810e03acad8a592bb565e7875ccdb8b426d159888d462666a3130df64bde3e8 node-v26.8.0-linux-arm64.tar.xz e010d9f62562c43029fc799411a3a21e49c88cb2c54f4fd356c94b2f94163a91 node-v26.8.0-linux-ppc64le.tar.gz 02f7ea289ae8a4dfa9175617daca3cc73fa0150ec67d6f8b0805d800cff81503 node-v26.8.0-linux-ppc64le.tar.xz 007ef06058ad602417aa6882fcbd30d3eace0f6ffabba3d8f8d7e08b9b6dc74b node-v26.8.0-linux-s390x.tar.gz d9c267885210657e01f4a820998e18647c262f24156fe30c86819e6cb8376b06 node-v26.8.0-linux-s390x.tar.xz 10ed0603552383320e19de301c8dec54742e2c84f5ba798b524a40d494850b9b node-v26.8.0-linux-x64-musl.tar.gz 8f0e3873f3e3ccbac9acf3e6a18fc24d85310ec858d56a8b7d4b911ce86c3aa6 node-v26.8.0-linux-x64-musl.tar.xz 32fcdc8e2e2cc54fbcd6c8cc96ca5bd2e70019ac23000cbd6ccc5663de111b33 node-v26.8.0-linux-x64.tar.gz 47864ed43f4cf938cbd41cf88a49587484888295689a4b75977a0a2717702ed9 node-v26.8.0-linux-x64.tar.xz 1820b90d2709397d970a61a2ae87b59c6ce25097f78bb72eec11be2b10af62b8 node-v26.8.0-win-arm64.7z 3102215be975826e3a6095e955f077650b186162455b4f59ede1cf8a351c2bf2 node-v26.8.0-win-arm64.zip 78a337cdba4273925d70b1025827800f4dd997fff3f84d434d839f73b270f476 node-v26.8.0-win-x64.7z a27c620080cd4da2bd0458fd7dbe1c40baef67cc28c0f0bf21a229d867af7c00 node-v26.8.0-win-x64.zip da4a5d38b488b60743cb1abbf72a5fe4d9726af4e73b6cba27299084ce5515cf node-v26.8.0-x64.msi 55533648961f422be861f656e091b08c1ff41f58c972da445221cebf2fb737a9 node-v26.8.0.pkg eee6bf1301f4e779998987a2ef4727d7043ec20e14594d0f495bd1caa41816b7 node-v26.8.0.tar.gz 2287613caa71f9ab8dff4cbec7da32f0fae3e8807a6876a77764acc16d4cca4c node-v26.8.0.tar.xz 72182492e063347b527b515e9d2abe33b4dec63e61c15a6347ed629ec47c5a12 win-arm64/node.exe f8ff31e0a817991e31c7fcc1cc6123a28eca06e3dbf0a47afe633dfef056a39d win-arm64/node.lib a541cb41e42cb9b7555125e705eded2750b078bc5fef4bc1d690bf0e624cc021 win-arm64/node_pdb.7z 08e8969224c65b701dd8dfbc55309202ea00ebe474fe28781988aa977c19cb21 win-arm64/node_pdb.zip f75c008f6231c8d77c0bc5277e495e88447b65015fdb63ac966f11cf0e1106e5 win-x64/node.exe 5432dceeac196ef89ec001939cc3801cfa131036a05f5fabf5e07b6c5a0895a4 win-x64/node.lib c20361ac528d8f5199a7de9048c5285a6aa8e4529d4a1a8dd58aaecc5ec2f3aa win-x64/node_pdb.7z 41310e0aacec64c73a68de2075f60389192f719fa73cdb964c9ace58f9283277 win-x64/node_pdb.zip -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCao738gAKCRAgsaOQsWjT VmczAQD8GE84hP6s9dMIBvOVUFprgf5nLwi2dvk7b00OwSbZ2QEAx2myTLtGnrCF ck8GKPUTpWWQ2FkUX8id6KaJE4T0SAM= =C8Dy -----END PGP SIGNATURE-----