v26.6.0
nexu-io/open-designv26.6.0Aug 3, 2026by aduh95
AI Summary
A release adding FFI functionality and enhancing the test runner with logging capabilities.
Key Highlights
- Added `getCurrentEventLoop` to FFI.
- Added `context.log()` and `test:log` event.
- Reported `entryFile` in `TestStream` events.
New Features
- FFI getCurrentEventLoop
- Test runner context.log
- Test runner entryFile reporting
- Split OpenSSL 3, BoringSSL, and legacy backends
- OpenSSL asm support for riscv64
Full Release Notes
### Notable Changes * \[[`5a36018abc`](https://github.com/nodejs/node/commit/5a36018abc)] - **doc**: add MikeMcC399 as collaborator (Mike McCready) [#64656](https://github.com/nodejs/node/pull/64656) * \[[`9b04f82d7b`](https://github.com/nodejs/node/commit/9b04f82d7b)] - **(SEMVER-MINOR)** **ffi**: add `getCurrentEventLoop` (Paolo Insogna) [#64323](https://github.com/nodejs/node/pull/64323) * \[[`bb51f2c960`](https://github.com/nodejs/node/commit/bb51f2c960)] - **(SEMVER-MINOR)** **test\_runner**: add `context.log()` and `test:log` event (Moshe Atlow) [#64389](https://github.com/nodejs/node/pull/64389) * \[[`56ce83b3ee`](https://github.com/nodejs/node/commit/56ce83b3ee)] - **(SEMVER-MINOR)** **test\_runner**: report `entryFile` in `TestStream` events (Moshe Atlow) [#64309](https://github.com/nodejs/node/pull/64309) ### Commits * \[[`248ff9fa5c`](https://github.com/nodejs/node/commit/248ff9fa5c)] - **assert,util**: fix TypeError on Maps with null keys (Paul Bouchon) [#64441](https://github.com/nodejs/node/pull/64441) * \[[`3b5baceafe`](https://github.com/nodejs/node/commit/3b5baceafe)] - **benchmark**: add bytes variant to webstreams async-iterator (Matteo Collina) [#64291](https://github.com/nodejs/node/pull/64291) * \[[`0a46d1ef66`](https://github.com/nodejs/node/commit/0a46d1ef66)] - **buffer**: normalize lone "\r" in Blob native line endings (Daijiro Wachi) [#64115](https://github.com/nodejs/node/pull/64115) * \[[`d9ada18b70`](https://github.com/nodejs/node/commit/d9ada18b70)] - **buffer**: fix Blob.stream() leaking source buffer (semimikoh) [#63577](https://github.com/nodejs/node/pull/63577) * \[[`d05993bcf6`](https://github.com/nodejs/node/commit/d05993bcf6)] - **build**: merge multiple on download artifact (Chengzhong Wu) [#64633](https://github.com/nodejs/node/pull/64633) * \[[`6c25ac909a`](https://github.com/nodejs/node/commit/6c25ac909a)] - **build**: extract temporal\_capi crate directory name into gyp variable (René) [#64482](https://github.com/nodejs/node/pull/64482) * \[[`612f60c300`](https://github.com/nodejs/node/commit/612f60c300)] - **cli**: style node --help output with util.styleText (Adrián Estrada) [#64484](https://github.com/nodejs/node/pull/64484) * \[[`29a938ddbb`](https://github.com/nodejs/node/commit/29a938ddbb)] - **crypto**: preserve RSA-PSS legacy pubkey DER (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) * \[[`2fde794357`](https://github.com/nodejs/node/commit/2fde794357)] - **crypto**: cleanse provider private key copies (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) * \[[`33a0e08d41`](https://github.com/nodejs/node/commit/33a0e08d41)] - **crypto**: handle incomplete RSA private keys (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) * \[[`11b4d505ef`](https://github.com/nodejs/node/commit/11b4d505ef)] - **crypto**: retain legacy DH validation (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) * \[[`6e302041e1`](https://github.com/nodejs/node/commit/6e302041e1)] - **crypto**: limit KangarooTwelveParams customization to 512 bytes (Filip Skokan) [#64557](https://github.com/nodejs/node/pull/64557) * \[[`195f103e87`](https://github.com/nodejs/node/commit/195f103e87)] - **crypto**: split OpenSSL 3, BoringSSL, and legacy backends (Filip Skokan) [#64211](https://github.com/nodejs/node/pull/64211) * \[[`ec67e24eee`](https://github.com/nodejs/node/commit/ec67e24eee)] - **deps**: update googletest to fa005b296f90faec4f352d7ab382287bf6548c8d (Node.js GitHub Bot) [#64587](https://github.com/nodejs/node/pull/64587) * \[[`32ffff88fd`](https://github.com/nodejs/node/commit/32ffff88fd)] - **deps**: histogram: cherry-pick 62ea52b07ee9b195 (StefanStojanovic) [#64296](https://github.com/nodejs/node/pull/64296) * \[[`e0664f1f09`](https://github.com/nodejs/node/commit/e0664f1f09)] - **deps**: update histogram to 0.11.10 (Node.js GitHub Bot) [#64296](https://github.com/nodejs/node/pull/64296) * \[[`cf0622bdd6`](https://github.com/nodejs/node/commit/cf0622bdd6)] - **deps**: update amaro to 1.1.11 (Node.js GitHub Bot) [#64586](https://github.com/nodejs/node/pull/64586) * \[[`04c78b8b24`](https://github.com/nodejs/node/commit/04c78b8b24)] - **deps**: update timezone to 2026c (Node.js GitHub Bot) [#64588](https://github.com/nodejs/node/pull/64588) * \[[`59f4318976`](https://github.com/nodejs/node/commit/59f4318976)] - **deps**: V8: cherry-pick 1158ae719749 (René) [#64432](https://github.com/nodejs/node/pull/64432) * \[[`e5ea7cd299`](https://github.com/nodejs/node/commit/e5ea7cd299)] - **deps**: update googletest to 8240fa7d62f73e01c7af27d61ed965d6d66698fa (Node.js GitHub Bot) [#64439](https://github.com/nodejs/node/pull/64439) * \[[`0e7554cee4`](https://github.com/nodejs/node/commit/0e7554cee4)] - **deps**: update libffi to 3.7.1 (Node.js GitHub Bot) [#64438](https://github.com/nodejs/node/pull/64438) * \[[`46c9d724ad`](https://github.com/nodejs/node/commit/46c9d724ad)] - **deps**: update ngtcp2 to 1.24.0 (Node.js GitHub Bot) [#64297](https://github.com/nodejs/node/pull/64297) * \[[`3519aac9af`](https://github.com/nodejs/node/commit/3519aac9af)] - **deps**: enable OpenSSL asm support for riscv64 (Jamie Magee) [#62606](https://github.com/nodejs/node/pull/62606) * \[[`c09701218b`](https://github.com/nodejs/node/commit/c09701218b)] - **deps**: update c-ares to 1.34.8 (Node.js GitHub Bot) [#64330](https://github.com/nodejs/node/pull/64330) * \[[`ad2f3bc95b`](https://github.com/nodejs/node/commit/ad2f3bc95b)] - **deps**: upgrade npm to 11.18.0 (npm team) [#64199](https://github.com/nodejs/node/pull/64199) * \[[`d7a4b22c86`](https://github.com/nodejs/node/commit/d7a4b22c86)] - **deps**: V8: backport a05321ebd98e (Chengzhong Wu) [#64202](https://github.com/nodejs/node/pull/64202) * \[[`8679cff291`](https://github.com/nodejs/node/commit/8679cff291)] - **deps**: update zlib to 1.3.2.1-motley-8b3aa8a (Node.js GitHub Bot) [#64295](https://github.com/nodejs/node/pull/64295) * \[[`df5b1e10ba`](https://github.com/nodejs/node/commit/df5b1e10ba)] - **doc**: remove unsupported syntax from `stream_iter.md` (Antoine du Hamel) [#64649](https://github.com/nodejs/node/pull/64649) * \[[`8a4ca9083f`](https://github.com/nodejs/node/commit/8a4ca9083f)] - **doc**: clarify rules for adding new built-in modules (Antoine du Hamel) [#64648](https://github.com/nodejs/node/pull/64648) * \[[`7d50fe6b7a`](https://github.com/nodejs/node/commit/7d50fe6b7a)] - **doc**: mention DEPENDENCY custom field for H1 reports (Rafael Gonzaga) [#64634](https://github.com/nodejs/node/pull/64634) * \[[`8f415bf5fc`](https://github.com/nodejs/node/commit/8f415bf5fc)] - **doc**: fix dnsPromises.lookup verbatim default (Shivam S) [#64658](https://github.com/nodejs/node/pull/64658) * \[[`c6378f724d`](https://github.com/nodejs/node/commit/c6378f724d)] - **doc**: fix broken links and clean up type map (Antoine du Hamel) [#64625](https://github.com/nodejs/node/pull/64625) * \[[`9b53ec19a2`](https://github.com/nodejs/node/commit/9b53ec19a2)] - **doc**: fix typo in releases guide (Jihwan) [#64621](https://github.com/nodejs/node/pull/64621) * \[[`5a36018abc`](https://github.com/nodejs/node/commit/5a36018abc)] - **doc**: add MikeMcC399 as collaborator (Mike McCready) [#64656](https://github.com/nodejs/node/pull/64656) * \[[`d2c8acd764`](https://github.com/nodejs/node/commit/d2c8acd764)] - **doc**: use promote wording in release guide (Md Muhtasim Munif Fahim) [#64371](https://github.com/nodejs/node/pull/64371) * \[[`5c692cb576`](https://github.com/nodejs/node/commit/5c692cb576)] - **doc**: fix import.meta example for vm.SourceTextModule (Muhammad Zeeshan) [#64112](https://github.com/nodejs/node/pull/64112) * \[[`7568ce71ca`](https://github.com/nodejs/node/commit/7568ce71ca)] - **doc**: mention crypto.hash() for better perf (Steven) [#63420](https://github.com/nodejs/node/pull/63420) * \[[`cf3f631936`](https://github.com/nodejs/node/commit/cf3f631936)] - **doc**: update sea example by fixing wrong code example (Maxence Robinet) [#64025](https://github.com/nodejs/node/pull/64025) * \[[`ce21e567a4`](https://github.com/nodejs/node/commit/ce21e567a4)] - **doc**: fix socket.readyState state descriptions (YuSheng Chen) [#64468](https://github.com/nodejs/node/pull/64468) * \[[`018c7f1c01`](https://github.com/nodejs/node/commit/018c7f1c01)] - **doc**: replace large tables in crypto.md and webcrypto.md with lists (Filip Skokan) [#64582](https://github.com/nodejs/node/pull/64582) * \[[`cf82de8d8b`](https://github.com/nodejs/node/commit/cf82de8d8b)] - **doc**: note --env-file is not applied to --run (Paul Bouchon) [#64442](https://github.com/nodejs/node/pull/64442) * \[[`e635ce5201`](https://github.com/nodejs/node/commit/e635ce5201)] - **doc**: fix typo in embedding.md (greenhead) [#64425](https://github.com/nodejs/node/pull/64425) * \[[`0b1f6eda3f`](https://github.com/nodejs/node/commit/0b1f6eda3f)] - **doc**: fix typos in contributing docs (Donghoon Kang) [#64520](https://github.com/nodejs/node/pull/64520) * \[[`d978ce80ef`](https://github.com/nodejs/node/commit/d978ce80ef)] - **doc**: document TLS alpnProtocol and servername fields (Tim Perry) [#64362](https://github.com/nodejs/node/pull/64362) * \[[`394669e3b3`](https://github.com/nodejs/node/commit/394669e3b3)] - **doc**: fix spelling in devcontainer guide (한만욱) [#64459](https://github.com/nodejs/node/pull/64459) * \[[`9786a593ea`](https://github.com/nodejs/node/commit/9786a593ea)] - **doc**: clarify PEM format for signing keys (Harjoth Khara) [#64404](https://github.com/nodejs/node/pull/64404) * \[[`6251f832ba`](https://github.com/nodejs/node/commit/6251f832ba)] - **doc**: fix typo in tls.md (Daijiro Wachi) [#64458](https://github.com/nodejs/node/pull/64458) * \[[`b8656c40ad`](https://github.com/nodejs/node/commit/b8656c40ad)] - **doc**: document net Socket server property (Efe Karasakal) [#64364](https://github.com/nodejs/node/pull/64364) * \[[`03e9c738f3`](https://github.com/nodejs/node/commit/03e9c738f3)] - **doc**: update a Dispatcher undici doc link (Filip Skokan) [#64358](https://github.com/nodejs/node/pull/64358) * \[[`b6dd2debf0`](https://github.com/nodejs/node/commit/b6dd2debf0)] - **doc**: fix typos in documentation (Jungwon Sohn) [#64466](https://github.com/nodejs/node/pull/64466) * \[[`3b7d778c3c`](https://github.com/nodejs/node/commit/3b7d778c3c)] - **doc**: clarify fixes and refs trailer guidance (Trivikram Kamat) [#64421](https://github.com/nodejs/node/pull/64421) * \[[`eb086a6e03`](https://github.com/nodejs/node/commit/eb086a6e03)] - **doc**: remove duplicate VirtualProvider description (Archkon) [#64400](https://github.com/nodejs/node/pull/64400) * \[[`bc221a8cd7`](https://github.com/nodejs/node/commit/bc221a8cd7)] - **doc**: add scope overview tables for TestsStream events (Moshe Atlow) [#64386](https://github.com/nodejs/node/pull/64386) * \[[`4b3dbd36df`](https://github.com/nodejs/node/commit/4b3dbd36df)] - **doc**: clarify proxy threat model (Matteo Collina) [#64366](https://github.com/nodejs/node/pull/64366) * \[[`c5526f69d6`](https://github.com/nodejs/node/commit/c5526f69d6)] - **doc**: add note about restricted CI to pull-requests.md (Stewart X Addison) [#64321](https://github.com/nodejs/node/pull/64321) * \[[`968eaf6538`](https://github.com/nodejs/node/commit/968eaf6538)] - **doc**: various updates to releases.md (Stewart X Addison) [#64198](https://github.com/nodejs/node/pull/64198) * \[[`2a51f8ba8e`](https://github.com/nodejs/node/commit/2a51f8ba8e)] - **doc**: remove obsolete --napi-modules doc entry (Chengzhong Wu) [#64220](https://github.com/nodejs/node/pull/64220) * \[[`ee5a54535e`](https://github.com/nodejs/node/commit/ee5a54535e)] - **doc,test**: widen fsPromises.appendFile()'s data type, add missing tests (Jimmy Leung) [#64279](https://github.com/nodejs/node/pull/64279) * \[[`b923df86fc`](https://github.com/nodejs/node/commit/b923df86fc)] - **events**: avoid retaining removed event names (Matteo Collina) [#64475](https://github.com/nodejs/node/pull/64475) * \[[`7d8d413ff5`](https://github.com/nodejs/node/commit/7d8d413ff5)] - **events**: optimize once() and removeListener() (Matteo Collina) [#64373](https://github.com/nodejs/node/pull/64373) * \[[`f2f8881d2a`](https://github.com/nodejs/node/commit/f2f8881d2a)] - **ffi**: evaluate function signatures once (Trivikram Kamat) [#64559](https://github.com/nodejs/node/pull/64559) * \[[`9b04f82d7b`](https://github.com/nodejs/node/commit/9b04f82d7b)] - **(SEMVER-MINOR)** **ffi**: add getCurrentEventLoop (Paolo Insogna) [#64323](https://github.com/nodejs/node/pull/64323) * \[[`4a3ef5b2b5`](https://github.com/nodejs/node/commit/4a3ef5b2b5)] - **fs**: add pattern cache for matchGlobPattern() (bq) [#63915](https://github.com/nodejs/node/pull/63915) * \[[`ce113efcac`](https://github.com/nodejs/node/commit/ce113efcac)] - **fs**: fix cp symlink and EEXIST handling on Windows (Kirill Saied) [#64353](https://github.com/nodejs/node/pull/64353) * \[[`3be3041ac9`](https://github.com/nodejs/node/commit/3be3041ac9)] - **http**: fix perf\_hooks detail.req.url port and proxied path (Stefano Baghino) [#64311](https://github.com/nodejs/node/pull/64311) * \[[`0047ad73cf`](https://github.com/nodejs/node/commit/0047ad73cf)] - **http**: remove unused n arg from IncomingMessage.\_read (Efe Karasakal) [#64370](https://github.com/nodejs/node/pull/64370) * \[[`4d48984d5c`](https://github.com/nodejs/node/commit/4d48984d5c)] - **http2**: don't throw when destroying socket proxy (Matteo Collina) [#64427](https://github.com/nodejs/node/pull/64427) * \[[`3329647762`](https://github.com/nodejs/node/commit/3329647762)] - **http2**: avoid copying the options in respond() (Matteo Collina) [#64265](https://github.com/nodejs/node/pull/64265) * \[[`a44fca5e24`](https://github.com/nodejs/node/commit/a44fca5e24)] - **http2**: avoid per-write closures in kWriteGeneric (Matteo Collina) [#64265](https://github.com/nodejs/node/pull/64265) * \[[`546e0e70a1`](https://github.com/nodejs/node/commit/546e0e70a1)] - **inspector**: add --cond to node inspect probe mode (Joyee Cheung) [#64328](https://github.com/nodejs/node/pull/64328) * \[[`b38a39dd96`](https://github.com/nodejs/node/commit/b38a39dd96)] - **lib**: use `assignFunctionName` util where it makes sense (Antoine du Hamel) [#64515](https://github.com/nodejs/node/pull/64515) * \[[`f60a12b94f`](https://github.com/nodejs/node/commit/f60a12b94f)] - **lib,tools**: add `node-core/func-name-matching` lint rule (Livia Medeiros) [#57901](https://github.com/nodejs/node/pull/57901) * \[[`9e6e9d4745`](https://github.com/nodejs/node/commit/9e6e9d4745)] - **meta**: lower stale to 3 months (Aviv Keller) [#64569](https://github.com/nodejs/node/pull/64569) * \[[`3dd11c4993`](https://github.com/nodejs/node/commit/3dd11c4993)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#64315](https://github.com/nodejs/node/pull/64315) * \[[`3f55208104`](https://github.com/nodejs/node/commit/3f55208104)] - **module**: add two tests for eager imports when using `import defer` (Maya Lekova) [#64197](https://github.com/nodejs/node/pull/64197) * \[[`c791eedc9d`](https://github.com/nodejs/node/commit/c791eedc9d)] - **net**: support sync connect for BoundSocket (Guy Bedford) [#64375](https://github.com/nodejs/node/pull/64375) * \[[`4df4a3fc61`](https://github.com/nodejs/node/commit/4df4a3fc61)] - **net**: make TCP Server and Socket transferable across worker threads (Matteo Collina) [#64225](https://github.com/nodejs/node/pull/64225) * \[[`5dd34d7d06`](https://github.com/nodejs/node/commit/5dd34d7d06)] - **path**: add benchmarks for path.matchesGlob() (bq) [#63915](https://github.com/nodejs/node/pull/63915) * \[[`8e520646b6`](https://github.com/nodejs/node/commit/8e520646b6)] - **quic**: defer server session emit until TLS ClientHello is processed (Tim Perry) [#64132](https://github.com/nodejs/node/pull/64132) * \[[`4b8cc9a3fb`](https://github.com/nodejs/node/commit/4b8cc9a3fb)] - **quic**: preserve session stats after close (한만욱) [#64489](https://github.com/nodejs/node/pull/64489) * \[[`591090ca85`](https://github.com/nodejs/node/commit/591090ca85)] - **quic**: add support for TLS certificate compression (Sebastian Beltran) [#64434](https://github.com/nodejs/node/pull/64434) * \[[`d636c9c30f`](https://github.com/nodejs/node/commit/d636c9c30f)] - **quic**: extract transport logic from Application to Session (Tim Perry) [#64127](https://github.com/nodejs/node/pull/64127) * \[[`abb62f961f`](https://github.com/nodejs/node/commit/abb62f961f)] - **quic**: correct http3 callback and fix revealed errs (Marten Richter) [#64289](https://github.com/nodejs/node/pull/64289) * \[[`5f535fdbe8`](https://github.com/nodejs/node/commit/5f535fdbe8)] - **quic**: fix no onstream handler crash quic (Efe) [#64158](https://github.com/nodejs/node/pull/64158) * \[[`933e5f14b5`](https://github.com/nodejs/node/commit/933e5f14b5)] - **quic**: fix stall datagrams, if no pending streams (Marten Richter) [#64303](https://github.com/nodejs/node/pull/64303) * \[[`272632a57f`](https://github.com/nodejs/node/commit/272632a57f)] - **quic**: fix potential crash from unobserved closed (Tim Perry) [#64134](https://github.com/nodejs/node/pull/64134) * \[[`2d5f445489`](https://github.com/nodejs/node/commit/2d5f445489)] - **sqlite**: read column count after step in StatementSync.all() (Guilherme Araújo) [#64219](https://github.com/nodejs/node/pull/64219) * \[[`54929af44e`](https://github.com/nodejs/node/commit/54929af44e)] - **src**: avoid redundant KEM encapsulation copies (Filip Skokan) [#64553](https://github.com/nodejs/node/pull/64553) * \[[`5380bf28b3`](https://github.com/nodejs/node/commit/5380bf28b3)] - **src**: avoid redundant DataPointer reallocations (Filip Skokan) [#64552](https://github.com/nodejs/node/pull/64552) * \[[`6ff5a1b834`](https://github.com/nodejs/node/commit/6ff5a1b834)] - **src**: fix comment typos (Jungwon Sohn) [#64509](https://github.com/nodejs/node/pull/64509) * \[[`508ec0e435`](https://github.com/nodejs/node/commit/508ec0e435)] - **src**: zero-initialize cap\_data in node\_credentials.cc (Samuel Kapust) [#64347](https://github.com/nodejs/node/pull/64347) * \[[`c5090a36c1`](https://github.com/nodejs/node/commit/c5090a36c1)] - **src**: fix some typo errors and rename some variables (Archkon) [#64301](https://github.com/nodejs/node/pull/64301) * \[[`0a89bef69e`](https://github.com/nodejs/node/commit/0a89bef69e)] - **src,permission**: do not throw on denied access in audit mode (Adrián Estrada) [#64426](https://github.com/nodejs/node/pull/64426) * \[[`63e71195c5`](https://github.com/nodejs/node/commit/63e71195c5)] - **stream**: abort pending single-source merge reads (Trivikram Kamat) [#64445](https://github.com/nodejs/node/pull/64445) * \[[`f403b30c3d`](https://github.com/nodejs/node/commit/f403b30c3d)] - **stream**: use RangeError for broadcast overflow (Trivikram Kamat) [#64420](https://github.com/nodejs/node/pull/64420) * \[[`5c0578cbf7`](https://github.com/nodejs/node/commit/5c0578cbf7)] - **stream**: skip null output from stateful transforms (Trivikram Kamat) [#64462](https://github.com/nodejs/node/pull/64462) * \[[`0488d02d5d`](https://github.com/nodejs/node/commit/0488d02d5d)] - **stream**: update iterable streams to use budget backpressure (James M Snell) [#64464](https://github.com/nodejs/node/pull/64464) * \[[`f0811baeef`](https://github.com/nodejs/node/commit/f0811baeef)] - **stream**: remove custom `CloneableDOMException` implementation (Antoine du Hamel) [#64469](https://github.com/nodejs/node/pull/64469) * \[[`10f3f9682e`](https://github.com/nodejs/node/commit/10f3f9682e)] - **stream**: fix drop-newest behavior in share() (Trivikram Kamat) [#64417](https://github.com/nodejs/node/pull/64417) * \[[`2aad973b29`](https://github.com/nodejs/node/commit/2aad973b29)] - **stream**: resume flow when an errored pipe destination is removed (Mahin Anowar) [#64310](https://github.com/nodejs/node/pull/64310) * \[[`6112ed5ceb`](https://github.com/nodejs/node/commit/6112ed5ceb)] - **stream**: fold desired-size check into WHATWG backpressure update (Matteo Collina) [#64451](https://github.com/nodejs/node/pull/64451) * \[[`d829aa1138`](https://github.com/nodejs/node/commit/d829aa1138)] - **stream**: validate writer options signal (Trivikram Kamat) [#64385](https://github.com/nodejs/node/pull/64385) * \[[`8e7a5e940e`](https://github.com/nodejs/node/commit/8e7a5e940e)] - **stream**: reject push iterator.throw() with error (Trivikram Kamat) [#64380](https://github.com/nodejs/node/pull/64380) * \[[`4390f81294`](https://github.com/nodejs/node/commit/4390f81294)] - **stream**: simplify nested `PromisePrototypeThen`s (Antoine du Hamel) [#64470](https://github.com/nodejs/node/pull/64470) * \[[`ddf2c38e9d`](https://github.com/nodejs/node/commit/ddf2c38e9d)] - **stream**: use the ring buffer for WHATWG stream request queues (Matteo Collina) [#64431](https://github.com/nodejs/node/pull/64431) * \[[`518d81b36d`](https://github.com/nodejs/node/commit/518d81b36d)] - **stream**: validate writevSync chunks before queuing (Trivikram Kamat) [#64300](https://github.com/nodejs/node/pull/64300) * \[[`f745c4261d`](https://github.com/nodejs/node/commit/f745c4261d)] - **stream**: speed up reads and iteration over default WHATWG streams (Matteo Collina) [#64320](https://github.com/nodejs/node/pull/64320) * \[[`4f4bce62fe`](https://github.com/nodejs/node/commit/4f4bce62fe)] - **stream**: copy SAB-backed chunks in iter consumers (Trivikram Kamat) [#64382](https://github.com/nodejs/node/pull/64382) * \[[`f29937d26f`](https://github.com/nodejs/node/commit/f29937d26f)] - **stream**: reject nested async streamables in from() (Trivikram Kamat) [#64352](https://github.com/nodejs/node/pull/64352) * \[[`424cec71b7`](https://github.com/nodejs/node/commit/424cec71b7)] - **stream**: avoid draining merged iter sources (Trivikram Kamat) [#64293](https://github.com/nodejs/node/pull/64293) * \[[`e01906180c`](https://github.com/nodejs/node/commit/e01906180c)] - **stream**: use ring buffer for WHATWG stream queues (Yagiz Nizipli) [#64312](https://github.com/nodejs/node/pull/64312) * \[[`0a0193f666`](https://github.com/nodejs/node/commit/0a0193f666)] - **stream**: hoist repeated loads in readable paths (Yagiz Nizipli) [#64312](https://github.com/nodejs/node/pull/64312) * \[[`ebe16003b6`](https://github.com/nodejs/node/commit/ebe16003b6)] - **stream**: prefer sync iterator in fromSync (Trivikram Kamat) [#64294](https://github.com/nodejs/node/pull/64294) * \[[`f249614835`](https://github.com/nodejs/node/commit/f249614835)] - **stream**: speed up async iteration over WHATWG byte streams (Matteo Collina) [#64291](https://github.com/nodejs/node/pull/64291) * \[[`7331118699`](https://github.com/nodejs/node/commit/7331118699)] - **stream, quic**: update iterable streams backpressure (James M Snell) [#64464](https://github.com/nodejs/node/pull/64464) * \[[`46b117729d`](https://github.com/nodejs/node/commit/46b117729d)] - **test**: update quic tests for stream/iter update (James M Snell) [#64464](https://github.com/nodejs/node/pull/64464) * \[[`b122ca5389`](https://github.com/nodejs/node/commit/b122ca5389)] - **test**: fix flaky http2 socket proxy test (Tim Perry) [#64673](https://github.com/nodejs/node/pull/64673) * \[[`68c46146fd`](https://github.com/nodejs/node/commit/68c46146fd)] - **test**: apply correction to comment (Rich Trott) [#64524](https://github.com/nodejs/node/pull/64524) * \[[`d7e119b26b`](https://github.com/nodejs/node/commit/d7e119b26b)] - **test**: keep finalization before-exit ref alive (Tim Perry) [#64521](https://github.com/nodejs/node/pull/64521) * \[[`0db4e10a0c`](https://github.com/nodejs/node/commit/0db4e10a0c)] - **test**: copyedit `test-tls-psk-alpn-callback-exception-handling` (Antoine du Hamel) [#63485](https://github.com/nodejs/node/pull/63485) * \[[`21389f7b25`](https://github.com/nodejs/node/commit/21389f7b25)] - **test**: fix stale async-context-frame status entries (Kirill Saied) [#64141](https://github.com/nodejs/node/pull/64141) * \[[`af55304846`](https://github.com/nodejs/node/commit/af55304846)] - **test**: update WPT for urlpattern to 5847ee5cfa (Node.js GitHub Bot) [#64436](https://github.com/nodejs/node/pull/64436) * \[[`43a5ce4e00`](https://github.com/nodejs/node/commit/43a5ce4e00)] - **test**: update WPT for WebCryptoAPI to ec2fee39a4 (Node.js GitHub Bot) [#64435](https://github.com/nodejs/node/pull/64435) * \[[`11ca52a521`](https://github.com/nodejs/node/commit/11ca52a521)] - **test**: fix flaky http2 maxOriginSetSize test (Tim Perry) [#64407](https://github.com/nodejs/node/pull/64407) * \[[`af08a11e77`](https://github.com/nodejs/node/commit/af08a11e77)] - **test**: fix 2nd flaky blob test case (Tim Perry) [#64391](https://github.com/nodejs/node/pull/64391) * \[[`0104ae1171`](https://github.com/nodejs/node/commit/0104ae1171)] - **test**: fix flaky watch + cwd + argv test-runner test (Tim Perry) [#64372](https://github.com/nodejs/node/pull/64372) * \[[`b3ff5fe3f4`](https://github.com/nodejs/node/commit/b3ff5fe3f4)] - **test**: normalize Windows crash in debugger test normalization (Joyee Cheung) [#64332](https://github.com/nodejs/node/pull/64332) * \[[`4cdceb7436`](https://github.com/nodejs/node/commit/4cdceb7436)] - **test**: unmark flaky http2-large-file for Win (Kirill Saied) [#64255](https://github.com/nodejs/node/pull/64255) * \[[`19f529377b`](https://github.com/nodejs/node/commit/19f529377b)] - **test**: unmark flaky SEA snapshot tests on Windows (Kirill Saied) [#64317](https://github.com/nodejs/node/pull/64317) * \[[`66f9b342ef`](https://github.com/nodejs/node/commit/66f9b342ef)] - **test**: increase timeout in consumed-timeout test (Trivikram Kamat) [#64204](https://github.com/nodejs/node/pull/64204) * \[[`fdbbf0ae6d`](https://github.com/nodejs/node/commit/fdbbf0ae6d)] - **test**: handle null stdio streams in spawnSyncAndAssert helper (Joyee Cheung) [#64273](https://github.com/nodejs/node/pull/64273) * \[[`10ea17dafe`](https://github.com/nodejs/node/commit/10ea17dafe)] - **test**: remove impact of tier-up changes in worker stack size test (Joyee Cheung) [#64271](https://github.com/nodejs/node/pull/64271) * \[[`bb51f2c960`](https://github.com/nodejs/node/commit/bb51f2c960)] - **(SEMVER-MINOR)** **test\_runner**: add context.log() and test:log event (Moshe Atlow) [#64389](https://github.com/nodejs/node/pull/64389) * \[[`56ce83b3ee`](https://github.com/nodejs/node/commit/56ce83b3ee)] - **(SEMVER-MINOR)** **test\_runner**: report `entryFile` in `TestStream` events (Moshe Atlow) [#64309](https://github.com/nodejs/node/pull/64309) * \[[`7a02e4f9e6`](https://github.com/nodejs/node/commit/7a02e4f9e6)] - **timers**: do not retain a reference to the async store after firing (Matteo Collina) [#53443](https://github.com/nodejs/node/pull/53443) * \[[`7d5d46ef00`](https://github.com/nodejs/node/commit/7d5d46ef00)] - **tls**: match IPv6 hosts against IP-Address SANs (Pascal Garber) [#64145](https://github.com/nodejs/node/pull/64145) * \[[`f7bc0c62df`](https://github.com/nodejs/node/commit/f7bc0c62df)] - **tools**: bump brace-expansion from 5.0.6 to 5.0.7 in /tools/eslint (dependabot\[bot]) [#64636](https://github.com/nodejs/node/pull/64636) * \[[`3f80ed2e93`](https://github.com/nodejs/node/commit/3f80ed2e93)] - **tools**: reference 'git node land' in PR-URL: error message in merge.sh (Stewart X Addison) [#64495](https://github.com/nodejs/node/pull/64495) * \[[`7b373cafce`](https://github.com/nodejs/node/commit/7b373cafce)] - **tools**: disable zipping tarballs on GHA (Antoine du Hamel) [#64423](https://github.com/nodejs/node/pull/64423) * \[[`5bdbd256e9`](https://github.com/nodejs/node/commit/5bdbd256e9)] - **tools**: add workflow to compare Nix changes (Antoine du Hamel) [#64410](https://github.com/nodejs/node/pull/64410) * \[[`ca4a16634b`](https://github.com/nodejs/node/commit/ca4a16634b)] - **tools**: add option for `benchmark.yml` to post comment on PR (Antoine du Hamel) [#64395](https://github.com/nodejs/node/pull/64395) * \[[`86193ef193`](https://github.com/nodejs/node/commit/86193ef193)] - **tools**: fix redundant conditions in v8.gyp for riscv64 and loong64 (Jamie Magee) [#62608](https://github.com/nodejs/node/pull/62608) * \[[`ee460404be`](https://github.com/nodejs/node/commit/ee460404be)] - **util**: make MIMEParams accessors case-insensitive (Daijiro Wachi) [#64123](https://github.com/nodejs/node/pull/64123) * \[[`a63ee46ddd`](https://github.com/nodejs/node/commit/a63ee46ddd)] - **vfs**: make recursive readdir iterative (AkshatOP) [#64149](https://github.com/nodejs/node/pull/64149) * \[[`37f93c3b15`](https://github.com/nodejs/node/commit/37f93c3b15)] - **vfs**: make lchmod update symlink mode (Trivikram Kamat) [#64350](https://github.com/nodejs/node/pull/64350) * \[[`ce54e2a9c8`](https://github.com/nodejs/node/commit/ce54e2a9c8)] - **vfs**: fix VirtualReadStream race with async iteration (Y1D7NG) [#64394](https://github.com/nodejs/node/pull/64394) * \[[`54e8d3a14b`](https://github.com/nodejs/node/commit/54e8d3a14b)] - **vfs**: follow symlinked dirs in recursive mkdir (Trivikram Kamat) [#64287](https://github.com/nodejs/node/pull/64287) * \[[`7be42b64e1`](https://github.com/nodejs/node/commit/7be42b64e1)] - **vm**: enable interception on global restricted properties (Chengzhong Wu) [#64202](https://github.com/nodejs/node/pull/64202) * \[[`c2cfcf8e7d`](https://github.com/nodejs/node/commit/c2cfcf8e7d)] - **zlib**: reject truncated zstd input (Archkon) [#64593](https://github.com/nodejs/node/pull/64593)