## nodejs/node — v26.5.1…v26.6.0

_151+ commits._

### Features
- **doc: clarify rules for adding new built-in modules** (8a4ca90)
- **doc: add MikeMcC399 as collaborator** (5a36018)
- **fs: add pattern cache for matchGlobPattern()** (4a3ef5b)
- **path: add benchmarks for path.matchesGlob()** (5dd34d7)
- **quic: add support for TLS certificate compression** (591090c)
- **net: support sync connect for BoundSocket** (c791eed)
- **doc,test: widen fsPromises.appendFile()'s data type, add missing tests** (ee5a545)
- **lib,tools: add `node-core/func-name-matching` lint rule** (f60a12b)
- **inspector: add --cond to node inspect probe mode** (546e0e7)
- **tools: add workflow to compare Nix changes** (5bdbd25)
- **tools: add option for `benchmark.yml` to post comment on PR** (ca4a166)
- **test_runner: add context.log() and test:log event** (bb51f2c)
- **doc: add scope overview tables for TestsStream events** (bc221a8)
- **deps: enable OpenSSL asm support for riscv64** (3519aac)
- **module: add two tests for eager imports when using `import defer`** (3f55208)
- **doc: add note about restricted CI to pull-requests.md** (c5526f6)
- **ffi: add getCurrentEventLoop** (9b04f82)
- **benchmark: add bytes variant to webstreams async-iterator** (3b5bace)

### Fixes
- **doc: fix dnsPromises.lookup verbatim default** (8f415bf)
- **doc: fix broken links and clean up type map** (c6378f7)
- **doc: fix typo in releases guide** (9b53ec1)
- **doc: fix import.meta example for vm.SourceTextModule** (5c692cb)
- **stream: fix drop-newest behavior in share()** (10f3f96)
- **doc: fix socket.readyState state descriptions** (ce21e56)
- **assert,util: fix TypeError on Maps with null keys** (248ff9f)
- **doc: fix typo in embedding.md** (e635ce5)
- **doc: fix typos in contributing docs** (0b1f6ed)
- **src: fix comment typos** (6ff5a1b)
- **vfs: fix VirtualReadStream race with async iteration** (ce54e2a)
- **fs: fix cp symlink and EEXIST handling on Windows** (ce113ef)
- **doc: fix spelling in devcontainer guide** (394669e)
- **doc: fix typo in tls.md** (6251f83)
- **doc: fix typos in documentation** (b6dd2de)
- **http: fix perf_hooks detail.req.url port and proxied path** (3be3041)
- **src: fix some typo errors and rename some variables** (c5090a3)
- **buffer: fix Blob.stream() leaking source buffer** (d9ada18)
- **quic: correct http3 callback and fix revealed errs** (abb62f9)
- **quic: fix no onstream handler crash quic** (5f535fd)
- **quic: fix stall datagrams, if no pending streams** (933e5f1)
- **quic: fix potential crash from unobserved closed** (272632a)
- **tools: fix redundant conditions in v8.gyp for riscv64 and loong64** (86193ef)

### Backend
- **2026-08-03, Version 26.6.0 (Current)** (6edaf75)
- **doc: remove unsupported syntax from `stream_iter.md`** (df5b1e1)
- **deps: update googletest to fa005b296f90faec4f352d7ab382287bf6548c8d** (ec67e24)
- **deps: histogram: cherry-pick 62ea52b07ee9b195** (32ffff8)
- **deps: update histogram to 0.11.10** (e0664f1)
- **deps: update amaro to 1.1.11** (cf0622b)
- **stream: abort pending single-source merge reads** (63e7119)
- **stream: use RangeError for broadcast overflow** (f403b30)
- **stream: skip null output from stateful transforms** (5c0578c)
- **quic: defer server session emit until TLS ClientHello is processed** (8e52064)
- **doc: mention DEPENDENCY custom field for H1 reports** (7d50fe6)
- **stream, quic: update iterable streams backpressure** (7331118)
- **stream: update iterable streams to use budget backpressure** (0488d02)
- **tools: bump brace-expansion from 5.0.6 to 5.0.7 in /tools/eslint** (f7bc0c6)
- **stream: remove custom `CloneableDOMException` implementation** (f0811ba)
- **src: avoid redundant KEM encapsulation copies** (54929af)
- **src: avoid redundant DataPointer reallocations** (5380bf2)
- **crypto: preserve RSA-PSS legacy pubkey DER** (29a938d)
- **crypto: cleanse provider private key copies** (2fde794)
- **crypto: handle incomplete RSA private keys** (33a0e08)
- **crypto: retain legacy DH validation** (11b4d50)
- **crypto: limit KangarooTwelveParams customization to 512 bytes** (6e30204)
- **crypto: split OpenSSL 3, BoringSSL, and legacy backends** (195f103)
- **doc: use promote wording in release guide** (d2c8acd)
- **doc: mention crypto.hash() for better perf** (7568ce7)
- **vfs: make recursive readdir iterative** (a63ee46)
- **doc: update sea example by fixing wrong code example** (cf3f631)
- **zlib: reject truncated zstd input** (c2cfcf8)
- **src,permission: do not throw on denied access in audit mode** (0a89bef)
- **deps: update timezone to 2026c** (04c78b8)
- **doc: replace large tables in crypto.md and webcrypto.md with lists** (018c7f1)
- **meta: lower stale to 3 months** (9e6e9d4)
- **ffi: evaluate function signatures once** (f2f8881)
- **doc: note --env-file is not applied to --run** (cf82de8)
- **cli: style node --help output with util.styleText** (612f60c)
- **timers: do not retain a reference to the async store after firing** (7a02e4f)
- **stream: resume flow when an errored pipe destination is removed** (2aad973)
- **http2: don't throw when destroying socket proxy** (4d48984)
- **vfs: make lchmod update symlink mode** (37f93c3)
- **lib: use `assignFunctionName` util where it makes sense** (b38a39d)
- **quic: preserve session stats after close** (4b8cc9a)
- **doc: document TLS alpnProtocol and servername fields** (d978ce8)
- **tools: reference 'git node land' in PR-URL: error message in merge.sh** (3f80ed2)
- **stream: fold desired-size check into WHATWG backpressure update** (6112ed5)
- **stream: validate writer options signal** (d829aa1)
- **stream: reject push iterator.throw() with error** (8e7a5e9)
- **stream: simplify nested `PromisePrototypeThen`s** (4390f81)
- **doc: clarify PEM format for signing keys** (9786a59)
- **deps: V8: cherry-pick 1158ae719749** (59f4318)
- **deps: update googletest to 8240fa7d62f73e01c7af27d61ed965d6d66698fa** (e5ea7cd)
- **deps: update libffi to 3.7.1** (0e7554c)
- **events: avoid retaining removed event names** (b923df8)
- **stream: use the ring buffer for WHATWG stream request queues** (ddf2c38)
- **doc: document net Socket server property** (b8656c4)
- **src: zero-initialize cap_data in node_credentials.cc** (508ec0e)
- **doc: update a Dispatcher undici doc link** (03e9c73)
- **tools: disable zipping tarballs on GHA** (7b373ca)
- **events: optimize once() and removeListener()** (7d8d413)
- **doc: clarify fixes and refs trailer guidance** (3b7d778)
- **util: make MIMEParams accessors case-insensitive** (ee46040)
- **buffer: normalize lone "\r" in Blob native line endings** (0a46d1e)
- **net: make TCP Server and Socket transferable across worker threads** (4df4a3f)
- **doc: remove duplicate VirtualProvider description** (eb086a6)
- **stream: validate writevSync chunks before queuing** (518d81b)
- **http: remove unused n arg from IncomingMessage._read** (0047ad7)
- **deps: update ngtcp2 to 1.24.0** (46c9d72)
- **stream: speed up reads and iteration over default WHATWG streams** (f745c42)
- **stream: copy SAB-backed chunks in iter consumers** (4f4bce6)
- **doc: clarify proxy threat model** (4b3dbd3)
- **stream: reject nested async streamables in from()** (f29937d)
- **stream: avoid draining merged iter sources** (424cec7)
- **deps: update c-ares to 1.34.8** (c097012)
- **quic: extract transport logic from Application to Session** (d636c9c)
- **deps: upgrade npm to 11.18.0** (ad2f3bc)
- **stream: use ring buffer for WHATWG stream queues** (e019061)
- **stream: hoist repeated loads in readable paths** (0a0193f)
- **doc: various updates to releases.md** (968eaf6)
- **meta: move one or more collaborators to emeritus** (3dd11c4)
- **tls: match IPv6 hosts against IP-Address SANs** (7d5d46e)
- **stream: prefer sync iterator in fromSync** (ebe1600)
- **vm: enable interception on global restricted properties** (7be42b6)
- **deps: V8: backport a05321ebd98e** (d7a4b22)
- **test_runner: report `entryFile` in `TestStream` events** (56ce83b)
- **doc: remove obsolete --napi-modules doc entry** (2a51f8b)
- **http2: avoid copying the options in respond()** (3329647)
- **http2: avoid per-write closures in kWriteGeneric** (a44fca5)
- **sqlite: read column count after step in StatementSync.all()** (2d5f445)
- **stream: speed up async iteration over WHATWG byte streams** (f249614)
- **deps: update zlib to 1.3.2.1-motley-8b3aa8a** (8679cff)
- **vfs: follow symlinked dirs in recursive mkdir** (54e8d3a)

### Tests
- **test: update quic tests for stream/iter update** (46b1177)
- **test: fix flaky http2 socket proxy test** (b122ca5)
- **test: apply correction to comment** (68c4614)
- **test: keep finalization before-exit ref alive** (d7e119b)
- **test: copyedit `test-tls-psk-alpn-callback-exception-handling`** (0db4e10)
- **test: fix stale async-context-frame status entries** (21389f7)
- **test: update WPT for urlpattern to 5847ee5cfa** (af55304)
- **test: update WPT for WebCryptoAPI to ec2fee39a4** (43a5ce4)
- **test: fix flaky http2 maxOriginSetSize test** (11ca52a)
- **test: fix 2nd flaky blob test case** (af08a11)
- **test: fix flaky watch + cwd + argv test-runner test** (0104ae1)
- **test: normalize Windows crash in debugger test normalization** (b3ff5fe)
- **test: unmark flaky http2-large-file for Win** (4cdceb7)
- **test: unmark flaky SEA snapshot tests on Windows** (19f5293)
- **test: increase timeout in consumed-timeout test** (66f9b34)
- **test: handle null stdio streams in spawnSyncAndAssert helper** (fdbbf0a)
- **test: remove impact of tier-up changes in worker stack size test** (10ea17d)

### Chore
- **build: merge multiple on download artifact** (d05993b)
- **build: extract temporal_capi crate directory name into gyp variable** (6c25ac9)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/nodejs/node?utm_source=github-action)._