diff --git a/apps/site/pages/en/blog/release/v24.21.0.md b/apps/site/pages/en/blog/release/v24.21.0.md new file mode 100644 index 0000000000000..e3b35563ab5a8 --- /dev/null +++ b/apps/site/pages/en/blog/release/v24.21.0.md @@ -0,0 +1,326 @@ +--- +date: '2026-09-09T11:55:20.945Z' +category: release +title: Node.js 24.21.0 (LTS) +layout: blog-post +author: Antoine du Hamel +--- + +## 2026-09-08, Version 24.21.0 'Krypton' (LTS), @aduh95 + +### Notable Changes + +- \[[`71106e1f17`](https://github.com/nodejs/node/commit/71106e1f17)] - **crypto**: update root certificates to NSS 3.126 (Node.js GitHub Bot) [#65495](https://github.com/nodejs/node/pull/65495) +- \[[`afca0a912d`](https://github.com/nodejs/node/commit/afca0a912d)] - **(SEMVER-MINOR)** **crypto**: support loading private keys through STORE loaders (Filip Skokan) [#63949](https://github.com/nodejs/node/pull/63949) +- \[[`6274fccbd9`](https://github.com/nodejs/node/commit/6274fccbd9)] - **deps**: update OpenSSL to 3.5.8 (Node.js GitHub Bot) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`53cba013c7`](https://github.com/nodejs/node/commit/53cba013c7)] - **deps**: update Undici to 7.29.1 (Node.js GitHub Bot) [#65789](https://github.com/nodejs/node/pull/65789) +- \[[`0529772798`](https://github.com/nodejs/node/commit/0529772798)] - **(SEMVER-MINOR)** **lib,src**: improve histogram implementation (James M Snell) [#65024](https://github.com/nodejs/node/pull/65024) +- \[[`41c7062b81`](https://github.com/nodejs/node/commit/41c7062b81)] - **(SEMVER-MINOR)** **net**: improve performance of `net.BlockList` (James M Snell) [#64974](https://github.com/nodejs/node/pull/64974) +- \[[`5197b5a3c5`](https://github.com/nodejs/node/commit/5197b5a3c5)] - **(SEMVER-MINOR)** **perf\_hooks**: add statistical hypothesis testing to histogram (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`35c635b032`](https://github.com/nodejs/node/commit/35c635b032)] - **(SEMVER-MINOR)** **util**: add non-throwing `MIMEType.parse` (James M Snell) [#64965](https://github.com/nodejs/node/pull/64965) + +### Commits + +- \[[`84d706cb9b`](https://github.com/nodejs/node/commit/84d706cb9b)] - **assert**: improve documentation wording (Kamal Rawal) [#64953](https://github.com/nodejs/node/pull/64953) +- \[[`90d127db33`](https://github.com/nodejs/node/commit/90d127db33)] - **(SEMVER-MINOR)** **benchmark**: add --analyze mode to compare.js (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`ad1d7884c3`](https://github.com/nodejs/node/commit/ad1d7884c3)] - **benchmark**: add test-only and mock timers cases (Luan Muniz) [#64097](https://github.com/nodejs/node/pull/64097) +- \[[`1d8f045914`](https://github.com/nodejs/node/commit/1d8f045914)] - **benchmark**: apply `highWaterMark` in webstreams `pipe-to` (Matteo Collina) [#65138](https://github.com/nodejs/node/pull/65138) +- \[[`ed7ba3c993`](https://github.com/nodejs/node/commit/ed7ba3c993)] - **benchmark**: complete the sqlite is-transaction fix (Edy Silva) [#65218](https://github.com/nodejs/node/pull/65218) +- \[[`c8837e1aa3`](https://github.com/nodejs/node/commit/c8837e1aa3)] - **benchmark**: add test runner hooks and options (Luan Muniz) [#63754](https://github.com/nodejs/node/pull/63754) +- \[[`2ba8661e23`](https://github.com/nodejs/node/commit/2ba8661e23)] - **buffer**: prevent string write offset overflow (Matteo Collina) [#65043](https://github.com/nodejs/node/pull/65043) +- \[[`cc9ee6c2ae`](https://github.com/nodejs/node/commit/cc9ee6c2ae)] - **buffer**: treat detached ArrayBuffers as empty (Archkon) [#64504](https://github.com/nodejs/node/pull/64504) +- \[[`5a5d73e4c5`](https://github.com/nodejs/node/commit/5a5d73e4c5)] - **build**: pass target architecture to small-icu genccode (ulofiai) [#65095](https://github.com/nodejs/node/pull/65095) +- \[[`273e72d1a5`](https://github.com/nodejs/node/commit/273e72d1a5)] - **build**: deprecate always enabled `--enable-static` (Chengzhong Wu) [#65103](https://github.com/nodejs/node/pull/65103) +- \[[`89a67246e3`](https://github.com/nodejs/node/commit/89a67246e3)] - **build**: check FIPS option value in node.gyp (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`2d21f41cd5`](https://github.com/nodejs/node/commit/2d21f41cd5)] - **build**: handle malformed OpenSSL macros (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`f62bc0f862`](https://github.com/nodejs/node/commit/f62bc0f862)] - **build,win**: add PGO workload scripts (Stefan Stojanovic) [#63696](https://github.com/nodejs/node/pull/63696) +- \[[`33d0c7dc12`](https://github.com/nodejs/node/commit/33d0c7dc12)] - **child\_process**: keep SIGWINCH from killing on Win (Kirill Saied) [#64510](https://github.com/nodejs/node/pull/64510) +- \[[`71106e1f17`](https://github.com/nodejs/node/commit/71106e1f17)] - **crypto**: update root certificates to NSS 3.126 (Node.js GitHub Bot) [#65495](https://github.com/nodejs/node/pull/65495) +- \[[`419af8b86d`](https://github.com/nodejs/node/commit/419af8b86d)] - **crypto**: fix missing error checks on ASN1\_STRING\_to\_UTF8() (Nora Dossche) [#65200](https://github.com/nodejs/node/pull/65200) +- \[[`8029383f3f`](https://github.com/nodejs/node/commit/8029383f3f)] - **crypto**: use available BoringSSL APIs (Filip Skokan) [#65423](https://github.com/nodejs/node/pull/65423) +- \[[`a9bd780e19`](https://github.com/nodejs/node/commit/a9bd780e19)] - **crypto**: remove obsolete BoringSSL shims (Filip Skokan) [#65423](https://github.com/nodejs/node/pull/65423) +- \[[`7defefad3f`](https://github.com/nodejs/node/commit/7defefad3f)] - **crypto**: read WebCrypto inputs through primordials (Filip Skokan) [#65115](https://github.com/nodejs/node/pull/65115) +- \[[`6ed1e38627`](https://github.com/nodejs/node/commit/6ed1e38627)] - **crypto**: fix disabling FIPS mode (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`afca0a912d`](https://github.com/nodejs/node/commit/afca0a912d)] - **(SEMVER-MINOR)** **crypto**: support loading private keys through STORE loaders (Filip Skokan) [#63949](https://github.com/nodejs/node/pull/63949) +- \[[`9b9dd6e9cf`](https://github.com/nodejs/node/commit/9b9dd6e9cf)] - **debugger**: wait for target startup (Filip Skokan) [#65194](https://github.com/nodejs/node/pull/65194) +- \[[`07faaeeffd`](https://github.com/nodejs/node/commit/07faaeeffd)] - **deps**: update corepack to 0.36.0 (Node.js GitHub Bot) [#65653](https://github.com/nodejs/node/pull/65653) +- \[[`53cba013c7`](https://github.com/nodejs/node/commit/53cba013c7)] - **deps**: update undici to 7.29.1 (Node.js GitHub Bot) [#65789](https://github.com/nodejs/node/pull/65789) +- \[[`0268ca547c`](https://github.com/nodejs/node/commit/0268ca547c)] - **deps**: update archs files for openssl-3.5.8 (Node.js GitHub Bot) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`6274fccbd9`](https://github.com/nodejs/node/commit/6274fccbd9)] - **deps**: upgrade openssl sources to openssl-3.5.8 (Node.js GitHub Bot) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`6bdcd121fa`](https://github.com/nodejs/node/commit/6bdcd121fa)] - **deps**: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) [#65316](https://github.com/nodejs/node/pull/65316) +- \[[`c2aa446b6d`](https://github.com/nodejs/node/commit/c2aa446b6d)] - **deps**: update simdjson to 4.6.7 (Node.js GitHub Bot) [#65318](https://github.com/nodejs/node/pull/65318) +- \[[`3e58e48ea8`](https://github.com/nodejs/node/commit/3e58e48ea8)] - **deps**: update googletest to 49495eacfdbda3f4b6ba219923fedbb2e3f99376 (Node.js GitHub Bot) [#65317](https://github.com/nodejs/node/pull/65317) +- \[[`670b3665c0`](https://github.com/nodejs/node/commit/670b3665c0)] - **deps**: cherry-pick libuv/libuv\@e640dc9 (ulofiai) [#65118](https://github.com/nodejs/node/pull/65118) +- \[[`ca1c67b021`](https://github.com/nodejs/node/commit/ca1c67b021)] - **deps**: float ICU-23262 patch for icu78 (René) [#64678](https://github.com/nodejs/node/pull/64678) +- \[[`4ad043b0aa`](https://github.com/nodejs/node/commit/4ad043b0aa)] - **deps**: enable AVX-512 OpenSSL asm with clang (Daniel Lemire) [#65136](https://github.com/nodejs/node/pull/65136) +- \[[`96b4af109b`](https://github.com/nodejs/node/commit/96b4af109b)] - **deps**: update googletest to d89aac5f0dd4021198d903d39de16f896726de21 (Node.js GitHub Bot) [#65153](https://github.com/nodejs/node/pull/65153) +- \[[`774f663c56`](https://github.com/nodejs/node/commit/774f663c56)] - **dgram**: don't swallow bind errors when callback is provided (armanmikoyan) [#62602](https://github.com/nodejs/node/pull/62602) +- \[[`94b118d62e`](https://github.com/nodejs/node/commit/94b118d62e)] - **diagnostics\_channel**: validate before channel activation (Trivikram Kamat) [#65313](https://github.com/nodejs/node/pull/65313) +- \[[`09788665bd`](https://github.com/nodejs/node/commit/09788665bd)] - **dns**: validate address type in lookupService (Lazizbek Ergashev) [#64878](https://github.com/nodejs/node/pull/64878) +- \[[`15f95fc0e2`](https://github.com/nodejs/node/commit/15f95fc0e2)] - **dns**: validate port range in `setServers()` (René) [#65021](https://github.com/nodejs/node/pull/65021) +- \[[`37b9e9a154`](https://github.com/nodejs/node/commit/37b9e9a154)] - **dns**: fix crash on setServers with port 0 (Lazizbek Ergashev) [#65009](https://github.com/nodejs/node/pull/65009) +- \[[`cd6205fa0d`](https://github.com/nodejs/node/commit/cd6205fa0d)] - **doc**: update AHAFS reference link (Taeuk Ha) [#65481](https://github.com/nodejs/node/pull/65481) +- \[[`0e6f9ae42e`](https://github.com/nodejs/node/commit/0e6f9ae42e)] - **doc**: fix property names in os.networkInterfaces() example (Jihwan) [#65469](https://github.com/nodejs/node/pull/65469) +- \[[`034a827b41`](https://github.com/nodejs/node/commit/034a827b41)] - **doc**: fix broken links in cli.md (Donghoon Kang) [#65412](https://github.com/nodejs/node/pull/65412) +- \[[`eb364621d4`](https://github.com/nodejs/node/commit/eb364621d4)] - **doc**: remove outdated WASI version fallback (이혜미) [#65303](https://github.com/nodejs/node/pull/65303) +- \[[`b13f425bf8`](https://github.com/nodejs/node/commit/b13f425bf8)] - **doc**: fix broken GYP link in n-api.md (Donghoon Kang) [#65413](https://github.com/nodejs/node/pull/65413) +- \[[`45c4011067`](https://github.com/nodejs/node/commit/45c4011067)] - **doc**: document that an empty OPENSSL\_CONF skips config loading (Orgad Shaneh) [#64949](https://github.com/nodejs/node/pull/64949) +- \[[`fde6776c5f`](https://github.com/nodejs/node/commit/fde6776c5f)] - **doc**: fix broken TLS security level example (soreavis) [#65391](https://github.com/nodejs/node/pull/65391) +- \[[`290c1fec04`](https://github.com/nodejs/node/commit/290c1fec04)] - **doc**: clarify socket destroyed behavior (Dayun) [#65395](https://github.com/nodejs/node/pull/65395) +- \[[`a7e8269947`](https://github.com/nodejs/node/commit/a7e8269947)] - **doc**: update outdated nodejs.org guide links (Donghoon Kang) [#65394](https://github.com/nodejs/node/pull/65394) +- \[[`7809f11249`](https://github.com/nodejs/node/commit/7809f11249)] - **doc**: clarify that ipv4 mapped to ipv6 are classified as ipv6 (Vedant Kulkarni) [#62117](https://github.com/nodejs/node/pull/62117) +- \[[`64cd3a6e95`](https://github.com/nodejs/node/commit/64cd3a6e95)] - **doc**: clarify how fs.Dirent file types are determined (soreavis) [#64532](https://github.com/nodejs/node/pull/64532) +- \[[`9b92fdce14`](https://github.com/nodejs/node/commit/9b92fdce14)] - **doc**: update security release prepare command (Rafael Gonzaga) [#64699](https://github.com/nodejs/node/pull/64699) +- \[[`6f9b9df3c1`](https://github.com/nodejs/node/commit/6f9b9df3c1)] - **doc**: clarify copyFile symlink behavior (T) [#62941](https://github.com/nodejs/node/pull/62941) +- \[[`2480acb550`](https://github.com/nodejs/node/commit/2480acb550)] - **doc**: document setRawMode write access on Windows (Erik Demaine) [#63856](https://github.com/nodejs/node/pull/63856) +- \[[`a1e9c3a5db`](https://github.com/nodejs/node/commit/a1e9c3a5db)] - **doc**: add missing return types in fs.md (Chaseton Collins) [#65307](https://github.com/nodejs/node/pull/65307) +- \[[`4533572040`](https://github.com/nodejs/node/commit/4533572040)] - **doc**: add missing return types in buffer.md (Yuya Inoue) [#65308](https://github.com/nodejs/node/pull/65308) +- \[[`39ecedbbd2`](https://github.com/nodejs/node/commit/39ecedbbd2)] - **doc**: fix lint clean command (greenhead) [#65274](https://github.com/nodejs/node/pull/65274) +- \[[`0b1fb8fcd8`](https://github.com/nodejs/node/commit/0b1fb8fcd8)] - **doc**: fix typo in onboarding.md (서울민트초코) [#65295](https://github.com/nodejs/node/pull/65295) +- \[[`3165b5d38a`](https://github.com/nodejs/node/commit/3165b5d38a)] - **doc**: add missing `added:` tags to `fs.lchmod` (Lazizbek Ergashev) [#65283](https://github.com/nodejs/node/pull/65283) +- \[[`113b808e59`](https://github.com/nodejs/node/commit/113b808e59)] - **doc**: fix SQLite changeset constant descriptions (greenhead) [#65265](https://github.com/nodejs/node/pull/65265) +- \[[`c3eb51d5a1`](https://github.com/nodejs/node/commit/c3eb51d5a1)] - **doc**: document open pull request limit (Matteo Collina) [#65250](https://github.com/nodejs/node/pull/65250) +- \[[`d7accdcd52`](https://github.com/nodejs/node/commit/d7accdcd52)] - **doc**: document http2 header constants (Harjoth Khara) [#64548](https://github.com/nodejs/node/pull/64548) +- \[[`f47111416f`](https://github.com/nodejs/node/commit/f47111416f)] - **doc**: create ai-guidelines and include to CONTRIBUTING (Rafael Gonzaga) [#62105](https://github.com/nodejs/node/pull/62105) +- \[[`c3b120e737`](https://github.com/nodejs/node/commit/c3b120e737)] - **doc**: update synopsis (Augustin Mauroy) [#65171](https://github.com/nodejs/node/pull/65171) +- \[[`39f4c831fd`](https://github.com/nodejs/node/commit/39f4c831fd)] - **doc**: fix broken internal links (greenhead) [#64901](https://github.com/nodejs/node/pull/64901) +- \[[`be25cdd69e`](https://github.com/nodejs/node/commit/be25cdd69e)] - **doc**: report proper return type on urlPattern.test (Brian Muenzenmeyer) [#64831](https://github.com/nodejs/node/pull/64831) +- \[[`1bf7737810`](https://github.com/nodejs/node/commit/1bf7737810)] - **doc**: fix permission documentation examples (greenhead) [#64897](https://github.com/nodejs/node/pull/64897) +- \[[`b7932e68a1`](https://github.com/nodejs/node/commit/b7932e68a1)] - **doc**: document sqlite parameter binding (Guilherme Araújo) [#65089](https://github.com/nodejs/node/pull/65089) +- \[[`5234a5169c`](https://github.com/nodejs/node/commit/5234a5169c)] - **doc**: finalize statements in sqlite examples (Guilherme Araújo) [#65088](https://github.com/nodejs/node/pull/65088) +- \[[`39ea929da7`](https://github.com/nodejs/node/commit/39ea929da7)] - **doc**: document quic stopSending() and resetStream() (Issac) [#64888](https://github.com/nodejs/node/pull/64888) +- \[[`2ba198db73`](https://github.com/nodejs/node/commit/2ba198db73)] - **doc**: clarify sqlite bare parameter default (Sumit Kumar Das) [#62009](https://github.com/nodejs/node/pull/62009) +- \[[`314f9b200f`](https://github.com/nodejs/node/commit/314f9b200f)] - **doc**: remove usage of `util.inherits` (Augustin Mauroy) [#60817](https://github.com/nodejs/node/pull/60817) +- \[[`d82a61662c`](https://github.com/nodejs/node/commit/d82a61662c)] - **doc**: fix grammar in worker\_threads.md (이혜미) [#64913](https://github.com/nodejs/node/pull/64913) +- \[[`44c0c8ff5b`](https://github.com/nodejs/node/commit/44c0c8ff5b)] - **doc**: clarify OpenSSL FIPS configuration (Filip Skokan) [#64982](https://github.com/nodejs/node/pull/64982) +- \[[`9b2ca70e0d`](https://github.com/nodejs/node/commit/9b2ca70e0d)] - **doc**: remove `--expose-gc` flag from CLI documentation (Dario Piotrowicz) [#58909](https://github.com/nodejs/node/pull/58909) +- \[[`a0a12397b9`](https://github.com/nodejs/node/commit/a0a12397b9)] - **doc**: document ArrayBuffer support in pbkd2Sync (kyungrae2002) [#64976](https://github.com/nodejs/node/pull/64976) +- \[[`b48699e077`](https://github.com/nodejs/node/commit/b48699e077)] - **doc**: correct default highWaterMark values (Yilong Li) [#64617](https://github.com/nodejs/node/pull/64617) +- \[[`0312ee133c`](https://github.com/nodejs/node/commit/0312ee133c)] - **esm**: avoid super-linear data URL MIME regex (Sumit Kumar Das) [#61951](https://github.com/nodejs/node/pull/61951) +- \[[`cd84d55c81`](https://github.com/nodejs/node/commit/cd84d55c81)] - **esm**: only register text format when enabled (Efe Karasakal) [#64992](https://github.com/nodejs/node/pull/64992) +- \[[`c0a8ef611e`](https://github.com/nodejs/node/commit/c0a8ef611e)] - **esm**: fix wasm import name in error message (이혜미) [#64950](https://github.com/nodejs/node/pull/64950) +- \[[`e6c34f90c2`](https://github.com/nodejs/node/commit/e6c34f90c2)] - **events**: inline iterationCondition hybrid dispatch closure (Szymon Łągiewka) [#64473](https://github.com/nodejs/node/pull/64473) +- \[[`6ee4b40c91`](https://github.com/nodejs/node/commit/6ee4b40c91)] - **events**: inline createEvent hybrid dispatch closure (Szymon Łągiewka) [#64473](https://github.com/nodejs/node/pull/64473) +- \[[`367549eed5`](https://github.com/nodejs/node/commit/367549eed5)] - **fs**: use sized reads for large files in readFileUtf8 (Shelley Vohr) [#65328](https://github.com/nodejs/node/pull/65328) +- \[[`8a5b1ae4c2`](https://github.com/nodejs/node/commit/8a5b1ae4c2)] - **fs**: fix realpath of namespaced drive paths (Jason Zhang) [#65378](https://github.com/nodejs/node/pull/65378) +- \[[`c9233b950d`](https://github.com/nodejs/node/commit/c9233b950d)] - **fs**: fix glob early return skipping sibling entries (Srinu desetti) [#64895](https://github.com/nodejs/node/pull/64895) +- \[[`bc54dd8905`](https://github.com/nodejs/node/commit/bc54dd8905)] - **fs**: pass symlink type in cp when filter is provided (Jerry Zhao) [#62654](https://github.com/nodejs/node/pull/62654) +- \[[`fcb4333aca`](https://github.com/nodejs/node/commit/fcb4333aca)] - **fs**: allocate FSReqPromise stat arrays lazily (Samuel Attard) [#63886](https://github.com/nodejs/node/pull/63886) +- \[[`c35876154e`](https://github.com/nodejs/node/commit/c35876154e)] - **fs**: fix out-of-bounds write in mkdtemp for long prefixes (Hierax\_Umbra) [#64770](https://github.com/nodejs/node/pull/64770) +- \[[`b269616936`](https://github.com/nodejs/node/commit/b269616936)] - **fs**: treat `std::errc::permission_denied` as `EPERM` error (Kirill Saied) [#64698](https://github.com/nodejs/node/pull/64698) +- \[[`212fe77e76`](https://github.com/nodejs/node/commit/212fe77e76)] - **fs**: add windowsHandle option to file streams (Kirill Saied) [#63851](https://github.com/nodejs/node/pull/63851) +- \[[`75df6cb435`](https://github.com/nodejs/node/commit/75df6cb435)] - **http**: improve performance with known-length calls to end() (Tim Perry) [#65466](https://github.com/nodejs/node/pull/65466) +- \[[`48d9cd4a28`](https://github.com/nodejs/node/commit/48d9cd4a28)] - **http**: cache maxHeaderPairs per header section (GetThatCookie) [#64988](https://github.com/nodejs/node/pull/64988) +- \[[`04785c8f43`](https://github.com/nodejs/node/commit/04785c8f43)] - **http**: fix keylog listener setup on existing agent sockets (Shani Singh) [#65066](https://github.com/nodejs/node/pull/65066) +- \[[`4b90031534`](https://github.com/nodejs/node/commit/4b90031534)] - **http**: emit drain on socket takeover and avoid stale HWM reuse (Naman Trivedi) [#64991](https://github.com/nodejs/node/pull/64991) +- \[[`83a27559cd`](https://github.com/nodejs/node/commit/83a27559cd)] - **http2**: adapt receive deferral for Node.js 24 (Matteo Collina) [#65093](https://github.com/nodejs/node/pull/65093) +- \[[`f43bed0ecc`](https://github.com/nodejs/node/commit/f43bed0ecc)] - **http2**: avoid uaf while receiving and sending rst\_stream (esgor) [#64166](https://github.com/nodejs/node/pull/64166) +- \[[`b42d664321`](https://github.com/nodejs/node/commit/b42d664321)] - **inspector**: avoid calling into JS from V8 interrupts (Joyee Cheung) [#65028](https://github.com/nodejs/node/pull/65028) +- \[[`6bf852197d`](https://github.com/nodejs/node/commit/6bf852197d)] - **lib**: use bracket notation instead of startsWith/endsWith for single char (Taejin Kim) [#61500](https://github.com/nodejs/node/pull/61500) +- \[[`151ca7e104`](https://github.com/nodejs/node/commit/151ca7e104)] - **lib**: harden webidl dictionary member reads (Filip Skokan) [#65115](https://github.com/nodejs/node/pull/65115) +- \[[`7e8c2c9f44`](https://github.com/nodejs/node/commit/7e8c2c9f44)] - **lib**: use validateArray for array arguments (greenhead) [#64959](https://github.com/nodejs/node/pull/64959) +- \[[`424fe2bc5a`](https://github.com/nodejs/node/commit/424fe2bc5a)] - **lib**: add and test \[EnforceRange] in webcrypto dictionaries (Filip Skokan) [#65091](https://github.com/nodejs/node/pull/65091) +- \[[`0529772798`](https://github.com/nodejs/node/commit/0529772798)] - **(SEMVER-MINOR)** **lib,src**: improve histogram implementation (James M Snell) [#65024](https://github.com/nodejs/node/pull/65024) +- \[[`186e1b76e8`](https://github.com/nodejs/node/commit/186e1b76e8)] - **meta**: move targos to emeritus (Michaël Zasso) [#65393](https://github.com/nodejs/node/pull/65393) +- \[[`b41b07c72a`](https://github.com/nodejs/node/commit/b41b07c72a)] - **meta**: add unified http api initiative (James M Snell) [#65139](https://github.com/nodejs/node/pull/65139) +- \[[`f85b6ecd67`](https://github.com/nodejs/node/commit/f85b6ecd67)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#65182](https://github.com/nodejs/node/pull/65182) +- \[[`8f3d01bdce`](https://github.com/nodejs/node/commit/8f3d01bdce)] - **meta**: add Aviv Keller to `.mailmap` (Aviv Keller) [#65048](https://github.com/nodejs/node/pull/65048) +- \[[`cfad1d5b28`](https://github.com/nodejs/node/commit/cfad1d5b28)] - **meta**: update sccache to 0.17.0 (René) [#64985](https://github.com/nodejs/node/pull/64985) +- \[[`349c53c441`](https://github.com/nodejs/node/commit/349c53c441)] - **module**: report unreadable package.json (Paul Bouchon) [#65223](https://github.com/nodejs/node/pull/65223) +- \[[`bd21e6706e`](https://github.com/nodejs/node/commit/bd21e6706e)] - **module**: cache nearest parent package.json per directory (Shelley Vohr) [#65326](https://github.com/nodejs/node/pull/65326) +- \[[`961bd04370`](https://github.com/nodejs/node/commit/961bd04370)] - **module**: fix --check on ambiguous ESM files (Paul Bouchon) [#65203](https://github.com/nodejs/node/pull/65203) +- \[[`f45ef73420`](https://github.com/nodejs/node/commit/f45ef73420)] - **net**: handle undefined parent in \_unrefTimer and \_destroy (Shivay-98) [#64644](https://github.com/nodejs/node/pull/64644) +- \[[`41c7062b81`](https://github.com/nodejs/node/commit/41c7062b81)] - **(SEMVER-MINOR)** **net**: improve performance of net.BlockList (James M Snell) [#64974](https://github.com/nodejs/node/pull/64974) +- \[[`5197b5a3c5`](https://github.com/nodejs/node/commit/5197b5a3c5)] - **(SEMVER-MINOR)** **perf\_hooks**: add statistical hypothesis testing to histogram (James M Snell) [#65416](https://github.com/nodejs/node/pull/65416) +- \[[`1722ddac28`](https://github.com/nodejs/node/commit/1722ddac28)] - **permission**: enforce addon permission in GetLinkedBinding (Rafael Gonzaga) [#65432](https://github.com/nodejs/node/pull/65432) +- \[[`dff2b675db`](https://github.com/nodejs/node/commit/dff2b675db)] - **process**: validate resource stats array offsets (Archkon) [#65098](https://github.com/nodejs/node/pull/65098) +- \[[`f277983e7b`](https://github.com/nodejs/node/commit/f277983e7b)] - **quic**: changes for nghttp3\_conn\_close\_stream2 (Marten Richter) [#64574](https://github.com/nodejs/node/pull/64574) +- \[[`a4c770c78e`](https://github.com/nodejs/node/commit/a4c770c78e)] - **quic**: mark drain promise handled (James M Snell) [#65319](https://github.com/nodejs/node/pull/65319) +- \[[`2460b171c5`](https://github.com/nodejs/node/commit/2460b171c5)] - **quic**: reset rejected HTTP/3 request streams with H3\_REQUEST\_REJECTED (trivenay) [#65442](https://github.com/nodejs/node/pull/65442) +- \[[`18a7ccf302`](https://github.com/nodejs/node/commit/18a7ccf302)] - **quic**: write desired size needs update on maxstream (Marten Richter) [#64768](https://github.com/nodejs/node/pull/64768) +- \[[`9017f4a780`](https://github.com/nodejs/node/commit/9017f4a780)] - **quic**: do not destroy incoming streams that have a consumer (trivenay) [#65335](https://github.com/nodejs/node/pull/65335) +- \[[`ddc41c1ef4`](https://github.com/nodejs/node/commit/ddc41c1ef4)] - **quic**: fix wake up blob (Marten Richter) [#64044](https://github.com/nodejs/node/pull/64044) +- \[[`88bee43d7c`](https://github.com/nodejs/node/commit/88bee43d7c)] - **quic**: convert incoming :status header to number (Hallison Pereira Melo) [#63589](https://github.com/nodejs/node/pull/63589) +- \[[`cd776fe97c`](https://github.com/nodejs/node/commit/cd776fe97c)] - **quic**: fix infinite loop if STOP\_SENDING received on a buffering stream (Tim Perry) [#64715](https://github.com/nodejs/node/pull/64715) +- \[[`4f6eda3c23`](https://github.com/nodejs/node/commit/4f6eda3c23)] - **repl**: keep entries added while history file is loading (Mhayk Whandson) [#64513](https://github.com/nodejs/node/pull/64513) +- \[[`cd1e6ce29b`](https://github.com/nodejs/node/commit/cd1e6ce29b)] - **repl**: add benchmarks (Aviv Keller) [#64590](https://github.com/nodejs/node/pull/64590) +- \[[`2ba740669d`](https://github.com/nodejs/node/commit/2ba740669d)] - **sea**: avoid dangling CLI option pointers (Archkon) [#64755](https://github.com/nodejs/node/pull/64755) +- \[[`ec5e2d6856`](https://github.com/nodejs/node/commit/ec5e2d6856)] - **sea**: handle NUL bytes in asset keys (Archkon) [#64773](https://github.com/nodejs/node/pull/64773) +- \[[`703b854293`](https://github.com/nodejs/node/commit/703b854293)] - **sea**: reject trailing content in config JSON (Archkon) [#64774](https://github.com/nodejs/node/pull/64774) +- \[[`a61a5fdd1c`](https://github.com/nodejs/node/commit/a61a5fdd1c)] - **sqlite**: prevent reentrant session.close() (Trivikram Kamat) [#65349](https://github.com/nodejs/node/pull/65349) +- \[[`6ae81be0a3`](https://github.com/nodejs/node/commit/6ae81be0a3)] - **sqlite**: reject statement-less SQL in prepare() (Trevor Burnham) [#65157](https://github.com/nodejs/node/pull/65157) +- \[[`043dfe4996`](https://github.com/nodejs/node/commit/043dfe4996)] - **sqlite**: reject statement-less SQL in SQLTagStore (Trevor Burnham) [#65157](https://github.com/nodejs/node/pull/65157) +- \[[`b8faee02e1`](https://github.com/nodejs/node/commit/b8faee02e1)] - **sqlite**: check null returns from sqlite value functions (Nora Dossche) [#63288](https://github.com/nodejs/node/pull/63288) +- \[[`d6d2a71bee`](https://github.com/nodejs/node/commit/d6d2a71bee)] - **sqlite**: validate maxSize argument in createTagStore() (Anshika Jain) [#63792](https://github.com/nodejs/node/pull/63792) +- \[[`61a046309f`](https://github.com/nodejs/node/commit/61a046309f)] - **sqlite**: reject non-positive backup rates (Trivikram Kamat) [#64893](https://github.com/nodejs/node/pull/64893) +- \[[`514e3f30fb`](https://github.com/nodejs/node/commit/514e3f30fb)] - **sqlite**: clear SQLTagStore bindings (Matteo Collina) [#65041](https://github.com/nodejs/node/pull/65041) +- \[[`c1542255b8`](https://github.com/nodejs/node/commit/c1542255b8)] - **sqlite**: bind Boolean (mike-git374) [#62001](https://github.com/nodejs/node/pull/62001) +- \[[`cdb732beb5`](https://github.com/nodejs/node/commit/cdb732beb5)] - **sqlite**: fix undefined behaviour in `Session::Changeset()` (Nora Dossche) [#63637](https://github.com/nodejs/node/pull/63637) +- \[[`fbe8861111`](https://github.com/nodejs/node/commit/fbe8861111)] - **sqlite**: bind ArrayBuffer (mike-git374) [#62061](https://github.com/nodejs/node/pull/62061) +- \[[`e3c6bd6bc8`](https://github.com/nodejs/node/commit/e3c6bd6bc8)] - **src**: add missing vector include (Filip Skokan) [#65622](https://github.com/nodejs/node/pull/65622) +- \[[`793cf69df8`](https://github.com/nodejs/node/commit/793cf69df8)] - **src**: fix heap value deduplication in embedder graph (Ilyas Shabi) [#64801](https://github.com/nodejs/node/pull/64801) +- \[[`ea5935b04c`](https://github.com/nodejs/node/commit/ea5935b04c)] - **src**: fix out-of-bounds write when transcoding odd-length ucs2 (nashit hayat) [#64512](https://github.com/nodejs/node/pull/64512) +- \[[`22e5023f4d`](https://github.com/nodejs/node/commit/22e5023f4d)] - **src**: escape Windows environment variables in task runner (Antoine du Hamel) [#65217](https://github.com/nodejs/node/pull/65217) +- \[[`a0f3c62bd9`](https://github.com/nodejs/node/commit/a0f3c62bd9)] - **src**: simplify c++ diagnostics channel API (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`8e831a3d2e`](https://github.com/nodejs/node/commit/8e831a3d2e)] - **src**: make minor cleanup to permission checks (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`968b2ca3a3`](https://github.com/nodejs/node/commit/968b2ca3a3)] - **src**: use DictionaryTemplate for permission diag channel message (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`18e16e7f8d`](https://github.com/nodejs/node/commit/18e16e7f8d)] - **src**: cache permission strings (James M Snell) [#65158](https://github.com/nodejs/node/pull/65158) +- \[[`c8625a4b6f`](https://github.com/nodejs/node/commit/c8625a4b6f)] - **src**: add SetAbortHandler (Max H Fisher) [#64684](https://github.com/nodejs/node/pull/64684) +- \[[`c990140d60`](https://github.com/nodejs/node/commit/c990140d60)] - **src**: match cmd.exe case-insensitively in task runner (Archkon) [#64907](https://github.com/nodejs/node/pull/64907) +- \[[`d7463b9dbc`](https://github.com/nodejs/node/commit/d7463b9dbc)] - **src**: reuse cached env strings in remaining files (Seongeun Lee) [#65039](https://github.com/nodejs/node/pull/65039) +- \[[`b055a43b93`](https://github.com/nodejs/node/commit/b055a43b93)] - **src**: expose Windows-only fs open flags (Kirill Saied) [#64775](https://github.com/nodejs/node/pull/64775) +- \[[`7f21e37496`](https://github.com/nodejs/node/commit/7f21e37496)] - **src**: report why --enable-fips failed (Filip Skokan) [#64979](https://github.com/nodejs/node/pull/64979) +- \[[`8c11beae27`](https://github.com/nodejs/node/commit/8c11beae27)] - **src**: update repeated use strings to env (James M Snell) [#64760](https://github.com/nodejs/node/pull/64760) +- \[[`9e2c477e26`](https://github.com/nodejs/node/commit/9e2c477e26)] - **stream**: normalize fused stateless transform results (Trivikram Kamat) [#65367](https://github.com/nodejs/node/pull/65367) +- \[[`107e96dd41`](https://github.com/nodejs/node/commit/107e96dd41)] - **stream**: encode whole chunks in TextEncoderStream (Matteo Collina) [#65414](https://github.com/nodejs/node/pull/65414) +- \[[`164068279b`](https://github.com/nodejs/node/commit/164068279b)] - **stream**: prevent share from eagerly draining source (Trivikram Kamat) [#65338](https://github.com/nodejs/node/pull/65338) +- \[[`93d822bdc1`](https://github.com/nodejs/node/commit/93d822bdc1)] - **stream**: drain pending writes before broadcast end (Trivikram Kamat) [#65334](https://github.com/nodejs/node/pull/65334) +- \[[`6b8b9c362f`](https://github.com/nodejs/node/commit/6b8b9c362f)] - **stream**: reuse unexposed managed read buffers (GetThatCookie) [#64990](https://github.com/nodejs/node/pull/64990) +- \[[`4ec4fab367`](https://github.com/nodejs/node/commit/4ec4fab367)] - **stream**: avoid duplicated endReadableNT scheduling (Matteo Collina) [#65310](https://github.com/nodejs/node/pull/65310) +- \[[`86d1196ebf`](https://github.com/nodejs/node/commit/86d1196ebf)] - **stream**: decouple transform backpressure changes (Matteo Collina) [#65143](https://github.com/nodejs/node/pull/65143) +- \[[`b8a7a75b19`](https://github.com/nodejs/node/commit/b8a7a75b19)] - **stream**: reject pull on signal abort during flush (Trivikram Kamat) [#65346](https://github.com/nodejs/node/pull/65346) +- \[[`386ed6a06d`](https://github.com/nodejs/node/commit/386ed6a06d)] - **stream**: avoid leaking consumers on signal failure (Trivikram Kamat) [#65299](https://github.com/nodejs/node/pull/65299) +- \[[`74d53bd73b`](https://github.com/nodejs/node/commit/74d53bd73b)] - **stream**: use validateObject for zlib/iter params (greenhead) [#65015](https://github.com/nodejs/node/pull/65015) +- \[[`3a174ce16b`](https://github.com/nodejs/node/commit/3a174ce16b)] - **stream**: use validateNumber for BYOB reader options.min (greenhead) [#65014](https://github.com/nodejs/node/pull/65014) +- \[[`859ea01cb2`](https://github.com/nodejs/node/commit/859ea01cb2)] - **stream**: consolidate non-op algorithm callbacks (Matteo Collina) [#65138](https://github.com/nodejs/node/pull/65138) +- \[[`c577669825`](https://github.com/nodejs/node/commit/c577669825)] - **stream**: cut promise churn in webstreams hot paths (Matteo Collina) [#65138](https://github.com/nodejs/node/pull/65138) +- \[[`d631e910db`](https://github.com/nodejs/node/commit/d631e910db)] - **stream**: preserve falsy cancellation reasons (Trivikram Kamat) [#64705](https://github.com/nodejs/node/pull/64705) +- \[[`f9c21eabbd`](https://github.com/nodejs/node/commit/f9c21eabbd)] - **stream**: use validateBuffer for BYOB reader view (greenhead) [#65046](https://github.com/nodejs/node/pull/65046) +- \[[`b89c8f5d1e`](https://github.com/nodejs/node/commit/b89c8f5d1e)] - **stream**: fix recursive WritableStream abort (Jeong SeokChan) [#64825](https://github.com/nodejs/node/pull/64825) +- \[[`39e0457e86`](https://github.com/nodejs/node/commit/39e0457e86)] - **test**: fix link-local dgram scope assertion (Filip Skokan) [#65629](https://github.com/nodejs/node/pull/65629) +- \[[`1433cf9d5b`](https://github.com/nodejs/node/commit/1433cf9d5b)] - **test**: account for varied OpenSSL CCM final behaviours (Filip Skokan) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`7d135d24b7`](https://github.com/nodejs/node/commit/7d135d24b7)] - **test**: convert forEach to for of test-messageevent-brandcheck file (Nachiketa Pathak) [#65279](https://github.com/nodejs/node/pull/65279) +- \[[`421ee11715`](https://github.com/nodejs/node/commit/421ee11715)] - **test**: use spawnSyncAndAssert in windowsHide test (Junsoo Ha) [#65351](https://github.com/nodejs/node/pull/65351) +- \[[`929d5705bc`](https://github.com/nodejs/node/commit/929d5705bc)] - **test**: remove test-debugger-run-after-quit-restart as flaky on macOS (Yuya Inoue) [#65424](https://github.com/nodejs/node/pull/65424) +- \[[`f38f154c14`](https://github.com/nodejs/node/commit/f38f154c14)] - **test**: simplify test-timers-interval-promisified.js (Donghoon Kang) [#65322](https://github.com/nodejs/node/pull/65322) +- \[[`a98e27f2a9`](https://github.com/nodejs/node/commit/a98e27f2a9)] - **test**: add Headers coverage and benchmark (Yagiz Nizipli) [#65365](https://github.com/nodejs/node/pull/65365) +- \[[`38fdbb62aa`](https://github.com/nodejs/node/commit/38fdbb62aa)] - **test**: deflake test-net-listen-ipv6only (sangwook) [#64173](https://github.com/nodejs/node/pull/64173) +- \[[`06c7684b01`](https://github.com/nodejs/node/commit/06c7684b01)] - **test**: use common/child\_process spawnSync helpers (Junsoo Ha) [#65377](https://github.com/nodejs/node/pull/65377) +- \[[`6438c70004`](https://github.com/nodejs/node/commit/6438c70004)] - **test**: fix Linux debug skip in SEA test guard (구현우) [#63751](https://github.com/nodejs/node/pull/63751) +- \[[`fe0e4f1b65`](https://github.com/nodejs/node/commit/fe0e4f1b65)] - **test**: avoid timer race in event loop delay test (Trivikram Kamat) [#64728](https://github.com/nodejs/node/pull/64728) +- \[[`6ff69baea8`](https://github.com/nodejs/node/commit/6ff69baea8)] - **test**: enforce exit code in `test-http-server-stale-close` (Antoine du Hamel) [#65198](https://github.com/nodejs/node/pull/65198) +- \[[`ba87603016`](https://github.com/nodejs/node/commit/ba87603016)] - **test**: convert test-async-local-storage-bind to async loop (freida-code) [#65270](https://github.com/nodejs/node/pull/65270) +- \[[`8d6b89f454`](https://github.com/nodejs/node/commit/8d6b89f454)] - **test**: replace `forEach()` with `for...of` in parallel tests (Phillip Markert) [#65272](https://github.com/nodejs/node/pull/65272) +- \[[`a60572a7bb`](https://github.com/nodejs/node/commit/a60572a7bb)] - **test**: convert forEach to for in test-constant.js file (NIxxy25) [#65271](https://github.com/nodejs/node/pull/65271) +- \[[`f82060c6ce`](https://github.com/nodejs/node/commit/f82060c6ce)] - **test**: use for-of instead of forEach (Felix P.) [#65268](https://github.com/nodejs/node/pull/65268) +- \[[`5ded71f9cc`](https://github.com/nodejs/node/commit/5ded71f9cc)] - **test**: cover `realpathSync` resolving symlinks after a FIFO stat (Hendrik Liebau) [#65113](https://github.com/nodejs/node/pull/65113) +- \[[`ac9835225e`](https://github.com/nodejs/node/commit/ac9835225e)] - **test**: account for \[EnforceRange] in test-webcrypto-prototype-pollution (Filip Skokan) [#65173](https://github.com/nodejs/node/pull/65173) +- \[[`550d24277e`](https://github.com/nodejs/node/commit/550d24277e)] - **test**: update WPT for WebCryptoAPI to 4c2fd05ed5 (Node.js GitHub Bot) [#65150](https://github.com/nodejs/node/pull/65150) +- \[[`2aa26559f0`](https://github.com/nodejs/node/commit/2aa26559f0)] - **test**: update WPT for urlpattern to 4832db4761 (Node.js GitHub Bot) [#65151](https://github.com/nodejs/node/pull/65151) +- \[[`d45c010108`](https://github.com/nodejs/node/commit/d45c010108)] - **test**: fix hidden error in test-http-server-stale-close.js (Meghan Denny) [#59357](https://github.com/nodejs/node/pull/59357) +- \[[`881f8d092d`](https://github.com/nodejs/node/commit/881f8d092d)] - **test**: avoid deadlock issue in pipeline http2 tests to fix flakiness (Tim Perry) [#65079](https://github.com/nodejs/node/pull/65079) +- \[[`e4b1e3ee75`](https://github.com/nodejs/node/commit/e4b1e3ee75)] - **test**: allow half-open CONNECT tunnel sockets (Trivikram Kamat) [#64973](https://github.com/nodejs/node/pull/64973) +- \[[`00f4240d48`](https://github.com/nodejs/node/commit/00f4240d48)] - **test**: update passphrases to comply with the next OpenSSL FIPS mode (Filip Skokan) [#65077](https://github.com/nodejs/node/pull/65077) +- \[[`cf7680efb7`](https://github.com/nodejs/node/commit/cf7680efb7)] - **test**: use libuv clock for immediate queue test (Trivikram Kamat) [#64889](https://github.com/nodejs/node/pull/64889) +- \[[`b0c12772ff`](https://github.com/nodejs/node/commit/b0c12772ff)] - **test**: increase timeout in probe-failure-hang-during-evaluate (Joyee Cheung) [#64719](https://github.com/nodejs/node/pull/64719) +- \[[`7e279104b4`](https://github.com/nodejs/node/commit/7e279104b4)] - **test**: update WPT for WebCryptoAPI to 82c3d9069c (Node.js GitHub Bot) [#64977](https://github.com/nodejs/node/pull/64977) +- \[[`ac11f88d16`](https://github.com/nodejs/node/commit/ac11f88d16)] - **test,doc**: cover and document multi-byte offset/size in randomFill (kyungrae2002) [#64834](https://github.com/nodejs/node/pull/64834) +- \[[`67da38cada`](https://github.com/nodejs/node/commit/67da38cada)] - **test\_runner**: match dotfiles in default coverage exclude (semimikoh) [#63401](https://github.com/nodejs/node/pull/63401) +- \[[`b06c61a08f`](https://github.com/nodejs/node/commit/b06c61a08f)] - **test\_runner**: print coverage and diagnostic info with dot reporter (mag123c) [#61423](https://github.com/nodejs/node/pull/61423) +- \[[`7cb9c9c126`](https://github.com/nodejs/node/commit/7cb9c9c126)] - **test\_runner**: use run options with isolation="none" (Sylvester Keil) [#62269](https://github.com/nodejs/node/pull/62269) +- \[[`339acf4201`](https://github.com/nodejs/node/commit/339acf4201)] - **test\_runner**: mock dual-package with conditional exports (Maruthan G) [#62943](https://github.com/nodejs/node/pull/62943) +- \[[`e7a68bca08`](https://github.com/nodejs/node/commit/e7a68bca08)] - **test\_runner**: add classname hierarchy for JUnit reporter (mag123c) [#60220](https://github.com/nodejs/node/pull/60220) +- \[[`6a248acefe`](https://github.com/nodejs/node/commit/6a248acefe)] - **test\_runner**: fix junit report on empty diagnostic (Lazizbek Ergashev) [#65357](https://github.com/nodejs/node/pull/65357) +- \[[`d01dda79b6`](https://github.com/nodejs/node/commit/d01dda79b6)] - **test\_runner**: do not tag-filter test file wrappers (Chemi Atlow) [#65170](https://github.com/nodejs/node/pull/65170) +- \[[`32ead10ddd`](https://github.com/nodejs/node/commit/32ead10ddd)] - **test\_runner**: fix env option validation (Jihwan) [#64865](https://github.com/nodejs/node/pull/64865) +- \[[`b0ef155440`](https://github.com/nodejs/node/commit/b0ef155440)] - **tls**: throw on invalid ALPNProtocols instead of aborting (Sankalp Thakur) [#65076](https://github.com/nodejs/node/pull/65076) +- \[[`dcf65c50ce`](https://github.com/nodejs/node/commit/dcf65c50ce)] - **tls**: fix authorized state on no-cert TLS1.3 client cert resumption (Tim Perry) [#64677](https://github.com/nodejs/node/pull/64677) +- \[[`b0f54bda78`](https://github.com/nodejs/node/commit/b0f54bda78)] - **tools**: improve commit queue failure comment (Filip Skokan) [#65433](https://github.com/nodejs/node/pull/65433) +- \[[`bc1f2718d5`](https://github.com/nodejs/node/commit/bc1f2718d5)] - **tools**: fix max body length handler in `create-release-proposal.sh` (Antoine du Hamel) [#65455](https://github.com/nodejs/node/pull/65455) +- \[[`bbe76516a9`](https://github.com/nodejs/node/commit/bbe76516a9)] - **tools**: bump brace-expansion in `/tools/clang-format` (dependabot\[bot]) [#64984](https://github.com/nodejs/node/pull/64984) +- \[[`67697debdf`](https://github.com/nodejs/node/commit/67697debdf)] - **tools**: make env variables consistent in cron jobs (Antoine du Hamel) [#65168](https://github.com/nodejs/node/pull/65168) +- \[[`ac8a68ec92`](https://github.com/nodejs/node/commit/ac8a68ec92)] - **tools**: only include fast-tracked and old enough PRs in CQ (Antoine du Hamel) [#65197](https://github.com/nodejs/node/pull/65197) +- \[[`6d9999fa2e`](https://github.com/nodejs/node/commit/6d9999fa2e)] - **tools**: remove skip logic in `commit-queue.sh` (Antoine du Hamel) [#65162](https://github.com/nodejs/node/pull/65162) +- \[[`60bfa1694e`](https://github.com/nodejs/node/commit/60bfa1694e)] - **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) +- \[[`782748527e`](https://github.com/nodejs/node/commit/782748527e)] - **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) +- \[[`dac257340f`](https://github.com/nodejs/node/commit/dac257340f)] - **tools**: fix GITHUB\_TOKEN permissions for CQ workflow (Antoine du Hamel) [#65192](https://github.com/nodejs/node/pull/65192) +- \[[`e624785846`](https://github.com/nodejs/node/commit/e624785846)] - **tools**: use the read-only token when filtering PRs in CQ (Antoine du Hamel) [#65169](https://github.com/nodejs/node/pull/65169) +- \[[`7d9dcfaaa7`](https://github.com/nodejs/node/commit/7d9dcfaaa7)] - **tools**: delay removal of `commit-queue` label (Antoine du Hamel) [#65101](https://github.com/nodejs/node/pull/65101) +- \[[`0d7c7936e7`](https://github.com/nodejs/node/commit/0d7c7936e7)] - **tools**: move ncu config to global for commit queue (Filip Skokan) [#65132](https://github.com/nodejs/node/pull/65132) +- \[[`5e1db5a38a`](https://github.com/nodejs/node/commit/5e1db5a38a)] - **tools**: prefilter commit queue metadata (Filip Skokan) [#64343](https://github.com/nodejs/node/pull/64343) +- \[[`f41509b91d`](https://github.com/nodejs/node/commit/f41509b91d)] - **tools**: lazy-abort failed PR merges in CQ (Antoine du Hamel) [#65004](https://github.com/nodejs/node/pull/65004) +- \[[`ceb0e99acd`](https://github.com/nodejs/node/commit/ceb0e99acd)] - **tools**: sync mk-ca-bundle.pl with curl (Archkon) [#64753](https://github.com/nodejs/node/pull/64753) +- \[[`600663b23f`](https://github.com/nodejs/node/commit/600663b23f)] - **tty**: add raw-vt and io raw modes (Samuel Williams) [#64140](https://github.com/nodejs/node/pull/64140) +- \[[`a40bfc742e`](https://github.com/nodejs/node/commit/a40bfc742e)] - **typings**: add signal\_wrap internal binding types (Seongeun Lee) [#65229](https://github.com/nodejs/node/pull/65229) +- \[[`b103a4a3b9`](https://github.com/nodejs/node/commit/b103a4a3b9)] - **typings**: add diagnostics\_channel typings (Seongeun Lee) [#65227](https://github.com/nodejs/node/pull/65227) +- \[[`e64de34b89`](https://github.com/nodejs/node/commit/e64de34b89)] - **typings**: add watchdog internal binding types (Seongeun Lee) [#65228](https://github.com/nodejs/node/pull/65228) +- \[[`c57c83b4d1`](https://github.com/nodejs/node/commit/c57c83b4d1)] - **typings**: add internal\_only\_v8 binding typeis (Donghoon Kang) [#65071](https://github.com/nodejs/node/pull/65071) +- \[[`f15e8c9dcd`](https://github.com/nodejs/node/commit/f15e8c9dcd)] - **typings**: add credentials internal binding types (Donghoon Kang) [#65036](https://github.com/nodejs/node/pull/65036) +- \[[`a500256b0b`](https://github.com/nodejs/node/commit/a500256b0b)] - **url**: skip unused href reuse comparison (Yagiz Nizipli) [#65361](https://github.com/nodejs/node/pull/65361) +- \[[`58390f8bec`](https://github.com/nodejs/node/commit/58390f8bec)] - **url**: speed up WHATWG URL parsing (Yagiz Nizipli) [#65361](https://github.com/nodejs/node/pull/65361) +- \[[`7d5428c812`](https://github.com/nodejs/node/commit/7d5428c812)] - **url**: speed up URLSearchParams (Yagiz Nizipli) [#65363](https://github.com/nodejs/node/pull/65363) +- \[[`8e2461d819`](https://github.com/nodejs/node/commit/8e2461d819)] - **url**: bounds-check short Windows file URL paths (Archkon) [#64788](https://github.com/nodejs/node/pull/64788) +- \[[`9ffc0da90c`](https://github.com/nodejs/node/commit/9ffc0da90c)] - **url**: handle unparsable serialized URLs in setters (Matteo Collina) [#64651](https://github.com/nodejs/node/pull/64651) +- \[[`fa9d4e075d`](https://github.com/nodejs/node/commit/fa9d4e075d)] - **util**: allow single-line format when break length is infinite (Hamid Reza Ghavami) [#64238](https://github.com/nodejs/node/pull/64238) +- \[[`b68a7c3862`](https://github.com/nodejs/node/commit/b68a7c3862)] - **util**: fix OSC 8 hyperlink stripping in stripVTControlCharacters (Dushyant Singh Hada) [#64319](https://github.com/nodejs/node/pull/64319) +- \[[`10cbb6dc00`](https://github.com/nodejs/node/commit/10cbb6dc00)] - **util**: fix formatting of functions returned from getters (Richard Gibson) [#64839](https://github.com/nodejs/node/pull/64839) +- \[[`64c20b449e`](https://github.com/nodejs/node/commit/64c20b449e)] - **util**: use more primordials in `comparisons.js` (Ayoub Mabrouk) [#61198](https://github.com/nodejs/node/pull/61198) +- \[[`cea9786de8`](https://github.com/nodejs/node/commit/cea9786de8)] - **util**: preserve function names without source map names (Hiroki Osame) [#65108](https://github.com/nodejs/node/pull/65108) +- \[[`35c635b032`](https://github.com/nodejs/node/commit/35c635b032)] - **(SEMVER-MINOR)** **util**: add non-throwing MIMEType.parse (James M Snell) [#64965](https://github.com/nodejs/node/pull/64965) +- \[[`5858c2ba9a`](https://github.com/nodejs/node/commit/5858c2ba9a)] - **zlib**: validate pledgedSrcSize for sync zstd (Archkon) [#64601](https://github.com/nodejs/node/pull/64601) + +Windows 64-bit Installer: https://nodejs.org/dist/v24.21.0/node-v24.21.0-x64.msi \ +Windows ARM 64-bit Installer: https://nodejs.org/dist/v24.21.0/node-v24.21.0-arm64.msi \ +Windows 64-bit Binary: https://nodejs.org/dist/v24.21.0/win-x64/node.exe \ +Windows ARM 64-bit Binary: https://nodejs.org/dist/v24.21.0/win-arm64/node.exe \ +macOS 64-bit Installer: https://nodejs.org/dist/v24.21.0/node-v24.21.0.pkg \ +macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-darwin-arm64.tar.gz \ +macOS Intel 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-darwin-x64.tar.gz \ +Linux 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-linux-x64.tar.xz \ +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-linux-ppc64le.tar.xz \ +Linux s390x 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-linux-s390x.tar.xz \ +AIX 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-aix-ppc64.tar.gz \ +ARMv8 64-bit Binary: https://nodejs.org/dist/v24.21.0/node-v24.21.0-linux-arm64.tar.xz \ +Source Code: https://nodejs.org/dist/v24.21.0/node-v24.21.0.tar.gz \ +Other release files: https://nodejs.org/dist/v24.21.0/ \ +Documentation: https://nodejs.org/docs/v24.21.0/api/ + +### SHASUMS + +``` +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +aec7b2464afb99f078c19cb06d201d543bd3b311cba071282bce1b17c97e58bb node-v24.21.0-aix-ppc64.tar.gz +22ca85110f26015696a3fa9216bc372ae65203d170622eaf7d211e2dd5bb49e3 node-v24.21.0-arm64.msi +bed7eea5325e1108f32ce5228ddd6a5f0f08a499ee42aa7442aea583702f6057 node-v24.21.0-darwin-arm64.tar.gz +6239d4cf92d864487ec8cd3615038f7b67e7f58b77b21cd2f09ea9fbd68065fe node-v24.21.0-darwin-arm64.tar.xz +1462cb3b3046b815cf8ea436d3da450ec1a9f11dac7e5a46b0ada5305d7e8097 node-v24.21.0-darwin-x64.tar.gz +0ae5a24c24bb7d015cd816c5036b3f90f2945aa872fcf54e58da054753b3a299 node-v24.21.0-darwin-x64.tar.xz +57c6bee2e30bbbee5bd51d6cc343eb992e174b56a2a1d0eab7a7510771c20ea2 node-v24.21.0-headers.tar.gz +7497abc2fac1d332fae580046b6b39d0de283dfaf267207a32b59753739c1517 node-v24.21.0-headers.tar.xz +724282c3b43aec998aa9527380465b45d229e021b58035f5f4f63095eabfe5d5 node-v24.21.0-linux-arm64.tar.gz +6ad1325edbdb5649c379b75a237147a666c95d4f9ae8d340fef2d1575d289ad2 node-v24.21.0-linux-arm64.tar.xz +51c5d53066ee92920b61783b03b06ecb99f3661160f7b15ca77e8474115a67bc node-v24.21.0-linux-ppc64le.tar.gz +1936fd64623a2f98d1fb31b456686d10c30e92639899cfefdefa8835d22adccd node-v24.21.0-linux-ppc64le.tar.xz +5f2fa37422e0c75de35c1686fe51d78324f2c2a8fe2cc239a41d9c000a29d938 node-v24.21.0-linux-s390x.tar.gz +2ef7e2ecbf7a6c2f3d08d106f6b2f279419c6dac89fe91b8cad193af7890082c node-v24.21.0-linux-s390x.tar.xz +3d63405fc65a0d2d2976c1f0bc2fd27bb0bd07212469e705aac3f03ae5ab4c9c node-v24.21.0-linux-x64-musl.tar.gz +34ab095af8efe9018f21489d3dc19871fb5edd4f130a71469b69c05fd4e32a5e node-v24.21.0-linux-x64-musl.tar.xz +6e1db87ef58b8819e5d5402eff1536491b18edd8eb7bee5ef7897876e88dc5ff node-v24.21.0-linux-x64.tar.gz +fd8e59d5a511510f6a298afb548f18c7d2b1be404d8b4a27d94fbe49f56cb2d6 node-v24.21.0-linux-x64.tar.xz +848cc8d138b712b5ae0f38de08fde62feb404226a63dde07d0ea5ccddbbd9dd7 node-v24.21.0-win-arm64.7z +8779b1bde1d39f8d420e3b57aa657b39891af434d3de44a919044cec06785921 node-v24.21.0-win-arm64.zip +4e5f86609712acf841f3a5e2d9d4854b4c149f6ead024fc38381b6d7b272c636 node-v24.21.0-win-x64.7z +158f7685b44de51f6c0df1d153526cbcd3e1bc739a8dfc607721cef75de9e541 node-v24.21.0-win-x64.zip +bb0eaee134f9357f22aea915ee793343e627aefc1e66488164bac6915bce2cac node-v24.21.0-x64.msi +9831a74b04c270a429bd5a240e37712c4fe229b02b032e18ff2e0702c17c20fd node-v24.21.0.pkg +622424efb5dc0c26c93fbb619ff10737ee289c605b837c88778e186925d82777 node-v24.21.0.tar.gz +a6f54defb6fd7c84f41dba13d61e78e9b4e0961712cf61f29715c05f5ced94fc node-v24.21.0.tar.xz +dff59da18b6ffe1bf1ca99e1d2af4906080c481740619f5b5098c0fca28bd9b7 win-arm64/node.exe +2c0c3215d59c09d7c136da4949696dae121a299e9bdfc64cd9130a58610af63d win-arm64/node.lib +32ce76dd79deddcf6e08f612da714fc3a28fa39c0e4fe12283e019a90eb76483 win-arm64/node_pdb.7z +d565f0a7a8eda1662886475471e454dbe2c2a53c9d1a8562fc986bd11c24fd72 win-arm64/node_pdb.zip +ba4e6d110e8c1592a1ecd390f6b05f3da124b13871a5be62b341a07a853c6c32 win-x64/node.exe +a0a84aa03917b578d286010b7521837e9ff1136ffb2e4a406c14316c33fd06f7 win-x64/node.lib +0df783d02aee58bbe9dcfc157ccc5cc37987d24c4f35889587b39500b12030a9 win-x64/node_pdb.7z +122f2af58bfb25816f12e49179217c3ff5bf96c1e083f3ccb0969a5b4794ff85 win-x64/node_pdb.zip + +-----BEGIN PGP SIGNATURE----- + +iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaqCC2wAKCRAgsaOQsWjT +Vv76AQCzUTaAC4osCJzGVV+xtaqgA5v5tWhn3WwJweSFGKHxUwD/UsLGvdIo2tGk +bTyUAWIgr/p3fFQM5gdAh28XWvNvcgQ= +=nyNQ +-----END PGP SIGNATURE----- +``` diff --git a/apps/site/pages/en/blog/release/v26.8.2.md b/apps/site/pages/en/blog/release/v26.8.2.md new file mode 100644 index 0000000000000..5ccb3672e8100 --- /dev/null +++ b/apps/site/pages/en/blog/release/v26.8.2.md @@ -0,0 +1,161 @@ +--- +date: '2026-09-09T16:09:17.773Z' +category: release +title: Node.js 26.8.2 (Current) +layout: blog-post +author: Antoine du Hamel +--- + +## 2026-09-09, Version 26.8.2 (Current), @aduh95 + +### Notable Changes + +- \[[`616bd3fa26`](https://github.com/nodejs/node/commit/616bd3fa26)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#65593](https://github.com/nodejs/node/pull/65593) +- \[[`ae1801eb55`](https://github.com/nodejs/node/commit/ae1801eb55)] - **meta**: refine the security vuln posture for experimental features (James M Snell) [#65438](https://github.com/nodejs/node/pull/65438) +- \[[`09feba74c8`](https://github.com/nodejs/node/commit/09feba74c8)] - **deps**: update Undici to 8.10.2 (Node.js GitHub Bot) [#65788](https://github.com/nodejs/node/pull/65788) +- \[[`7efdbe3eb9`](https://github.com/nodejs/node/commit/7efdbe3eb9)] - **deps**: update OpenSSL to 3.5.8 (Node.js GitHub Bot) [#65542](https://github.com/nodejs/node/pull/65542) + +### Commits + +- \[[`d8aedd6584`](https://github.com/nodejs/node/commit/d8aedd6584)] - **build**: skip dockit on riscv64 (Stewart X Addison) [#62251](https://github.com/nodejs/node/pull/62251) +- \[[`1899c274eb`](https://github.com/nodejs/node/commit/1899c274eb)] - **build**: activate correct default flags for riscv64 (Stewart X Addison) [#65708](https://github.com/nodejs/node/pull/65708) +- \[[`ec8a3be996`](https://github.com/nodejs/node/commit/ec8a3be996)] - **build**: derive NODE\_ARCH from target\_cpu in the GN build (Shelley Vohr) [#65491](https://github.com/nodejs/node/pull/65491) +- \[[`b73118a507`](https://github.com/nodejs/node/commit/b73118a507)] - **build,win**: remove LTO parallelisation limit (Stefan Stojanovic) [#65535](https://github.com/nodejs/node/pull/65535) +- \[[`09feba74c8`](https://github.com/nodejs/node/commit/09feba74c8)] - **deps**: update undici to 8.10.2 (Node.js GitHub Bot) [#65788](https://github.com/nodejs/node/pull/65788) +- \[[`e47c432dd6`](https://github.com/nodejs/node/commit/e47c432dd6)] - **deps**: upgrade npm to 11.19.1 (npm team) [#65573](https://github.com/nodejs/node/pull/65573) +- \[[`2fd6ce36a9`](https://github.com/nodejs/node/commit/2fd6ce36a9)] - **deps**: update corepack to 0.36.0 (Node.js GitHub Bot) [#65653](https://github.com/nodejs/node/pull/65653) +- \[[`49dec2767a`](https://github.com/nodejs/node/commit/49dec2767a)] - **deps**: update googletest to 36ba75f0ad5383a9759f17f3f72fd4661c72cb6d (Node.js GitHub Bot) [#65654](https://github.com/nodejs/node/pull/65654) +- \[[`676174a071`](https://github.com/nodejs/node/commit/676174a071)] - **deps**: update simdjson to 4.6.9 (Node.js GitHub Bot) [#65655](https://github.com/nodejs/node/pull/65655) +- \[[`2f1b7fa0bb`](https://github.com/nodejs/node/commit/2f1b7fa0bb)] - **deps**: update perfetto to 58.2 (Node.js GitHub Bot) [#65656](https://github.com/nodejs/node/pull/65656) +- \[[`12acd0ad15`](https://github.com/nodejs/node/commit/12acd0ad15)] - **deps**: update zlib to 1.3.2.1-motley-5eb4d7e (Node.js GitHub Bot) [#65494](https://github.com/nodejs/node/pull/65494) +- \[[`48631c80fb`](https://github.com/nodejs/node/commit/48631c80fb)] - **deps**: update archs files for openssl-3.5.8 (Node.js GitHub Bot) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`7efdbe3eb9`](https://github.com/nodejs/node/commit/7efdbe3eb9)] - **deps**: upgrade openssl sources to openssl-3.5.8 (Node.js GitHub Bot) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`bdc75900ee`](https://github.com/nodejs/node/commit/bdc75900ee)] - **doc**: replace `node:modules` documentation header (René) [#65800](https://github.com/nodejs/node/pull/65800) +- \[[`44c8a499ba`](https://github.com/nodejs/node/commit/44c8a499ba)] - **doc**: clarify return type of `fs.mkdtemp*` (Antoine du Hamel) [#65743](https://github.com/nodejs/node/pull/65743) +- \[[`025fb5eeb0`](https://github.com/nodejs/node/commit/025fb5eeb0)] - **doc**: update `changelog-maker` instructions for releasing (Juan José) [#65707](https://github.com/nodejs/node/pull/65707) +- \[[`5f64847afa`](https://github.com/nodejs/node/commit/5f64847afa)] - **doc**: add stability status to `crypto.setEngine` (Antoine du Hamel) [#65746](https://github.com/nodejs/node/pull/65746) +- \[[`299dee0cb9`](https://github.com/nodejs/node/commit/299dee0cb9)] - **doc**: remove outdated TLS authorized warning (Tim Perry) [#65597](https://github.com/nodejs/node/pull/65597) +- \[[`e97dcc0278`](https://github.com/nodejs/node/commit/e97dcc0278)] - **doc**: fix broken `using` link in ffi.md (Soul Lee) [#65632](https://github.com/nodejs/node/pull/65632) +- \[[`2c9cc7d237`](https://github.com/nodejs/node/commit/2c9cc7d237)] - **doc**: fix some broken links (Antoine du Hamel) [#65583](https://github.com/nodejs/node/pull/65583) +- \[[`0c330ec329`](https://github.com/nodejs/node/commit/0c330ec329)] - **doc**: fix stale TOC in maintaining-dependencies (greenhead) [#65523](https://github.com/nodejs/node/pull/65523) +- \[[`9c522a3a69`](https://github.com/nodejs/node/commit/9c522a3a69)] - **doc**: refactor the AI guidelines (Joyee Cheung) [#65269](https://github.com/nodejs/node/pull/65269) +- \[[`46cbf1bf8c`](https://github.com/nodejs/node/commit/46cbf1bf8c)] - **doc**: fix triggerAsyncId() comment in async\_hooks example (soreavis) [#64583](https://github.com/nodejs/node/pull/64583) +- \[[`788904ff78`](https://github.com/nodejs/node/commit/788904ff78)] - **doc**: fix fsPromises.watch overflow value (Matt Radbourne) [#64605](https://github.com/nodejs/node/pull/64605) +- \[[`3d06ff19e8`](https://github.com/nodejs/node/commit/3d06ff19e8)] - **doc**: clarify stream direction in options.stdio note (Avocado) [#65236](https://github.com/nodejs/node/pull/65236) +- \[[`d334838379`](https://github.com/nodejs/node/commit/d334838379)] - **doc**: clarify signal listener behavior (Som Samantray) [#65243](https://github.com/nodejs/node/pull/65243) +- \[[`d55a2bd56a`](https://github.com/nodejs/node/commit/d55a2bd56a)] - **doc**: add test reporter event lifecycle diagram (sangwook) [#63780](https://github.com/nodejs/node/pull/63780) +- \[[`c17dfc87de`](https://github.com/nodejs/node/commit/c17dfc87de)] - **doc**: discourage AbortSignal cleanup for long-lived resources (Efe Karasakal) [#64342](https://github.com/nodejs/node/pull/64342) +- \[[`616bd3fa26`](https://github.com/nodejs/node/commit/616bd3fa26)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#65593](https://github.com/nodejs/node/pull/65593) +- \[[`4e6d7e0ca6`](https://github.com/nodejs/node/commit/4e6d7e0ca6)] - **meta**: cleanup targos emeritus changes (Antoine du Hamel) [#65738](https://github.com/nodejs/node/pull/65738) +- \[[`a70cfe1747`](https://github.com/nodejs/node/commit/a70cfe1747)] - **meta**: bump github/codeql-action/init from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65714](https://github.com/nodejs/node/pull/65714) +- \[[`e43a0ad4ce`](https://github.com/nodejs/node/commit/e43a0ad4ce)] - **meta**: bump github/codeql-action/autobuild from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65717](https://github.com/nodejs/node/pull/65717) +- \[[`99e06288f1`](https://github.com/nodejs/node/commit/99e06288f1)] - **meta**: bump actions/checkout from 7.0.0 to 7.0.1 (dependabot\[bot]) [#65718](https://github.com/nodejs/node/pull/65718) +- \[[`89662762b3`](https://github.com/nodejs/node/commit/89662762b3)] - **meta**: bump cachix/install-nix-action from 31.11.0 to 31.11.1 (dependabot\[bot]) [#65719](https://github.com/nodejs/node/pull/65719) +- \[[`6b8f078672`](https://github.com/nodejs/node/commit/6b8f078672)] - **meta**: bump actions/setup-node from 6.4.0 to 7.0.0 (dependabot\[bot]) [#65720](https://github.com/nodejs/node/pull/65720) +- \[[`6c6fb18e63`](https://github.com/nodejs/node/commit/6c6fb18e63)] - **meta**: bump step-security/harden-runner from 2.20.0 to 2.21.0 (dependabot\[bot]) [#65721](https://github.com/nodejs/node/pull/65721) +- \[[`0e002e859f`](https://github.com/nodejs/node/commit/0e002e859f)] - **meta**: bump github/codeql-action/upload-sarif from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65722](https://github.com/nodejs/node/pull/65722) +- \[[`98aaffe4b9`](https://github.com/nodejs/node/commit/98aaffe4b9)] - **meta**: bump github/codeql-action/analyze from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65723](https://github.com/nodejs/node/pull/65723) +- \[[`d247cb2975`](https://github.com/nodejs/node/commit/d247cb2975)] - **meta**: document collaborator automation (Filip Skokan) [#65671](https://github.com/nodejs/node/pull/65671) +- \[[`ae1801eb55`](https://github.com/nodejs/node/commit/ae1801eb55)] - **meta**: refine the security vuln posture for experimental features (James M Snell) [#65438](https://github.com/nodejs/node/pull/65438) +- \[[`fab81d15c3`](https://github.com/nodejs/node/commit/fab81d15c3)] - **test**: widen the gap in the resolver maxTimeout comparison (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`62e2a6265c`](https://github.com/nodejs/node/commit/62e2a6265c)] - **test**: fix the thread-spawn handshake in the WASI threads fixture (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`7eb20b1810`](https://github.com/nodejs/node/commit/7eb20b1810)] - **test**: only count restarts after the write in watch emit-restarted test (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`14c3a77bc5`](https://github.com/nodejs/node/commit/14c3a77bc5)] - **test**: ignore tunnel resets in proxy invalid-char-in-url test (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`ebc99e0560`](https://github.com/nodejs/node/commit/ebc99e0560)] - **test**: handle EPIPE in closed channel test (Christian Aurich) [#65770](https://github.com/nodejs/node/pull/65770) +- \[[`5e73a2ca79`](https://github.com/nodejs/node/commit/5e73a2ca79)] - **test**: deflake test-permission-net-udp-handle (Christian Aurich) [#65767](https://github.com/nodejs/node/pull/65767) +- \[[`beb669f7de`](https://github.com/nodejs/node/commit/beb669f7de)] - **test**: deflake test-runner-coverage (Christian Aurich) [#65728](https://github.com/nodejs/node/pull/65728) +- \[[`ef4b6bfa62`](https://github.com/nodejs/node/commit/ef4b6bfa62)] - **test**: set type=none on IBM i for empty source (Abdirahim Musse) [#65545](https://github.com/nodejs/node/pull/65545) +- \[[`027eef0691`](https://github.com/nodejs/node/commit/027eef0691)] - **test**: deflake WASI poll timing checks (Filip Skokan) [#65672](https://github.com/nodejs/node/pull/65672) +- \[[`a352b0e2fe`](https://github.com/nodejs/node/commit/a352b0e2fe)] - **test**: skip `fs-watch-recursive-delete-race` on AIX (Antoine du Hamel) [#65698](https://github.com/nodejs/node/pull/65698) +- \[[`f9ce35aa43`](https://github.com/nodejs/node/commit/f9ce35aa43)] - **test**: deflake test-inspect-async-hook-setup-at-inspect (Christian Aurich) [#65584](https://github.com/nodejs/node/pull/65584) +- \[[`32281cec7b`](https://github.com/nodejs/node/commit/32281cec7b)] - **test**: deflake test-watch-mode-restart-esm-loading-error (Christian Aurich) [#65623](https://github.com/nodejs/node/pull/65623) +- \[[`79be5d61be`](https://github.com/nodejs/node/commit/79be5d61be)] - **test**: avoid orphaned child on Windows abort test (Kirill Saied) [#65451](https://github.com/nodejs/node/pull/65451) +- \[[`8972b8540b`](https://github.com/nodejs/node/commit/8972b8540b)] - **test**: fix link-local dgram scope assertion (Filip Skokan) [#65629](https://github.com/nodejs/node/pull/65629) +- \[[`b7cd1d96de`](https://github.com/nodejs/node/commit/b7cd1d96de)] - **test**: riscv64: skip node-api sea test (Stewart X Addison) [#65569](https://github.com/nodejs/node/pull/65569) +- \[[`7eeb9d0e57`](https://github.com/nodejs/node/commit/7eeb9d0e57)] - **test**: mark platform-specific tests as flaky (Filip Skokan) [#65562](https://github.com/nodejs/node/pull/65562) +- \[[`649ac82bda`](https://github.com/nodejs/node/commit/649ac82bda)] - **test**: account for varied OpenSSL CCM final behaviours (Filip Skokan) [#65542](https://github.com/nodejs/node/pull/65542) +- \[[`050fb1a15d`](https://github.com/nodejs/node/commit/050fb1a15d)] - **tools**: bump @humanfs/node from 0.16.7 to 0.16.8 in /tools/eslint (dependabot\[bot]) [#65757](https://github.com/nodejs/node/pull/65757) +- \[[`5314dda396`](https://github.com/nodejs/node/commit/5314dda396)] - **tools**: bump browserslist from 4.28.4 to 4.28.8 in /tools/eslint (dependabot\[bot]) [#65758](https://github.com/nodejs/node/pull/65758) +- \[[`5938a08929`](https://github.com/nodejs/node/commit/5938a08929)] - **tools**: do not hardcode `yamllint` path (Antoine du Hamel) [#65747](https://github.com/nodejs/node/pull/65747) +- \[[`d8408f7415`](https://github.com/nodejs/node/commit/d8408f7415)] - **tools**: refine contributor guidance workflow (Filip Skokan) [#65745](https://github.com/nodejs/node/pull/65745) +- \[[`196e372b69`](https://github.com/nodejs/node/commit/196e372b69)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#65716](https://github.com/nodejs/node/pull/65716) +- \[[`7e986b09f6`](https://github.com/nodejs/node/commit/7e986b09f6)] - **tools**: do not flag force push as invalid message (Antoine du Hamel) [#65700](https://github.com/nodejs/node/pull/65700) +- \[[`837ce2ccef`](https://github.com/nodejs/node/commit/837ce2ccef)] - **tools**: do not hardcode path to Ruff (Antoine du Hamel) [#65681](https://github.com/nodejs/node/pull/65681) +- \[[`1c7149a96a`](https://github.com/nodejs/node/commit/1c7149a96a)] - **tools**: retry first-time contributor query (Filip Skokan) [#65648](https://github.com/nodejs/node/pull/65648) +- \[[`bd310a2bea`](https://github.com/nodejs/node/commit/bd310a2bea)] - **tools**: query first-time contributor status (Filip Skokan) [#65592](https://github.com/nodejs/node/pull/65592) +- \[[`ab7b57e547`](https://github.com/nodejs/node/commit/ab7b57e547)] - **tools**: offset GitHub crons by 3 minutes (Michaël Zasso) [#65612](https://github.com/nodejs/node/pull/65612) +- \[[`62ece28eae`](https://github.com/nodejs/node/commit/62ece28eae)] - **tools**: label PRs lacking second approval (Filip Skokan) [#65538](https://github.com/nodejs/node/pull/65538) +- \[[`68227b4029`](https://github.com/nodejs/node/commit/68227b4029)] - **tools**: welcome first-time contributors (Filip Skokan) [#65533](https://github.com/nodejs/node/pull/65533) +- \[[`490dc93e37`](https://github.com/nodejs/node/commit/490dc93e37)] - **tools**: enable concurrency for eslint (Huáng Jùnliàng) [#62352](https://github.com/nodejs/node/pull/62352) +- \[[`d794676217`](https://github.com/nodejs/node/commit/d794676217)] - **typings**: fix fs\_event\_wrap start filename type (leah-1ee) [#65661](https://github.com/nodejs/node/pull/65661) +- \[[`29e2b5a325`](https://github.com/nodejs/node/commit/29e2b5a325)] - **typings**: add fs\_event\_wrap internal binding types (leah-1ee) [#65661](https://github.com/nodejs/node/pull/65661) +- \[[`6357c8f56e`](https://github.com/nodejs/node/commit/6357c8f56e)] - **typings**: add stream\_pipe internal binding types (Seongeun Lee) [#65664](https://github.com/nodejs/node/pull/65664) +- \[[`569720ac7f`](https://github.com/nodejs/node/commit/569720ac7f)] - **typings**: add profiler internal binding types (Seongeun Lee) [#65660](https://github.com/nodejs/node/pull/65660) +- \[[`52ae89c69d`](https://github.com/nodejs/node/commit/52ae89c69d)] - **typings**: add ffi internal binding types (Donghoon Kang) [#65734](https://github.com/nodejs/node/pull/65734) +- \[[`22c7469062`](https://github.com/nodejs/node/commit/22c7469062)] - **typings**: update zlib binding declarations (이혜미) [#65639](https://github.com/nodejs/node/pull/65639) + +Windows 64-bit Installer: https://nodejs.org/dist/v26.8.2/node-v26.8.2-x64.msi \ +Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.8.2/node-v26.8.2-arm64.msi \ +Windows 64-bit Binary: https://nodejs.org/dist/v26.8.2/win-x64/node.exe \ +Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.8.2/win-arm64/node.exe \ +macOS 64-bit Installer: https://nodejs.org/dist/v26.8.2/node-v26.8.2.pkg \ +macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-darwin-arm64.tar.gz \ +macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-darwin-x64.tar.gz \ +Linux 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-linux-x64.tar.xz \ +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-linux-ppc64le.tar.xz \ +Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-linux-s390x.tar.xz \ +AIX 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-aix-ppc64.tar.gz \ +ARMv8 64-bit Binary: https://nodejs.org/dist/v26.8.2/node-v26.8.2-linux-arm64.tar.xz \ +Source Code: https://nodejs.org/dist/v26.8.2/node-v26.8.2.tar.gz \ +Other release files: https://nodejs.org/dist/v26.8.2/ \ +Documentation: https://nodejs.org/docs/v26.8.2/api/ + +### SHASUMS + +``` +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +897a9a4188932e19b042ac6245418f807b9ab971559dcc4288dd577191d536bd node-v26.8.2-aix-ppc64.tar.gz +f7fd04460f6cd17a055bcde6e6f07164a2ffd3cc35dd360f63d970a3bb076433 node-v26.8.2-arm64.msi +974b6d5fb2fc7c33ff2354db0902b4e91c2de01ec8acc6de48e543c97e18c9e1 node-v26.8.2-darwin-arm64.tar.gz +f58e5044b938a3174184de4aaf1d2bbfcfff812e88220ff08e9221c09f5c8677 node-v26.8.2-darwin-arm64.tar.xz +adb8feb2d4987df3d72d2ec46f4fc4b58039c859b8c3f0e3cc2d3c6cbaf8629c node-v26.8.2-darwin-x64.tar.gz +49950999366bf6cd47c8c8fd3593aa82fb5efed494937b380b85677338285ca0 node-v26.8.2-darwin-x64.tar.xz +22cda0cba561165ecdf481833c416779e2eb0972f6577dc86829e60f2f59ccfc node-v26.8.2-headers.tar.gz +04019848d0ec16852f083607efb8b83501aee860da4cba20979c670029253321 node-v26.8.2-headers.tar.xz +746cdbf21565b4ea06f77642bb0e85466de8bb722242be2c5e006f272c361c63 node-v26.8.2-linux-arm64.tar.gz +81d8f0fdea9dcd3bfdcfeafc5f8359c151f097e9880b0007c0645ca670d07971 node-v26.8.2-linux-arm64.tar.xz +d6085785c5f87192753fc72825653b3fa03f8468f800911ccfdc2701cacde0af node-v26.8.2-linux-ppc64le.tar.gz +69756edc54f372fe13e6e3fb100ed52d651da8ab8fcba76ea68bab6d26e90ef7 node-v26.8.2-linux-ppc64le.tar.xz +ad3e7fd0134016eb9bda3653d6ef37d9f3609ec6e25a0d122e6c33fdbb2bb0d7 node-v26.8.2-linux-s390x.tar.gz +1eb6ce1ac6f236ee41599a6248031e827936c3f7a98d349366dcfc1344749e80 node-v26.8.2-linux-s390x.tar.xz +68854c66901f88bfe85450c3b2e402996ef27ef71c7551501922f869701a883f node-v26.8.2-linux-x64-musl.tar.gz +e174fe6faf29bf1b02531e81e97989cb62690c305684e7364cdc1c24f482c237 node-v26.8.2-linux-x64-musl.tar.xz +badb3fe6a61b85e1352ca6564dc56b8b7bd5ecd5c474c52acc21dd0cdd586f35 node-v26.8.2-linux-x64.tar.gz +40e1d3225c1c9ae9a2671c98ecb9857e4d5555026394f348645676798840d5c5 node-v26.8.2-linux-x64.tar.xz +6bd92d546c082c70a3fdfc0e8b940eaa693dcdd4a308b0a2e9d75c396e189de3 node-v26.8.2-win-arm64.7z +a4e8362e268f1fcf1735f046e0adb088b28eeb400fb1c33fe5cc94d1a3d42570 node-v26.8.2-win-arm64.zip +97afa7d7378554f35f3019b58688a1767e25c3f683de6f1f87b845e1dde414e7 node-v26.8.2-win-x64.7z +cf02f5d0c06c794b84f277177d5cf3743d0924ca49f6641cd435dd7cb6ee9085 node-v26.8.2-win-x64.zip +7dd9b5c9fb0d4f6ca0fffb1096108004034091372a8714be1244eb2c17724ed0 node-v26.8.2-x64.msi +da3c491e86e4ade2b2856301de365765e6cb29aea442c7158b40246eda021c72 node-v26.8.2.pkg +67d1e64b1c80faa8be9ee80e78b89c9aa47ddd29a62200a6b053e80b9c8d4245 node-v26.8.2.tar.gz +36b37bf5ee4d092b9d9dff2d1a90b1444f8b453eddf6ff96cabdebb97d32f41d node-v26.8.2.tar.xz +ff43ca1699c7b36f0c1d19d1890a520c9d262924c71e5b4852f01e1a239f75b4 win-arm64/node.exe +f8ff31e0a817991e31c7fcc1cc6123a28eca06e3dbf0a47afe633dfef056a39d win-arm64/node.lib +4231794b545dba2d1fb04c3882c5d605028ba6ab7f72151c146ba1e818a24f37 win-arm64/node_pdb.7z +1eebf832a2a53bde9731cdd7f076bd1997a6bd3e2d67db091c64e1c378a7df3d win-arm64/node_pdb.zip +23062343ad39fc79f12ae39cfb324e93a20ced5f1d342e7b850c148c022ddbca win-x64/node.exe +5432dceeac196ef89ec001939cc3801cfa131036a05f5fabf5e07b6c5a0895a4 win-x64/node.lib +dee7cf9fefc6be8c0b5e78a11a1762882f730739aae03eaa2bbaf41c722cb255 win-x64/node_pdb.7z +9fe42a763077aa2828685c4d4e4d3db2e817d3d300f1c50c76223dcecacff6ca win-x64/node_pdb.zip + +-----BEGIN PGP SIGNATURE----- + +iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaqGEPAAKCRAgsaOQsWjT +Vp8EAPoD9KcTkoG+3v57kQIQwWeKGRump2RCxqWJ1hp2/pNYyAEAno4yED158Vig +oqbbIgAh8KADldRIYcrup6mD+wmmegc= +=waFH +-----END PGP SIGNATURE----- +```