v26.8.0
Gen-Verse/MMaDAv26.8.0Aug 26, 2026by aduh95
AI Summary
A feature-rich minor release introducing advanced cryptographic modes, new zlib utilities, SQLite enhancements, and performance improvements to the histogram implementation.
Key Highlights
- Added SIV and GCM-SIV cipher modes
- Added ZipEntry, ZipFile, and ZipBuffer to zlib
- Added --analyze mode to benchmark compare.js
- Marked TracingChannel as stable
New Features
- SIV and GCM-SIV cipher modes
- ZipEntry, ZipFile, and ZipBuffer APIs
- StatementSync.prototype.close() and Symbol.dispose() for SQLite
- --analyze mode for benchmarks
- Basic syntax highlighting for REPL
- Non-throwing MIMEType.parse
Full Release Notes
### 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)