diff --git a/apps/site/pages/en/blog/release/v24.20.0.md b/apps/site/pages/en/blog/release/v24.20.0.md new file mode 100644 index 0000000000000..5ca096e09916a --- /dev/null +++ b/apps/site/pages/en/blog/release/v24.20.0.md @@ -0,0 +1,479 @@ +--- +date: '2026-08-26T14:29:42.505Z' +category: release +title: Node.js 24.20.0 (LTS) +layout: blog-post +author: Antoine du Hamel +--- + +## 2026-08-26, Version 24.20.0 'Krypton' (LTS), @aduh95 + +### Notable Changes + +- \[[`b12bcc9ae1`](https://github.com/nodejs/node/commit/b12bcc9ae1)] - **(SEMVER-MINOR)** **async\_hooks**: add `using` scopes to `AsyncLocalStorage` (Stephen Belanger) [#61674](https://github.com/nodejs/node/pull/61674) +- \[[`e2eb88b36b`](https://github.com/nodejs/node/commit/e2eb88b36b)] - **(SEMVER-MINOR)** **buffer**: add `end` parameter (Robert Nagy) [#62390](https://github.com/nodejs/node/pull/62390) +- \[[`1fefdda18e`](https://github.com/nodejs/node/commit/1fefdda18e)] - **crypto**: update root certificates to NSS 3.125 (Node.js GitHub Bot) [#64746](https://github.com/nodejs/node/pull/64746) +- \[[`4a158cf1ab`](https://github.com/nodejs/node/commit/4a158cf1ab)] - **doc**: add MikeMcC399 as collaborator (Mike McCready) [#64656](https://github.com/nodejs/node/pull/64656) +- \[[`d4cafce076`](https://github.com/nodejs/node/commit/d4cafce076)] - **(SEMVER-MINOR)** **lib,permission**: add `permission.drop` (Rafael Gonzaga) [#62672](https://github.com/nodejs/node/pull/62672) +- \[[`b3cfb55267`](https://github.com/nodejs/node/commit/b3cfb55267)] - **(SEMVER-MINOR)** **loader**: implement package maps (Maël Nison) [#62239](https://github.com/nodejs/node/pull/62239) +- \[[`cd1eb3e60b`](https://github.com/nodejs/node/commit/cd1eb3e60b)] - **(SEMVER-MINOR)** **src,permission**: add `--permission-audit` (RafaelGSS) [#61869](https://github.com/nodejs/node/pull/61869) +- \[[`28dc85d8d2`](https://github.com/nodejs/node/commit/28dc85d8d2)] - **(SEMVER-MINOR)** **stream**: add `node:stream/iter` implementation (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066) +- \[[`d31c168740`](https://github.com/nodejs/node/commit/d31c168740)] - **(SEMVER-MINOR)** **test\_runner**: add `context.log()` and test:log event (Moshe Atlow) [#64389](https://github.com/nodejs/node/pull/64389) +- \[[`add1edbc42`](https://github.com/nodejs/node/commit/add1edbc42)] - **(SEMVER-MINOR)** **test\_runner**: report `entryFile` in `TestStream` events (Moshe Atlow) [#64309](https://github.com/nodejs/node/pull/64309) +- \[[`d937c8c6cd`](https://github.com/nodejs/node/commit/d937c8c6cd)] - **(SEMVER-MINOR)** **wasm**: enable JSPI (Guy Bedford) [#59941](https://github.com/nodejs/node/pull/59941) + +### Commits + +- \[[`1822c0f335`](https://github.com/nodejs/node/commit/1822c0f335)] - **assert,util**: fix TypeError on Maps with null keys (Paul Bouchon) [#64441](https://github.com/nodejs/node/pull/64441) +- \[[`b12bcc9ae1`](https://github.com/nodejs/node/commit/b12bcc9ae1)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to AsyncLocalStorage (Stephen Belanger) [#61674](https://github.com/nodejs/node/pull/61674) +- \[[`984260bf44`](https://github.com/nodejs/node/commit/984260bf44)] - **async\_hooks**: use validateBoolean for trackPromises (Soul Lee) [#64731](https://github.com/nodejs/node/pull/64731) +- \[[`ba2612cca2`](https://github.com/nodejs/node/commit/ba2612cca2)] - **benchmark**: fix calibrate-n option handling (Luan Muniz) [#64146](https://github.com/nodejs/node/pull/64146) +- \[[`236dc4d2d7`](https://github.com/nodejs/node/commit/236dc4d2d7)] - **benchmark**: add bytes variant to webstreams async-iterator (Matteo Collina) [#64291](https://github.com/nodejs/node/pull/64291) +- \[[`b022a1419c`](https://github.com/nodejs/node/commit/b022a1419c)] - **benchmark**: respect stream/iter broadcast backpressure (Trivikram Kamat) [#63314](https://github.com/nodejs/node/pull/63314) +- \[[`a290f51f15`](https://github.com/nodejs/node/commit/a290f51f15)] - **(SEMVER-MINOR)** **benchmark**: add benchmarks for experimental stream/iter (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066) +- \[[`465f2bfb74`](https://github.com/nodejs/node/commit/465f2bfb74)] - **buffer**: use Clamp conversion in Blob slice (Donghoon Kang) [#64739](https://github.com/nodejs/node/pull/64739) +- \[[`74a22cd0c5`](https://github.com/nodejs/node/commit/74a22cd0c5)] - **buffer**: validate copyArrayBuffer offsets against buffer length (Ilia Alshanetsky) [#63904](https://github.com/nodejs/node/pull/63904) +- \[[`21e24208dc`](https://github.com/nodejs/node/commit/21e24208dc)] - **buffer**: normalize lone "\r" in Blob native line endings (Daijiro Wachi) [#64115](https://github.com/nodejs/node/pull/64115) +- \[[`ddacb3ff10`](https://github.com/nodejs/node/commit/ddacb3ff10)] - **buffer**: fix Blob.stream() leaking source buffer (semimikoh) [#63577](https://github.com/nodejs/node/pull/63577) +- \[[`49198d2313`](https://github.com/nodejs/node/commit/49198d2313)] - **buffer**: fix end parameter bugs in indexOf/lastIndexOf (Robert Nagy) [#62711](https://github.com/nodejs/node/pull/62711) +- \[[`e2eb88b36b`](https://github.com/nodejs/node/commit/e2eb88b36b)] - **(SEMVER-MINOR)** **buffer**: add end parameter (Robert Nagy) [#62390](https://github.com/nodejs/node/pull/62390) +- \[[`e2e5c4fe88`](https://github.com/nodejs/node/commit/e2e5c4fe88)] - **build**: update binary-upload to use correct tarball name (Stewart X Addison) [#65282](https://github.com/nodejs/node/pull/65282) +- \[[`b78a212553`](https://github.com/nodejs/node/commit/b78a212553)] - **build**: pin envinfo versions in github actions (Joyee Cheung) [#64117](https://github.com/nodejs/node/pull/64117) +- \[[`094fb840aa`](https://github.com/nodejs/node/commit/094fb840aa)] - **build**: add QUIC CI job for PRs matching QUIC related paths (Tim Perry) [#63875](https://github.com/nodejs/node/pull/63875) +- \[[`91f5003cad`](https://github.com/nodejs/node/commit/91f5003cad)] - **build**: fix flags for ngtcp2 on IBM i (SRAVANI GUNDEPALLI) [#60073](https://github.com/nodejs/node/pull/60073) +- \[[`e83648effd`](https://github.com/nodejs/node/commit/e83648effd)] - **build,test**: add tests for binary linked with shared libnode (Joyee Cheung) [#61463](https://github.com/nodejs/node/pull/61463) +- \[[`4a425b41d9`](https://github.com/nodejs/node/commit/4a425b41d9)] - **build,tools**: fix shared library cross-compile (Kirill Saied) [#63963](https://github.com/nodejs/node/pull/63963) +- \[[`fe8fa45ff2`](https://github.com/nodejs/node/commit/fe8fa45ff2)] - **cli**: style node --help output with util.styleText (Adrián Estrada) [#64484](https://github.com/nodejs/node/pull/64484) +- \[[`3cd1576cb2`](https://github.com/nodejs/node/commit/3cd1576cb2)] - **crypto**: preserve OpenSSL errors from KDF failures (Filip Skokan) [#64776](https://github.com/nodejs/node/pull/64776) +- \[[`74b3023565`](https://github.com/nodejs/node/commit/74b3023565)] - **crypto**: handle XOF output allocation failure (Filip Skokan) [#64851](https://github.com/nodejs/node/pull/64851) +- \[[`fea0666a1b`](https://github.com/nodejs/node/commit/fea0666a1b)] - **crypto**: clarify missing cipher error (Filip Skokan) [#64852](https://github.com/nodejs/node/pull/64852) +- \[[`33fec91b54`](https://github.com/nodejs/node/commit/33fec91b54)] - **crypto**: reuse X509 issuer result (Filip Skokan) [#64852](https://github.com/nodejs/node/pull/64852) +- \[[`44c1473348`](https://github.com/nodejs/node/commit/44c1473348)] - **crypto**: validate key generation options (Filip Skokan) [#64852](https://github.com/nodejs/node/pull/64852) +- \[[`c2c53a18e5`](https://github.com/nodejs/node/commit/c2c53a18e5)] - **crypto**: fix Argon2 validation errors (Filip Skokan) [#64852](https://github.com/nodejs/node/pull/64852) +- \[[`edc1f2126d`](https://github.com/nodejs/node/commit/edc1f2126d)] - **crypto**: initialize KeyObjectData mutex eagerly (Filip Skokan) [#64851](https://github.com/nodejs/node/pull/64851) +- \[[`be8237240c`](https://github.com/nodejs/node/commit/be8237240c)] - **crypto**: handle DH operation failures (Filip Skokan) [#64851](https://github.com/nodejs/node/pull/64851) +- \[[`b65a8f3875`](https://github.com/nodejs/node/commit/b65a8f3875)] - **crypto**: preserve RSA-PSS legacy pubkey DER (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) +- \[[`49f2ae204b`](https://github.com/nodejs/node/commit/49f2ae204b)] - **crypto**: cleanse provider private key copies (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) +- \[[`a5d4ac8208`](https://github.com/nodejs/node/commit/a5d4ac8208)] - **crypto**: handle incomplete RSA private keys (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) +- \[[`b72c0b9616`](https://github.com/nodejs/node/commit/b72c0b9616)] - **crypto**: retain legacy DH validation (Filip Skokan) [#64547](https://github.com/nodejs/node/pull/64547) +- \[[`24a1be5886`](https://github.com/nodejs/node/commit/24a1be5886)] - **crypto**: limit KangarooTwelveParams customization to 512 bytes (Filip Skokan) [#64557](https://github.com/nodejs/node/pull/64557) +- \[[`0290e0a61e`](https://github.com/nodejs/node/commit/0290e0a61e)] - **crypto**: split OpenSSL 3, BoringSSL, and legacy backends (Filip Skokan) [#64211](https://github.com/nodejs/node/pull/64211) +- \[[`ba27e72ff8`](https://github.com/nodejs/node/commit/ba27e72ff8)] - **crypto**: fix Argon2 bypassing FIPS mode (Filip Skokan) [#64776](https://github.com/nodejs/node/pull/64776) +- \[[`1fefdda18e`](https://github.com/nodejs/node/commit/1fefdda18e)] - **crypto**: update root certificates to NSS 3.125 (Node.js GitHub Bot) [#64746](https://github.com/nodejs/node/pull/64746) +- \[[`c0dd022081`](https://github.com/nodejs/node/commit/c0dd022081)] - **crypto**: use user-facing error for output encoding changes (Archkon) [#64692](https://github.com/nodejs/node/pull/64692) +- \[[`ff485a9410`](https://github.com/nodejs/node/commit/ff485a9410)] - **crypto**: make --use-system-ca per-env rather than per-process (Aditi) [#60678](https://github.com/nodejs/node/pull/60678) +- \[[`1329d9b9f1`](https://github.com/nodejs/node/commit/1329d9b9f1)] - **debugger**: preserve overlapping CDP request state (Trivikram Kamat) [#64467](https://github.com/nodejs/node/pull/64467) +- \[[`82a02336aa`](https://github.com/nodejs/node/commit/82a02336aa)] - **deps**: V8: backport d259a9e2ead7 (Leszek Swirski) [#63865](https://github.com/nodejs/node/pull/63865) +- \[[`f0fc82d404`](https://github.com/nodejs/node/commit/f0fc82d404)] - **deps**: update ngtcp2 to 1.25.0 (Node.js GitHub Bot) [#64944](https://github.com/nodejs/node/pull/64944) +- \[[`c4e02f0fbc`](https://github.com/nodejs/node/commit/c4e02f0fbc)] - **deps**: upgrade npm to 11.19.0 (npm team) [#64883](https://github.com/nodejs/node/pull/64883) +- \[[`d5a57ed4dd`](https://github.com/nodejs/node/commit/d5a57ed4dd)] - **deps**: update nghttp3 to 1.18.0 (Node.js GitHub Bot) [#64943](https://github.com/nodejs/node/pull/64943) +- \[[`51d413150a`](https://github.com/nodejs/node/commit/51d413150a)] - **deps**: update minimatch to 10.2.6 (Node.js GitHub Bot) [#64945](https://github.com/nodejs/node/pull/64945) +- \[[`21f79ce140`](https://github.com/nodejs/node/commit/21f79ce140)] - **deps**: update simdjson to 4.6.6 (Node.js GitHub Bot) [#64942](https://github.com/nodejs/node/pull/64942) +- \[[`7a4960d6a9`](https://github.com/nodejs/node/commit/7a4960d6a9)] - **deps**: update acorn to 8.18.0 (Node.js GitHub Bot) [#64941](https://github.com/nodejs/node/pull/64941) +- \[[`5c423aa113`](https://github.com/nodejs/node/commit/5c423aa113)] - **deps**: update googletest to 1b6f64d659944658a4c685b7bd9f04c1c3b8a39b (Node.js GitHub Bot) [#64940](https://github.com/nodejs/node/pull/64940) +- \[[`40561e61b0`](https://github.com/nodejs/node/commit/40561e61b0)] - **deps**: update nghttp2 to 1.70.0 (Node.js GitHub Bot) [#64939](https://github.com/nodejs/node/pull/64939) +- \[[`51090925b0`](https://github.com/nodejs/node/commit/51090925b0)] - **deps**: update zlib to 1.3.2.1-motley-42c2f19 (Node.js GitHub Bot) [#64744](https://github.com/nodejs/node/pull/64744) +- \[[`7c534bf8e5`](https://github.com/nodejs/node/commit/7c534bf8e5)] - **deps**: V8: backport 5177b10891e6 (avivkeller) [#64631](https://github.com/nodejs/node/pull/64631) +- \[[`7b1898a341`](https://github.com/nodejs/node/commit/7b1898a341)] - **deps**: update ada to 4.0.0 (Node.js GitHub Bot) [#64790](https://github.com/nodejs/node/pull/64790) +- \[[`9209cc4095`](https://github.com/nodejs/node/commit/9209cc4095)] - **deps**: update sqlite to 3.53.4 (Node.js GitHub Bot) [#64745](https://github.com/nodejs/node/pull/64745) +- \[[`3833fceff6`](https://github.com/nodejs/node/commit/3833fceff6)] - **deps**: update googletest to fa005b296f90faec4f352d7ab382287bf6548c8d (Node.js GitHub Bot) [#64587](https://github.com/nodejs/node/pull/64587) +- \[[`bc7ce488d1`](https://github.com/nodejs/node/commit/bc7ce488d1)] - **deps**: histogram: cherry-pick 62ea52b07ee9b195 (StefanStojanovic) [#64296](https://github.com/nodejs/node/pull/64296) +- \[[`e3fa05841d`](https://github.com/nodejs/node/commit/e3fa05841d)] - **deps**: update histogram to 0.11.10 (Node.js GitHub Bot) [#64296](https://github.com/nodejs/node/pull/64296) +- \[[`e75bdb9bbe`](https://github.com/nodejs/node/commit/e75bdb9bbe)] - **deps**: update amaro to 1.1.11 (Node.js GitHub Bot) [#64586](https://github.com/nodejs/node/pull/64586) +- \[[`1e034e6e40`](https://github.com/nodejs/node/commit/1e034e6e40)] - **deps**: update timezone to 2026c (Node.js GitHub Bot) [#64588](https://github.com/nodejs/node/pull/64588) +- \[[`2b8f1f27bd`](https://github.com/nodejs/node/commit/2b8f1f27bd)] - **deps**: update googletest to 8240fa7d62f73e01c7af27d61ed965d6d66698fa (Node.js GitHub Bot) [#64439](https://github.com/nodejs/node/pull/64439) +- \[[`241ece0417`](https://github.com/nodejs/node/commit/241ece0417)] - **deps**: enable OpenSSL asm support for riscv64 (Jamie Magee) [#62606](https://github.com/nodejs/node/pull/62606) +- \[[`215105eb90`](https://github.com/nodejs/node/commit/215105eb90)] - **deps**: update c-ares to 1.34.8 (Node.js GitHub Bot) [#64330](https://github.com/nodejs/node/pull/64330) +- \[[`7ac97fc84e`](https://github.com/nodejs/node/commit/7ac97fc84e)] - **deps**: upgrade npm to 11.18.0 (npm team) [#64199](https://github.com/nodejs/node/pull/64199) +- \[[`8d4cb9ae46`](https://github.com/nodejs/node/commit/8d4cb9ae46)] - **deps**: update zlib to 1.3.2.1-motley-8b3aa8a (Node.js GitHub Bot) [#64295](https://github.com/nodejs/node/pull/64295) +- \[[`564c0f4592`](https://github.com/nodejs/node/commit/564c0f4592)] - **deps**: update ngtcp2 to 1.24.0 (Node.js GitHub Bot) [#64297](https://github.com/nodejs/node/pull/64297) +- \[[`e3304cd31a`](https://github.com/nodejs/node/commit/e3304cd31a)] - **deps**: update nghttp3 to 1.17.0 (Node.js GitHub Bot) [#64182](https://github.com/nodejs/node/pull/64182) +- \[[`345d6ad4eb`](https://github.com/nodejs/node/commit/345d6ad4eb)] - **deps**: update ngtcp2 to 1.23.0 (Node.js GitHub Bot) [#63777](https://github.com/nodejs/node/pull/63777) +- \[[`a53db015e6`](https://github.com/nodejs/node/commit/a53db015e6)] - **deps**: update nghttp3 to 1.16.0 (Node.js GitHub Bot) [#63776](https://github.com/nodejs/node/pull/63776) +- \[[`1f4a5c1c76`](https://github.com/nodejs/node/commit/1f4a5c1c76)] - **deps**: update ngtcp2 to 1.22.1 (Node.js GitHub Bot) [#62812](https://github.com/nodejs/node/pull/62812) +- \[[`080c4d7cda`](https://github.com/nodejs/node/commit/080c4d7cda)] - **deps**: update ngtcp2 to 1.22.0 (Node.js GitHub Bot) [#62595](https://github.com/nodejs/node/pull/62595) +- \[[`4309e7c82f`](https://github.com/nodejs/node/commit/4309e7c82f)] - **deps**: update ngtcp2 to 1.21.0 (Node.js GitHub Bot) [#62051](https://github.com/nodejs/node/pull/62051) +- \[[`90cf11cfb5`](https://github.com/nodejs/node/commit/90cf11cfb5)] - **deps**: update nghttp3 to 1.15.0 (Node.js GitHub Bot) [#61512](https://github.com/nodejs/node/pull/61512) +- \[[`e1f315a554`](https://github.com/nodejs/node/commit/e1f315a554)] - **deps**: update ngtcp2 to 1.20.0 (Node.js GitHub Bot) [#61511](https://github.com/nodejs/node/pull/61511) +- \[[`9a3f690c9d`](https://github.com/nodejs/node/commit/9a3f690c9d)] - **deps**: update ngtcp2 to 1.19.0 (Node.js GitHub Bot) [#61156](https://github.com/nodejs/node/pull/61156) +- \[[`fe88f31764`](https://github.com/nodejs/node/commit/fe88f31764)] - **deps**: add ngtcp2 test binaries (James M Snell) [#59946](https://github.com/nodejs/node/pull/59946) +- \[[`6d60fce138`](https://github.com/nodejs/node/commit/6d60fce138)] - **diagnostics\_channel**: grow native channel storage (Stephen Belanger) [#64497](https://github.com/nodejs/node/pull/64497) +- \[[`30ae8ab091`](https://github.com/nodejs/node/commit/30ae8ab091)] - **doc**: document --permission-audit audit mode behavior (Adrián Estrada) [#64791](https://github.com/nodejs/node/pull/64791) +- \[[`8cefc6efa8`](https://github.com/nodejs/node/commit/8cefc6efa8)] - **doc**: fix guaranteed typo (lilianakatrina684-a11y) [#62374](https://github.com/nodejs/node/pull/62374) +- \[[`2e78e4b120`](https://github.com/nodejs/node/commit/2e78e4b120)] - **doc**: add throwIfNoEntry version history to fs.stat (kovan) [#62204](https://github.com/nodejs/node/pull/62204) +- \[[`c7a04401cb`](https://github.com/nodejs/node/commit/c7a04401cb)] - **doc**: fix grammar and punctuation in dgram documentation (Kamal Rawal) [#64957](https://github.com/nodejs/node/pull/64957) +- \[[`331e5e8f62`](https://github.com/nodejs/node/commit/331e5e8f62)] - **doc**: fix grammar and editorial issues in addons documentation (Kamal Rawal) [#64952](https://github.com/nodejs/node/pull/64952) +- \[[`232287fcc6`](https://github.com/nodejs/node/commit/232287fcc6)] - **doc**: formalize fn/name as part of TestOptions API (Christopher Hiller) [#64946](https://github.com/nodejs/node/pull/64946) +- \[[`7f9efeb445`](https://github.com/nodejs/node/commit/7f9efeb445)] - **doc**: remove references to `ca`/`crl` as per-context QuicSession options (René) [#64769](https://github.com/nodejs/node/pull/64769) +- \[[`b54aa83cc6`](https://github.com/nodejs/node/commit/b54aa83cc6)] - **doc**: fix typo in maintaining-dependencies.md (greenhead) [#64896](https://github.com/nodejs/node/pull/64896) +- \[[`f4e427803c`](https://github.com/nodejs/node/commit/f4e427803c)] - **doc**: add RafaelGSS as last security release stewards (Rafael Gonzaga) [#64843](https://github.com/nodejs/node/pull/64843) +- \[[`f2cd6df3f3`](https://github.com/nodejs/node/commit/f2cd6df3f3)] - **doc**: fix typos in documentation (greenhead) [#64900](https://github.com/nodejs/node/pull/64900) +- \[[`d5627162bd`](https://github.com/nodejs/node/commit/d5627162bd)] - **doc**: improve TestContext hook descriptions (Kamal Rawal) [#64899](https://github.com/nodejs/node/pull/64899) +- \[[`72ee03bd2e`](https://github.com/nodejs/node/commit/72ee03bd2e)] - **doc**: document stream.isDestroyed() (YspritanHyzygy) [#64789](https://github.com/nodejs/node/pull/64789) +- \[[`995141eb81`](https://github.com/nodejs/node/commit/995141eb81)] - **doc**: add contributing detail for git Signed-off-by trailer (Mike McCready) [#64862](https://github.com/nodejs/node/pull/64862) +- \[[`dc30379310`](https://github.com/nodejs/node/commit/dc30379310)] - **doc**: fix duplicated word in test snapshot docs (Kamal Rawal) [#64837](https://github.com/nodejs/node/pull/64837) +- \[[`205d4d0472`](https://github.com/nodejs/node/commit/205d4d0472)] - **doc**: remove obsolete cctest node.gyp instructions (Soul Lee) [#64814](https://github.com/nodejs/node/pull/64814) +- \[[`108b883d0b`](https://github.com/nodejs/node/commit/108b883d0b)] - **doc**: report proper return type on url.format (Brian Muenzenmeyer) [#64806](https://github.com/nodejs/node/pull/64806) +- \[[`b03bd3a8ed`](https://github.com/nodejs/node/commit/b03bd3a8ed)] - **doc**: clarify tlsSocket.authorized on resumption (soreavis) [#64584](https://github.com/nodejs/node/pull/64584) +- \[[`093098ad7f`](https://github.com/nodejs/node/commit/093098ad7f)] - **doc**: stabilize --disable-warning (Jean Michelet) [#64742](https://github.com/nodejs/node/pull/64742) +- \[[`2de1d76d80`](https://github.com/nodejs/node/commit/2de1d76d80)] - **doc**: add MDN links for explicit resource management in fs (lluisemper) [#59557](https://github.com/nodejs/node/pull/59557) +- \[[`2e0f36a891`](https://github.com/nodejs/node/commit/2e0f36a891)] - **doc**: mention constructor check in deepStrictEqual (Sumit Kumar Das) [#62010](https://github.com/nodejs/node/pull/62010) +- \[[`1c9d354d09`](https://github.com/nodejs/node/commit/1c9d354d09)] - **doc**: update technical priorities (Jacob Smith) [#64505](https://github.com/nodejs/node/pull/64505) +- \[[`30c99bf08f`](https://github.com/nodejs/node/commit/30c99bf08f)] - **doc**: deprecation add more codemod (Augustin Mauroy) [#63175](https://github.com/nodejs/node/pull/63175) +- \[[`8a971a09eb`](https://github.com/nodejs/node/commit/8a971a09eb)] - **doc**: run license-builder (Node.js GitHub Bot) [#63918](https://github.com/nodejs/node/pull/63918) +- \[[`707f6eacfc`](https://github.com/nodejs/node/commit/707f6eacfc)] - **doc**: clarify rules for adding new built-in modules (Antoine du Hamel) [#64648](https://github.com/nodejs/node/pull/64648) +- \[[`928208cffc`](https://github.com/nodejs/node/commit/928208cffc)] - **doc**: mention DEPENDENCY custom field for H1 reports (Rafael Gonzaga) [#64634](https://github.com/nodejs/node/pull/64634) +- \[[`ee593cadf5`](https://github.com/nodejs/node/commit/ee593cadf5)] - **doc**: fix dnsPromises.lookup verbatim default (Shivam S) [#64658](https://github.com/nodejs/node/pull/64658) +- \[[`9c228b32d1`](https://github.com/nodejs/node/commit/9c228b32d1)] - **doc**: fix typo in releases guide (Jihwan) [#64621](https://github.com/nodejs/node/pull/64621) +- \[[`4a158cf1ab`](https://github.com/nodejs/node/commit/4a158cf1ab)] - **doc**: add MikeMcC399 as collaborator (Mike McCready) [#64656](https://github.com/nodejs/node/pull/64656) +- \[[`8125809853`](https://github.com/nodejs/node/commit/8125809853)] - **doc**: use promote wording in release guide (Md Muhtasim Munif Fahim) [#64371](https://github.com/nodejs/node/pull/64371) +- \[[`2a2effadf6`](https://github.com/nodejs/node/commit/2a2effadf6)] - **doc**: fix import.meta example for vm.SourceTextModule (Muhammad Zeeshan) [#64112](https://github.com/nodejs/node/pull/64112) +- \[[`c879f912bf`](https://github.com/nodejs/node/commit/c879f912bf)] - **doc**: mention crypto.hash() for better perf (Steven) [#63420](https://github.com/nodejs/node/pull/63420) +- \[[`634afda904`](https://github.com/nodejs/node/commit/634afda904)] - **doc**: update sea example by fixing wrong code example (Maxence Robinet) [#64025](https://github.com/nodejs/node/pull/64025) +- \[[`bced1433a3`](https://github.com/nodejs/node/commit/bced1433a3)] - **doc**: fix socket.readyState state descriptions (YuSheng Chen) [#64468](https://github.com/nodejs/node/pull/64468) +- \[[`4b2c18938f`](https://github.com/nodejs/node/commit/4b2c18938f)] - **doc**: replace large tables in crypto.md and webcrypto.md with lists (Filip Skokan) [#64582](https://github.com/nodejs/node/pull/64582) +- \[[`5207231996`](https://github.com/nodejs/node/commit/5207231996)] - **doc**: note --env-file is not applied to --run (Paul Bouchon) [#64442](https://github.com/nodejs/node/pull/64442) +- \[[`329a2884fd`](https://github.com/nodejs/node/commit/329a2884fd)] - **doc**: fix typo in embedding.md (greenhead) [#64425](https://github.com/nodejs/node/pull/64425) +- \[[`fab3f56aa1`](https://github.com/nodejs/node/commit/fab3f56aa1)] - **doc**: fix typos in contributing docs (Donghoon Kang) [#64520](https://github.com/nodejs/node/pull/64520) +- \[[`cbc2bed4e8`](https://github.com/nodejs/node/commit/cbc2bed4e8)] - **doc**: document TLS alpnProtocol and servername fields (Tim Perry) [#64362](https://github.com/nodejs/node/pull/64362) +- \[[`dada3ae60e`](https://github.com/nodejs/node/commit/dada3ae60e)] - **doc**: fix spelling in devcontainer guide (한만욱) [#64459](https://github.com/nodejs/node/pull/64459) +- \[[`71343b28aa`](https://github.com/nodejs/node/commit/71343b28aa)] - **doc**: clarify PEM format for signing keys (Harjoth Khara) [#64404](https://github.com/nodejs/node/pull/64404) +- \[[`0544ec1c78`](https://github.com/nodejs/node/commit/0544ec1c78)] - **doc**: fix typo in tls.md (Daijiro Wachi) [#64458](https://github.com/nodejs/node/pull/64458) +- \[[`8fe58078e7`](https://github.com/nodejs/node/commit/8fe58078e7)] - **doc**: document net Socket server property (Efe Karasakal) [#64364](https://github.com/nodejs/node/pull/64364) +- \[[`d54fd03fa4`](https://github.com/nodejs/node/commit/d54fd03fa4)] - **doc**: update a Dispatcher undici doc link (Filip Skokan) [#64358](https://github.com/nodejs/node/pull/64358) +- \[[`1bdebecd41`](https://github.com/nodejs/node/commit/1bdebecd41)] - **doc**: fix typos in documentation (Jungwon Sohn) [#64466](https://github.com/nodejs/node/pull/64466) +- \[[`86bca58641`](https://github.com/nodejs/node/commit/86bca58641)] - **doc**: clarify fixes and refs trailer guidance (Trivikram Kamat) [#64421](https://github.com/nodejs/node/pull/64421) +- \[[`b5b84c9394`](https://github.com/nodejs/node/commit/b5b84c9394)] - **doc**: add scope overview tables for TestsStream events (Moshe Atlow) [#64386](https://github.com/nodejs/node/pull/64386) +- \[[`004238d77c`](https://github.com/nodejs/node/commit/004238d77c)] - **doc**: clarify proxy threat model (Matteo Collina) [#64366](https://github.com/nodejs/node/pull/64366) +- \[[`6851b8d55f`](https://github.com/nodejs/node/commit/6851b8d55f)] - **doc**: add note about restricted CI to pull-requests.md (Stewart X Addison) [#64321](https://github.com/nodejs/node/pull/64321) +- \[[`662e33714a`](https://github.com/nodejs/node/commit/662e33714a)] - **doc**: various updates to releases.md (Stewart X Addison) [#64198](https://github.com/nodejs/node/pull/64198) +- \[[`949bc3cfd3`](https://github.com/nodejs/node/commit/949bc3cfd3)] - **doc**: remove obsolete --napi-modules doc entry (Chengzhong Wu) [#64220](https://github.com/nodejs/node/pull/64220) +- \[[`830d16067f`](https://github.com/nodejs/node/commit/830d16067f)] - **doc**: clarify QUIC stream state wording (EduardF1) [#63660](https://github.com/nodejs/node/pull/63660) +- \[[`79b6704630`](https://github.com/nodejs/node/commit/79b6704630)] - **doc**: fix typo in node-config-schema.json (Hamid Reza Ghavami) [#64188](https://github.com/nodejs/node/pull/64188) +- \[[`9f5bf554db`](https://github.com/nodejs/node/commit/9f5bf554db)] - **doc**: fix broken link (Antoine du Hamel) [#65078](https://github.com/nodejs/node/pull/65078) +- \[[`42b27ed428`](https://github.com/nodejs/node/commit/42b27ed428)] - **doc**: remove unsupported syntax from `stream_iter.md` (Antoine du Hamel) [#64649](https://github.com/nodejs/node/pull/64649) +- \[[`f1a9df7f22`](https://github.com/nodejs/node/commit/f1a9df7f22)] - **doc**: clarify fromReadable() duck-typed contract (Trivikram Kamat) [#63682](https://github.com/nodejs/node/pull/63682) +- \[[`c7a3d450ac`](https://github.com/nodejs/node/commit/c7a3d450ac)] - **doc**: improve quic documentation (James M Snell) [#63157](https://github.com/nodejs/node/pull/63157) +- \[[`cc425bc659`](https://github.com/nodejs/node/commit/cc425bc659)] - **doc**: fix promise nomenclature in `stream_iter.md` (Antoine du Hamel) [#63406](https://github.com/nodejs/node/pull/63406) +- \[[`859a02da96`](https://github.com/nodejs/node/commit/859a02da96)] - **doc**: minor structural stream/iter edits (René) [#63089](https://github.com/nodejs/node/pull/63089) +- \[[`630b15eb20`](https://github.com/nodejs/node/commit/630b15eb20)] - **doc**: fix doubled word typo in stream\_iter.md (Daijiro Wachi) [#62916](https://github.com/nodejs/node/pull/62916) +- \[[`50791fa8fa`](https://github.com/nodejs/node/commit/50791fa8fa)] - **doc,test**: widen fsPromises.appendFile()'s data type, add missing tests (Jimmy Leung) [#64279](https://github.com/nodejs/node/pull/64279) +- \[[`9e39360a09`](https://github.com/nodejs/node/commit/9e39360a09)] - **esm**: improve ERR\_REQUIRE\_ASYNC\_MODULE (Joyee Cheung) [#64260](https://github.com/nodejs/node/pull/64260) +- \[[`d2b02e443a`](https://github.com/nodejs/node/commit/d2b02e443a)] - **esm**: print required top-level await locations without evaluating (Joyee Cheung) [#64154](https://github.com/nodejs/node/pull/64154) +- \[[`e8c153f3f4`](https://github.com/nodejs/node/commit/e8c153f3f4)] - **events**: avoid retaining removed event names (Matteo Collina) [#64475](https://github.com/nodejs/node/pull/64475) +- \[[`73e1701bad`](https://github.com/nodejs/node/commit/73e1701bad)] - **events**: optimize once() and removeListener() (Matteo Collina) [#64373](https://github.com/nodejs/node/pull/64373) +- \[[`12f7fc0558`](https://github.com/nodejs/node/commit/12f7fc0558)] - **fs**: key glob matcher cache by platform (Archkon) [#64571](https://github.com/nodejs/node/pull/64571) +- \[[`e5af022302`](https://github.com/nodejs/node/commit/e5af022302)] - **fs**: add pattern cache for matchGlobPattern() (bq) [#63915](https://github.com/nodejs/node/pull/63915) +- \[[`63321eeb11`](https://github.com/nodejs/node/commit/63321eeb11)] - **fs**: fix cp symlink and EEXIST handling on Windows (Kirill Saied) [#64353](https://github.com/nodejs/node/pull/64353) +- \[[`0ad55e5618`](https://github.com/nodejs/node/commit/0ad55e5618)] - **http**: fix writableFinished and 'finish' after write errors (Tim Perry) [#64847](https://github.com/nodejs/node/pull/64847) +- \[[`ee54d9d4d2`](https://github.com/nodejs/node/commit/ee54d9d4d2)] - **http**: avoid aborting IncomingMessage signal on normal close (Archkon) [#64392](https://github.com/nodejs/node/pull/64392) +- \[[`14cb8b0a06`](https://github.com/nodejs/node/commit/14cb8b0a06)] - **http**: guard invalid timeout values in checkConnections (Efe Karasakal) [#64506](https://github.com/nodejs/node/pull/64506) +- \[[`f24177ccc6`](https://github.com/nodejs/node/commit/f24177ccc6)] - **http**: propagate highWaterMark to ClientRequest OutgoingMessage (trivenay) [#64653](https://github.com/nodejs/node/pull/64653) +- \[[`55e2c2da8c`](https://github.com/nodejs/node/commit/55e2c2da8c)] - **http**: fix perf\_hooks detail.req.url port and proxied path (Stefano Baghino) [#64311](https://github.com/nodejs/node/pull/64311) +- \[[`b57350fe27`](https://github.com/nodejs/node/commit/b57350fe27)] - **http**: remove unused n arg from IncomingMessage.\_read (Efe Karasakal) [#64370](https://github.com/nodejs/node/pull/64370) +- \[[`af3a17e0b3`](https://github.com/nodejs/node/commit/af3a17e0b3)] - **http2**: avoid copying the options in respond() (Matteo Collina) [#64265](https://github.com/nodejs/node/pull/64265) +- \[[`f11ac0da37`](https://github.com/nodejs/node/commit/f11ac0da37)] - **http2**: avoid per-write closures in kWriteGeneric (Matteo Collina) [#64265](https://github.com/nodejs/node/pull/64265) +- \[[`157bd07b6e`](https://github.com/nodejs/node/commit/157bd07b6e)] - **http2**: reduce per-request allocations (Matteo Collina) [#64265](https://github.com/nodejs/node/pull/64265) +- \[[`b075b33429`](https://github.com/nodejs/node/commit/b075b33429)] - **http2**: don't throw when destroying socket proxy (Matteo Collina) [#64427](https://github.com/nodejs/node/pull/64427) +- \[[`445bcce079`](https://github.com/nodejs/node/commit/445bcce079)] - **inspector**: add --cond to node inspect probe mode (Joyee Cheung) [#64328](https://github.com/nodejs/node/pull/64328) +- \[[`06b54fe7d3`](https://github.com/nodejs/node/commit/06b54fe7d3)] - **lib**: fix AbortSignal.any() observed-composite leak (Paul Bouchon) [#64481](https://github.com/nodejs/node/pull/64481) +- \[[`d8fac094d1`](https://github.com/nodejs/node/commit/d8fac094d1)] - **lib**: fix typo in comment in \_http\_client.js (agape1225) [#64729](https://github.com/nodejs/node/pull/64729) +- \[[`9ce72fd6fb`](https://github.com/nodejs/node/commit/9ce72fd6fb)] - **lib**: use `assignFunctionName` util where it makes sense (Antoine du Hamel) [#64515](https://github.com/nodejs/node/pull/64515) +- \[[`c40d1473e6`](https://github.com/nodejs/node/commit/c40d1473e6)] - **lib,permission**: fix addon permission drop (Martin Wagner) [#64007](https://github.com/nodejs/node/pull/64007) +- \[[`d4cafce076`](https://github.com/nodejs/node/commit/d4cafce076)] - **(SEMVER-MINOR)** **lib,permission**: add permission.drop (Rafael Gonzaga) [#62672](https://github.com/nodejs/node/pull/62672) +- \[[`6b09d30a76`](https://github.com/nodejs/node/commit/6b09d30a76)] - **lib,tools**: add `node-core/func-name-matching` lint rule (Livia Medeiros) [#57901](https://github.com/nodejs/node/pull/57901) +- \[[`d7d4f0e2ac`](https://github.com/nodejs/node/commit/d7d4f0e2ac)] - **loader**: enforce path normalization before lookup (Maël Nison) [#63917](https://github.com/nodejs/node/pull/63917) +- \[[`b3cfb55267`](https://github.com/nodejs/node/commit/b3cfb55267)] - **(SEMVER-MINOR)** **loader**: implement package maps (Maël Nison) [#62239](https://github.com/nodejs/node/pull/62239) +- \[[`cf425ad935`](https://github.com/nodejs/node/commit/cf425ad935)] - **meta**: bump actions/stale from 10.3.0 to 11.0.0 (dependabot\[bot]) [#64935](https://github.com/nodejs/node/pull/64935) +- \[[`26fa9cc32b`](https://github.com/nodejs/node/commit/26fa9cc32b)] - **meta**: bump github/codeql-action/analyze from 4.36.2 to 4.37.3 (dependabot\[bot]) [#64934](https://github.com/nodejs/node/pull/64934) +- \[[`c90fa82cd7`](https://github.com/nodejs/node/commit/c90fa82cd7)] - **meta**: bump github/codeql-action/autobuild from 4.36.2 to 4.37.3 (dependabot\[bot]) [#64933](https://github.com/nodejs/node/pull/64933) +- \[[`314893253a`](https://github.com/nodejs/node/commit/314893253a)] - **meta**: bump actions/setup-python from 6.3.0 to 7.0.0 (dependabot\[bot]) [#64932](https://github.com/nodejs/node/pull/64932) +- \[[`6ab711278f`](https://github.com/nodejs/node/commit/6ab711278f)] - **meta**: bump github/codeql-action/init from 4.36.2 to 4.37.3 (dependabot\[bot]) [#64931](https://github.com/nodejs/node/pull/64931) +- \[[`9138f5892a`](https://github.com/nodejs/node/commit/9138f5892a)] - **meta**: bump Mozilla-Actions/sccache-action from 0.0.10 to 0.0.11 (dependabot\[bot]) [#64930](https://github.com/nodejs/node/pull/64930) +- \[[`3ef3f934d4`](https://github.com/nodejs/node/commit/3ef3f934d4)] - **meta**: bump github/codeql-action/upload-sarif from 4.36.2 to 4.37.3 (dependabot\[bot]) [#64927](https://github.com/nodejs/node/pull/64927) +- \[[`a0a33127ae`](https://github.com/nodejs/node/commit/a0a33127ae)] - **meta**: bump step-security/harden-runner from 2.19.4 to 2.20.0 (dependabot\[bot]) [#64926](https://github.com/nodejs/node/pull/64926) +- \[[`4ad2afbf33`](https://github.com/nodejs/node/commit/4ad2afbf33)] - **meta**: bump ossf/scorecard-action from 2.4.3 to 2.4.4 (dependabot\[bot]) [#64925](https://github.com/nodejs/node/pull/64925) +- \[[`d9b2ee4083`](https://github.com/nodejs/node/commit/d9b2ee4083)] - **meta**: add @nodejs/url as codeowner for node\_url\_pattern.\* (Efe Karasakal) [#64737](https://github.com/nodejs/node/pull/64737) +- \[[`2b43b78e82`](https://github.com/nodejs/node/commit/2b43b78e82)] - **meta**: lower stale to 3 months (Aviv Keller) [#64569](https://github.com/nodejs/node/pull/64569) +- \[[`0ffe8352ae`](https://github.com/nodejs/node/commit/0ffe8352ae)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#64315](https://github.com/nodejs/node/pull/64315) +- \[[`afd922cd8a`](https://github.com/nodejs/node/commit/afd922cd8a)] - **meta**: bump actions/checkout from 6.0.2 to 7.0.0 (dependabot\[bot]) [#64245](https://github.com/nodejs/node/pull/64245) +- \[[`b6149a2976`](https://github.com/nodejs/node/commit/b6149a2976)] - **meta**: bump actions/setup-python from 6.2.0 to 6.3.0 (dependabot\[bot]) [#64241](https://github.com/nodejs/node/pull/64241) +- \[[`8f4a5c622f`](https://github.com/nodejs/node/commit/8f4a5c622f)] - **meta**: update sccache version in test-linux-quic (René) [#64043](https://github.com/nodejs/node/pull/64043) +- \[[`9040b08696`](https://github.com/nodejs/node/commit/9040b08696)] - **net**: support TCP handle transfer on Windows (Matteo Collina) [#64460](https://github.com/nodejs/node/pull/64460) +- \[[`1216481a09`](https://github.com/nodejs/node/commit/1216481a09)] - **net**: support AF\_UNIX paths in net.BoundSocket (Guy Bedford) [#64399](https://github.com/nodejs/node/pull/64399) +- \[[`f6bf3f8a5d`](https://github.com/nodejs/node/commit/f6bf3f8a5d)] - **net**: support sync connect for BoundSocket (Guy Bedford) [#64375](https://github.com/nodejs/node/pull/64375) +- \[[`fb8a7e15ca`](https://github.com/nodejs/node/commit/fb8a7e15ca)] - **net**: make TCP Server and Socket transferable across worker threads (Matteo Collina) [#64225](https://github.com/nodejs/node/pull/64225) +- \[[`224d2c7886`](https://github.com/nodejs/node/commit/224d2c7886)] - **path**: add benchmarks for path.matchesGlob() (bq) [#63915](https://github.com/nodejs/node/pull/63915) +- \[[`980c651de5`](https://github.com/nodejs/node/commit/980c651de5)] - **permission**: add unique warning codes (David Evans) [#64414](https://github.com/nodejs/node/pull/64414) +- \[[`9f9a96030d`](https://github.com/nodejs/node/commit/9f9a96030d)] - **permission**: support v8.setHeapSnapshotNearHeapLimit (Ilyas Shabi) [#64808](https://github.com/nodejs/node/pull/64808) +- \[[`8a00872183`](https://github.com/nodejs/node/commit/8a00872183)] - **quic**: fix stop sending behaviour & callback (Tim Perry) [#64710](https://github.com/nodejs/node/pull/64710) +- \[[`7aab0c3183`](https://github.com/nodejs/node/commit/7aab0c3183)] - **quic**: fix coverage comment typo (Jungwon Sohn) [#64486](https://github.com/nodejs/node/pull/64486) +- \[[`b4ecb3040b`](https://github.com/nodejs/node/commit/b4ecb3040b)] - **quic**: fix segfault after fragmented client hello (Tim Perry) [#64720](https://github.com/nodejs/node/pull/64720) +- \[[`6386540dad`](https://github.com/nodejs/node/commit/6386540dad)] - **quic**: serialize stream reset code as string (한만욱) [#64577](https://github.com/nodejs/node/pull/64577) +- \[[`82717741c9`](https://github.com/nodejs/node/commit/82717741c9)] - **quic**: defer server session emit until TLS ClientHello is processed (Tim Perry) [#64132](https://github.com/nodejs/node/pull/64132) +- \[[`7cb3099907`](https://github.com/nodejs/node/commit/7cb3099907)] - **quic**: preserve session stats after close (한만욱) [#64489](https://github.com/nodejs/node/pull/64489) +- \[[`50e639b578`](https://github.com/nodejs/node/commit/50e639b578)] - **quic**: add support for TLS certificate compression (Sebastian Beltran) [#64434](https://github.com/nodejs/node/pull/64434) +- \[[`e2e28292cc`](https://github.com/nodejs/node/commit/e2e28292cc)] - **quic**: extract transport logic from Application to Session (Tim Perry) [#64127](https://github.com/nodejs/node/pull/64127) +- \[[`2ef4b7ebf2`](https://github.com/nodejs/node/commit/2ef4b7ebf2)] - **quic**: correct http3 callback and fix revealed errs (Marten Richter) [#64289](https://github.com/nodejs/node/pull/64289) +- \[[`a682b53456`](https://github.com/nodejs/node/commit/a682b53456)] - **quic**: fix no onstream handler crash quic (Efe) [#64158](https://github.com/nodejs/node/pull/64158) +- \[[`9445e2719a`](https://github.com/nodejs/node/commit/9445e2719a)] - **quic**: fix stall datagrams, if no pending streams (Marten Richter) [#64303](https://github.com/nodejs/node/pull/64303) +- \[[`2ea9d193bd`](https://github.com/nodejs/node/commit/2ea9d193bd)] - **quic**: fix potential crash from unobserved closed (Tim Perry) [#64134](https://github.com/nodejs/node/pull/64134) +- \[[`3b7f4fc1fb`](https://github.com/nodejs/node/commit/3b7f4fc1fb)] - **quic**: drop version negotiation packets with oversized CIDs (Mohamed Sayed) [#64228](https://github.com/nodejs/node/pull/64228) +- \[[`bd477a3202`](https://github.com/nodejs/node/commit/bd477a3202)] - **quic**: fixes undefined handle in QuicStream kInspect (Marten Richter) [#64170](https://github.com/nodejs/node/pull/64170) +- \[[`3dd04b3ec6`](https://github.com/nodejs/node/commit/3dd04b3ec6)] - **quic**: fix get\_reader bug that dropped data on FIN (Tim Perry) [#63946](https://github.com/nodejs/node/pull/63946) +- \[[`4be8abe8f9`](https://github.com/nodejs/node/commit/4be8abe8f9)] - **quic**: expose QUIC certificates as JS X509Certificate, not raw handles (Tim Perry) [#63191](https://github.com/nodejs/node/pull/63191) +- \[[`e264c5c0cb`](https://github.com/nodejs/node/commit/e264c5c0cb)] - **quic**: fix reader backpressure deadlock on idle connections (Tim Perry) [#63950](https://github.com/nodejs/node/pull/63950) +- \[[`2f749dde18`](https://github.com/nodejs/node/commit/2f749dde18)] - **quic**: impl. cb for http/3 settings/app. options (Marten Richter) [#63558](https://github.com/nodejs/node/pull/63558) +- \[[`5ca7ef3202`](https://github.com/nodejs/node/commit/5ca7ef3202)] - **quic**: fix broken listEndpoints export, test callbacks & nghttp3 include (Tim Perry) [#63874](https://github.com/nodejs/node/pull/63874) +- \[[`147150cfdd`](https://github.com/nodejs/node/commit/147150cfdd)] - **quic**: add listEndpoints API (James M Snell) [#63536](https://github.com/nodejs/node/pull/63536) +- \[[`3b59d12f5d`](https://github.com/nodejs/node/commit/3b59d12f5d)] - **quic**: add proper error codes & messages for QUIC failures (Tim Perry) [#63198](https://github.com/nodejs/node/pull/63198) +- \[[`b68f8eadb9`](https://github.com/nodejs/node/commit/b68f8eadb9)] - **quic**: support hostname verification (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`7652bd9c6d`](https://github.com/nodejs/node/commit/7652bd9c6d)] - **quic**: add stream idle timeout (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`e493f04214`](https://github.com/nodejs/node/commit/e493f04214)] - **quic**: add block list support for endpoints (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`6d6cd45f8b`](https://github.com/nodejs/node/commit/6d6cd45f8b)] - **quic**: improve peer cert verification (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`dbe0b371ee`](https://github.com/nodejs/node/commit/dbe0b371ee)] - **quic**: handle h3 max header size option (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`39dca4150c`](https://github.com/nodejs/node/commit/39dca4150c)] - **quic**: add rate limiting docs (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`c726a893d6`](https://github.com/nodejs/node/commit/c726a893d6)] - **quic**: cache timestamp for address lru cache (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`11778a7925`](https://github.com/nodejs/node/commit/11778a7925)] - **quic**: add session creation rate limiting (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`8107f1b3ed`](https://github.com/nodejs/node/commit/8107f1b3ed)] - **quic**: refine rate limiting (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`3f0d7371e0`](https://github.com/nodejs/node/commit/3f0d7371e0)] - **quic**: flip preferred address policy default to 'ignore' (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`97c8a96774`](https://github.com/nodejs/node/commit/97c8a96774)] - **quic**: add doc note about certificate size limitations (James M Snell) [#63483](https://github.com/nodejs/node/pull/63483) +- \[[`42aa3f6612`](https://github.com/nodejs/node/commit/42aa3f6612)] - **quic**: add applicationOptions to session (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`4c00ab9d29`](https://github.com/nodejs/node/commit/4c00ab9d29)] - **quic**: add getters for local and remote transport parameters (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`858b636576`](https://github.com/nodejs/node/commit/858b636576)] - **quic**: improve recv coalescing test sizes (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`84d3100256`](https://github.com/nodejs/node/commit/84d3100256)] - **quic**: add initial RTT option to session options (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`a2b6a81c66`](https://github.com/nodejs/node/commit/a2b6a81c66)] - **quic**: enable recvmmsg batching in Endpoint (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`46a0868994`](https://github.com/nodejs/node/commit/46a0868994)] - **quic**: improve stream header collection performance (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`bc7f4efdb7`](https://github.com/nodejs/node/commit/bc7f4efdb7)] - **quic**: coalesce received data into fewer buffers (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`f727efb8b2`](https://github.com/nodejs/node/commit/f727efb8b2)] - **quic**: apply multiple additional minor improvements (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`ee0a0f1540`](https://github.com/nodejs/node/commit/ee0a0f1540)] - **quic**: fix tests that are missing serverEndpoint close (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`f8a1fdad07`](https://github.com/nodejs/node/commit/f8a1fdad07)] - **quic**: fixup some v8:: qualifiers (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`c66605609c`](https://github.com/nodejs/node/commit/c66605609c)] - **quic**: fix premature unref of endpoint when listening (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`9a72949b0b`](https://github.com/nodejs/node/commit/9a72949b0b)] - **quic**: fixup UAFs in bindingdata, streams, and app (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`a4db12198e`](https://github.com/nodejs/node/commit/a4db12198e)] - **quic**: fix UAF in Application::OnTimeout() (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`0a11b2ccde`](https://github.com/nodejs/node/commit/0a11b2ccde)] - **quic**: improve the quic js structure (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`1bc25d2a03`](https://github.com/nodejs/node/commit/1bc25d2a03)] - **quic**: improve internal structure of QuicStream (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`69e48aed02`](https://github.com/nodejs/node/commit/69e48aed02)] - **quic**: add aliased struct arenas (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`6b7185351b`](https://github.com/nodejs/node/commit/6b7185351b)] - **quic**: add handshake timeout and default connection limits (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`91e3c39097`](https://github.com/nodejs/node/commit/91e3c39097)] - **quic**: fix crash in early handshake failure (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`098e3d715d`](https://github.com/nodejs/node/commit/098e3d715d)] - **quic**: eliminate per-received datagram allocation (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`53b05e2ab2`](https://github.com/nodejs/node/commit/53b05e2ab2)] - **quic**: cache the timestamp on send and receive (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`1592a11219`](https://github.com/nodejs/node/commit/1592a11219)] - **quic**: add support for future ECN marking (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`80e6bf9539`](https://github.com/nodejs/node/commit/80e6bf9539)] - **quic**: improve batching of packet sending (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`ff0cd5b95f`](https://github.com/nodejs/node/commit/ff0cd5b95f)] - **quic**: improve backend quic packet processing (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`c4eb6a95da`](https://github.com/nodejs/node/commit/c4eb6a95da)] - **quic**: send correct OpenSSL alert for ALPN mismatches (Tim Perry) [#63193](https://github.com/nodejs/node/pull/63193) +- \[[`575dc7d100`](https://github.com/nodejs/node/commit/575dc7d100)] - **quic**: fixup quic stream variable chunk len (James M Snell) [#63230](https://github.com/nodejs/node/pull/63230) +- \[[`2551f9e6dd`](https://github.com/nodejs/node/commit/2551f9e6dd)] - **quic**: remove unused env\_ variable in session\_manager.h/cc (James M Snell) [#63177](https://github.com/nodejs/node/pull/63177) +- \[[`bea62a14b3`](https://github.com/nodejs/node/commit/bea62a14b3)] - **quic**: ignore coverage for quic files (James M Snell) [#63149](https://github.com/nodejs/node/pull/63149) +- \[[`9788bbff97`](https://github.com/nodejs/node/commit/9788bbff97)] - **quic**: complete the internal implementation of QUIC (James M Snell) [#62876](https://github.com/nodejs/node/pull/62876) +- \[[`54c094d245`](https://github.com/nodejs/node/commit/54c094d245)] - **quic**: continue working on quic api bits (James M Snell) [#60123](https://github.com/nodejs/node/pull/60123) +- \[[`ea82bc418d`](https://github.com/nodejs/node/commit/ea82bc418d)] - **readline**: reduce createInterface overhead (Matteo Collina) [#64585](https://github.com/nodejs/node/pull/64585) +- \[[`90a8b23db0`](https://github.com/nodejs/node/commit/90a8b23db0)] - **sqlite**: invalidate sessions when closing database (Trivikram Kamat) [#64783](https://github.com/nodejs/node/pull/64783) +- \[[`6abd00ed65`](https://github.com/nodejs/node/commit/6abd00ed65)] - **sqlite**: check database state before calling SQLite (Trivikram Kamat) [#64812](https://github.com/nodejs/node/pull/64812) +- \[[`c2a52514d6`](https://github.com/nodejs/node/commit/c2a52514d6)] - **sqlite**: fix crash when a session outlives its database (Mohamed Sayed) [#63797](https://github.com/nodejs/node/pull/63797) +- \[[`f9126923ef`](https://github.com/nodejs/node/commit/f9126923ef)] - **sqlite**: fix use-after-free in Exec() and ApplyChangeset() (Matteo Collina) [#64535](https://github.com/nodejs/node/pull/64535) +- \[[`c010131bc3`](https://github.com/nodejs/node/commit/c010131bc3)] - **sqlite**: read column count after step in StatementSync.all() (Guilherme Araújo) [#64219](https://github.com/nodejs/node/pull/64219) +- \[[`782ad5d5b0`](https://github.com/nodejs/node/commit/782ad5d5b0)] - **src**: implement MemoryRetainer protocol for ByteSource (Filip Skokan) [#64660](https://github.com/nodejs/node/pull/64660) +- \[[`4afc15bf1d`](https://github.com/nodejs/node/commit/4afc15bf1d)] - **src**: avoid redundant KEM encapsulation copies (Filip Skokan) [#64553](https://github.com/nodejs/node/pull/64553) +- \[[`37085f850d`](https://github.com/nodejs/node/commit/37085f850d)] - **src**: fix crash when writing odd-length hex string via Writev (RajeshKumar11) [#63658](https://github.com/nodejs/node/pull/63658) +- \[[`f58ac8224c`](https://github.com/nodejs/node/commit/f58ac8224c)] - **src**: avoid using ToLocalChecked in crypto\_hash (James M Snell) [#64668](https://github.com/nodejs/node/pull/64668) +- \[[`05ec9c4771`](https://github.com/nodejs/node/commit/05ec9c4771)] - **src**: fix libuv assertion on windows (liuxingbaoyu) [#61999](https://github.com/nodejs/node/pull/61999) +- \[[`308a589ee9`](https://github.com/nodejs/node/commit/308a589ee9)] - **src**: avoid redundant DataPointer reallocations (Filip Skokan) [#64552](https://github.com/nodejs/node/pull/64552) +- \[[`3650fabcb4`](https://github.com/nodejs/node/commit/3650fabcb4)] - **src**: fix comment typos (Jungwon Sohn) [#64509](https://github.com/nodejs/node/pull/64509) +- \[[`06b3441ea2`](https://github.com/nodejs/node/commit/06b3441ea2)] - **src**: zero-initialize cap\_data in node\_credentials.cc (Samuel Kapust) [#64347](https://github.com/nodejs/node/pull/64347) +- \[[`bb24a88b99`](https://github.com/nodejs/node/commit/bb24a88b99)] - **src**: fix some typo errors and rename some variables (Archkon) [#64301](https://github.com/nodejs/node/pull/64301) +- \[[`ba36ab71fd`](https://github.com/nodejs/node/commit/ba36ab71fd)] - **src**: make node.config.json throw at unknown fields (Marco Ippolito) [#62992](https://github.com/nodejs/node/pull/62992) +- \[[`fbb3960189`](https://github.com/nodejs/node/commit/fbb3960189)] - **src**: show original file name in FileHandle GC close errors (Anna Henningsen) [#60593](https://github.com/nodejs/node/pull/60593) +- \[[`d53d582be7`](https://github.com/nodejs/node/commit/d53d582be7)] - **src,permission**: do not throw on denied access in audit mode (Adrián Estrada) [#64426](https://github.com/nodejs/node/pull/64426) +- \[[`cd1eb3e60b`](https://github.com/nodejs/node/commit/cd1eb3e60b)] - **(SEMVER-MINOR)** **src,permission**: add --permission-audit (RafaelGSS) [#61869](https://github.com/nodejs/node/pull/61869) +- \[[`b1596c2b65`](https://github.com/nodejs/node/commit/b1596c2b65)] - **stream**: cut per-chunk allocations in pipeTo (Matteo Collina) [#64890](https://github.com/nodejs/node/pull/64890) +- \[[`2cfa96f5cb`](https://github.com/nodejs/node/commit/2cfa96f5cb)] - **stream**: preserve push signal abort reason (Trivikram Kamat) [#64798](https://github.com/nodejs/node/pull/64798) +- \[[`fc80ff5f7a`](https://github.com/nodejs/node/commit/fc80ff5f7a)] - **stream**: skip zero-byte broadcast writes (Trivikram Kamat) [#64772](https://github.com/nodejs/node/pull/64772) +- \[[`486cff4c08`](https://github.com/nodejs/node/commit/486cff4c08)] - **stream**: honor AbortSignal in Writer.end() (Trivikram Kamat) [#64727](https://github.com/nodejs/node/pull/64727) +- \[[`59ef1789f7`](https://github.com/nodejs/node/commit/59ef1789f7)] - **stream**: use validateString for consumer encoding (Jungwon Sohn) [#64754](https://github.com/nodejs/node/pull/64754) +- \[[`8aba47536a`](https://github.com/nodejs/node/commit/8aba47536a)] - **stream**: use the ring buffer for pending BYOB pull-into descriptors (Matteo Collina) [#64818](https://github.com/nodejs/node/pull/64818) +- \[[`b20217cb56`](https://github.com/nodejs/node/commit/b20217cb56)] - **stream**: fix uncatchable error closing half-open Duplex.toWeb() writable (Mohamed Sayed) [#64161](https://github.com/nodejs/node/pull/64161) +- \[[`8accb0c4c0`](https://github.com/nodejs/node/commit/8accb0c4c0)] - **stream**: abort pending single-source merge reads (Trivikram Kamat) [#64445](https://github.com/nodejs/node/pull/64445) +- \[[`ed5b04027c`](https://github.com/nodejs/node/commit/ed5b04027c)] - **stream**: use RangeError for broadcast overflow (Trivikram Kamat) [#64420](https://github.com/nodejs/node/pull/64420) +- \[[`136d4e7628`](https://github.com/nodejs/node/commit/136d4e7628)] - **stream**: skip null output from stateful transforms (Trivikram Kamat) [#64462](https://github.com/nodejs/node/pull/64462) +- \[[`193091f1ba`](https://github.com/nodejs/node/commit/193091f1ba)] - **stream**: update iterable streams to use budget backpressure (James M Snell) [#64464](https://github.com/nodejs/node/pull/64464) +- \[[`e2b32fce77`](https://github.com/nodejs/node/commit/e2b32fce77)] - **stream**: remove custom `CloneableDOMException` implementation (Antoine du Hamel) [#64469](https://github.com/nodejs/node/pull/64469) +- \[[`d77788eafe`](https://github.com/nodejs/node/commit/d77788eafe)] - **stream**: fix drop-newest behavior in share() (Trivikram Kamat) [#64417](https://github.com/nodejs/node/pull/64417) +- \[[`de4ca2c962`](https://github.com/nodejs/node/commit/de4ca2c962)] - **stream**: fold desired-size check into WHATWG backpressure update (Matteo Collina) [#64451](https://github.com/nodejs/node/pull/64451) +- \[[`2a3babb8d7`](https://github.com/nodejs/node/commit/2a3babb8d7)] - **stream**: validate writer options signal (Trivikram Kamat) [#64385](https://github.com/nodejs/node/pull/64385) +- \[[`0ab8f269b0`](https://github.com/nodejs/node/commit/0ab8f269b0)] - **stream**: reject push iterator.throw() with error (Trivikram Kamat) [#64380](https://github.com/nodejs/node/pull/64380) +- \[[`262e6545d1`](https://github.com/nodejs/node/commit/262e6545d1)] - **stream**: simplify nested `PromisePrototypeThen`s (Antoine du Hamel) [#64470](https://github.com/nodejs/node/pull/64470) +- \[[`0ddfc6af91`](https://github.com/nodejs/node/commit/0ddfc6af91)] - **stream**: use the ring buffer for WHATWG stream request queues (Matteo Collina) [#64431](https://github.com/nodejs/node/pull/64431) +- \[[`a5e7d89f9e`](https://github.com/nodejs/node/commit/a5e7d89f9e)] - **stream**: validate writevSync chunks before queuing (Trivikram Kamat) [#64300](https://github.com/nodejs/node/pull/64300) +- \[[`8044f895bf`](https://github.com/nodejs/node/commit/8044f895bf)] - **stream**: speed up reads and iteration over default WHATWG streams (Matteo Collina) [#64320](https://github.com/nodejs/node/pull/64320) +- \[[`d4dfb66bdf`](https://github.com/nodejs/node/commit/d4dfb66bdf)] - **stream**: copy SAB-backed chunks in iter consumers (Trivikram Kamat) [#64382](https://github.com/nodejs/node/pull/64382) +- \[[`9c9ade337f`](https://github.com/nodejs/node/commit/9c9ade337f)] - **stream**: reject nested async streamables in from() (Trivikram Kamat) [#64352](https://github.com/nodejs/node/pull/64352) +- \[[`271c7454f4`](https://github.com/nodejs/node/commit/271c7454f4)] - **stream**: avoid draining merged iter sources (Trivikram Kamat) [#64293](https://github.com/nodejs/node/pull/64293) +- \[[`cbb2568a04`](https://github.com/nodejs/node/commit/cbb2568a04)] - **stream**: use ring buffer for WHATWG stream queues (Yagiz Nizipli) [#64312](https://github.com/nodejs/node/pull/64312) +- \[[`67688cc651`](https://github.com/nodejs/node/commit/67688cc651)] - **stream**: hoist repeated loads in readable paths (Yagiz Nizipli) [#64312](https://github.com/nodejs/node/pull/64312) +- \[[`3f8b446a67`](https://github.com/nodejs/node/commit/3f8b446a67)] - **stream**: prefer sync iterator in fromSync (Trivikram Kamat) [#64294](https://github.com/nodejs/node/pull/64294) +- \[[`3043b2a68a`](https://github.com/nodejs/node/commit/3043b2a68a)] - **stream**: speed up async iteration over WHATWG byte streams (Antoine du Hamel) [#64291](https://github.com/nodejs/node/pull/64291) +- \[[`870273ccde`](https://github.com/nodejs/node/commit/870273ccde)] - **stream**: reject iter consumers on abort (Trivikram Kamat) [#64066](https://github.com/nodejs/node/pull/64066) +- \[[`8a4a997f3e`](https://github.com/nodejs/node/commit/8a4a997f3e)] - **stream**: fix merge abort for pending sources (Trivikram Kamat) [#64013](https://github.com/nodejs/node/pull/64013) +- \[[`ac5e5d5dec`](https://github.com/nodejs/node/commit/ac5e5d5dec)] - **stream**: refactor unnecessary optional chaining away (Antoine du Hamel) [#64253](https://github.com/nodejs/node/pull/64253) +- \[[`cb298cfb15`](https://github.com/nodejs/node/commit/cb298cfb15)] - **stream**: normalize Broadcast.from() byte inputs (Trivikram Kamat) [#64082](https://github.com/nodejs/node/pull/64082) +- \[[`bbbb4aadef`](https://github.com/nodejs/node/commit/bbbb4aadef)] - **stream**: observe abort while awaiting pipeTo source (Trivikram Kamat) [#64015](https://github.com/nodejs/node/pull/64015) +- \[[`4387ad412f`](https://github.com/nodejs/node/commit/4387ad412f)] - **stream**: respect iter consumer abort signals (Trivikram Kamat) [#63997](https://github.com/nodejs/node/pull/63997) +- \[[`4ba1fa0062`](https://github.com/nodejs/node/commit/4ba1fa0062)] - **stream**: handle falsy push writer fail reasons (Trivikram Kamat) [#63569](https://github.com/nodejs/node/pull/63569) +- \[[`3b8c30c096`](https://github.com/nodejs/node/commit/3b8c30c096)] - **stream**: handle setEncoding after buffered data (Matteo Collina) [#63973](https://github.com/nodejs/node/pull/63973) +- \[[`97ef13c84e`](https://github.com/nodejs/node/commit/97ef13c84e)] - **stream**: keep overlapping broadcast reads pending (Trivikram Kamat) [#63500](https://github.com/nodejs/node/pull/63500) +- \[[`a46ddad9fa`](https://github.com/nodejs/node/commit/a46ddad9fa)] - **stream**: refine the stream/iter backpressure (James M Snell) [#63697](https://github.com/nodejs/node/pull/63697) +- \[[`557bf99245`](https://github.com/nodejs/node/commit/557bf99245)] - **stream**: remove transform-writer handling in pipeTo (Trivikram Kamat) [#63684](https://github.com/nodejs/node/pull/63684) +- \[[`24b7831a1a`](https://github.com/nodejs/node/commit/24b7831a1a)] - **stream**: fix pipeToSync byte accounting (Trivikram Kamat) [#63564](https://github.com/nodejs/node/pull/63564) +- \[[`3b5f1b56bc`](https://github.com/nodejs/node/commit/3b5f1b56bc)] - **stream**: reject pull() reads on abort (Trivikram Kamat) [#63498](https://github.com/nodejs/node/pull/63498) +- \[[`e48e287633`](https://github.com/nodejs/node/commit/e48e287633)] - **stream**: fast-path stateless transform flush results (Trivikram Kamat) [#63605](https://github.com/nodejs/node/pull/63605) +- \[[`f0ee316f45`](https://github.com/nodejs/node/commit/f0ee316f45)] - **stream**: handle sync writev completion in pipeTo (Trivikram Kamat) [#63561](https://github.com/nodejs/node/pull/63561) +- \[[`fbed90b2fb`](https://github.com/nodejs/node/commit/fbed90b2fb)] - **stream**: settle pending broadcast reads on return (Trivikram Kamat) [#63603](https://github.com/nodejs/node/pull/63603) +- \[[`568dcc250f`](https://github.com/nodejs/node/commit/568dcc250f)] - **stream**: serialize concurrent share consumer reads (Trivikram Kamat) [#63478](https://github.com/nodejs/node/pull/63478) +- \[[`5e2b4c4ade`](https://github.com/nodejs/node/commit/5e2b4c4ade)] - **stream**: fix lint error (Antoine du Hamel) [#63598](https://github.com/nodejs/node/pull/63598) +- \[[`74bd0cd35a`](https://github.com/nodejs/node/commit/74bd0cd35a)] - **stream**: reject pending reads on iterator throw (Trivikram Kamat) [#63555](https://github.com/nodejs/node/pull/63555) +- \[[`45780df841`](https://github.com/nodejs/node/commit/45780df841)] - **stream**: wait for push writer end fallback to drain (Trivikram Kamat) [#63503](https://github.com/nodejs/node/pull/63503) +- \[[`217b495e0a`](https://github.com/nodejs/node/commit/217b495e0a)] - **stream**: flush each fused stateless transform (Trivikram Kamat) [#63468](https://github.com/nodejs/node/pull/63468) +- \[[`2e8685592e`](https://github.com/nodejs/node/commit/2e8685592e)] - **stream**: avoid duplicate writes in toWritable (Trivikram Kamat) [#63360](https://github.com/nodejs/node/pull/63360) +- \[[`88a3392a78`](https://github.com/nodejs/node/commit/88a3392a78)] - **stream**: propagate abort reason in share and broadcast (Trivikram Kamat) [#63358](https://github.com/nodejs/node/pull/63358) +- \[[`fce3df74e9`](https://github.com/nodejs/node/commit/fce3df74e9)] - **stream**: disallow writing string chunk with 'buffer' encoding (René) [#63062](https://github.com/nodejs/node/pull/63062) +- \[[`5658c631fa`](https://github.com/nodejs/node/commit/5658c631fa)] - **stream**: align `Readable.toWeb` termination with eos (ikeyan) [#62394](https://github.com/nodejs/node/pull/62394) +- \[[`02a51a746b`](https://github.com/nodejs/node/commit/02a51a746b)] - **stream**: add sync iterable fast path to pipeTo (Trivikram Kamat) [#63318](https://github.com/nodejs/node/pull/63318) +- \[[`4c9f3edb64`](https://github.com/nodejs/node/commit/4c9f3edb64)] - **stream**: fix merge handling for object-like sources (Trivikram Kamat) [#63356](https://github.com/nodejs/node/pull/63356) +- \[[`c50d8e49cc`](https://github.com/nodejs/node/commit/c50d8e49cc)] - **stream**: limit iter from sync iterable batches (Trivikram Kamat) [#63324](https://github.com/nodejs/node/pull/63324) +- \[[`1d7c86d577`](https://github.com/nodejs/node/commit/1d7c86d577)] - **stream**: cache minimum cursor count in broadcast (Trivikram Kamat) [#63322](https://github.com/nodejs/node/pull/63322) +- \[[`ec2666edbe`](https://github.com/nodejs/node/commit/ec2666edbe)] - **stream**: avoid retrying accepted pipeTo writes (Trivikram Kamat) [#63297](https://github.com/nodejs/node/pull/63297) +- \[[`f63143fd83`](https://github.com/nodejs/node/commit/f63143fd83)] - **stream**: validate broadcast writer writev chunks (Trivikram Kamat) [#63300](https://github.com/nodejs/node/pull/63300) +- \[[`944470b08a`](https://github.com/nodejs/node/commit/944470b08a)] - **stream**: uncork fromWritable writev on chunk error (Trivikram Kamat) [#63295](https://github.com/nodejs/node/pull/63295) +- \[[`ae79f2b67a`](https://github.com/nodejs/node/commit/ae79f2b67a)] - **stream**: validate fromWritable() options before cache (Trivikram Kamat) [#63278](https://github.com/nodejs/node/pull/63278) +- \[[`c98cc67f33`](https://github.com/nodejs/node/commit/c98cc67f33)] - **stream**: optimize single-slot push queue drain (Trivikram Kamat) [#63274](https://github.com/nodejs/node/pull/63274) +- \[[`9a45ff5d8f`](https://github.com/nodejs/node/commit/9a45ff5d8f)] - **stream**: preserve toReadableSync batch after backpressure (Trivikram Kamat) [#63276](https://github.com/nodejs/node/pull/63276) +- \[[`eb72fe94fc`](https://github.com/nodejs/node/commit/eb72fe94fc)] - **stream**: cache minimum cursor count in share (Trivikram Kamat) [#63262](https://github.com/nodejs/node/pull/63262) +- \[[`b57b51eeed`](https://github.com/nodejs/node/commit/b57b51eeed)] - **stream**: minor stream/iter implementation edits (René) [#63132](https://github.com/nodejs/node/pull/63132) +- \[[`274b3a2ea1`](https://github.com/nodejs/node/commit/274b3a2ea1)] - **stream**: remove redundant method check from iter.pipeToSync (René) [#63099](https://github.com/nodejs/node/pull/63099) +- \[[`baf98faa06`](https://github.com/nodejs/node/commit/baf98faa06)] - **stream**: add stream/iter to classic stream adapters (James M Snell) [#62469](https://github.com/nodejs/node/pull/62469) +- \[[`28dc85d8d2`](https://github.com/nodejs/node/commit/28dc85d8d2)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066) +- \[[`125c19da43`](https://github.com/nodejs/node/commit/125c19da43)] - **stream, quic**: update iterable streams backpressure (James M Snell) [#64464](https://github.com/nodejs/node/pull/64464) +- \[[`11d1bd3ba7`](https://github.com/nodejs/node/commit/11d1bd3ba7)] - **test**: split test-embedding.js and run tests in parallel (Joyee Cheung) [#61571](https://github.com/nodejs/node/pull/61571) +- \[[`e59346b704`](https://github.com/nodejs/node/commit/e59346b704)] - **test**: ensure assertions are reached on all tests (Antoine du Hamel) [#64716](https://github.com/nodejs/node/pull/64716) +- \[[`42a967d7ed`](https://github.com/nodejs/node/commit/42a967d7ed)] - **test**: unflake debugger and REPL tests (Matteo Collina) [#64718](https://github.com/nodejs/node/pull/64718) +- \[[`d80a45fdc4`](https://github.com/nodejs/node/commit/d80a45fdc4)] - **test**: update WPT for url to 4832db4761 (Node.js GitHub Bot) [#64829](https://github.com/nodejs/node/pull/64829) +- \[[`7264efb21b`](https://github.com/nodejs/node/commit/7264efb21b)] - **test**: update WPT for url to b63305b743 (Node.js GitHub Bot) [#64790](https://github.com/nodejs/node/pull/64790) +- \[[`539f5dc8f9`](https://github.com/nodejs/node/commit/539f5dc8f9)] - **test**: cover worker throwing primitive values (varshitha) [#64365](https://github.com/nodejs/node/pull/64365) +- \[[`087d9e8dd0`](https://github.com/nodejs/node/commit/087d9e8dd0)] - **test**: mark test-repl-user-error-handler as flaky (Aviv Keller) [#64612](https://github.com/nodejs/node/pull/64612) +- \[[`dd1e7139a5`](https://github.com/nodejs/node/commit/dd1e7139a5)] - **test**: update quic tests for stream/iter update (James M Snell) [#64464](https://github.com/nodejs/node/pull/64464) +- \[[`eee0e84537`](https://github.com/nodejs/node/commit/eee0e84537)] - **test**: fix flaky http2 socket proxy test (Tim Perry) [#64673](https://github.com/nodejs/node/pull/64673) +- \[[`a5ce44dd75`](https://github.com/nodejs/node/commit/a5ce44dd75)] - **test**: apply correction to comment (Rich Trott) [#64524](https://github.com/nodejs/node/pull/64524) +- \[[`da8508c5a0`](https://github.com/nodejs/node/commit/da8508c5a0)] - **test**: keep finalization before-exit ref alive (Tim Perry) [#64521](https://github.com/nodejs/node/pull/64521) +- \[[`14b710c415`](https://github.com/nodejs/node/commit/14b710c415)] - **test**: copyedit `test-tls-psk-alpn-callback-exception-handling` (Antoine du Hamel) [#63485](https://github.com/nodejs/node/pull/63485) +- \[[`99b7382c6a`](https://github.com/nodejs/node/commit/99b7382c6a)] - **test**: fix stale async-context-frame status entries (Kirill Saied) [#64141](https://github.com/nodejs/node/pull/64141) +- \[[`6da6ca730d`](https://github.com/nodejs/node/commit/6da6ca730d)] - **test**: update WPT for urlpattern to 5847ee5cfa (Node.js GitHub Bot) [#64436](https://github.com/nodejs/node/pull/64436) +- \[[`73bf0f07f1`](https://github.com/nodejs/node/commit/73bf0f07f1)] - **test**: update WPT for WebCryptoAPI to ec2fee39a4 (Node.js GitHub Bot) [#64435](https://github.com/nodejs/node/pull/64435) +- \[[`9a7ec52e6f`](https://github.com/nodejs/node/commit/9a7ec52e6f)] - **test**: fix flaky http2 maxOriginSetSize test (Tim Perry) [#64407](https://github.com/nodejs/node/pull/64407) +- \[[`59af7e0ed9`](https://github.com/nodejs/node/commit/59af7e0ed9)] - **test**: fix 2nd flaky blob test case (Tim Perry) [#64391](https://github.com/nodejs/node/pull/64391) +- \[[`7fd5f66376`](https://github.com/nodejs/node/commit/7fd5f66376)] - **test**: fix flaky watch + cwd + argv test-runner test (Tim Perry) [#64372](https://github.com/nodejs/node/pull/64372) +- \[[`d5b47d2fae`](https://github.com/nodejs/node/commit/d5b47d2fae)] - **test**: normalize Windows crash in debugger test normalization (Joyee Cheung) [#64332](https://github.com/nodejs/node/pull/64332) +- \[[`a8ae44096d`](https://github.com/nodejs/node/commit/a8ae44096d)] - **test**: unmark flaky http2-large-file for Win (Kirill Saied) [#64255](https://github.com/nodejs/node/pull/64255) +- \[[`8461d18597`](https://github.com/nodejs/node/commit/8461d18597)] - **test**: increase timeout in consumed-timeout test (Trivikram Kamat) [#64204](https://github.com/nodejs/node/pull/64204) +- \[[`af52410d70`](https://github.com/nodejs/node/commit/af52410d70)] - **test**: handle null stdio streams in spawnSyncAndAssert helper (Joyee Cheung) [#64273](https://github.com/nodejs/node/pull/64273) +- \[[`0ea079be7b`](https://github.com/nodejs/node/commit/0ea079be7b)] - **test**: remove impact of tier-up changes in worker stack size test (Joyee Cheung) [#64271](https://github.com/nodejs/node/pull/64271) +- \[[`1bde0ef053`](https://github.com/nodejs/node/commit/1bde0ef053)] - **test**: update WPT for WebCryptoAPI to 0c413fb56b (Node.js GitHub Bot) [#63647](https://github.com/nodejs/node/pull/63647) +- \[[`f32b412867`](https://github.com/nodejs/node/commit/f32b412867)] - **test**: get rid of unnecessary `AbortController` instanciations (Antoine du Hamel) [#63489](https://github.com/nodejs/node/pull/63489) +- \[[`8cbd90161b`](https://github.com/nodejs/node/commit/8cbd90161b)] - **test**: update WPT for wasm/jsapi to 288c467d35 (Node.js GitHub Bot) [#63136](https://github.com/nodejs/node/pull/63136) +- \[[`f200aaccf0`](https://github.com/nodejs/node/commit/f200aaccf0)] - **test**: fixup quic tests (James M Snell) [#63267](https://github.com/nodejs/node/pull/63267) +- \[[`14c547351b`](https://github.com/nodejs/node/commit/14c547351b)] - **(SEMVER-MINOR)** **test**: add tests for experimental stream/iter implementation (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066) +- \[[`2cc54e1793`](https://github.com/nodejs/node/commit/2cc54e1793)] - **test**: skip quic tests that IBM i does not support (SRAVANI GUNDEPALLI) [#60160](https://github.com/nodejs/node/pull/60160) +- \[[`8ec80b311b`](https://github.com/nodejs/node/commit/8ec80b311b)] - **test\_runner**: wait for filtered suite build (semimikoh) [#64208](https://github.com/nodejs/node/pull/64208) +- \[[`9ed7146851`](https://github.com/nodejs/node/commit/9ed7146851)] - **test\_runner**: convert to uint during deserialization (Aviv Keller) [#64706](https://github.com/nodejs/node/pull/64706) +- \[[`d31c168740`](https://github.com/nodejs/node/commit/d31c168740)] - **(SEMVER-MINOR)** **test\_runner**: add context.log() and test:log event (Moshe Atlow) [#64389](https://github.com/nodejs/node/pull/64389) +- \[[`add1edbc42`](https://github.com/nodejs/node/commit/add1edbc42)] - **(SEMVER-MINOR)** **test\_runner**: report `entryFile` in `TestStream` events (Moshe Atlow) [#64309](https://github.com/nodejs/node/pull/64309) +- \[[`8d97dee696`](https://github.com/nodejs/node/commit/8d97dee696)] - **tests**: start adding quic test server utilities (James M Snell) [#59946](https://github.com/nodejs/node/pull/59946) +- \[[`e5278b7f7d`](https://github.com/nodejs/node/commit/e5278b7f7d)] - **timers**: do not retain a reference to the async store after firing (Matteo Collina) [#53443](https://github.com/nodejs/node/pull/53443) +- \[[`e277bc4608`](https://github.com/nodejs/node/commit/e277bc4608)] - **tls**: fix SNICallback certificate selection (Matteo Collina) [#64700](https://github.com/nodejs/node/pull/64700) +- \[[`b9104decc3`](https://github.com/nodejs/node/commit/b9104decc3)] - **tls**: match IPv6 hosts against IP-Address SANs (Pascal Garber) [#64145](https://github.com/nodejs/node/pull/64145) +- \[[`b50139e89f`](https://github.com/nodejs/node/commit/b50139e89f)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#64928](https://github.com/nodejs/node/pull/64928) +- \[[`5460c464a0`](https://github.com/nodejs/node/commit/5460c464a0)] - **tools**: bump brace-expansion from 5.0.7 to 5.0.9 in /tools/eslint (dependabot\[bot]) [#64904](https://github.com/nodejs/node/pull/64904) +- \[[`f8a13811cd`](https://github.com/nodejs/node/commit/f8a13811cd)] - **tools**: use 'readonly' for EventSource global (Honey Tyagi) [#64787](https://github.com/nodejs/node/pull/64787) +- \[[`6e10012c0d`](https://github.com/nodejs/node/commit/6e10012c0d)] - **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) +- \[[`d66b7588ac`](https://github.com/nodejs/node/commit/d66b7588ac)] - **tools**: reference 'git node land' in PR-URL: error message in merge.sh (Stewart X Addison) [#64495](https://github.com/nodejs/node/pull/64495) +- \[[`5d90e48175`](https://github.com/nodejs/node/commit/5d90e48175)] - **tools**: disable zipping tarballs on GHA (Antoine du Hamel) [#64423](https://github.com/nodejs/node/pull/64423) +- \[[`8a909f4540`](https://github.com/nodejs/node/commit/8a909f4540)] - **tools**: fix redundant conditions in v8.gyp for riscv64 and loong64 (Jamie Magee) [#62608](https://github.com/nodejs/node/pull/62608) +- \[[`9e171710fa`](https://github.com/nodejs/node/commit/9e171710fa)] - **tools**: remove `envinfo` from our workflows (Antoine du Hamel) [#64259](https://github.com/nodejs/node/pull/64259) +- \[[`3fb722054f`](https://github.com/nodejs/node/commit/3fb722054f)] - **tools**: avoid test/fixtures/wpt/README.md conflicts (Filip Skokan) [#63938](https://github.com/nodejs/node/pull/63938) +- \[[`5755712920`](https://github.com/nodejs/node/commit/5755712920)] - **tools**: add lint rule for aborted AbortController (Trivikram Kamat) [#63541](https://github.com/nodejs/node/pull/63541) +- \[[`e88d5b78bc`](https://github.com/nodejs/node/commit/e88d5b78bc)] - **typings**: add heap\_utils internalBinding types (Donghoon Kang) [#64816](https://github.com/nodejs/node/pull/64816) +- \[[`ae93bc8ad1`](https://github.com/nodejs/node/commit/ae93bc8ad1)] - **typings**: remove isDataView from types binding (Archkon) [#64738](https://github.com/nodejs/node/pull/64738) +- \[[`c00bd1427d`](https://github.com/nodejs/node/commit/c00bd1427d)] - **url**: create URLPattern result properties in WebIDL order (Archkon) [#64733](https://github.com/nodejs/node/pull/64733) +- \[[`8a07969e28`](https://github.com/nodejs/node/commit/8a07969e28)] - **util**: make MIMEParams accessors case-insensitive (Daijiro Wachi) [#64123](https://github.com/nodejs/node/pull/64123) +- \[[`bf86741167`](https://github.com/nodejs/node/commit/bf86741167)] - **v8**: report minor mark-sweep in GCProfiler (Archkon) [#64688](https://github.com/nodejs/node/pull/64688) +- \[[`d937c8c6cd`](https://github.com/nodejs/node/commit/d937c8c6cd)] - **(SEMVER-MINOR)** **wasm**: enable JSPI (Guy Bedford) [#59941](https://github.com/nodejs/node/pull/59941) +- \[[`9016ddabb9`](https://github.com/nodejs/node/commit/9016ddabb9)] - **wasm**: register missing SetURL function (Archkon) [#64679](https://github.com/nodejs/node/pull/64679) +- \[[`e599b9428b`](https://github.com/nodejs/node/commit/e599b9428b)] - **zlib**: validate pledgedSrcSize as a safe integer (Archkon) [#64604](https://github.com/nodejs/node/pull/64604) +- \[[`1f1adc89da`](https://github.com/nodejs/node/commit/1f1adc89da)] - **zlib**: accept ArrayBuffer dictionary in Zstd (Ryuhei Shima) [#64599](https://github.com/nodejs/node/pull/64599) +- \[[`0ee91ead8b`](https://github.com/nodejs/node/commit/0ee91ead8b)] - **zlib**: reject truncated zstd input (Archkon) [#64593](https://github.com/nodejs/node/pull/64593) + +Windows 64-bit Installer: https://nodejs.org/dist/v24.20.0/node-v24.20.0-x64.msi \ +Windows ARM 64-bit Installer: https://nodejs.org/dist/v24.20.0/node-v24.20.0-arm64.msi \ +Windows 64-bit Binary: https://nodejs.org/dist/v24.20.0/win-x64/node.exe \ +Windows ARM 64-bit Binary: https://nodejs.org/dist/v24.20.0/win-arm64/node.exe \ +macOS 64-bit Installer: https://nodejs.org/dist/v24.20.0/node-v24.20.0.pkg \ +macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-darwin-arm64.tar.gz \ +macOS Intel 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-darwin-x64.tar.gz \ +Linux 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-linux-x64.tar.xz \ +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-linux-ppc64le.tar.xz \ +Linux s390x 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-linux-s390x.tar.xz \ +AIX 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-aix-ppc64.tar.gz \ +ARMv8 64-bit Binary: https://nodejs.org/dist/v24.20.0/node-v24.20.0-linux-arm64.tar.xz \ +Source Code: https://nodejs.org/dist/v24.20.0/node-v24.20.0.tar.gz \ +Other release files: https://nodejs.org/dist/v24.20.0/ \ +Documentation: https://nodejs.org/docs/v24.20.0/api/ + +### SHASUMS + +``` +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +14b5bd7ad40ab5f4715fb4e2f964858d820d9425fe291d3d65f98926e6b89c1e node-v24.20.0-aix-ppc64.tar.gz +15130c76b7a3a5f58233a3c383944ebd0da924d2fc80e50916769a4b7b9af6f8 node-v24.20.0-arm64.msi +40e5607e5ecb3db9192723776da2d75d966260fc74a7a9e731c1bd67dda96bc8 node-v24.20.0-darwin-arm64.tar.gz +b7bf7707070b950ba1ec5f1af3bb6de0f2b1962c5033973d94068ab021ef3014 node-v24.20.0-darwin-arm64.tar.xz +9e5b2644cf107befb6aefca676b96d3296bc10138096f022ed378d6233ed81f4 node-v24.20.0-darwin-x64.tar.gz +26fc30891004603d094eed11de5efcd03bbd2efbc35c177fc72648d5d7a7701b node-v24.20.0-darwin-x64.tar.xz +7b2141e77e66ab23ead6b200c546afc5837136e3075d8a3ac5a67e540dcc59c1 node-v24.20.0-headers.tar.gz +cb5420ff135b64fdcb3d050223146ecc3e257c413abe915604d48e589498ae47 node-v24.20.0-headers.tar.xz +3515603e2487879a39bc75716f1a2affd027500c64ba50e845cf72cb33219013 node-v24.20.0-linux-arm64.tar.gz +5f4ddab610c1ab2016b3c227cebdbf6d9495161487e4739c7b90090595f465f7 node-v24.20.0-linux-arm64.tar.xz +a734b36c8d1d16ce455c0eb9c329b07dd121c2c8554355064a9861bc96c3adcc node-v24.20.0-linux-ppc64le.tar.gz +341307dcee20d88332307008f2a480450c54f42d5149e7c4c8a18d937e37b5c1 node-v24.20.0-linux-ppc64le.tar.xz +d8c224b46ef01f078a523d9b7db79282306fae281e986a15a2dbffe947c5301e node-v24.20.0-linux-s390x.tar.gz +ca381121cb5a8d38c2954b6699cea09a83fba1b03141a71a8348f08df02de245 node-v24.20.0-linux-s390x.tar.xz +d6e6d1bbb9ad4acb16d580b89be8a9c9a7e490926e93bd3c30a20d46e152bf8a node-v24.20.0-linux-x64-musl.tar.gz +3b69570a286102090f592447cdfd53abbaa928f20f895cc1df2757b1281dc52a node-v24.20.0-linux-x64-musl.tar.xz +855d581f8a4eb1a8117e3426de25fe02770592febcfb31369aee1ffbfee9e8ec node-v24.20.0-linux-x64.tar.gz +2f2c0da162318f0de47665410c7c8c2ed3d36c8f3105de4bbc61176c70a7cbf2 node-v24.20.0-linux-x64.tar.xz +15097cd9371fc1f0ed49ea8b36d753031a232ae1cf5927c9df358a0e692ae1b7 node-v24.20.0-win-arm64.7z +31c6799744de8a54601643098040c68c3697e56c94e407d61d0e5fa5f34191d7 node-v24.20.0-win-arm64.zip +6996eedc271e26371c6b2a284461b01b97fcec2d9f770d003b0408657cb3496e node-v24.20.0-win-x64.7z +6cac9ffbca8f6a47091e4b5c772e0606049c3871cb67d900c0cedde630e545ba node-v24.20.0-win-x64.zip +28b69132c35ccc033bf8f2a67cd10c9d75ef5822593363309da448f2afff2d8a node-v24.20.0-x64.msi +8b7ee3d72b265866f7d5bbb705c898720613fde3703ebb4c1c0a863aedef613c node-v24.20.0.pkg +987113866ab9018998f09f74072afe7136f3da8b934e35d89531e1e49890062f node-v24.20.0.tar.gz +2732fc3f588dd335cd6779c06864f7cd424bb1b5ff9a1743059a66c54f9ca4a1 node-v24.20.0.tar.xz +92949e7764e56e305cb84ea3d575912e822c79e85599362e8d408b04b9ffd326 win-arm64/node.exe +88dea6ff6656445ee22ed8843816d8d90d707c3d05228bd0a3ad56ea30e8a395 win-arm64/node.lib +d5e5a9043145392e4db85567d34abf7c070126ad35d2a7ee40399af2a5482f04 win-arm64/node_pdb.7z +07725b0c16bd32876f44a0315e251aafa84568b0b1d98c9b76991873174e2637 win-arm64/node_pdb.zip +5c976096e04e5c2c1f091938926234cc9fbebfe9787ddd149351b3b0ecc707b5 win-x64/node.exe +63ec831bbf164d1b23197d6fac1944dfb146534e332889ca0755d250e8dedff9 win-x64/node.lib +491cc4a1487a8b2e32dd469a1d5fd59296bd96ae009fc426309354f4aaa5d396 win-x64/node_pdb.7z +27a5ed0f346bb2ca58e6429a2f0082016433126e80c646b0def96cb547422ea1 win-x64/node_pdb.zip + +-----BEGIN PGP SIGNATURE----- + +iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCao73YAAKCRAgsaOQsWjT +VgY5AP9hgzGRThBJscP/dA2MkF0KwXP7K989SLyPFpGMqtjdCwEA+PqpfxC5m4Ul +IG1x2GxuiSI9aeLxQQ5KiojtpyQalw4= +=byQt +-----END PGP SIGNATURE----- +``` diff --git a/apps/site/pages/en/blog/release/v26.8.0.md b/apps/site/pages/en/blog/release/v26.8.0.md new file mode 100644 index 0000000000000..a44ecdf5e99a7 --- /dev/null +++ b/apps/site/pages/en/blog/release/v26.8.0.md @@ -0,0 +1,436 @@ +--- +date: '2026-08-26T14:29:48.258Z' +category: release +title: Node.js 26.8.0 (Current) +layout: blog-post +author: Antoine du Hamel +--- + +## 2026-08-26, Version 26.8.0 (Current), @aduh95 + +### Notable Changes + +- \[[`74234ee30e`](https://github.com/nodejs/node/commit/74234ee30e)] - **(SEMVER-MINOR)** **benchmark**: add --analyze mode to compare.js (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`4232997fa2`](https://github.com/nodejs/node/commit/4232997fa2)] - **crypto**: update root certificates to NSS 3.126 (Node.js GitHub Bot) [#65495](https://github.com/nodejs/node/pull/65495) +- \[[`f0531f1c87`](https://github.com/nodejs/node/commit/f0531f1c87)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#63411](https://github.com/nodejs/node/pull/63411) +- \[[`3f4b80ebb5`](https://github.com/nodejs/node/commit/3f4b80ebb5)] - **diagnostics\_channel**: mark TracingChannel as stable (Abdelrahman Awad) [#64525](https://github.com/nodejs/node/pull/64525) +- \[[`753033c110`](https://github.com/nodejs/node/commit/753033c110)] - **(SEMVER-MINOR)** **lib,src**: improve histogram implementation (James M Snell) [#65024](https://github.com/nodejs/node/pull/65024) +- \[[`3d7d277493`](https://github.com/nodejs/node/commit/3d7d277493)] - **(SEMVER-MINOR)** **net**: improve performance of net.BlockList (James M Snell) [#64974](https://github.com/nodejs/node/pull/64974) +- \[[`9e8e9080fd`](https://github.com/nodejs/node/commit/9e8e9080fd)] - **(SEMVER-MINOR)** **perf\_hooks**: add statistical hypothesis testing to histogram (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`c18b0aa54e`](https://github.com/nodejs/node/commit/c18b0aa54e)] - **repl**: add basic syntax highlighting (Aviv Keller) [#64591](https://github.com/nodejs/node/pull/64591) +- \[[`58ea88e1d3`](https://github.com/nodejs/node/commit/58ea88e1d3)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.close() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`7c61b08aed`](https://github.com/nodejs/node/commit/7c61b08aed)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype\[Symbol.dispose]\() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`4299cd5897`](https://github.com/nodejs/node/commit/4299cd5897)] - **(SEMVER-MINOR)** **util**: add non-throwing MIMEType.parse (James M Snell) [#64965](https://github.com/nodejs/node/pull/64965) +- \[[`df48191061`](https://github.com/nodejs/node/commit/df48191061)] - **(SEMVER-MINOR)** **zlib**: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) [#64339](https://github.com/nodejs/node/pull/64339) + +### Commits + +- \[[`162257b403`](https://github.com/nodejs/node/commit/162257b403)] - **assert**: improve documentation wording (Kamal Rawal) [#64953](https://github.com/nodejs/node/pull/64953) +- \[[`74234ee30e`](https://github.com/nodejs/node/commit/74234ee30e)] - **(SEMVER-MINOR)** **benchmark**: add --analyze mode to compare.js (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`2cb96dd462`](https://github.com/nodejs/node/commit/2cb96dd462)] - **benchmark**: add test-only and mock timers cases (Luan Muniz) [#64097](https://github.com/nodejs/node/pull/64097) +- \[[`562168f93f`](https://github.com/nodejs/node/commit/562168f93f)] - **benchmark**: apply `highWaterMark` in webstreams `pipe-to` (Matteo Collina) [#65138](https://github.com/nodejs/node/pull/65138) +- \[[`fbec4eb386`](https://github.com/nodejs/node/commit/fbec4eb386)] - **benchmark**: complete the sqlite is-transaction fix (Edy Silva) [#65218](https://github.com/nodejs/node/pull/65218) +- \[[`d8acfc45f1`](https://github.com/nodejs/node/commit/d8acfc45f1)] - **benchmark**: add test runner hooks and options (Luan Muniz) [#63754](https://github.com/nodejs/node/pull/63754) +- \[[`13e7d54f67`](https://github.com/nodejs/node/commit/13e7d54f67)] - **buffer**: prevent string write offset overflow (Matteo Collina) [#65043](https://github.com/nodejs/node/pull/65043) +- \[[`615273deac`](https://github.com/nodejs/node/commit/615273deac)] - **buffer**: support aligned allocations (Robert Nagy) [#65003](https://github.com/nodejs/node/pull/65003) +- \[[`bc6b630e21`](https://github.com/nodejs/node/commit/bc6b630e21)] - **buffer**: treat detached ArrayBuffers as empty (Archkon) [#64504](https://github.com/nodejs/node/pull/64504) +- \[[`ddf9f9d265`](https://github.com/nodejs/node/commit/ddf9f9d265)] - **build**: target Power 9 and z14 (Richard Lau) [#65439](https://github.com/nodejs/node/pull/65439) +- \[[`fda8ee894e`](https://github.com/nodejs/node/commit/fda8ee894e)] - **build**: use build-ci for benchmark merge-commit rebuild (Yagiz Nizipli) [#65362](https://github.com/nodejs/node/pull/65362) +- \[[`03692786ef`](https://github.com/nodejs/node/commit/03692786ef)] - **build**: add simdutf dir to include path in GN build (Shelley Vohr) [#65382](https://github.com/nodejs/node/pull/65382) +- \[[`3da555a3ed`](https://github.com/nodejs/node/commit/3da555a3ed)] - **build**: pass target architecture to small-icu genccode (ulofiai) [#65095](https://github.com/nodejs/node/pull/65095) +- \[[`ffe1e7cbea`](https://github.com/nodejs/node/commit/ffe1e7cbea)] - **build**: update binary-upload to use correct tarball name (Stewart X Addison) [#65282](https://github.com/nodejs/node/pull/65282) +- \[[`50174cb94a`](https://github.com/nodejs/node/commit/50174cb94a)] - **build**: deprecate always enabled `--enable-static` (Chengzhong Wu) [#65103](https://github.com/nodejs/node/pull/65103) +- \[[`28f662b424`](https://github.com/nodejs/node/commit/28f662b424)] - **build**: check FIPS option value in node.gyp (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`29a2ecefeb`](https://github.com/nodejs/node/commit/29a2ecefeb)] - **build**: handle malformed OpenSSL macros (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`6deeef1801`](https://github.com/nodejs/node/commit/6deeef1801)] - **build**: enable perfetto updater (Chengzhong Wu) [#64966](https://github.com/nodejs/node/pull/64966) +- \[[`312f0c6a7e`](https://github.com/nodejs/node/commit/312f0c6a7e)] - **build**: add host toolset to perfetto\_sdk (Ryuhei Shima) [#64751](https://github.com/nodejs/node/pull/64751) +- \[[`1a4f5e537b`](https://github.com/nodejs/node/commit/1a4f5e537b)] - **build,win**: add PGO workload scripts (Stefan Stojanovic) [#63696](https://github.com/nodejs/node/pull/63696) +- \[[`21655dccbc`](https://github.com/nodejs/node/commit/21655dccbc)] - **child\_process**: keep SIGWINCH from killing on Win (Kirill Saied) [#64510](https://github.com/nodejs/node/pull/64510) +- \[[`4232997fa2`](https://github.com/nodejs/node/commit/4232997fa2)] - **crypto**: update root certificates to NSS 3.126 (Node.js GitHub Bot) [#65495](https://github.com/nodejs/node/pull/65495) +- \[[`f0531f1c87`](https://github.com/nodejs/node/commit/f0531f1c87)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#63411](https://github.com/nodejs/node/pull/63411) +- \[[`109566a2f7`](https://github.com/nodejs/node/commit/109566a2f7)] - **crypto**: fix missing error checks on ASN1\_STRING\_to\_UTF8() (Nora Dossche) [#65200](https://github.com/nodejs/node/pull/65200) +- \[[`501f81612d`](https://github.com/nodejs/node/commit/501f81612d)] - **crypto**: improve SubtleCrypto.supports() accuracy (Filip Skokan) [#65222](https://github.com/nodejs/node/pull/65222) +- \[[`137ff67fd3`](https://github.com/nodejs/node/commit/137ff67fd3)] - **crypto**: use available BoringSSL APIs (Filip Skokan) [#65423](https://github.com/nodejs/node/pull/65423) +- \[[`0e87576ed4`](https://github.com/nodejs/node/commit/0e87576ed4)] - **crypto**: remove obsolete BoringSSL shims (Filip Skokan) [#65423](https://github.com/nodejs/node/pull/65423) +- \[[`af867ce3e4`](https://github.com/nodejs/node/commit/af867ce3e4)] - **crypto**: add mgf1Hash for RSA-OAEP (Adam Mcgrath) [#65073](https://github.com/nodejs/node/pull/65073) +- \[[`66ee4792bf`](https://github.com/nodejs/node/commit/66ee4792bf)] - **crypto**: disable non-FIPS WebCrypto paths in FIPS mode (Filip Skokan) [#65172](https://github.com/nodejs/node/pull/65172) +- \[[`6a142c03e9`](https://github.com/nodejs/node/commit/6a142c03e9)] - **crypto**: read WebCrypto inputs through primordials (Filip Skokan) [#65115](https://github.com/nodejs/node/pull/65115) +- \[[`92e3110462`](https://github.com/nodejs/node/commit/92e3110462)] - **crypto**: fix disabling FIPS mode (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`d69bed2f49`](https://github.com/nodejs/node/commit/d69bed2f49)] - **debugger**: wait for target startup (Filip Skokan) [#65194](https://github.com/nodejs/node/pull/65194) +- \[[`5c7c0b8b15`](https://github.com/nodejs/node/commit/5c7c0b8b15)] - **deps**: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) [#65316](https://github.com/nodejs/node/pull/65316) +- \[[`4cb6b1335e`](https://github.com/nodejs/node/commit/4cb6b1335e)] - **deps**: update simdjson to 4.6.7 (Node.js GitHub Bot) [#65318](https://github.com/nodejs/node/pull/65318) +- \[[`a39ad67482`](https://github.com/nodejs/node/commit/a39ad67482)] - **deps**: update googletest to 49495eacfdbda3f4b6ba219923fedbb2e3f99376 (Node.js GitHub Bot) [#65317](https://github.com/nodejs/node/pull/65317) +- \[[`46762dad57`](https://github.com/nodejs/node/commit/46762dad57)] - **deps**: cherry-pick libuv/libuv\@e640dc9 (ulofiai) [#65118](https://github.com/nodejs/node/pull/65118) +- \[[`abb7a15a8d`](https://github.com/nodejs/node/commit/abb7a15a8d)] - **deps**: update perfetto to 57.2 (Node.js GitHub Bot) [#65114](https://github.com/nodejs/node/pull/65114) +- \[[`ebd8c6ba52`](https://github.com/nodejs/node/commit/ebd8c6ba52)] - **deps**: float ICU-23262 patch for icu78 (René) [#64678](https://github.com/nodejs/node/pull/64678) +- \[[`f2cc681109`](https://github.com/nodejs/node/commit/f2cc681109)] - **deps**: enable AVX-512 OpenSSL asm with clang (Daniel Lemire) [#65136](https://github.com/nodejs/node/pull/65136) +- \[[`f45dc92913`](https://github.com/nodejs/node/commit/f45dc92913)] - **deps**: update undici to 8.10.0 (Node.js GitHub Bot) [#65155](https://github.com/nodejs/node/pull/65155) +- \[[`4160dfdf81`](https://github.com/nodejs/node/commit/4160dfdf81)] - **deps**: update googletest to d89aac5f0dd4021198d903d39de16f896726de21 (Node.js GitHub Bot) [#65153](https://github.com/nodejs/node/pull/65153) +- \[[`631d3aa37b`](https://github.com/nodejs/node/commit/631d3aa37b)] - **deps**: update libffi to 3.8.0 (Node.js GitHub Bot) [#65154](https://github.com/nodejs/node/pull/65154) +- \[[`788976c626`](https://github.com/nodejs/node/commit/788976c626)] - **dgram**: don't swallow bind errors when callback is provided (armanmikoyan) [#62602](https://github.com/nodejs/node/pull/62602) +- \[[`d286423043`](https://github.com/nodejs/node/commit/d286423043)] - **diagnostics\_channel**: validate before channel activation (Trivikram Kamat) [#65313](https://github.com/nodejs/node/pull/65313) +- \[[`3f4b80ebb5`](https://github.com/nodejs/node/commit/3f4b80ebb5)] - **diagnostics\_channel**: mark TracingChannel as stable (Abdelrahman Awad) [#64525](https://github.com/nodejs/node/pull/64525) +- \[[`152a326f92`](https://github.com/nodejs/node/commit/152a326f92)] - **dns**: validate address type in lookupService (Lazizbek Ergashev) [#64878](https://github.com/nodejs/node/pull/64878) +- \[[`00c71fec93`](https://github.com/nodejs/node/commit/00c71fec93)] - **dns**: validate port range in `setServers()` (René) [#65021](https://github.com/nodejs/node/pull/65021) +- \[[`e9327d1422`](https://github.com/nodejs/node/commit/e9327d1422)] - **dns**: fix crash on setServers with port 0 (Lazizbek Ergashev) [#65009](https://github.com/nodejs/node/pull/65009) +- \[[`9e227ef20d`](https://github.com/nodejs/node/commit/9e227ef20d)] - **doc**: update AHAFS reference link (Taeuk Ha) [#65481](https://github.com/nodejs/node/pull/65481) +- \[[`5fbf6c57af`](https://github.com/nodejs/node/commit/5fbf6c57af)] - **doc**: fix property names in os.networkInterfaces() example (Jihwan) [#65469](https://github.com/nodejs/node/pull/65469) +- \[[`13f16d28d1`](https://github.com/nodejs/node/commit/13f16d28d1)] - **doc**: fix broken links in cli.md (Donghoon Kang) [#65412](https://github.com/nodejs/node/pull/65412) +- \[[`0f36ee3755`](https://github.com/nodejs/node/commit/0f36ee3755)] - **doc**: remove outdated WASI version fallback (이혜미) [#65303](https://github.com/nodejs/node/pull/65303) +- \[[`1ad09f712a`](https://github.com/nodejs/node/commit/1ad09f712a)] - **doc**: fix broken GYP link in n-api.md (Donghoon Kang) [#65413](https://github.com/nodejs/node/pull/65413) +- \[[`24cd694237`](https://github.com/nodejs/node/commit/24cd694237)] - **doc**: document that an empty OPENSSL\_CONF skips config loading (Orgad Shaneh) [#64949](https://github.com/nodejs/node/pull/64949) +- \[[`dae434132e`](https://github.com/nodejs/node/commit/dae434132e)] - **doc**: fix broken TLS security level example (soreavis) [#65391](https://github.com/nodejs/node/pull/65391) +- \[[`96b91dc987`](https://github.com/nodejs/node/commit/96b91dc987)] - **doc**: clarify socket destroyed behavior (Dayun) [#65395](https://github.com/nodejs/node/pull/65395) +- \[[`9d8d27d444`](https://github.com/nodejs/node/commit/9d8d27d444)] - **doc**: update outdated nodejs.org guide links (Donghoon Kang) [#65394](https://github.com/nodejs/node/pull/65394) +- \[[`65f675086e`](https://github.com/nodejs/node/commit/65f675086e)] - **doc**: clarify that ipv4 mapped to ipv6 are classified as ipv6 (Vedant Kulkarni) [#62117](https://github.com/nodejs/node/pull/62117) +- \[[`89aba0c311`](https://github.com/nodejs/node/commit/89aba0c311)] - **doc**: clarify how fs.Dirent file types are determined (soreavis) [#64532](https://github.com/nodejs/node/pull/64532) +- \[[`3ed0492f52`](https://github.com/nodejs/node/commit/3ed0492f52)] - **doc**: update security release prepare command (Rafael Gonzaga) [#64699](https://github.com/nodejs/node/pull/64699) +- \[[`63583c4e75`](https://github.com/nodejs/node/commit/63583c4e75)] - **doc**: clarify copyFile symlink behavior (T) [#62941](https://github.com/nodejs/node/pull/62941) +- \[[`abfc51f757`](https://github.com/nodejs/node/commit/abfc51f757)] - **doc**: document setRawMode write access on Windows (Erik Demaine) [#63856](https://github.com/nodejs/node/pull/63856) +- \[[`4a784cb3e6`](https://github.com/nodejs/node/commit/4a784cb3e6)] - **doc**: document per-architecture fast FFI argument limits (Seongeun Lee) [#65207](https://github.com/nodejs/node/pull/65207) +- \[[`262f966155`](https://github.com/nodejs/node/commit/262f966155)] - **doc**: add missing return types in fs.md (Chaseton Collins) [#65307](https://github.com/nodejs/node/pull/65307) +- \[[`695cd896a7`](https://github.com/nodejs/node/commit/695cd896a7)] - **doc**: add missing return types in buffer.md (Yuya Inoue) [#65308](https://github.com/nodejs/node/pull/65308) +- \[[`676a1228cd`](https://github.com/nodejs/node/commit/676a1228cd)] - **doc**: fix lint clean command (greenhead) [#65274](https://github.com/nodejs/node/pull/65274) +- \[[`9ea318d4e3`](https://github.com/nodejs/node/commit/9ea318d4e3)] - **doc**: fix typo in onboarding.md (서울민트초코) [#65295](https://github.com/nodejs/node/pull/65295) +- \[[`3b6a918ab4`](https://github.com/nodejs/node/commit/3b6a918ab4)] - **doc**: add missing `added:` tags to `fs.lchmod` (Lazizbek Ergashev) [#65283](https://github.com/nodejs/node/pull/65283) +- \[[`a77b1e61df`](https://github.com/nodejs/node/commit/a77b1e61df)] - **doc**: fix SQLite changeset constant descriptions (greenhead) [#65265](https://github.com/nodejs/node/pull/65265) +- \[[`ab50ae60e4`](https://github.com/nodejs/node/commit/ab50ae60e4)] - **doc**: document open pull request limit (Matteo Collina) [#65250](https://github.com/nodejs/node/pull/65250) +- \[[`e2f4ea03a3`](https://github.com/nodejs/node/commit/e2f4ea03a3)] - **doc**: document http2 header constants (Harjoth Khara) [#64548](https://github.com/nodejs/node/pull/64548) +- \[[`5b5509d0d3`](https://github.com/nodejs/node/commit/5b5509d0d3)] - **doc**: create ai-guidelines and include to CONTRIBUTING (Rafael Gonzaga) [#62105](https://github.com/nodejs/node/pull/62105) +- \[[`c63e873073`](https://github.com/nodejs/node/commit/c63e873073)] - **doc**: fix broken fs.BigIntStats link in vfs.md (greenhead) [#65045](https://github.com/nodejs/node/pull/65045) +- \[[`d6059e84c0`](https://github.com/nodejs/node/commit/d6059e84c0)] - **doc**: update synopsis (Augustin Mauroy) [#65171](https://github.com/nodejs/node/pull/65171) +- \[[`43f1dc03e7`](https://github.com/nodejs/node/commit/43f1dc03e7)] - **doc**: document close() error when in a sqlite callback (Trivikram Kamat) [#65090](https://github.com/nodejs/node/pull/65090) +- \[[`8f5f48ad96`](https://github.com/nodejs/node/commit/8f5f48ad96)] - **doc**: fix broken internal links (greenhead) [#64901](https://github.com/nodejs/node/pull/64901) +- \[[`5b64b37739`](https://github.com/nodejs/node/commit/5b64b37739)] - **doc**: report proper return type on urlPattern.test (Brian Muenzenmeyer) [#64831](https://github.com/nodejs/node/pull/64831) +- \[[`9633bb0f29`](https://github.com/nodejs/node/commit/9633bb0f29)] - **doc**: fix permission documentation examples (greenhead) [#64897](https://github.com/nodejs/node/pull/64897) +- \[[`e52e573fd7`](https://github.com/nodejs/node/commit/e52e573fd7)] - **doc**: document sqlite parameter binding (Guilherme Araújo) [#65089](https://github.com/nodejs/node/pull/65089) +- \[[`fa52f11d3b`](https://github.com/nodejs/node/commit/fa52f11d3b)] - **doc**: finalize statements in sqlite examples (Guilherme Araújo) [#65088](https://github.com/nodejs/node/pull/65088) +- \[[`0157c45012`](https://github.com/nodejs/node/commit/0157c45012)] - **doc**: document quic stopSending() and resetStream() (Issac) [#64888](https://github.com/nodejs/node/pull/64888) +- \[[`003a913799`](https://github.com/nodejs/node/commit/003a913799)] - **doc**: clarify sqlite bare parameter default (Sumit Kumar Das) [#62009](https://github.com/nodejs/node/pull/62009) +- \[[`c5588d71ad`](https://github.com/nodejs/node/commit/c5588d71ad)] - **doc**: remove usage of `util.inherits` (Augustin Mauroy) [#60817](https://github.com/nodejs/node/pull/60817) +- \[[`673db40fbf`](https://github.com/nodejs/node/commit/673db40fbf)] - **doc**: fix grammar in worker\_threads.md (이혜미) [#64913](https://github.com/nodejs/node/pull/64913) +- \[[`ee5f72cf16`](https://github.com/nodejs/node/commit/ee5f72cf16)] - **doc**: fix broken link (Antoine du Hamel) [#65078](https://github.com/nodejs/node/pull/65078) +- \[[`0450ab6c6a`](https://github.com/nodejs/node/commit/0450ab6c6a)] - **doc**: update `node.1` to fix linter (Antoine du Hamel) [#65053](https://github.com/nodejs/node/pull/65053) +- \[[`9a256b0693`](https://github.com/nodejs/node/commit/9a256b0693)] - **doc**: clarify OpenSSL FIPS configuration (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`c321752dcb`](https://github.com/nodejs/node/commit/c321752dcb)] - **doc**: remove `--expose-gc` flag from CLI documentation (Dario Piotrowicz) [#58909](https://github.com/nodejs/node/pull/58909) +- \[[`0cf79931bb`](https://github.com/nodejs/node/commit/0cf79931bb)] - **doc**: document ArrayBuffer support in pbkd2Sync (kyungrae2002) [#64976](https://github.com/nodejs/node/pull/64976) +- \[[`3b8a0bacaa`](https://github.com/nodejs/node/commit/3b8a0bacaa)] - **doc**: correct default highWaterMark values (Yilong Li) [#64617](https://github.com/nodejs/node/pull/64617) +- \[[`be313012e4`](https://github.com/nodejs/node/commit/be313012e4)] - **doc**: use ffi.suffix in permission example (agape1225) [#64914](https://github.com/nodejs/node/pull/64914) +- \[[`4a1c9a7ee0`](https://github.com/nodejs/node/commit/4a1c9a7ee0)] - **esm**: avoid super-linear data URL MIME regex (Sumit Kumar Das) [#61951](https://github.com/nodejs/node/pull/61951) +- \[[`b1770bc196`](https://github.com/nodejs/node/commit/b1770bc196)] - **esm**: only register text format when enabled (Efe Karasakal) [#64992](https://github.com/nodejs/node/pull/64992) +- \[[`f48927fe5b`](https://github.com/nodejs/node/commit/f48927fe5b)] - **esm**: fix wasm import name in error message (이혜미) [#64950](https://github.com/nodejs/node/pull/64950) +- \[[`8d48adf688`](https://github.com/nodejs/node/commit/8d48adf688)] - **events**: inline iterationCondition hybrid dispatch closure (Szymon Łągiewka) [#64473](https://github.com/nodejs/node/pull/64473) +- \[[`b827c0047e`](https://github.com/nodejs/node/commit/b827c0047e)] - **events**: inline createEvent hybrid dispatch closure (Szymon Łągiewka) [#64473](https://github.com/nodejs/node/pull/64473) +- \[[`7670c81d99`](https://github.com/nodejs/node/commit/7670c81d99)] - **ffi**: prefer canonical type names (Trivikram Kamat) [#65417](https://github.com/nodejs/node/pull/65417) +- \[[`1fe7a1c33d`](https://github.com/nodejs/node/commit/1fe7a1c33d)] - **ffi**: validate the value passed to the float setters (Soul Lee) [#65342](https://github.com/nodejs/node/pull/65342) +- \[[`537feecd0b`](https://github.com/nodejs/node/commit/537feecd0b)] - **ffi**: reject direct SharedArrayBuffer pointers (Trivikram Kamat) [#65233](https://github.com/nodejs/node/pull/65233) +- \[[`0002f0a718`](https://github.com/nodejs/node/commit/0002f0a718)] - **ffi**: remove dead null check in callback arguments (Trivikram Kamat) [#64998](https://github.com/nodejs/node/pull/64998) +- \[[`9024ec27b6`](https://github.com/nodejs/node/commit/9024ec27b6)] - **ffi**: keep FFI functions non-constructible (Trivikram Kamat) [#65184](https://github.com/nodejs/node/pull/65184) +- \[[`9b4f349b01`](https://github.com/nodejs/node/commit/9b4f349b01)] - **ffi**: refresh cached string buffers on every call (Trivikram Kamat) [#65051](https://github.com/nodejs/node/pull/65051) +- \[[`eacd65e9c2`](https://github.com/nodejs/node/commit/eacd65e9c2)] - **ffi**: reject detached ArrayBufferViews (Trivikram Kamat) [#65086](https://github.com/nodejs/node/pull/65086) +- \[[`be2ab89730`](https://github.com/nodejs/node/commit/be2ab89730)] - **ffi**: reject detached ArrayBuffers as pointers (Trivikram Kamat) [#65083](https://github.com/nodejs/node/pull/65083) +- \[[`6f9e0846ea`](https://github.com/nodejs/node/commit/6f9e0846ea)] - **ffi**: validate fast pointer BigInt argument ranges (Trivikram Kamat) [#65032](https://github.com/nodejs/node/pull/65032) +- \[[`3e6688c5e3`](https://github.com/nodejs/node/commit/3e6688c5e3)] - **ffi**: reuse the callable created per symbol (Trivikram Kamat) [#64971](https://github.com/nodejs/node/pull/64971) +- \[[`8b0bdd931c`](https://github.com/nodejs/node/commit/8b0bdd931c)] - **ffi**: shrink trampoline placement probe window (Trivikram Kamat) [#64969](https://github.com/nodejs/node/pull/64969) +- \[[`9c282c4532`](https://github.com/nodejs/node/commit/9c282c4532)] - **ffi**: accept pointer BigInts in multi-argument fast calls (Trivikram Kamat) [#64964](https://github.com/nodejs/node/pull/64964) +- \[[`b98294b57d`](https://github.com/nodejs/node/commit/b98294b57d)] - **ffi**: support SharedArrayBuffer in getRawPointer (Junsoo Ha) [#64864](https://github.com/nodejs/node/pull/64864) +- \[[`5cac7c2c55`](https://github.com/nodejs/node/commit/5cac7c2c55)] - **ffi**: reuse libffi call plans (Yilong Li) [#64958](https://github.com/nodejs/node/pull/64958) +- \[[`262f0ec82a`](https://github.com/nodejs/node/commit/262f0ec82a)] - **fs**: stop stat()ing every entry in recursive readdir (Shelley Vohr) [#65487](https://github.com/nodejs/node/pull/65487) +- \[[`e3ae912e9a`](https://github.com/nodejs/node/commit/e3ae912e9a)] - **fs**: use sized reads for large files in readFileUtf8 (Shelley Vohr) [#65328](https://github.com/nodejs/node/pull/65328) +- \[[`bc1e19b4b7`](https://github.com/nodejs/node/commit/bc1e19b4b7)] - **fs**: fix realpath of namespaced drive paths (Jason Zhang) [#65378](https://github.com/nodejs/node/pull/65378) +- \[[`6673ebadf2`](https://github.com/nodejs/node/commit/6673ebadf2)] - **fs**: abort in-flight stat operations (Mert Can Altin) [#63143](https://github.com/nodejs/node/pull/63143) +- \[[`74dcdbb5f1`](https://github.com/nodejs/node/commit/74dcdbb5f1)] - **fs**: fix glob early return skipping sibling entries (Srinu desetti) [#64895](https://github.com/nodejs/node/pull/64895) +- \[[`6305a744df`](https://github.com/nodejs/node/commit/6305a744df)] - **fs**: pass symlink type in cp when filter is provided (Jerry Zhao) [#62654](https://github.com/nodejs/node/pull/62654) +- \[[`c5cb6bc7e2`](https://github.com/nodejs/node/commit/c5cb6bc7e2)] - **fs**: allocate FSReqPromise stat arrays lazily (Samuel Attard) [#63886](https://github.com/nodejs/node/pull/63886) +- \[[`992af05719`](https://github.com/nodejs/node/commit/992af05719)] - **fs**: fix out-of-bounds write in mkdtemp for long prefixes (Hierax\_Umbra) [#64770](https://github.com/nodejs/node/pull/64770) +- \[[`2de845b2dd`](https://github.com/nodejs/node/commit/2de845b2dd)] - **fs**: treat `std::errc::permission_denied` as `EPERM` error (Kirill Saied) [#64698](https://github.com/nodejs/node/pull/64698) +- \[[`77fedbd350`](https://github.com/nodejs/node/commit/77fedbd350)] - **fs**: read small files in one thread pool round trip (Shelley Vohr) [#65327](https://github.com/nodejs/node/pull/65327) +- \[[`810929b6dd`](https://github.com/nodejs/node/commit/810929b6dd)] - _**Revert**_ "**fs**: fix close listener leak in FileHandle streams" (Mike McCready) [#65387](https://github.com/nodejs/node/pull/65387) +- \[[`8873b91fce`](https://github.com/nodejs/node/commit/8873b91fce)] - **fs**: fix close listener leak in FileHandle streams (Y1D7NG) [#64227](https://github.com/nodejs/node/pull/64227) +- \[[`656cfaeb2d`](https://github.com/nodejs/node/commit/656cfaeb2d)] - **fs**: add windowsHandle option to file streams (Kirill Saied) [#63851](https://github.com/nodejs/node/pull/63851) +- \[[`c2c31d69fd`](https://github.com/nodejs/node/commit/c2c31d69fd)] - **http**: improve performance with known-length calls to end() (Tim Perry) [#65466](https://github.com/nodejs/node/pull/65466) +- \[[`7e9204f4b3`](https://github.com/nodejs/node/commit/7e9204f4b3)] - **http**: use intrusive lists in ConnectionsList (Matteo Collina) [#65296](https://github.com/nodejs/node/pull/65296) +- \[[`98e6272c70`](https://github.com/nodejs/node/commit/98e6272c70)] - **http**: cache maxHeaderPairs per header section (GetThatCookie) [#64988](https://github.com/nodejs/node/pull/64988) +- \[[`6c3516f179`](https://github.com/nodejs/node/commit/6c3516f179)] - **http**: fix keylog listener setup on existing agent sockets (Shani Singh) [#65066](https://github.com/nodejs/node/pull/65066) +- \[[`dad9548fbc`](https://github.com/nodejs/node/commit/dad9548fbc)] - **http**: emit drain on socket takeover and avoid stale HWM reuse (Naman Trivedi) [#64991](https://github.com/nodejs/node/pull/64991) +- \[[`563cab119b`](https://github.com/nodejs/node/commit/563cab119b)] - **http2**: avoid uaf while receiving and sending rst\_stream (esgor) [#64166](https://github.com/nodejs/node/pull/64166) +- \[[`099801641b`](https://github.com/nodejs/node/commit/099801641b)] - **inspector**: avoid calling into JS from V8 interrupts (Joyee Cheung) [#65028](https://github.com/nodejs/node/pull/65028) +- \[[`b71d5de0b8`](https://github.com/nodejs/node/commit/b71d5de0b8)] - **lib**: use bracket notation instead of startsWith/endsWith for single char (Taejin Kim) [#61500](https://github.com/nodejs/node/pull/61500) +- \[[`e8e2abcc8d`](https://github.com/nodejs/node/commit/e8e2abcc8d)] - **lib**: load fewer builtins when bootstrapping without a snapshot (Shelley Vohr) [#65329](https://github.com/nodejs/node/pull/65329) +- \[[`3619dc0601`](https://github.com/nodejs/node/commit/3619dc0601)] - **lib**: fix ERR\_INVALID\_ARG\_TYPE with --enable-source-maps (June) [#63215](https://github.com/nodejs/node/pull/63215) +- \[[`ad7c67026b`](https://github.com/nodejs/node/commit/ad7c67026b)] - **lib**: harden webidl dictionary member reads (Filip Skokan) [#65115](https://github.com/nodejs/node/pull/65115) +- \[[`b5182f0a1c`](https://github.com/nodejs/node/commit/b5182f0a1c)] - **lib**: use validateArray for array arguments (greenhead) [#64959](https://github.com/nodejs/node/pull/64959) +- \[[`7f7df06821`](https://github.com/nodejs/node/commit/7f7df06821)] - **lib**: add and test \[EnforceRange] in webcrypto dictionaries (Filip Skokan) [#65091](https://github.com/nodejs/node/pull/65091) +- \[[`753033c110`](https://github.com/nodejs/node/commit/753033c110)] - **(SEMVER-MINOR)** **lib,src**: improve histogram implementation (James M Snell) [#65024](https://github.com/nodejs/node/pull/65024) +- \[[`8d39d0d660`](https://github.com/nodejs/node/commit/8d39d0d660)] - **meta**: add a root-level AGENTS.md (James M Snell) [#65493](https://github.com/nodejs/node/pull/65493) +- \[[`3770f9baea`](https://github.com/nodejs/node/commit/3770f9baea)] - **meta**: move targos to emeritus (Michaël Zasso) [#65393](https://github.com/nodejs/node/pull/65393) +- \[[`a9b31dfe30`](https://github.com/nodejs/node/commit/a9b31dfe30)] - **meta**: add unified http api initiative (James M Snell) [#65139](https://github.com/nodejs/node/pull/65139) +- \[[`6bffc306aa`](https://github.com/nodejs/node/commit/6bffc306aa)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#65182](https://github.com/nodejs/node/pull/65182) +- \[[`4abd1c8100`](https://github.com/nodejs/node/commit/4abd1c8100)] - **meta**: add support for alpha prerelease tag (Antoine du Hamel) [#63135](https://github.com/nodejs/node/pull/63135) +- \[[`132c578e97`](https://github.com/nodejs/node/commit/132c578e97)] - **meta**: add Aviv Keller to `.mailmap` (Aviv Keller) [#65048](https://github.com/nodejs/node/pull/65048) +- \[[`7aff78d231`](https://github.com/nodejs/node/commit/7aff78d231)] - **meta**: update sccache to 0.17.0 (René) [#64985](https://github.com/nodejs/node/pull/64985) +- \[[`97a437e7ea`](https://github.com/nodejs/node/commit/97a437e7ea)] - **module**: add a read-only mode to the compile cache (Shelley Vohr) [#65302](https://github.com/nodejs/node/pull/65302) +- \[[`5821362819`](https://github.com/nodejs/node/commit/5821362819)] - **module**: do not split a portable compile cache by uid (Shelley Vohr) [#65293](https://github.com/nodejs/node/pull/65293) +- \[[`eb5d66e856`](https://github.com/nodejs/node/commit/eb5d66e856)] - **module**: report unreadable package.json (Paul Bouchon) [#65223](https://github.com/nodejs/node/pull/65223) +- \[[`43757d07c1`](https://github.com/nodejs/node/commit/43757d07c1)] - **module**: cache nearest parent package.json per directory (Shelley Vohr) [#65326](https://github.com/nodejs/node/pull/65326) +- \[[`d7805e00dc`](https://github.com/nodejs/node/commit/d7805e00dc)] - **module**: fix --check on ambiguous ESM files (Paul Bouchon) [#65203](https://github.com/nodejs/node/pull/65203) +- \[[`646221a495`](https://github.com/nodejs/node/commit/646221a495)] - **net**: handle undefined parent in \_unrefTimer and \_destroy (Shivay-98) [#64644](https://github.com/nodejs/node/pull/64644) +- \[[`3d7d277493`](https://github.com/nodejs/node/commit/3d7d277493)] - **(SEMVER-MINOR)** **net**: improve performance of net.BlockList (James M Snell) [#64974](https://github.com/nodejs/node/pull/64974) +- \[[`9e8e9080fd`](https://github.com/nodejs/node/commit/9e8e9080fd)] - **(SEMVER-MINOR)** **perf\_hooks**: add statistical hypothesis testing to histogram (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`01a8ae0ce6`](https://github.com/nodejs/node/commit/01a8ae0ce6)] - **permission**: guard UDP handle adoption (Rafael Gonzaga) [#65358](https://github.com/nodejs/node/pull/65358) +- \[[`ac3c412aaf`](https://github.com/nodejs/node/commit/ac3c412aaf)] - **permission**: enforce addon permission in GetLinkedBinding (Rafael Gonzaga) [#65432](https://github.com/nodejs/node/pull/65432) +- \[[`8765afd4c2`](https://github.com/nodejs/node/commit/8765afd4c2)] - **process**: validate resource stats array offsets (Archkon) [#65098](https://github.com/nodejs/node/pull/65098) +- \[[`d0447c93f6`](https://github.com/nodejs/node/commit/d0447c93f6)] - **quic**: changes for nghttp3\_conn\_close\_stream2 (Marten Richter) [#64574](https://github.com/nodejs/node/pull/64574) +- \[[`91393898b5`](https://github.com/nodejs/node/commit/91393898b5)] - **quic**: mark drain promise handled (James M Snell) [#65319](https://github.com/nodejs/node/pull/65319) +- \[[`5c9576bf50`](https://github.com/nodejs/node/commit/5c9576bf50)] - **quic**: reset rejected HTTP/3 request streams with H3\_REQUEST\_REJECTED (trivenay) [#65442](https://github.com/nodejs/node/pull/65442) +- \[[`ec956f2abc`](https://github.com/nodejs/node/commit/ec956f2abc)] - **quic**: write desired size needs update on maxstream (Marten Richter) [#64768](https://github.com/nodejs/node/pull/64768) +- \[[`41c510803d`](https://github.com/nodejs/node/commit/41c510803d)] - **quic**: do not destroy incoming streams that have a consumer (trivenay) [#65335](https://github.com/nodejs/node/pull/65335) +- \[[`009e376581`](https://github.com/nodejs/node/commit/009e376581)] - **quic**: fix wake up blob (Marten Richter) [#64044](https://github.com/nodejs/node/pull/64044) +- \[[`4674a10368`](https://github.com/nodejs/node/commit/4674a10368)] - **quic**: convert incoming :status header to number (Hallison Pereira Melo) [#63589](https://github.com/nodejs/node/pull/63589) +- \[[`5953165f53`](https://github.com/nodejs/node/commit/5953165f53)] - **quic**: fix infinite loop if STOP\_SENDING received on a buffering stream (Tim Perry) [#64715](https://github.com/nodejs/node/pull/64715) +- \[[`bb499c312e`](https://github.com/nodejs/node/commit/bb499c312e)] - **repl**: keep entries added while history file is loading (Mhayk Whandson) [#64513](https://github.com/nodejs/node/pull/64513) +- \[[`825fcfe4d5`](https://github.com/nodejs/node/commit/825fcfe4d5)] - **repl**: add benchmarks (Aviv Keller) [#64590](https://github.com/nodejs/node/pull/64590) +- \[[`c18b0aa54e`](https://github.com/nodejs/node/commit/c18b0aa54e)] - **repl**: add basic syntax highlighting (Aviv Keller) [#64591](https://github.com/nodejs/node/pull/64591) +- \[[`f32a8631ad`](https://github.com/nodejs/node/commit/f32a8631ad)] - **sea**: avoid dangling CLI option pointers (Archkon) [#64755](https://github.com/nodejs/node/pull/64755) +- \[[`3126ce5779`](https://github.com/nodejs/node/commit/3126ce5779)] - **sea**: handle NUL bytes in asset keys (Archkon) [#64773](https://github.com/nodejs/node/pull/64773) +- \[[`64a8843ff2`](https://github.com/nodejs/node/commit/64a8843ff2)] - **sea**: reject trailing content in config JSON (Archkon) [#64774](https://github.com/nodejs/node/pull/64774) +- \[[`1d9dd252f1`](https://github.com/nodejs/node/commit/1d9dd252f1)] - **sea**: reject malformed --node-options values (Archkon) [#64803](https://github.com/nodejs/node/pull/64803) +- \[[`6ec735c910`](https://github.com/nodejs/node/commit/6ec735c910)] - **sqlite**: reject reentry while binding parameters (Trevor Burnham) [#65294](https://github.com/nodejs/node/pull/65294) +- \[[`60cb384c15`](https://github.com/nodejs/node/commit/60cb384c15)] - **sqlite**: remove unused column name helper (Trivikram Kamat) [#65401](https://github.com/nodejs/node/pull/65401) +- \[[`fce6754a83`](https://github.com/nodejs/node/commit/fce6754a83)] - **sqlite**: reject busy statement finalization in authorizer (Trivikram Kamat) [#65369](https://github.com/nodejs/node/pull/65369) +- \[[`e2f952f2ff`](https://github.com/nodejs/node/commit/e2f952f2ff)] - **sqlite**: prevent reentrant session.close() (Trivikram Kamat) [#65349](https://github.com/nodejs/node/pull/65349) +- \[[`0e8af3378a`](https://github.com/nodejs/node/commit/0e8af3378a)] - **sqlite**: reuse cached column names in statement all() and get() (Edy Silva) [#65276](https://github.com/nodejs/node/pull/65276) +- \[[`e6bfec91be`](https://github.com/nodejs/node/commit/e6bfec91be)] - **sqlite**: validate StatementSync.run() integers (Trivikram Kamat) [#65178](https://github.com/nodejs/node/pull/65178) +- \[[`bbb1226dbe`](https://github.com/nodejs/node/commit/bbb1226dbe)] - **sqlite**: add diagnostic channel (Guilherme Araújo) [#62241](https://github.com/nodejs/node/pull/62241) +- \[[`6302168de8`](https://github.com/nodejs/node/commit/6302168de8)] - **sqlite**: add stmt persistent flag (Guilherme Araújo) [#62757](https://github.com/nodejs/node/pull/62757) +- \[[`2989311d81`](https://github.com/nodejs/node/commit/2989311d81)] - **sqlite**: reject connection access from authorizer callbacks (Trevor Burnham) [#65156](https://github.com/nodejs/node/pull/65156) +- \[[`72c37b133e`](https://github.com/nodejs/node/commit/72c37b133e)] - **sqlite**: expose prepared statement statistics (Edy Silva) [#64541](https://github.com/nodejs/node/pull/64541) +- \[[`3e50a2f1e9`](https://github.com/nodejs/node/commit/3e50a2f1e9)] - **sqlite**: manage sqlite3\_stmt lifetime with RAII (Guilherme Araújo) [#62419](https://github.com/nodejs/node/pull/62419) +- \[[`3ab7e72555`](https://github.com/nodejs/node/commit/3ab7e72555)] - **sqlite**: check sqlite3\_step() and sqlite3\_reset() results (semimikoh) [#63319](https://github.com/nodejs/node/pull/63319) +- \[[`5e387ce979`](https://github.com/nodejs/node/commit/5e387ce979)] - **sqlite**: reject statement-less SQL in prepare() (Trevor Burnham) [#65157](https://github.com/nodejs/node/pull/65157) +- \[[`83169e58f3`](https://github.com/nodejs/node/commit/83169e58f3)] - **sqlite**: reject statement-less SQL in SQLTagStore (Trevor Burnham) [#65157](https://github.com/nodejs/node/pull/65157) +- \[[`7f31f6226e`](https://github.com/nodejs/node/commit/7f31f6226e)] - **sqlite**: isolate applyChangeset filter errors (Trivikram Kamat) [#64823](https://github.com/nodejs/node/pull/64823) +- \[[`c89878c3c8`](https://github.com/nodejs/node/commit/c89878c3c8)] - **sqlite**: reject deserialize() while in a callback (Trivikram Kamat) [#64796](https://github.com/nodejs/node/pull/64796) +- \[[`5a852b22d4`](https://github.com/nodejs/node/commit/5a852b22d4)] - **sqlite**: check null returns from sqlite value functions (Nora Dossche) [#63288](https://github.com/nodejs/node/pull/63288) +- \[[`5cb78ed300`](https://github.com/nodejs/node/commit/5cb78ed300)] - **sqlite**: validate maxSize argument in createTagStore() (Anshika Jain) [#63792](https://github.com/nodejs/node/pull/63792) +- \[[`ca885876f6`](https://github.com/nodejs/node/commit/ca885876f6)] - **sqlite**: refactor error helpers and user function pointers (Ali Hassan) [#62794](https://github.com/nodejs/node/pull/62794) +- \[[`06b1758dcd`](https://github.com/nodejs/node/commit/06b1758dcd)] - **sqlite**: reject non-positive backup rates (Trivikram Kamat) [#64893](https://github.com/nodejs/node/pull/64893) +- \[[`ce0ca47023`](https://github.com/nodejs/node/commit/ce0ca47023)] - **sqlite**: clear SQLTagStore bindings (Matteo Collina) [#65041](https://github.com/nodejs/node/pull/65041) +- \[[`49fb028714`](https://github.com/nodejs/node/commit/49fb028714)] - **sqlite**: bind Boolean (mike-git374) [#62001](https://github.com/nodejs/node/pull/62001) +- \[[`09d0da99e9`](https://github.com/nodejs/node/commit/09d0da99e9)] - **sqlite**: fix undefined behaviour in `Session::Changeset()` (Nora Dossche) [#63637](https://github.com/nodejs/node/pull/63637) +- \[[`58ea88e1d3`](https://github.com/nodejs/node/commit/58ea88e1d3)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.close() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`7c61b08aed`](https://github.com/nodejs/node/commit/7c61b08aed)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype\[Symbol.dispose]\() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`9167ebd32b`](https://github.com/nodejs/node/commit/9167ebd32b)] - **sqlite**: bind ArrayBuffer (mike-git374) [#62061](https://github.com/nodejs/node/pull/62061) +- \[[`5da6eaa8af`](https://github.com/nodejs/node/commit/5da6eaa8af)] - **sqlite**: prevent database close during callbacks (Matteo Collina) [#64743](https://github.com/nodejs/node/pull/64743) +- \[[`29d794bc84`](https://github.com/nodejs/node/commit/29d794bc84)] - **src**: fix heap value deduplication in embedder graph (Ilyas Shabi) [#64801](https://github.com/nodejs/node/pull/64801) +- \[[`b405e9b039`](https://github.com/nodejs/node/commit/b405e9b039)] - **src**: fix out-of-bounds write when transcoding odd-length ucs2 (nashit hayat) [#64512](https://github.com/nodejs/node/pull/64512) +- \[[`101a215472`](https://github.com/nodejs/node/commit/101a215472)] - **src**: use simdutf for two-byte utf8 conversion (Mert Can Altin) [#62248](https://github.com/nodejs/node/pull/62248) +- \[[`340b98346f`](https://github.com/nodejs/node/commit/340b98346f)] - **src**: run same-priority platform tasks in posting order (Shelley Vohr) [#65353](https://github.com/nodejs/node/pull/65353) +- \[[`83a7949c18`](https://github.com/nodejs/node/commit/83a7949c18)] - **src**: define O\_SYNC, O\_DSYNC and O\_DIRECT on Windows (Kirill Saied) [#64707](https://github.com/nodejs/node/pull/64707) +- \[[`32bb197f2a`](https://github.com/nodejs/node/commit/32bb197f2a)] - **src**: use simdutf for two-byte strings in UTF-8 writes (Shelley Vohr) [#65324](https://github.com/nodejs/node/pull/65324) +- \[[`613be79cf4`](https://github.com/nodejs/node/commit/613be79cf4)] - **src**: add v8::Local specialization for MaybeStackBuffer (James M Snell) [#65159](https://github.com/nodejs/node/pull/65159) +- \[[`922d47cbd7`](https://github.com/nodejs/node/commit/922d47cbd7)] - **src**: escape Windows environment variables in task runner (Antoine du Hamel) [#65217](https://github.com/nodejs/node/pull/65217) +- \[[`3a47f1f282`](https://github.com/nodejs/node/commit/3a47f1f282)] - **src**: apply minor namespace format tweak in permissions (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`981cfa537d`](https://github.com/nodejs/node/commit/981cfa537d)] - **src**: simplify permissions with BooleanPermissions (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`5954b13f88`](https://github.com/nodejs/node/commit/5954b13f88)] - **src**: simplify includes in permissions (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`d4ced88c09`](https://github.com/nodejs/node/commit/d4ced88c09)] - **src**: apply a modest performance perf to permissions (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`efb649ec26`](https://github.com/nodejs/node/commit/efb649ec26)] - **src**: make permission storage a bit more efficient (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`521aaf10fc`](https://github.com/nodejs/node/commit/521aaf10fc)] - **src**: apply multiple general cleanups to permissions (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`ac920e0d2b`](https://github.com/nodejs/node/commit/ac920e0d2b)] - **src**: simplify c++ diagnostics channel API (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`ec8fe275a1`](https://github.com/nodejs/node/commit/ec8fe275a1)] - **src**: make minor cleanup to permission checks (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`968bdd0135`](https://github.com/nodejs/node/commit/968bdd0135)] - **src**: use DictionaryTemplate for permission diag channel message (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`f77aa2f703`](https://github.com/nodejs/node/commit/f77aa2f703)] - **src**: cache permission strings (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`4018f3a776`](https://github.com/nodejs/node/commit/4018f3a776)] - **src**: shave about 20 bytes off each TLSWrap instance (James M Snell) [#65144](https://github.com/nodejs/node/pull/65144) +- \[[`b7a23426d9`](https://github.com/nodejs/node/commit/b7a23426d9)] - **src**: add SetAbortHandler (Max H Fisher) [#64684](https://github.com/nodejs/node/pull/64684) +- \[[`3cfe19489c`](https://github.com/nodejs/node/commit/3cfe19489c)] - **src**: use concepts where appropriate (James M Snell) [#65148](https://github.com/nodejs/node/pull/65148) +- \[[`d8a0f288ab`](https://github.com/nodejs/node/commit/d8a0f288ab)] - **src**: match cmd.exe case-insensitively in task runner (Archkon) [#64907](https://github.com/nodejs/node/pull/64907) +- \[[`262d88e6c2`](https://github.com/nodejs/node/commit/262d88e6c2)] - **src**: reuse cached env strings in remaining files (Seongeun Lee) [#65039](https://github.com/nodejs/node/pull/65039) +- \[[`ad35fe97f0`](https://github.com/nodejs/node/commit/ad35fe97f0)] - **src**: expose Windows-only fs open flags (Kirill Saied) [#64775](https://github.com/nodejs/node/pull/64775) +- \[[`8c4531bbc9`](https://github.com/nodejs/node/commit/8c4531bbc9)] - **src**: report why --enable-fips failed (Filip Skokan) [#64979](https://github.com/nodejs/node/pull/64979) +- \[[`a293dbf0e1`](https://github.com/nodejs/node/commit/a293dbf0e1)] - **src**: update repeated use strings to env (James M Snell) [#64760](https://github.com/nodejs/node/pull/64760) +- \[[`044402cf0e`](https://github.com/nodejs/node/commit/044402cf0e)] - **src**: use UTF-8 for task runner filesystem paths (Archkon) [#64868](https://github.com/nodejs/node/pull/64868) +- \[[`5b7d02e401`](https://github.com/nodejs/node/commit/5b7d02e401)] - **stream**: normalize fused stateless transform results (Trivikram Kamat) [#65367](https://github.com/nodejs/node/pull/65367) +- \[[`1d6ec2ddc5`](https://github.com/nodejs/node/commit/1d6ec2ddc5)] - **stream**: encode whole chunks in TextEncoderStream (Matteo Collina) [#65414](https://github.com/nodejs/node/pull/65414) +- \[[`0afda47ca4`](https://github.com/nodejs/node/commit/0afda47ca4)] - **stream**: prevent share from eagerly draining source (Trivikram Kamat) [#65338](https://github.com/nodejs/node/pull/65338) +- \[[`dc51c7926e`](https://github.com/nodejs/node/commit/dc51c7926e)] - **stream**: drain pending writes before broadcast end (Trivikram Kamat) [#65334](https://github.com/nodejs/node/pull/65334) +- \[[`a77f9f7a32`](https://github.com/nodejs/node/commit/a77f9f7a32)] - **stream**: reuse unexposed managed read buffers (GetThatCookie) [#64990](https://github.com/nodejs/node/pull/64990) +- \[[`c42fbcc0d1`](https://github.com/nodejs/node/commit/c42fbcc0d1)] - **stream**: avoid duplicated endReadableNT scheduling (Matteo Collina) [#65310](https://github.com/nodejs/node/pull/65310) +- \[[`9ec9383d1d`](https://github.com/nodejs/node/commit/9ec9383d1d)] - **stream**: decouple transform backpressure changes (Matteo Collina) [#65143](https://github.com/nodejs/node/pull/65143) +- \[[`a9dc50d275`](https://github.com/nodejs/node/commit/a9dc50d275)] - **stream**: reject pull on signal abort during flush (Trivikram Kamat) [#65346](https://github.com/nodejs/node/pull/65346) +- \[[`815424db74`](https://github.com/nodejs/node/commit/815424db74)] - **stream**: avoid leaking consumers on signal failure (Trivikram Kamat) [#65299](https://github.com/nodejs/node/pull/65299) +- \[[`6a2e0561e8`](https://github.com/nodejs/node/commit/6a2e0561e8)] - **stream**: use validateObject for zlib/iter params (greenhead) [#65015](https://github.com/nodejs/node/pull/65015) +- \[[`4f6f2cfffa`](https://github.com/nodejs/node/commit/4f6f2cfffa)] - **stream**: use validateNumber for BYOB reader options.min (greenhead) [#65014](https://github.com/nodejs/node/pull/65014) +- \[[`4d297428e6`](https://github.com/nodejs/node/commit/4d297428e6)] - **stream**: consolidate non-op algorithm callbacks (Matteo Collina) [#65138](https://github.com/nodejs/node/pull/65138) +- \[[`f7e0c81be4`](https://github.com/nodejs/node/commit/f7e0c81be4)] - **stream**: cut promise churn in webstreams hot paths (Matteo Collina) [#65138](https://github.com/nodejs/node/pull/65138) +- \[[`5edffb544f`](https://github.com/nodejs/node/commit/5edffb544f)] - **stream**: speed up async iteration of Readable (Matteo Collina) [#64447](https://github.com/nodejs/node/pull/64447) +- \[[`0876a29bb6`](https://github.com/nodejs/node/commit/0876a29bb6)] - **stream**: preserve falsy cancellation reasons (Trivikram Kamat) [#64705](https://github.com/nodejs/node/pull/64705) +- \[[`374f7e214d`](https://github.com/nodejs/node/commit/374f7e214d)] - **stream**: use validateBuffer for BYOB reader view (greenhead) [#65046](https://github.com/nodejs/node/pull/65046) +- \[[`6bd15b2ac9`](https://github.com/nodejs/node/commit/6bd15b2ac9)] - **stream**: fix recursive WritableStream abort (Jeong SeokChan) [#64825](https://github.com/nodejs/node/pull/64825) +- \[[`f33dba704d`](https://github.com/nodejs/node/commit/f33dba704d)] - **string\_decoder**: decode UTF-8 via StringBytes::Encode (Shelley Vohr) [#65324](https://github.com/nodejs/node/pull/65324) +- \[[`6409983a6c`](https://github.com/nodejs/node/commit/6409983a6c)] - **test**: update WPT for WebCryptoAPI to e235e089b4 (Node.js GitHub Bot) [#65478](https://github.com/nodejs/node/pull/65478) +- \[[`01cb4f99a0`](https://github.com/nodejs/node/commit/01cb4f99a0)] - **test**: convert forEach to for of test-messageevent-brandcheck file (Nachiketa Pathak) [#65279](https://github.com/nodejs/node/pull/65279) +- \[[`359369e24e`](https://github.com/nodejs/node/commit/359369e24e)] - **test**: use spawnSyncAndAssert in windowsHide test (Junsoo Ha) [#65351](https://github.com/nodejs/node/pull/65351) +- \[[`9304dee833`](https://github.com/nodejs/node/commit/9304dee833)] - **test**: remove test-debugger-run-after-quit-restart as flaky on macOS (Yuya Inoue) [#65424](https://github.com/nodejs/node/pull/65424) +- \[[`30f1a19eec`](https://github.com/nodejs/node/commit/30f1a19eec)] - **test**: simplify test-timers-interval-promisified.js (Donghoon Kang) [#65322](https://github.com/nodejs/node/pull/65322) +- \[[`acaf986ad5`](https://github.com/nodejs/node/commit/acaf986ad5)] - **test**: add Headers coverage and benchmark (Yagiz Nizipli) [#65365](https://github.com/nodejs/node/pull/65365) +- \[[`b6852e2b96`](https://github.com/nodejs/node/commit/b6852e2b96)] - **test**: deflake test-net-listen-ipv6only (sangwook) [#64173](https://github.com/nodejs/node/pull/64173) +- \[[`235a0baf8b`](https://github.com/nodejs/node/commit/235a0baf8b)] - **test**: use common/child\_process spawnSync helpers (Junsoo Ha) [#65377](https://github.com/nodejs/node/pull/65377) +- \[[`29f010fbb0`](https://github.com/nodejs/node/commit/29f010fbb0)] - **test**: fix Linux debug skip in SEA test guard (구현우) [#63751](https://github.com/nodejs/node/pull/63751) +- \[[`33d7b4c6b3`](https://github.com/nodejs/node/commit/33d7b4c6b3)] - **test**: add closed-library assertions for getFunctions and getSymbols (Anshika Jain) [#63769](https://github.com/nodejs/node/pull/63769) +- \[[`24a76e18ec`](https://github.com/nodejs/node/commit/24a76e18ec)] - **test**: avoid timer race in event loop delay test (Trivikram Kamat) [#64728](https://github.com/nodejs/node/pull/64728) +- \[[`fdc1e78595`](https://github.com/nodejs/node/commit/fdc1e78595)] - **test**: enforce exit code in `test-http-server-stale-close` (Antoine du Hamel) [#65198](https://github.com/nodejs/node/pull/65198) +- \[[`c644f2e07c`](https://github.com/nodejs/node/commit/c644f2e07c)] - **test**: convert test-async-local-storage-bind to async loop (freida-code) [#65270](https://github.com/nodejs/node/pull/65270) +- \[[`1d5e5e8f43`](https://github.com/nodejs/node/commit/1d5e5e8f43)] - **test**: replace `forEach()` with `for...of` in parallel tests (Phillip Markert) [#65272](https://github.com/nodejs/node/pull/65272) +- \[[`9346570fed`](https://github.com/nodejs/node/commit/9346570fed)] - **test**: convert forEach to for in test-constant.js file (NIxxy25) [#65271](https://github.com/nodejs/node/pull/65271) +- \[[`7af0a96090`](https://github.com/nodejs/node/commit/7af0a96090)] - **test**: use for-of instead of forEach (Felix P.) [#65268](https://github.com/nodejs/node/pull/65268) +- \[[`63e6f2edc3`](https://github.com/nodejs/node/commit/63e6f2edc3)] - **test**: wait for FFI background optimization (Trivikram Kamat) [#65300](https://github.com/nodejs/node/pull/65300) +- \[[`bca3367583`](https://github.com/nodejs/node/commit/bca3367583)] - **test**: add a simple test for `import defer` of a CJS module (Maya Lekova) [#64694](https://github.com/nodejs/node/pull/64694) +- \[[`00b687bc4a`](https://github.com/nodejs/node/commit/00b687bc4a)] - **test**: cover ZIP fd lifecycle and add rollback (Philipp Dunkel) [#65016](https://github.com/nodejs/node/pull/65016) +- \[[`31742f2f42`](https://github.com/nodejs/node/commit/31742f2f42)] - **test**: cover ZIP header-confusion and DoS guards (Philipp Dunkel) [#65016](https://github.com/nodejs/node/pull/65016) +- \[[`87ee7bff38`](https://github.com/nodejs/node/commit/87ee7bff38)] - **test**: cover `realpathSync` resolving symlinks after a FIFO stat (Hendrik Liebau) [#65113](https://github.com/nodejs/node/pull/65113) +- \[[`fd7e904433`](https://github.com/nodejs/node/commit/fd7e904433)] - **test**: update tests to run with OpenSSL >= 3.0 FIPS mode (Filip Skokan) [#64960](https://github.com/nodejs/node/pull/64960) +- \[[`219495fe2c`](https://github.com/nodejs/node/commit/219495fe2c)] - **test**: account for \[EnforceRange] in test-webcrypto-prototype-pollution (Filip Skokan) [#65173](https://github.com/nodejs/node/pull/65173) +- \[[`bf86fab458`](https://github.com/nodejs/node/commit/bf86fab458)] - **test**: add permission fast api test (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`cc19107e5d`](https://github.com/nodejs/node/commit/cc19107e5d)] - **test**: update WPT for WebCryptoAPI to 4c2fd05ed5 (Node.js GitHub Bot) [#65150](https://github.com/nodejs/node/pull/65150) +- \[[`69e4fabb29`](https://github.com/nodejs/node/commit/69e4fabb29)] - **test**: update WPT for urlpattern to 4832db4761 (Node.js GitHub Bot) [#65151](https://github.com/nodejs/node/pull/65151) +- \[[`b1aa78a57e`](https://github.com/nodejs/node/commit/b1aa78a57e)] - **test**: fix hidden error in test-http-server-stale-close.js (Meghan Denny) [#59357](https://github.com/nodejs/node/pull/59357) +- \[[`59d7e22a12`](https://github.com/nodejs/node/commit/59d7e22a12)] - **test**: avoid deadlock issue in pipeline http2 tests to fix flakiness (Tim Perry) [#65079](https://github.com/nodejs/node/pull/65079) +- \[[`7074ae30fa`](https://github.com/nodejs/node/commit/7074ae30fa)] - **test**: allow half-open CONNECT tunnel sockets (Trivikram Kamat) [#64973](https://github.com/nodejs/node/pull/64973) +- \[[`82b2d9c08d`](https://github.com/nodejs/node/commit/82b2d9c08d)] - **test**: update passphrases to comply with the next OpenSSL FIPS mode (Filip Skokan) [#65077](https://github.com/nodejs/node/pull/65077) +- \[[`7f3a42035c`](https://github.com/nodejs/node/commit/7f3a42035c)] - **test**: use libuv clock for immediate queue test (Trivikram Kamat) [#64889](https://github.com/nodejs/node/pull/64889) +- \[[`7ddd853d8c`](https://github.com/nodejs/node/commit/7ddd853d8c)] - **test**: increase timeout in probe-failure-hang-during-evaluate (Joyee Cheung) [#64719](https://github.com/nodejs/node/pull/64719) +- \[[`28cad47cef`](https://github.com/nodejs/node/commit/28cad47cef)] - **test**: update WPT for WebCryptoAPI to 82c3d9069c (Node.js GitHub Bot) [#64977](https://github.com/nodejs/node/pull/64977) +- \[[`74a3e91bb7`](https://github.com/nodejs/node/commit/74a3e91bb7)] - **test**: prefer in-memory databases in sqlite tests (Paul Bouchon) [#64701](https://github.com/nodejs/node/pull/64701) +- \[[`7fc8a3ad8c`](https://github.com/nodejs/node/commit/7fc8a3ad8c)] - **test,doc**: cover and document multi-byte offset/size in randomFill (kyungrae2002) [#64834](https://github.com/nodejs/node/pull/64834) +- \[[`4de7e63883`](https://github.com/nodejs/node/commit/4de7e63883)] - **test\_runner**: match dotfiles in default coverage exclude (semimikoh) [#63401](https://github.com/nodejs/node/pull/63401) +- \[[`79c39c217d`](https://github.com/nodejs/node/commit/79c39c217d)] - **test\_runner**: print coverage and diagnostic info with dot reporter (mag123c) [#61423](https://github.com/nodejs/node/pull/61423) +- \[[`cce803b174`](https://github.com/nodejs/node/commit/cce803b174)] - **test\_runner**: use run options with isolation="none" (Sylvester Keil) [#62269](https://github.com/nodejs/node/pull/62269) +- \[[`797ef40d23`](https://github.com/nodejs/node/commit/797ef40d23)] - **test\_runner**: mock dual-package with conditional exports (Maruthan G) [#62943](https://github.com/nodejs/node/pull/62943) +- \[[`1ad7ca310a`](https://github.com/nodejs/node/commit/1ad7ca310a)] - **test\_runner**: restore directory search for --test (Paul Bouchon) [#64637](https://github.com/nodejs/node/pull/64637) +- \[[`400d598b3c`](https://github.com/nodejs/node/commit/400d598b3c)] - **test\_runner**: add classname hierarchy for JUnit reporter (mag123c) [#60220](https://github.com/nodejs/node/pull/60220) +- \[[`9572a0b15f`](https://github.com/nodejs/node/commit/9572a0b15f)] - **test\_runner**: fix junit report on empty diagnostic (Lazizbek Ergashev) [#65357](https://github.com/nodejs/node/pull/65357) +- \[[`e3fda695fe`](https://github.com/nodejs/node/commit/e3fda695fe)] - **test\_runner**: extend tag filter with boolean expression DSL (Chemi Atlow) [#63054](https://github.com/nodejs/node/pull/63054) +- \[[`4e06739c7b`](https://github.com/nodejs/node/commit/4e06739c7b)] - **test\_runner**: do not tag-filter test file wrappers (Chemi Atlow) [#65170](https://github.com/nodejs/node/pull/65170) +- \[[`e73f74738d`](https://github.com/nodejs/node/commit/e73f74738d)] - **test\_runner**: fix env option validation (Jihwan) [#64865](https://github.com/nodejs/node/pull/64865) +- \[[`2a0b1ec4cc`](https://github.com/nodejs/node/commit/2a0b1ec4cc)] - **tls**: throw on invalid ALPNProtocols instead of aborting (Sankalp Thakur) [#65076](https://github.com/nodejs/node/pull/65076) +- \[[`15da4a190b`](https://github.com/nodejs/node/commit/15da4a190b)] - **tls**: fix authorized state on no-cert TLS1.3 client cert resumption (Tim Perry) [#64677](https://github.com/nodejs/node/pull/64677) +- \[[`1864175435`](https://github.com/nodejs/node/commit/1864175435)] - **tls**: don't trigger SNICallback or OCSPRequest from the TLS lib stack (Tim Perry) [#64827](https://github.com/nodejs/node/pull/64827) +- \[[`8f4ee7eda5`](https://github.com/nodejs/node/commit/8f4ee7eda5)] - **tls**: drop hand-rolled TLS client hello parser (Tim Perry) [#64827](https://github.com/nodejs/node/pull/64827) +- \[[`a457631496`](https://github.com/nodejs/node/commit/a457631496)] - **tools**: improve commit queue failure comment (Filip Skokan) [#65433](https://github.com/nodejs/node/pull/65433) +- \[[`78175c68f8`](https://github.com/nodejs/node/commit/78175c68f8)] - **tools**: improve nix-changes coverage (Antoine du Hamel) [#65403](https://github.com/nodejs/node/pull/65403) +- \[[`6f0c08bf80`](https://github.com/nodejs/node/commit/6f0c08bf80)] - **tools**: refactor `shell.nix` pkcs11 integration to its own section (Antoine du Hamel) [#65404](https://github.com/nodejs/node/pull/65404) +- \[[`35b18b4455`](https://github.com/nodejs/node/commit/35b18b4455)] - **tools**: fix max body length handler in `create-release-proposal.sh` (Antoine du Hamel) [#65455](https://github.com/nodejs/node/pull/65455) +- \[[`88d5f644a2`](https://github.com/nodejs/node/commit/88d5f644a2)] - **tools**: bump brace-expansion in `/tools/clang-format` (dependabot\[bot]) [#64984](https://github.com/nodejs/node/pull/64984) +- \[[`41edd2f214`](https://github.com/nodejs/node/commit/41edd2f214)] - **tools**: make env variables consistent in cron jobs (Antoine du Hamel) [#65168](https://github.com/nodejs/node/pull/65168) +- \[[`7c09bd5ece`](https://github.com/nodejs/node/commit/7c09bd5ece)] - **tools**: fix man-page generation on Windows (James Ross) [#64886](https://github.com/nodejs/node/pull/64886) +- \[[`1a20d27118`](https://github.com/nodejs/node/commit/1a20d27118)] - **tools**: bump undici from 6.27.0 to 6.28.0 in /tools/doc (dependabot\[bot]) [#65011](https://github.com/nodejs/node/pull/65011) +- \[[`ebbe4af869`](https://github.com/nodejs/node/commit/ebbe4af869)] - **tools**: fix linter when `permittedInsecurePackages` is empty (Antoine du Hamel) [#65226](https://github.com/nodejs/node/pull/65226) +- \[[`17d2b067bf`](https://github.com/nodejs/node/commit/17d2b067bf)] - **tools**: update BoringSSL pin on v26.x (Filip Skokan) [#65483](https://github.com/nodejs/node/pull/65483) +- \[[`be4e7de04c`](https://github.com/nodejs/node/commit/be4e7de04c)] - **tools**: only include fast-tracked and old enough PRs in CQ (Antoine du Hamel) [#65197](https://github.com/nodejs/node/pull/65197) +- \[[`53d52731c9`](https://github.com/nodejs/node/commit/53d52731c9)] - **tools**: fix quote escaping in `update-nixpkgs-pin.sh` (Antoine du Hamel) [#65166](https://github.com/nodejs/node/pull/65166) +- \[[`40b1b18839`](https://github.com/nodejs/node/commit/40b1b18839)] - **tools**: remove skip logic in `commit-queue.sh` (Antoine du Hamel) [#65162](https://github.com/nodejs/node/pull/65162) +- \[[`5506f77924`](https://github.com/nodejs/node/commit/5506f77924)] - **tools**: bump js-yaml from 4.2.0 to 4.3.1 in /tools/lint-md (dependabot\[bot]) [#65129](https://github.com/nodejs/node/pull/65129) +- \[[`fc038a0ef5`](https://github.com/nodejs/node/commit/fc038a0ef5)] - **tools**: bump js-yaml from 4.2.0 to 4.3.1 in /tools/eslint (dependabot\[bot]) [#65130](https://github.com/nodejs/node/pull/65130) +- \[[`10b2c8a873`](https://github.com/nodejs/node/commit/10b2c8a873)] - **tools**: fix GITHUB\_TOKEN permissions for CQ workflow (Antoine du Hamel) [#65192](https://github.com/nodejs/node/pull/65192) +- \[[`73de450845`](https://github.com/nodejs/node/commit/73de450845)] - **tools**: use the read-only token when filtering PRs in CQ (Antoine du Hamel) [#65169](https://github.com/nodejs/node/pull/65169) +- \[[`31c1bcb627`](https://github.com/nodejs/node/commit/31c1bcb627)] - **tools**: delay removal of `commit-queue` label (Antoine du Hamel) [#65101](https://github.com/nodejs/node/pull/65101) +- \[[`89d3905595`](https://github.com/nodejs/node/commit/89d3905595)] - **tools**: move ncu config to global for commit queue (Filip Skokan) [#65132](https://github.com/nodejs/node/pull/65132) +- \[[`aa3b598e2e`](https://github.com/nodejs/node/commit/aa3b598e2e)] - **tools**: prefilter commit queue metadata (Filip Skokan) [#64343](https://github.com/nodejs/node/pull/64343) +- \[[`4f2c634258`](https://github.com/nodejs/node/commit/4f2c634258)] - **tools**: lazy-abort failed PR merges in CQ (Antoine du Hamel) [#65004](https://github.com/nodejs/node/pull/65004) +- \[[`8657497521`](https://github.com/nodejs/node/commit/8657497521)] - **tools**: fix `pkcs11-store-test` check (Antoine du Hamel) [#65023](https://github.com/nodejs/node/pull/65023) +- \[[`0e1a99ac24`](https://github.com/nodejs/node/commit/0e1a99ac24)] - **tools**: add an OpenSSL FIPS build to test-shared.yml (Filip Skokan) [#64960](https://github.com/nodejs/node/pull/64960) +- \[[`b6fa9c1819`](https://github.com/nodejs/node/commit/b6fa9c1819)] - **tools**: sync mk-ca-bundle.pl with curl (Archkon) [#64753](https://github.com/nodejs/node/pull/64753) +- \[[`f0140d7ebd`](https://github.com/nodejs/node/commit/f0140d7ebd)] - **tools**: store "default" OpenSSL version in `openssl-matrix.nix` (Antoine du Hamel) [#64962](https://github.com/nodejs/node/pull/64962) +- \[[`4c8d8afa99`](https://github.com/nodejs/node/commit/4c8d8afa99)] - **tools**: remove `true` from branch name for auto-update automation (Antoine du Hamel) [#64961](https://github.com/nodejs/node/pull/64961) +- \[[`2dd7d4c56f`](https://github.com/nodejs/node/commit/2dd7d4c56f)] - **tools**: add ./tools/nix/pkcs11.nix to nix-changes.yml (Filip Skokan) [#64967](https://github.com/nodejs/node/pull/64967) +- \[[`cf395004ed`](https://github.com/nodejs/node/commit/cf395004ed)] - **tty**: add raw-vt and io raw modes (Samuel Williams) [#64140](https://github.com/nodejs/node/pull/64140) +- \[[`a5e5c7f756`](https://github.com/nodejs/node/commit/a5e5c7f756)] - **typings**: add signal\_wrap internal binding types (Seongeun Lee) [#65229](https://github.com/nodejs/node/pull/65229) +- \[[`5219e53dd6`](https://github.com/nodejs/node/commit/5219e53dd6)] - **typings**: add diagnostics\_channel typings (Seongeun Lee) [#65227](https://github.com/nodejs/node/pull/65227) +- \[[`215223dff1`](https://github.com/nodejs/node/commit/215223dff1)] - **typings**: add watchdog internal binding types (Seongeun Lee) [#65228](https://github.com/nodejs/node/pull/65228) +- \[[`eb095a94bd`](https://github.com/nodejs/node/commit/eb095a94bd)] - **typings**: add internal\_only\_v8 binding typeis (Donghoon Kang) [#65071](https://github.com/nodejs/node/pull/65071) +- \[[`9fc811a0f2`](https://github.com/nodejs/node/commit/9fc811a0f2)] - **typings**: add credentials internal binding types (Donghoon Kang) [#65036](https://github.com/nodejs/node/pull/65036) +- \[[`f032c22430`](https://github.com/nodejs/node/commit/f032c22430)] - **url**: skip unused href reuse comparison (Yagiz Nizipli) [#65361](https://github.com/nodejs/node/pull/65361) +- \[[`2a64032141`](https://github.com/nodejs/node/commit/2a64032141)] - **url**: speed up WHATWG URL parsing (Yagiz Nizipli) [#65361](https://github.com/nodejs/node/pull/65361) +- \[[`c4dbe14ec6`](https://github.com/nodejs/node/commit/c4dbe14ec6)] - **url**: speed up URLSearchParams (Yagiz Nizipli) [#65363](https://github.com/nodejs/node/pull/65363) +- \[[`001c37c0a2`](https://github.com/nodejs/node/commit/001c37c0a2)] - **url**: bounds-check short Windows file URL paths (Archkon) [#64788](https://github.com/nodejs/node/pull/64788) +- \[[`1a63416b1a`](https://github.com/nodejs/node/commit/1a63416b1a)] - **url**: handle unparsable serialized URLs in setters (Matteo Collina) [#64651](https://github.com/nodejs/node/pull/64651) +- \[[`cb4b89c018`](https://github.com/nodejs/node/commit/cb4b89c018)] - **util**: allow single-line format when break length is infinite (Hamid Reza Ghavami) [#64238](https://github.com/nodejs/node/pull/64238) +- \[[`f644853680`](https://github.com/nodejs/node/commit/f644853680)] - **util**: fix OSC 8 hyperlink stripping in stripVTControlCharacters (Dushyant Singh Hada) [#64319](https://github.com/nodejs/node/pull/64319) +- \[[`eb1ebbb39d`](https://github.com/nodejs/node/commit/eb1ebbb39d)] - **util**: fix formatting of functions returned from getters (Richard Gibson) [#64839](https://github.com/nodejs/node/pull/64839) +- \[[`f373dab724`](https://github.com/nodejs/node/commit/f373dab724)] - **util**: use more primordials in `comparisons.js` (Ayoub Mabrouk) [#61198](https://github.com/nodejs/node/pull/61198) +- \[[`6ca9c1e078`](https://github.com/nodejs/node/commit/6ca9c1e078)] - **util**: preserve function names without source map names (Hiroki Osame) [#65108](https://github.com/nodejs/node/pull/65108) +- \[[`4299cd5897`](https://github.com/nodejs/node/commit/4299cd5897)] - **(SEMVER-MINOR)** **util**: add non-throwing MIMEType.parse (James M Snell) [#64965](https://github.com/nodejs/node/pull/64965) +- \[[`1aafd19813`](https://github.com/nodejs/node/commit/1aafd19813)] - **zlib**: roll back a failed add() directory rewrite (Philipp Dunkel) [#65016](https://github.com/nodejs/node/pull/65016) +- \[[`d29cc0926a`](https://github.com/nodejs/node/commit/d29cc0926a)] - **zlib**: let a ZipFile read finish before close() (Philipp Dunkel) [#65016](https://github.com/nodejs/node/pull/65016) +- \[[`2bda6db916`](https://github.com/nodejs/node/commit/2bda6db916)] - **zlib**: do not hang archiving a FIFO or device (Philipp Dunkel) [#65016](https://github.com/nodejs/node/pull/65016) +- \[[`55b04957c9`](https://github.com/nodejs/node/commit/55b04957c9)] - **zlib**: reject local/central ZIP header mismatch (Philipp Dunkel) [#65016](https://github.com/nodejs/node/pull/65016) +- \[[`575260d3b4`](https://github.com/nodejs/node/commit/575260d3b4)] - **zlib**: validate central directory record count (Matteo Collina) [#65002](https://github.com/nodejs/node/pull/65002) +- \[[`8e848d9be3`](https://github.com/nodejs/node/commit/8e848d9be3)] - **zlib**: reject ambiguous ZIP archive ends (Matteo Collina) [#65007](https://github.com/nodejs/node/pull/65007) +- \[[`df48191061`](https://github.com/nodejs/node/commit/df48191061)] - **(SEMVER-MINOR)** **zlib**: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) [#64339](https://github.com/nodejs/node/pull/64339) +- \[[`ee7bf09090`](https://github.com/nodejs/node/commit/ee7bf09090)] - **zlib**: validate pledgedSrcSize for sync zstd (Archkon) [#64601](https://github.com/nodejs/node/pull/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----- +```