v26.8.0
Wei-Shaw/sub2apiv26.8.0Aug 26, 2026by aduh95
AI Summary
This minor version release introduces significant enhancements to the crypto module, including new cipher modes and Zip support, alongside improvements to SQLite and benchmarking.
Key Highlights
- Added SIV and GCM-SIV modes to Cipher/Decipher APIs
- Added ZipFile, ZipBuffer, and ZipEntry to zlib
- Added StatementSync.prototype.close() and Symbol.dispose() to SQLite
- Added basic syntax highlighting to the REPL
- Added --analyze mode to benchmark compare.js
New Features
- Added SIV and GCM-SIV modes to Cipher/Decipher APIs
- Added ZipFile, ZipBuffer, and ZipEntry to zlib
- Added StatementSync.prototype.close() to SQLite
- Added basic syntax highlighting to the REPL
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)