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----- +```