From cf5e373c8994f4b3e205fbcbaf32041ae24bc4c6 Mon Sep 17 00:00:00 2001 From: Create or Update Pull Request Action Date: Wed, 14 Oct 2026 15:26:49 +0000 Subject: [PATCH] feat(blog): create post for v24.22.0 --- apps/site/pages/en/blog/release/v24.22.0.md | 445 ++++++++++++++++++++ 1 file changed, 445 insertions(+) create mode 100644 apps/site/pages/en/blog/release/v24.22.0.md diff --git a/apps/site/pages/en/blog/release/v24.22.0.md b/apps/site/pages/en/blog/release/v24.22.0.md new file mode 100644 index 0000000000000..5937586f6c057 --- /dev/null +++ b/apps/site/pages/en/blog/release/v24.22.0.md @@ -0,0 +1,445 @@ +--- +date: '2026-10-14T15:26:48.742Z' +category: release +title: Node.js 24.22.0 (LTS) +layout: blog-post +author: Richard Lau +--- + +## 2026-10-14, Version 24.22.0 'Krypton' (LTS), @richardlau prepared by @aduh95 + +### Notable Changes + +- \[[`ddbf974b47`](https://github.com/nodejs/node/commit/ddbf974b47)] - **(SEMVER-MINOR)** **crypto**: add `crypto.parsePKCS12()` (Brian Muenzenmeyer) [#65627](https://github.com/nodejs/node/pull/65627) +- \[[`c162c68ff0`](https://github.com/nodejs/node/commit/c162c68ff0)] - **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan) [#65553](https://github.com/nodejs/node/pull/65553) +- \[[`a4ab3d84d7`](https://github.com/nodejs/node/commit/a4ab3d84d7)] - **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484) +- \[[`c2f1e829ea`](https://github.com/nodejs/node/commit/c2f1e829ea)] - **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484) +- \[[`51aad5a80d`](https://github.com/nodejs/node/commit/51aad5a80d)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#63411](https://github.com/nodejs/node/pull/63411) +- \[[`d11c65d2f2`](https://github.com/nodejs/node/commit/d11c65d2f2)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#66090](https://github.com/nodejs/node/pull/66090) +- \[[`acc1578179`](https://github.com/nodejs/node/commit/acc1578179)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#65593](https://github.com/nodejs/node/pull/65593) +- \[[`a7f8de6362`](https://github.com/nodejs/node/commit/a7f8de6362)] - **(SEMVER-MINOR)** **net**: support sending `net.BoundSocket` to threads and child processes (Guy Bedford) [#64725](https://github.com/nodejs/node/pull/64725) +- \[[`60c3eb61bd`](https://github.com/nodejs/node/commit/60c3eb61bd)] - **(SEMVER-MINOR)** **perf\_hooks**: implement `SlidingWindowHistogram` (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) +- \[[`6b3e6f9d5c`](https://github.com/nodejs/node/commit/6b3e6f9d5c)] - **(SEMVER-MINOR)** **perf\_hooks**: implement qrde analysis support in Histogram (James M Snell) [#65806](https://github.com/nodejs/node/pull/65806) +- \[[`75456a3512`](https://github.com/nodejs/node/commit/75456a3512)] - **(SEMVER-MINOR)** **perf\_hooks**: implement Histogram `meanCI` API (James M Snell) [#65606](https://github.com/nodejs/node/pull/65606) +- \[[`72d1b40c56`](https://github.com/nodejs/node/commit/72d1b40c56)] - **(SEMVER-MINOR)** **perf\_hooks**: add CBOR export/import for histogram exchange (James M Snell) [#65434](https://github.com/nodejs/node/pull/65434) +- \[[`41161dda87`](https://github.com/nodejs/node/commit/41161dda87)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype.close()` (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`adbc757d70`](https://github.com/nodejs/node/commit/adbc757d70)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype[Symbol.dispose]()` (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`241339f072`](https://github.com/nodejs/node/commit/241339f072)] - **(SEMVER-MINOR)** **src,lib**: add `util.markPromiseAsHandled` (James M Snell) [#65805](https://github.com/nodejs/node/pull/65805) +- \[[`63b0974d9e`](https://github.com/nodejs/node/commit/63b0974d9e)] - **(SEMVER-MINOR)** **util**: implement `util.throttle` (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899) +- \[[`a3bbb5a26f`](https://github.com/nodejs/node/commit/a3bbb5a26f)] - **(SEMVER-MINOR)** **util**: implement `debounce` (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899) + +### Commits + +- \[[`e6832b2cb1`](https://github.com/nodejs/node/commit/e6832b2cb1)] - **assert**: fix TypeError on deepStrictEqual with null Map key or Set member (Sergey Sannikov) [#64449](https://github.com/nodejs/node/pull/64449) +- \[[`a079177d9f`](https://github.com/nodejs/node/commit/a079177d9f)] - **benchmark**: add --csv option to compare.js with --analyze (James M Snell) [#65922](https://github.com/nodejs/node/pull/65922) +- \[[`10b1a0f70f`](https://github.com/nodejs/node/commit/10b1a0f70f)] - **benchmark**: fix max-regressions detection in compare.js (James M Snell) [#65587](https://github.com/nodejs/node/pull/65587) +- \[[`e0c7ba8ad5`](https://github.com/nodejs/node/commit/e0c7ba8ad5)] - **benchmark**: add --analyze option to benchmark/scatter.js (James M Snell) [#65594](https://github.com/nodejs/node/pull/65594) +- \[[`21fed10bb0`](https://github.com/nodejs/node/commit/21fed10bb0)] - **benchmark**: add crypto class benchmarks (Filip Skokan) [#65518](https://github.com/nodejs/node/pull/65518) +- \[[`fa912242b7`](https://github.com/nodejs/node/commit/fa912242b7)] - **buffer**: fix unaligned UTF-16LE decoding (Matteo Collina) [#65905](https://github.com/nodejs/node/pull/65905) +- \[[`a6bd0c1413`](https://github.com/nodejs/node/commit/a6bd0c1413)] - **build**: suppress OpenSSL asm warnings with clang (Richard Lau) [#66023](https://github.com/nodejs/node/pull/66023) +- \[[`94e12139ee`](https://github.com/nodejs/node/commit/94e12139ee)] - **build**: derive V8\_LOGGING\_LEVEL from dcheck\_always\_on (Joyee Cheung) [#65744](https://github.com/nodejs/node/pull/65744) +- \[[`7a2f322943`](https://github.com/nodejs/node/commit/7a2f322943)] - **build**: fix quiet default for make builds (Shelley Vohr) [#65826](https://github.com/nodejs/node/pull/65826) +- \[[`c280d650b0`](https://github.com/nodejs/node/commit/c280d650b0)] - **build**: allow linking shared dependencies in the GN build (Shelley Vohr) [#65797](https://github.com/nodejs/node/pull/65797) +- \[[`4b23a4472c`](https://github.com/nodejs/node/commit/4b23a4472c)] - **build**: enable the V8 sandbox in shared-cage builds (Shelley Vohr) [#62237](https://github.com/nodejs/node/pull/62237) +- \[[`676e15c003`](https://github.com/nodejs/node/commit/676e15c003)] - **build**: define V8\_CONTIGUOUS\_COMPRESSED\_RO\_SPACE for shared cage (Shelley Vohr) [#65464](https://github.com/nodejs/node/pull/65464) +- \[[`f784058482`](https://github.com/nodejs/node/commit/f784058482)] - **build**: remove obsolete configure flags (Chengzhong Wu) [#65456](https://github.com/nodejs/node/pull/65456) +- \[[`f63f37d243`](https://github.com/nodejs/node/commit/f63f37d243)] - **build**: activate correct default flags for riscv64 (Stewart X Addison) [#65708](https://github.com/nodejs/node/pull/65708) +- \[[`da46ac075d`](https://github.com/nodejs/node/commit/da46ac075d)] - **build**: derive NODE\_ARCH from target\_cpu in the GN build (Shelley Vohr) [#65491](https://github.com/nodejs/node/pull/65491) +- \[[`249e9a16dd`](https://github.com/nodejs/node/commit/249e9a16dd)] - **build,src**: gate jspi flag on V8\_ENABLE\_WEBASSEMBLY (Piotr Kubaj) [#66082](https://github.com/nodejs/node/pull/66082) +- \[[`146f00f64b`](https://github.com/nodejs/node/commit/146f00f64b)] - **child\_process**: clear timeout timer on spawn-time error too (kishore280) [#65506](https://github.com/nodejs/node/pull/65506) +- \[[`13987f4418`](https://github.com/nodejs/node/commit/13987f4418)] - **crypto**: remove redundent `std::move` call (Antoine du Hamel) [#66111](https://github.com/nodejs/node/pull/66111) +- \[[`ef957ac85f`](https://github.com/nodejs/node/commit/ef957ac85f)] - **crypto**: skip private RSA parameters in key details (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`8feccc5e22`](https://github.com/nodejs/node/commit/8feccc5e22)] - **crypto**: use provider EC group names (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`764e0d1120`](https://github.com/nodejs/node/commit/764e0d1120)] - **crypto**: fetch ciphers for private-key encoding (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`50ffed1979`](https://github.com/nodejs/node/commit/50ffed1979)] - **crypto**: decode PKCS#1 keys through providers (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`56c16b2fd6`](https://github.com/nodejs/node/commit/56c16b2fd6)] - **crypto**: derive keys through EVP\_KDF (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`a4effe6809`](https://github.com/nodejs/node/commit/a4effe6809)] - **crypto**: use names for asymmetric key algorithms (Filip Skokan) [#65966](https://github.com/nodejs/node/pull/65966) +- \[[`ddbf974b47`](https://github.com/nodejs/node/commit/ddbf974b47)] - **(SEMVER-MINOR)** **crypto**: add crypto.parsePKCS12() (Brian Muenzenmeyer) [#65627](https://github.com/nodejs/node/pull/65627) +- \[[`8e631aa48f`](https://github.com/nodejs/node/commit/8e631aa48f)] - **crypto**: add Hybrid KEMs to Web Cryptography (Filip Skokan) [#65759](https://github.com/nodejs/node/pull/65759) +- \[[`5c51129e16`](https://github.com/nodejs/node/commit/5c51129e16)] - **crypto**: optimize private EC JWK import (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) +- \[[`c2ec40c2d7`](https://github.com/nodejs/node/commit/c2ec40c2d7)] - **crypto**: disable non-FIPS WebCrypto paths in FIPS mode (Filip Skokan) [#65172](https://github.com/nodejs/node/pull/65172) +- \[[`e198aa0f79`](https://github.com/nodejs/node/commit/e198aa0f79)] - **crypto**: read RSA-PSS restrictions from provider (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`253784f0e9`](https://github.com/nodejs/node/commit/253784f0e9)] - **crypto**: optimize and benchmark key preparation (Filip Skokan) [#65892](https://github.com/nodejs/node/pull/65892) +- \[[`80a6ad509b`](https://github.com/nodejs/node/commit/80a6ad509b)] - **crypto**: avoid EC reconstruction for signature sizing (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) +- \[[`5b592b772c`](https://github.com/nodejs/node/commit/5b592b772c)] - **crypto**: avoid EC raw export reconstruction (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) +- \[[`ee956ae3bf`](https://github.com/nodejs/node/commit/ee956ae3bf)] - **crypto**: export EC JWK coordinates directly (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) +- \[[`684008be58`](https://github.com/nodejs/node/commit/684008be58)] - **crypto**: read EC curve metadata directly (Filip Skokan) [#65908](https://github.com/nodejs/node/pull/65908) +- \[[`f4665f1c41`](https://github.com/nodejs/node/commit/f4665f1c41)] - **crypto**: validate the limit of PBKDF2 iterations (Filip Skokan) [#65704](https://github.com/nodejs/node/pull/65704) +- \[[`624abbecd7`](https://github.com/nodejs/node/commit/624abbecd7)] - **crypto**: use primordials in HKDF info validation (Filip Skokan) [#65704](https://github.com/nodejs/node/pull/65704) +- \[[`e4d916f175`](https://github.com/nodejs/node/commit/e4d916f175)] - **crypto**: add mgf1Hash for RSA-OAEP (Adam Mcgrath) [#65073](https://github.com/nodejs/node/pull/65073) +- \[[`db8a9162a8`](https://github.com/nodejs/node/commit/db8a9162a8)] - **crypto**: fix multi-prime RSA JWKs (Filip Skokan) [#65649](https://github.com/nodejs/node/pull/65649) +- \[[`022ac83504`](https://github.com/nodejs/node/commit/022ac83504)] - **crypto**: cache valid ECDH key pairs (Filip Skokan) [#65615](https://github.com/nodejs/node/pull/65615) +- \[[`c61953ebcc`](https://github.com/nodejs/node/commit/c61953ebcc)] - **crypto**: add strict mode to --force-fips (Filip Skokan) [#65645](https://github.com/nodejs/node/pull/65645) +- \[[`db6ea132a5`](https://github.com/nodejs/node/commit/db6ea132a5)] - **crypto**: add FIPS indicator diagnostics channel (Filip Skokan) [#65645](https://github.com/nodejs/node/pull/65645) +- \[[`c162c68ff0`](https://github.com/nodejs/node/commit/c162c68ff0)] - **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan) [#65553](https://github.com/nodejs/node/pull/65553) +- \[[`2b62aafd20`](https://github.com/nodejs/node/commit/2b62aafd20)] - **crypto**: validate JWK usages before key\_ops (Filip Skokan) [#65550](https://github.com/nodejs/node/pull/65550) +- \[[`ec7819db69`](https://github.com/nodejs/node/commit/ec7819db69)] - **crypto**: fix RSA-PSS oversized salt handling (Filip Skokan) [#65550](https://github.com/nodejs/node/pull/65550) +- \[[`a4ab3d84d7`](https://github.com/nodejs/node/commit/a4ab3d84d7)] - **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484) +- \[[`c2f1e829ea`](https://github.com/nodejs/node/commit/c2f1e829ea)] - **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers (Filip Skokan) [#65484](https://github.com/nodejs/node/pull/65484) +- \[[`51aad5a80d`](https://github.com/nodejs/node/commit/51aad5a80d)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#63411](https://github.com/nodejs/node/pull/63411) +- \[[`5a46a9acbb`](https://github.com/nodejs/node/commit/5a46a9acbb)] - **crypto**: improve SubtleCrypto.supports() accuracy (Filip Skokan) [#65222](https://github.com/nodejs/node/pull/65222) +- \[[`191ebfb26c`](https://github.com/nodejs/node/commit/191ebfb26c)] - **crypto**: fix public PKCS8 export error (한국) [#65609](https://github.com/nodejs/node/pull/65609) +- \[[`b6d7ed372b`](https://github.com/nodejs/node/commit/b6d7ed372b)] - **crypto**: fix private SPKI export error (Filip Skokan) [#65550](https://github.com/nodejs/node/pull/65550) +- \[[`79509c25a4`](https://github.com/nodejs/node/commit/79509c25a4)] - **crypto**: correct CCM decryption FIPS error message (kyungrae) [#65450](https://github.com/nodejs/node/pull/65450) +- \[[`9adc87bc16`](https://github.com/nodejs/node/commit/9adc87bc16)] - **crypto**: harden X509Certificate state (Filip Skokan) [#65518](https://github.com/nodejs/node/pull/65518) +- \[[`c63aa331b4`](https://github.com/nodejs/node/commit/c63aa331b4)] - **crypto**: optimize key slot caching (Filip Skokan) [#65518](https://github.com/nodejs/node/pull/65518) +- \[[`87daea43a7`](https://github.com/nodejs/node/commit/87daea43a7)] - **crypto**: add null checks for OPENSSL\_INIT\_new() (Nora Dossche) [#63457](https://github.com/nodejs/node/pull/63457) +- \[[`98ca5e9358`](https://github.com/nodejs/node/commit/98ca5e9358)] - **crypto**: prevent Hmac.digest() from returning uninitialized memory (Matteo Collina) [#65112](https://github.com/nodejs/node/pull/65112) +- \[[`0c090a28cd`](https://github.com/nodejs/node/commit/0c090a28cd)] - **crypto**: avoid throwing CryptoKey brand checks (Filip Skokan) [#65503](https://github.com/nodejs/node/pull/65503) +- \[[`a13cc3f723`](https://github.com/nodejs/node/commit/a13cc3f723)] - **crypto**: avoid throwing KeyObject brand checks (Filip Skokan) [#65503](https://github.com/nodejs/node/pull/65503) +- \[[`b8db0045ef`](https://github.com/nodejs/node/commit/b8db0045ef)] - **deps**: V8: cherry-pick ea9c016f26ad (Gundepalli Sravani) [#66570](https://github.com/nodejs/node/pull/66570) +- \[[`ba09b53487`](https://github.com/nodejs/node/commit/ba09b53487)] - **deps**: V8: backport c3553509f460 (Jakob Linke) [#66089](https://github.com/nodejs/node/pull/66089) +- \[[`9ce8ef405b`](https://github.com/nodejs/node/commit/9ce8ef405b)] - **deps**: V8: backport 8901c793e439 (Toon Verwaest) [#66089](https://github.com/nodejs/node/pull/66089) +- \[[`fb0d0ca289`](https://github.com/nodejs/node/commit/fb0d0ca289)] - **deps**: V8: backport 0b94a9fd23ba (Ruan Gustavo) [#65753](https://github.com/nodejs/node/pull/65753) +- \[[`2faca508c0`](https://github.com/nodejs/node/commit/2faca508c0)] - **deps**: update googletest to 8eff9e336692fc95961e096564f1044c600b881d (Node.js GitHub Bot) [#66009](https://github.com/nodejs/node/pull/66009) +- \[[`4396c9bffe`](https://github.com/nodejs/node/commit/4396c9bffe)] - **deps**: update googletest to 283c17563fe7a1111cd7f581aa5d541e8baeff2f (Node.js GitHub Bot) [#65833](https://github.com/nodejs/node/pull/65833) +- \[[`8a5b12570c`](https://github.com/nodejs/node/commit/8a5b12570c)] - **deps**: update simdjson to 4.6.11 (Node.js GitHub Bot) [#65834](https://github.com/nodejs/node/pull/65834) +- \[[`c47feb09e8`](https://github.com/nodejs/node/commit/c47feb09e8)] - **deps**: update zlib to 1.3.2.1-motley-285e94b (Node.js GitHub Bot) [#65835](https://github.com/nodejs/node/pull/65835) +- \[[`9f0d905286`](https://github.com/nodejs/node/commit/9f0d905286)] - **deps**: upgrade npm to 11.19.1 (npm team) [#65573](https://github.com/nodejs/node/pull/65573) +- \[[`373cd332d8`](https://github.com/nodejs/node/commit/373cd332d8)] - **deps**: update googletest to 36ba75f0ad5383a9759f17f3f72fd4661c72cb6d (Node.js GitHub Bot) [#65654](https://github.com/nodejs/node/pull/65654) +- \[[`aeed6132a7`](https://github.com/nodejs/node/commit/aeed6132a7)] - **deps**: update simdjson to 4.6.9 (Node.js GitHub Bot) [#65655](https://github.com/nodejs/node/pull/65655) +- \[[`2583571342`](https://github.com/nodejs/node/commit/2583571342)] - **deps**: update zlib to 1.3.2.1-motley-5eb4d7e (Node.js GitHub Bot) [#65494](https://github.com/nodejs/node/pull/65494) +- \[[`d11c65d2f2`](https://github.com/nodejs/node/commit/d11c65d2f2)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#66090](https://github.com/nodejs/node/pull/66090) +- \[[`0a4a8d602a`](https://github.com/nodejs/node/commit/0a4a8d602a)] - **doc**: fix duplicate 'the' typo in `node_platform.cc` (Muhammad Al-Muzahid) [#66058](https://github.com/nodejs/node/pull/66058) +- \[[`b6538138ef`](https://github.com/nodejs/node/commit/b6538138ef)] - **doc**: clarify sub-1000ms behavior in socket.setKeepAlive (Haram Jeong) [#65869](https://github.com/nodejs/node/pull/65869) +- \[[`d319fa7de4`](https://github.com/nodejs/node/commit/d319fa7de4)] - **doc**: remove obsolete mentioning of cl.exe on windows (Chengzhong Wu) [#66038](https://github.com/nodejs/node/pull/66038) +- \[[`67cb305b59`](https://github.com/nodejs/node/commit/67cb305b59)] - **doc**: note that default signal handling resets the signal mask (Shelley Vohr) [#65877](https://github.com/nodejs/node/pull/65877) +- \[[`160d44e025`](https://github.com/nodejs/node/commit/160d44e025)] - **doc**: clarify QUIC async write backpressure (John Finnerty) [#65947](https://github.com/nodejs/node/pull/65947) +- \[[`ffd47a7ee5`](https://github.com/nodejs/node/commit/ffd47a7ee5)] - **doc**: clarify permission model scope for output paths (Rafael Gonzaga) [#66004](https://github.com/nodejs/node/pull/66004) +- \[[`2e1772a8ab`](https://github.com/nodejs/node/commit/2e1772a8ab)] - **doc**: fill in missing zstd docs (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867) +- \[[`9f88c6f8dc`](https://github.com/nodejs/node/commit/9f88c6f8dc)] - **doc**: add inoway46 as triager (Yuya Inoue) [#65565](https://github.com/nodejs/node/pull/65565) +- \[[`c2620d01f3`](https://github.com/nodejs/node/commit/c2620d01f3)] - **doc**: document windowsHide for child\_process.fork (Christopher Buss) [#65887](https://github.com/nodejs/node/pull/65887) +- \[[`6076111e1a`](https://github.com/nodejs/node/commit/6076111e1a)] - **doc**: qualify directory read ordering for native fs (Trivikram Kamat) [#65868](https://github.com/nodejs/node/pull/65868) +- \[[`7bf048a336`](https://github.com/nodejs/node/commit/7bf048a336)] - **doc**: add DOMException section to errors API reference (Avocado) [#65206](https://github.com/nodejs/node/pull/65206) +- \[[`414b6bfa62`](https://github.com/nodejs/node/commit/414b6bfa62)] - **doc**: expand revert commit collaborator instructions (Mike McCready) [#65848](https://github.com/nodejs/node/pull/65848) +- \[[`c8ac91692c`](https://github.com/nodejs/node/commit/c8ac91692c)] - **doc**: note that FreeEnvironment() runs a shared event loop (Shelley Vohr) [#65691](https://github.com/nodejs/node/pull/65691) +- \[[`cc47cc0983`](https://github.com/nodejs/node/commit/cc47cc0983)] - **doc**: clarify security triage dispositions and permission boundaries (Rafael Gonzaga) [#65436](https://github.com/nodejs/node/pull/65436) +- \[[`8b79a71e78`](https://github.com/nodejs/node/commit/8b79a71e78)] - **doc**: fix default limit of maxHeadersCount (Aryn H) [#65472](https://github.com/nodejs/node/pull/65472) +- \[[`56b1252a54`](https://github.com/nodejs/node/commit/56b1252a54)] - **doc**: fix return types for sync methods (Chiang Fong Lee) [#58575](https://github.com/nodejs/node/pull/58575) +- \[[`da0d32a333`](https://github.com/nodejs/node/commit/da0d32a333)] - **doc**: document REPL DEP0185 throws and uncaught-exception behavior (Adrián Estrada) [#64993](https://github.com/nodejs/node/pull/64993) +- \[[`f8ab3619b6`](https://github.com/nodejs/node/commit/f8ab3619b6)] - **doc**: document close() error when in a sqlite callback (Trivikram Kamat) [#65090](https://github.com/nodejs/node/pull/65090) +- \[[`131f1db302`](https://github.com/nodejs/node/commit/131f1db302)] - **doc**: clarify return type of `fs.mkdtemp*` (Antoine du Hamel) [#65743](https://github.com/nodejs/node/pull/65743) +- \[[`7755e98183`](https://github.com/nodejs/node/commit/7755e98183)] - **doc**: update `changelog-maker` instructions for releasing (Juan José) [#65707](https://github.com/nodejs/node/pull/65707) +- \[[`f982a53433`](https://github.com/nodejs/node/commit/f982a53433)] - **doc**: add stability status to `crypto.setEngine` (Antoine du Hamel) [#65746](https://github.com/nodejs/node/pull/65746) +- \[[`17be003f7c`](https://github.com/nodejs/node/commit/17be003f7c)] - **doc**: remove outdated TLS authorized warning (Tim Perry) [#65597](https://github.com/nodejs/node/pull/65597) +- \[[`424002232d`](https://github.com/nodejs/node/commit/424002232d)] - **doc**: fix stale TOC in maintaining-dependencies (greenhead) [#65523](https://github.com/nodejs/node/pull/65523) +- \[[`dddb9b57a5`](https://github.com/nodejs/node/commit/dddb9b57a5)] - **doc**: refactor the AI guidelines (Joyee Cheung) [#65269](https://github.com/nodejs/node/pull/65269) +- \[[`397b58e113`](https://github.com/nodejs/node/commit/397b58e113)] - **doc**: fix triggerAsyncId() comment in async\_hooks example (soreavis) [#64583](https://github.com/nodejs/node/pull/64583) +- \[[`338ec94d83`](https://github.com/nodejs/node/commit/338ec94d83)] - **doc**: fix fsPromises.watch overflow value (Matt Radbourne) [#64605](https://github.com/nodejs/node/pull/64605) +- \[[`f18be21b14`](https://github.com/nodejs/node/commit/f18be21b14)] - **doc**: clarify stream direction in options.stdio note (Avocado) [#65236](https://github.com/nodejs/node/pull/65236) +- \[[`f07c6acd8b`](https://github.com/nodejs/node/commit/f07c6acd8b)] - **doc**: clarify signal listener behavior (Som Samantray) [#65243](https://github.com/nodejs/node/pull/65243) +- \[[`8bc17b0c7a`](https://github.com/nodejs/node/commit/8bc17b0c7a)] - **doc**: add test reporter event lifecycle diagram (sangwook) [#63780](https://github.com/nodejs/node/pull/63780) +- \[[`452e7477d4`](https://github.com/nodejs/node/commit/452e7477d4)] - **doc**: discourage AbortSignal cleanup for long-lived resources (Efe Karasakal) [#64342](https://github.com/nodejs/node/pull/64342) +- \[[`acc1578179`](https://github.com/nodejs/node/commit/acc1578179)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#65593](https://github.com/nodejs/node/pull/65593) +- \[[`e7ed4361d6`](https://github.com/nodejs/node/commit/e7ed4361d6)] - **doc,test**: account for OpenSSL 4.1 behaviours (Filip Skokan) [#65956](https://github.com/nodejs/node/pull/65956) +- \[[`c65fafeab4`](https://github.com/nodejs/node/commit/c65fafeab4)] - **errors**: validate constructor name (Christian Aurich) [#65607](https://github.com/nodejs/node/pull/65607) +- \[[`f6b47938b7`](https://github.com/nodejs/node/commit/f6b47938b7)] - **events**: fix weak listener retention overwrite (Aryan) [#64024](https://github.com/nodejs/node/pull/64024) +- \[[`a27db42c3e`](https://github.com/nodejs/node/commit/a27db42c3e)] - **fs**: coerce FileHandle.read length like fs.read (Xia Chao) [#65521](https://github.com/nodejs/node/pull/65521) +- \[[`f3019b522a`](https://github.com/nodejs/node/commit/f3019b522a)] - **fs**: throw on existing dir in cpSync with errorOnExist (Daijiro Wachi) [#64124](https://github.com/nodejs/node/pull/64124) +- \[[`cd1011458f`](https://github.com/nodejs/node/commit/cd1011458f)] - **fs**: support removing read-only files in rmSync on Windows (Sparsh :)) [#64453](https://github.com/nodejs/node/pull/64453) +- \[[`d659dd8cd8`](https://github.com/nodejs/node/commit/d659dd8cd8)] - **fs**: give directories created by cpSync the source directory's mode (Shelley Vohr) [#65488](https://github.com/nodejs/node/pull/65488) +- \[[`1dfb047293`](https://github.com/nodejs/node/commit/1dfb047293)] - **fs**: handle recursive watch setup races (Filip Skokan) [#65699](https://github.com/nodejs/node/pull/65699) +- \[[`bc431c8413`](https://github.com/nodejs/node/commit/bc431c8413)] - **fs**: apply nocase to literal glob exclude patterns (Yusuke Hayashi) [#64817](https://github.com/nodejs/node/pull/64817) +- \[[`dd5662e641`](https://github.com/nodejs/node/commit/dd5662e641)] - **fs**: do not descend into symlinks for \*\* unless following symlinks (RafaelGSS) [#65435](https://github.com/nodejs/node/pull/65435) +- \[[`ac4cf54292`](https://github.com/nodejs/node/commit/ac4cf54292)] - **fs**: watch directories, not files, in recursive fs.watch fallback (Shelley Vohr) [#65486](https://github.com/nodejs/node/pull/65486) +- \[[`7804bfbd71`](https://github.com/nodejs/node/commit/7804bfbd71)] - **fs**: preserve directory timestamps in cp (Abhinandan Kumar) [#65540](https://github.com/nodejs/node/pull/65540) +- \[[`ba5ca5a1a5`](https://github.com/nodejs/node/commit/ba5ca5a1a5)] - **fs**: fix recursive watch error handling (Filip Skokan) [#65635](https://github.com/nodejs/node/pull/65635) +- \[[`b71c4c0551`](https://github.com/nodejs/node/commit/b71c4c0551)] - **fs**: fix rmSync error messages for non-ASCII paths (Yeaseen) [#61233](https://github.com/nodejs/node/pull/61233) +- \[[`53b4700892`](https://github.com/nodejs/node/commit/53b4700892)] - **http**: don't destroy socket after request completes (Barath Raj) [#65952](https://github.com/nodejs/node/pull/65952) +- \[[`96d4c23f17`](https://github.com/nodejs/node/commit/96d4c23f17)] - **http**: fast-forward teardown of unread messages (Matteo Collina) [#65732](https://github.com/nodejs/node/pull/65732) +- \[[`742b4bf5a6`](https://github.com/nodejs/node/commit/742b4bf5a6)] - **http**: coalesce chunked writes during auto-corking (GetThatCookie) [#64987](https://github.com/nodejs/node/pull/64987) +- \[[`8921108175`](https://github.com/nodejs/node/commit/8921108175)] - **http2**: settle pending write callbacks on destroy (Matteo Collina) [#66016](https://github.com/nodejs/node/pull/66016) +- \[[`9a2f77a3fc`](https://github.com/nodejs/node/commit/9a2f77a3fc)] - **http2**: fix onread assert when destroying session from stream handler (Sankalp Thakur) [#65116](https://github.com/nodejs/node/pull/65116) +- \[[`99e41eb43a`](https://github.com/nodejs/node/commit/99e41eb43a)] - **http2**: error for incomplete reads on RST, auto-drain, deprecate aborted (Tim Perry) [#63249](https://github.com/nodejs/node/pull/63249) +- \[[`d520b9601c`](https://github.com/nodejs/node/commit/d520b9601c)] - **http2**: fix write deadlock exposed by larger window sizes (Tim Perry) [#65440](https://github.com/nodejs/node/pull/65440) +- \[[`86b2497aae`](https://github.com/nodejs/node/commit/86b2497aae)] - **http2**: fix async context loss when trailers carry END\_STREAM (Orgad Shaneh) [#63814](https://github.com/nodejs/node/pull/63814) +- \[[`536ccc7daf`](https://github.com/nodejs/node/commit/536ccc7daf)] - **https**: limit proxy CONNECT response headers (Matteo Collina) [#64545](https://github.com/nodejs/node/pull/64545) +- \[[`fe6147832b`](https://github.com/nodejs/node/commit/fe6147832b)] - **inspector**: fix abort when two Environments own the inspector (Shelley Vohr) [#65877](https://github.com/nodejs/node/pull/65877) +- \[[`843a27782a`](https://github.com/nodejs/node/commit/843a27782a)] - **inspector**: fix crash when the IsolateData has no platform (Shelley Vohr) [#65818](https://github.com/nodejs/node/pull/65818) +- \[[`3f0b6d3308`](https://github.com/nodejs/node/commit/3f0b6d3308)] - **lib**: avoid repeat internal receiver checks (Filip Skokan) [#65910](https://github.com/nodejs/node/pull/65910) +- \[[`0039479b4a`](https://github.com/nodejs/node/commit/0039479b4a)] - **lib**: fix shared buffer growability validation (Filip Skokan) [#65845](https://github.com/nodejs/node/pull/65845) +- \[[`e7907130ae`](https://github.com/nodejs/node/commit/e7907130ae)] - **lib**: use Web IDL interface brand checks (Filip Skokan) [#65846](https://github.com/nodejs/node/pull/65846) +- \[[`7ae085552b`](https://github.com/nodejs/node/commit/7ae085552b)] - **lib**: fix AbortSignal.any() abort propagation (Yuya Inoue) [#66014](https://github.com/nodejs/node/pull/66014) +- \[[`01032f4fdc`](https://github.com/nodejs/node/commit/01032f4fdc)] - **lib**: fix for FileHandle.readableWebStream (Patrick Dähne) [#58842](https://github.com/nodejs/node/pull/58842) +- \[[`60a9a28206`](https://github.com/nodejs/node/commit/60a9a28206)] - **lib**: avoid unsafe array iteration in cli table (Donghoon Kang) [#65838](https://github.com/nodejs/node/pull/65838) +- \[[`230a7fcef0`](https://github.com/nodejs/node/commit/230a7fcef0)] - **lib**: optimize internal Web IDL dictionaries (Filip Skokan) [#65857](https://github.com/nodejs/node/pull/65857) +- \[[`7cc02b14ec`](https://github.com/nodejs/node/commit/7cc02b14ec)] - **lib**: validate sequence iterator objects (Filip Skokan) [#65844](https://github.com/nodejs/node/pull/65844) +- \[[`c2bb3aeccc`](https://github.com/nodejs/node/commit/c2bb3aeccc)] - **lib**: defer source map payload decoding until first use (Shelley Vohr) [#65490](https://github.com/nodejs/node/pull/65490) +- \[[`c4b390cf17`](https://github.com/nodejs/node/commit/c4b390cf17)] - **lib**: optimize async context frame activation (Tim Perry) [#65519](https://github.com/nodejs/node/pull/65519) +- \[[`3e4fc50a4f`](https://github.com/nodejs/node/commit/3e4fc50a4f)] - **lib**: use validateArray for array arguments (JunHwan Choi) [#65344](https://github.com/nodejs/node/pull/65344) +- \[[`b351ac9cd4`](https://github.com/nodejs/node/commit/b351ac9cd4)] - **meta**: bump step-security/harden-runner from 2.21.0 to 2.21.1 (dependabot\[bot]) [#66044](https://github.com/nodejs/node/pull/66044) +- \[[`693e890fec`](https://github.com/nodejs/node/commit/693e890fec)] - **meta**: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66046](https://github.com/nodejs/node/pull/66046) +- \[[`9c2abc13c2`](https://github.com/nodejs/node/commit/9c2abc13c2)] - **meta**: bump github/codeql-action/init from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66048](https://github.com/nodejs/node/pull/66048) +- \[[`b3c5c2b91d`](https://github.com/nodejs/node/commit/b3c5c2b91d)] - **meta**: bump github/codeql-action/analyze from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66049](https://github.com/nodejs/node/pull/66049) +- \[[`2428b13b02`](https://github.com/nodejs/node/commit/2428b13b02)] - **meta**: bump github/codeql-action/autobuild from 4.37.9 to 4.38.0 (dependabot\[bot]) [#66050](https://github.com/nodejs/node/pull/66050) +- \[[`eff5d15041`](https://github.com/nodejs/node/commit/eff5d15041)] - **meta**: add joyeecheung as v8 currency strategic initiative champion (Joyee Cheung) [#65965](https://github.com/nodejs/node/pull/65965) +- \[[`aa549fed0d`](https://github.com/nodejs/node/commit/aa549fed0d)] - **meta**: expand on collaborator restoration process (Chengzhong Wu) [#65962](https://github.com/nodejs/node/pull/65962) +- \[[`593b40eb2b`](https://github.com/nodejs/node/commit/593b40eb2b)] - **meta**: add web-standards as webidl owners (Filip Skokan) [#65856](https://github.com/nodejs/node/pull/65856) +- \[[`e711d3fef3`](https://github.com/nodejs/node/commit/e711d3fef3)] - **meta**: bump actions/checkout from 7.0.0 to 7.0.1 (dependabot\[bot]) [#65718](https://github.com/nodejs/node/pull/65718) +- \[[`0fc8a38f5b`](https://github.com/nodejs/node/commit/0fc8a38f5b)] - **meta**: cleanup targos emeritus changes (Antoine du Hamel) [#65738](https://github.com/nodejs/node/pull/65738) +- \[[`2ca2fd566d`](https://github.com/nodejs/node/commit/2ca2fd566d)] - **meta**: bump github/codeql-action/init from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65714](https://github.com/nodejs/node/pull/65714) +- \[[`325709818e`](https://github.com/nodejs/node/commit/325709818e)] - **meta**: bump github/codeql-action/autobuild from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65717](https://github.com/nodejs/node/pull/65717) +- \[[`8481d22f72`](https://github.com/nodejs/node/commit/8481d22f72)] - **meta**: bump actions/setup-node from 6.4.0 to 7.0.0 (dependabot\[bot]) [#65720](https://github.com/nodejs/node/pull/65720) +- \[[`cd2bd5d9fd`](https://github.com/nodejs/node/commit/cd2bd5d9fd)] - **meta**: bump step-security/harden-runner from 2.20.0 to 2.21.0 (dependabot\[bot]) [#65721](https://github.com/nodejs/node/pull/65721) +- \[[`fdec747105`](https://github.com/nodejs/node/commit/fdec747105)] - **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) +- \[[`34c2fca088`](https://github.com/nodejs/node/commit/34c2fca088)] - **meta**: bump github/codeql-action/analyze from 4.37.3 to 4.37.9 (dependabot\[bot]) [#65723](https://github.com/nodejs/node/pull/65723) +- \[[`46d4549938`](https://github.com/nodejs/node/commit/46d4549938)] - **meta**: document collaborator automation (Filip Skokan) [#65671](https://github.com/nodejs/node/pull/65671) +- \[[`a7f8de6362`](https://github.com/nodejs/node/commit/a7f8de6362)] - **(SEMVER-MINOR)** **net**: support sending net.BoundSocket to threads and child processes (Guy Bedford) [#64725](https://github.com/nodejs/node/pull/64725) +- \[[`466f1f8e62`](https://github.com/nodejs/node/commit/466f1f8e62)] - **net**: fix BlockList.fromJSON for IPv4-mapped IPv6 rules (Daijiro Wachi) [#64125](https://github.com/nodejs/node/pull/64125) +- \[[`cd04cb10d6`](https://github.com/nodejs/node/commit/cd04cb10d6)] - **net**: recognize bare IPv6 loopback addresses in isLoopback (Daijiro Wachi) [#63619](https://github.com/nodejs/node/pull/63619) +- \[[`d983942636`](https://github.com/nodejs/node/commit/d983942636)] - **node-api**: make object property arrays const (Yilong Li) [#65621](https://github.com/nodejs/node/pull/65621) +- \[[`cc124394cc`](https://github.com/nodejs/node/commit/cc124394cc)] - **path**: remove `StringPrototypeCharCodeAt` from some methods of `posix` (Wiyeong Seo) [#54668](https://github.com/nodejs/node/pull/54668) +- \[[`60c3eb61bd`](https://github.com/nodejs/node/commit/60c3eb61bd)] - **(SEMVER-MINOR)** **perf\_hooks**: implement SlidingWindowHistogram (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) +- \[[`6b3e6f9d5c`](https://github.com/nodejs/node/commit/6b3e6f9d5c)] - **(SEMVER-MINOR)** **perf\_hooks**: implement qrde analysis support in Histogram (James M Snell) [#65806](https://github.com/nodejs/node/pull/65806) +- \[[`8aa870940c`](https://github.com/nodejs/node/commit/8aa870940c)] - **perf\_hooks**: reuse buffer for uv metrics (Donghoon Kang) [#65985](https://github.com/nodejs/node/pull/65985) +- \[[`9cfbfae660`](https://github.com/nodejs/node/commit/9cfbfae660)] - **perf\_hooks**: validate import normalization offset (Matteo Collina) [#65950](https://github.com/nodejs/node/pull/65950) +- \[[`75456a3512`](https://github.com/nodejs/node/commit/75456a3512)] - **(SEMVER-MINOR)** **perf\_hooks**: implement Histogram meanCI API (James M Snell) [#65606](https://github.com/nodejs/node/pull/65606) +- \[[`127cb31864`](https://github.com/nodejs/node/commit/127cb31864)] - **perf\_hooks**: add missing resource timing attributes (greenhead) [#65017](https://github.com/nodejs/node/pull/65017) +- \[[`72d1b40c56`](https://github.com/nodejs/node/commit/72d1b40c56)] - **(SEMVER-MINOR)** **perf\_hooks**: add CBOR export/import for histogram exchange (James M Snell) [#65434](https://github.com/nodejs/node/pull/65434) +- \[[`847fe4d049`](https://github.com/nodejs/node/commit/847fe4d049)] - **permission**: block FileHandle fsync and fdatasync (Rafael Gonzaga) [#65431](https://github.com/nodejs/node/pull/65431) +- \[[`fa9188bd63`](https://github.com/nodejs/node/commit/fa9188bd63)] - **quic**: fix two small bugs in HTTP/3 stream internals (Tim Perry) [#65970](https://github.com/nodejs/node/pull/65970) +- \[[`ee80beaa9f`](https://github.com/nodejs/node/commit/ee80beaa9f)] - **quic**: fix crash in onStreamClose (Marten Richter) [#65861](https://github.com/nodejs/node/pull/65861) +- \[[`98486dd764`](https://github.com/nodejs/node/commit/98486dd764)] - **quic**: reject zero addressLRUSize (Christian Aurich) [#65827](https://github.com/nodejs/node/pull/65827) +- \[[`97516fc256`](https://github.com/nodejs/node/commit/97516fc256)] - **quic**: stop guarding ngtcp2\_recv\_stop\_sending callback field (René) [#65688](https://github.com/nodejs/node/pull/65688) +- \[[`024bef25eb`](https://github.com/nodejs/node/commit/024bef25eb)] - **quic**: remove unused fin flag from blob reader wakeup (trivenay) [#65315](https://github.com/nodejs/node/pull/65315) +- \[[`5468337456`](https://github.com/nodejs/node/commit/5468337456)] - **quic**: release stream arenas before cleanup (Trivikram Kamat) [#65410](https://github.com/nodejs/node/pull/65410) +- \[[`a794e36970`](https://github.com/nodejs/node/commit/a794e36970)] - **sqlite**: throw on invalid URL path instead of abort (Guilherme Araújo) [#66026](https://github.com/nodejs/node/pull/66026) +- \[[`f58a55b8d0`](https://github.com/nodejs/node/commit/f58a55b8d0)] - **sqlite**: add diagnostic channel (Guilherme Araújo) [#62241](https://github.com/nodejs/node/pull/62241) +- \[[`be849bc6af`](https://github.com/nodejs/node/commit/be849bc6af)] - **sqlite**: reject connection access from authorizer callbacks (Trevor Burnham) [#65156](https://github.com/nodejs/node/pull/65156) +- \[[`41161dda87`](https://github.com/nodejs/node/commit/41161dda87)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.close() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`adbc757d70`](https://github.com/nodejs/node/commit/adbc757d70)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype\[Symbol.dispose]\() (Guilherme Araújo) [#64232](https://github.com/nodejs/node/pull/64232) +- \[[`b7b18fdbc9`](https://github.com/nodejs/node/commit/b7b18fdbc9)] - **sqlite**: run backup completion in callback scope (Filip Skokan) [#65666](https://github.com/nodejs/node/pull/65666) +- \[[`59827acd7f`](https://github.com/nodejs/node/commit/59827acd7f)] - **sqlite**: isolate applyChangeset filter errors (Trivikram Kamat) [#64823](https://github.com/nodejs/node/pull/64823) +- \[[`5a01df2d15`](https://github.com/nodejs/node/commit/5a01df2d15)] - **sqlite**: reject deserialize() while in a callback (Trivikram Kamat) [#64796](https://github.com/nodejs/node/pull/64796) +- \[[`c9b6e75a2e`](https://github.com/nodejs/node/commit/c9b6e75a2e)] - **sqlite**: refactor error helpers and user function pointers (Ali Hassan) [#62794](https://github.com/nodejs/node/pull/62794) +- \[[`d4eb6c62a9`](https://github.com/nodejs/node/commit/d4eb6c62a9)] - **sqlite**: prevent database close during callbacks (Matteo Collina) [#64743](https://github.com/nodejs/node/pull/64743) +- \[[`83b3431c25`](https://github.com/nodejs/node/commit/83b3431c25)] - **src**: detach cppgc wrappers from their Realm before it is freed (Shelley Vohr) [#65778](https://github.com/nodejs/node/pull/65778) +- \[[`13ed7e35e7`](https://github.com/nodejs/node/commit/13ed7e35e7)] - **src**: list scripts when `--run` has no command (James Ross) [#64606](https://github.com/nodejs/node/pull/64606) +- \[[`0f62f2b2df`](https://github.com/nodejs/node/commit/0f62f2b2df)] - **src**: print exception thrown during primordial initialization (Joyee Cheung) [#65991](https://github.com/nodejs/node/pull/65991) +- \[[`70117640f7`](https://github.com/nodejs/node/commit/70117640f7)] - **src**: don't kill own process group on failed spawn (Lazizbek Ergashev) [#65054](https://github.com/nodejs/node/pull/65054) +- \[[`64649abfd4`](https://github.com/nodejs/node/commit/64649abfd4)] - **src**: keep the first snapshot blob alive for later isolates (Shelley Vohr) [#65779](https://github.com/nodejs/node/pull/65779) +- \[[`3c814e8c3c`](https://github.com/nodejs/node/commit/3c814e8c3c)] - **src**: fix Stop() terminating the next Environment on the isolate (Shelley Vohr) [#65819](https://github.com/nodejs/node/pull/65819) +- \[[`a3ababcebb`](https://github.com/nodejs/node/commit/a3ababcebb)] - **src**: fix null pointer call when running without a startup snapshot (Shelley Vohr) [#65820](https://github.com/nodejs/node/pull/65820) +- \[[`7331f5cfcc`](https://github.com/nodejs/node/commit/7331f5cfcc)] - **src**: stop leaking a CppHeap in CommonEnvironmentSetup (Shelley Vohr) [#65792](https://github.com/nodejs/node/pull/65792) +- \[[`5570a84048`](https://github.com/nodejs/node/commit/5570a84048)] - **src**: fix use-after-free in CleanupHookThunkRun (Caleb Everett) [#65630](https://github.com/nodejs/node/pull/65630) +- \[[`abe1b673e9`](https://github.com/nodejs/node/commit/abe1b673e9)] - **src**: keep global list of addon-provided cleanup hooks (Anna Henningsen) [#63985](https://github.com/nodejs/node/pull/63985) +- \[[`2203ac9382`](https://github.com/nodejs/node/commit/2203ac9382)] - **src**: fix startup snapshot reproducibility of InternalFieldInfo (Chengzhong Wu) [#65684](https://github.com/nodejs/node/pull/65684) +- \[[`b282765d99`](https://github.com/nodejs/node/commit/b282765d99)] - **src**: fix live lock between environments with blocked requests (Ilyas Shabi) [#65520](https://github.com/nodejs/node/pull/65520) +- \[[`61ca3ba93c`](https://github.com/nodejs/node/commit/61ca3ba93c)] - **src**: apply IsolateSettings when using a snapshot (Shelley Vohr) [#65407](https://github.com/nodejs/node/pull/65407) +- \[[`33b8d6e10f`](https://github.com/nodejs/node/commit/33b8d6e10f)] - **src**: add re-entrancy guard to TriggerUncaughtException (Temuulen Undrakhbayar) [#64327](https://github.com/nodejs/node/pull/64327) +- \[[`49232db71e`](https://github.com/nodejs/node/commit/49232db71e)] - **src**: reuse cached strings in CompileSerializeMain (agape1225) [#65453](https://github.com/nodejs/node/pull/65453) +- \[[`e3f52b80a5`](https://github.com/nodejs/node/commit/e3f52b80a5)] - **src**: report libuv error when openAsBlob cannot stat (Paul Bouchon) [#65517](https://github.com/nodejs/node/pull/65517) +- \[[`42a5a19027`](https://github.com/nodejs/node/commit/42a5a19027)] - **src**: shave about 20 bytes off each TLSWrap instance (James M Snell) [#65144](https://github.com/nodejs/node/pull/65144) +- \[[`a06bb51e22`](https://github.com/nodejs/node/commit/a06bb51e22)] - **src**: use UTF-8 for task runner filesystem paths (Archkon) [#64868](https://github.com/nodejs/node/pull/64868) +- \[[`241339f072`](https://github.com/nodejs/node/commit/241339f072)] - **(SEMVER-MINOR)** **src,lib**: add util.markPromiseAsHandled (James M Snell) [#65805](https://github.com/nodejs/node/pull/65805) +- \[[`1260642ace`](https://github.com/nodejs/node/commit/1260642ace)] - **stream**: destroy Duplex.from async function on early return (Aman Chadha(IVIXMMI)) [#65963](https://github.com/nodejs/node/pull/65963) +- \[[`5f06defdbd`](https://github.com/nodejs/node/commit/5f06defdbd)] - **stream**: make share budget failures detach before throwing (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) +- \[[`d1c60d898d`](https://github.com/nodejs/node/commit/d1c60d898d)] - **stream**: update broadcast to retain buffered data with zero consumers (James M Snell) [#66028](https://github.com/nodejs/node/pull/66028) +- \[[`bbb00558c5`](https://github.com/nodejs/node/commit/bbb00558c5)] - **stream**: avoid promise allocation for parked transform writes (Matteo Collina) [#65625](https://github.com/nodejs/node/pull/65625) +- \[[`3216bc3912`](https://github.com/nodejs/node/commit/3216bc3912)] - **stream**: keep webstream stream states in fast-mode objects (Matteo Collina) [#65625](https://github.com/nodejs/node/pull/65625) +- \[[`70c1415686`](https://github.com/nodejs/node/commit/70c1415686)] - **stream**: reject closed only after sink abort settles (Lazizbek Ergashev) [#65727](https://github.com/nodejs/node/pull/65727) +- \[[`f8737b8ee5`](https://github.com/nodejs/node/commit/f8737b8ee5)] - **stream**: fix ERR\_INVALID\_STATE when cancelling Readable.toWeb() (Richard Scarrott) [#62773](https://github.com/nodejs/node/pull/62773) +- \[[`faa16f671c`](https://github.com/nodejs/node/commit/faa16f671c)] - **stream**: amortize writable buffer compaction (Gürgün Dayıoğlu) [#65847](https://github.com/nodejs/node/pull/65847) +- \[[`6262e0b8c6`](https://github.com/nodejs/node/commit/6262e0b8c6)] - **stream**: create write request objects lazily (Matteo Collina) [#64455](https://github.com/nodejs/node/pull/64455) +- \[[`0f0566de15`](https://github.com/nodejs/node/commit/0f0566de15)] - **stream**: allocate stream read buffers from a slab (Matteo Collina) [#64455](https://github.com/nodejs/node/pull/64455) +- \[[`02c776a7c6`](https://github.com/nodejs/node/commit/02c776a7c6)] - **stream**: ensure that stateful transforms preserve this (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`4b29051971`](https://github.com/nodejs/node/commit/4b29051971)] - **stream**: fix nested async flushing with infinite sources (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`2e54186d97`](https://github.com/nodejs/node/commit/2e54186d97)] - **stream**: ensure from() observes returned rejecting promise correctly (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`fd68d5ca6a`](https://github.com/nodejs/node/commit/fd68d5ca6a)] - **stream**: apply source normalization once at call time (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`49ee85b462`](https://github.com/nodejs/node/commit/49ee85b462)] - **stream**: make pipeTo source normalization independent of Writer (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`d7d0440f08`](https://github.com/nodejs/node/commit/d7d0440f08)] - **stream**: pre-aborted pipeTo now applies dest failure handling (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`6d8e643ef3`](https://github.com/nodejs/node/commit/6d8e643ef3)] - **stream**: ensure async dispoal after endSync awaits for drain (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`a082916c00`](https://github.com/nodejs/node/commit/a082916c00)] - **stream**: ensure factory signals remain active through closing (James M Snell) [#65658](https://github.com/nodejs/node/pull/65658) +- \[[`38829295a7`](https://github.com/nodejs/node/commit/38829295a7)] - **stream**: skip unobserved 'readable' emission at EOF (Matteo Collina) [#65749](https://github.com/nodejs/node/pull/65749) +- \[[`d535859c22`](https://github.com/nodejs/node/commit/d535859c22)] - **stream**: avoid per-chunk promises in webstream adapters (Matteo Collina) [#65548](https://github.com/nodejs/node/pull/65548) +- \[[`80568f6818`](https://github.com/nodejs/node/commit/80568f6818)] - **stream**: address stream/iter review feedback (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`6952928f68`](https://github.com/nodejs/node/commit/6952928f68)] - **stream**: replace object sentinel with symbol (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`9c22c4124c`](https://github.com/nodejs/node/commit/9c22c4124c)] - **stream**: cancel active stream/iter pulls (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`24d87990cf`](https://github.com/nodejs/node/commit/24d87990cf)] - **stream**: fix merge settlement tagging and falsy error tracking (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`1e215c4b51`](https://github.com/nodejs/node/commit/1e215c4b51)] - **stream**: ensure full-close semantics when closed (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`f499d6fadf`](https://github.com/nodejs/node/commit/f499d6fadf)] - **stream**: fixup writer to terminate on consumer return/throw (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`2130738033`](https://github.com/nodejs/node/commit/2130738033)] - **stream**: ensure iterator cleanup on done, reject, etc (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`748adc6275`](https://github.com/nodejs/node/commit/748adc6275)] - **stream**: fixup cancelation handling in pull() (James M Snell) [#65652](https://github.com/nodejs/node/pull/65652) +- \[[`47b3f6a1fa`](https://github.com/nodejs/node/commit/47b3f6a1fa)] - **stream**: fix early drain after Utf8Stream reopen (Matteo Collina) [#65633](https://github.com/nodejs/node/pull/65633) +- \[[`6dab5412cf`](https://github.com/nodejs/node/commit/6dab5412cf)] - **test**: skip RSA-PSS keygen deprecation tests with BoringSSL (Shelley Vohr) [#65808](https://github.com/nodejs/node/pull/65808) +- \[[`95d9a25b61`](https://github.com/nodejs/node/commit/95d9a25b61)] - **test**: consolidate crypto provider cache coverage (Filip Skokan) [#66108](https://github.com/nodejs/node/pull/66108) +- \[[`612db6d5b2`](https://github.com/nodejs/node/commit/612db6d5b2)] - **test**: deflake user timing WPT assertions (Filip Skokan) [#66036](https://github.com/nodejs/node/pull/66036) +- \[[`61a73d31eb`](https://github.com/nodejs/node/commit/61a73d31eb)] - **test**: fix RSA/DSA wrong-passphrase flake (Filip Skokan) [#65983](https://github.com/nodejs/node/pull/65983) +- \[[`d9f4a3ee3e`](https://github.com/nodejs/node/commit/d9f4a3ee3e)] - **test**: reuse fixed primes in DH tests (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`a0fd0a8bd6`](https://github.com/nodejs/node/commit/a0fd0a8bd6)] - **test**: use named parameters in DH stress test (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`810a6b00ee`](https://github.com/nodejs/node/commit/810a6b00ee)] - **test**: update tests to run with OpenSSL >= 3.0 FIPS mode (Filip Skokan) [#64960](https://github.com/nodejs/node/pull/64960) +- \[[`dc6b9ba5b2`](https://github.com/nodejs/node/commit/dc6b9ba5b2)] - **test**: deflake test-run-watch-cwd-isolation-none-\* (Antoine du Hamel) [#66035](https://github.com/nodejs/node/pull/66035) +- \[[`0f27bd2459`](https://github.com/nodejs/node/commit/0f27bd2459)] - **test**: unskip `test-watch-create-isolation-none` (Antoine du Hamel) [#66041](https://github.com/nodejs/node/pull/66041) +- \[[`1019f624f3`](https://github.com/nodejs/node/commit/1019f624f3)] - **test**: deflake util.throttle tests (Filip Skokan) [#66034](https://github.com/nodejs/node/pull/66034) +- \[[`b4a6719f37`](https://github.com/nodejs/node/commit/b4a6719f37)] - **(SEMVER-MINOR)** **test**: expand histogram test coverage (James M Snell) [#65825](https://github.com/nodejs/node/pull/65825) +- \[[`047d7c53d2`](https://github.com/nodejs/node/commit/047d7c53d2)] - **test**: implement low-risk test optimizations (James M Snell) [#65926](https://github.com/nodejs/node/pull/65926) +- \[[`33775d2bbb`](https://github.com/nodejs/node/commit/33775d2bbb)] - **test**: prevent parser reuse across close scenarios (Filip Skokan) [#66017](https://github.com/nodejs/node/pull/66017) +- \[[`b8c5283cbc`](https://github.com/nodejs/node/commit/b8c5283cbc)] - **test**: fix stderr Buffer assertion in exec encoding test (greenhead) [#66008](https://github.com/nodejs/node/pull/66008) +- \[[`13a2982002`](https://github.com/nodejs/node/commit/13a2982002)] - **test**: improve sequential test performance (James M Snell) [#65928](https://github.com/nodejs/node/pull/65928) +- \[[`a578933da0`](https://github.com/nodejs/node/commit/a578933da0)] - **test**: overlap SLH-DSA signature checks (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`bfdf20729d`](https://github.com/nodejs/node/commit/bfdf20729d)] - **test**: unref cancelled broadcast source timer (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`b29154d471`](https://github.com/nodejs/node/commit/b29154d471)] - **test**: collect timeout signals explicitly (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`384d4fe3ea`](https://github.com/nodejs/node/commit/384d4fe3ea)] - **test**: skip retries in DNS timeout coverage (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`c7323843f4`](https://github.com/nodejs/node/commit/c7323843f4)] - **test**: synchronize ordered runner events (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`625290573a`](https://github.com/nodejs/node/commit/625290573a)] - **test**: avoid idle HTTP/HTTPS connections (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`2bde68398f`](https://github.com/nodejs/node/commit/2bde68398f)] - **test**: close WebAssembly test HTTP servers (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`4c702e401b`](https://github.com/nodejs/node/commit/4c702e401b)] - **test**: deflake node-api test-free-called (Christian Aurich) [#65948](https://github.com/nodejs/node/pull/65948) +- \[[`0b6d945ebc`](https://github.com/nodejs/node/commit/0b6d945ebc)] - **test**: skip C++ symbols in tick-processor-arguments (Philipp Dunkel) [#65906](https://github.com/nodejs/node/pull/65906) +- \[[`e04210b383`](https://github.com/nodejs/node/commit/e04210b383)] - **test**: try fixing windows build replacing WMIC (James M Snell) [#65949](https://github.com/nodejs/node/pull/65949) +- \[[`aed73444de`](https://github.com/nodejs/node/commit/aed73444de)] - **test**: fix flaky cleanup in http2 test (Tim Perry) [#65701](https://github.com/nodejs/node/pull/65701) +- \[[`22f47ff728`](https://github.com/nodejs/node/commit/22f47ff728)] - **test**: update WPT WebCrypto, WebIDL and interfaces (Filip Skokan) [#65679](https://github.com/nodejs/node/pull/65679) +- \[[`f2af511a24`](https://github.com/nodejs/node/commit/f2af511a24)] - **test**: zero-fill buffers before the string length limit check (Christian Aurich) [#65755](https://github.com/nodejs/node/pull/65755) +- \[[`a28aad9960`](https://github.com/nodejs/node/commit/a28aad9960)] - **test**: update WPT for url to c23755a144 (Node.js GitHub Bot) [#65651](https://github.com/nodejs/node/pull/65651) +- \[[`ba65bb149a`](https://github.com/nodejs/node/commit/ba65bb149a)] - **test**: fix recursive fs.watch error fixture (Filip Skokan) [#65683](https://github.com/nodejs/node/pull/65683) +- \[[`f3b9f132b1`](https://github.com/nodejs/node/commit/f3b9f132b1)] - **test**: update streams WPT (Jeong SeokChan) [#65638](https://github.com/nodejs/node/pull/65638) +- \[[`d2e0f2d3bd`](https://github.com/nodejs/node/commit/d2e0f2d3bd)] - **test**: deflake fastutf8stream destroy and reopen tests (Christian Aurich) [#65554](https://github.com/nodejs/node/pull/65554) +- \[[`7b5896c136`](https://github.com/nodejs/node/commit/7b5896c136)] - **test**: cover Readable.from() sync iterator errors (jakecastelli) [#65515](https://github.com/nodejs/node/pull/65515) +- \[[`66eafad642`](https://github.com/nodejs/node/commit/66eafad642)] - **test**: document WPT runner workflows (Filip Skokan) [#65510](https://github.com/nodejs/node/pull/65510) +- \[[`2e2dc0f556`](https://github.com/nodejs/node/commit/2e2dc0f556)] - **test**: simplify test-worker-heap-profile.js (Donghoon Kang) [#65372](https://github.com/nodejs/node/pull/65372) +- \[[`2e57caac46`](https://github.com/nodejs/node/commit/2e57caac46)] - **test**: prefer in-memory databases in sqlite tests (Paul Bouchon) [#64701](https://github.com/nodejs/node/pull/64701) +- \[[`cef908596e`](https://github.com/nodejs/node/commit/cef908596e)] - **test**: fix typo from funciton to function (parkhojeong) [#63403](https://github.com/nodejs/node/pull/63403) +- \[[`4c7bbd4182`](https://github.com/nodejs/node/commit/4c7bbd4182)] - **test**: widen the gap in the resolver maxTimeout comparison (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`25c81c9eff`](https://github.com/nodejs/node/commit/25c81c9eff)] - **test**: fix the thread-spawn handshake in the WASI threads fixture (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`cab5dcedbe`](https://github.com/nodejs/node/commit/cab5dcedbe)] - **test**: only count restarts after the write in watch emit-restarted test (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`db0ca93e94`](https://github.com/nodejs/node/commit/db0ca93e94)] - **test**: ignore tunnel resets in proxy invalid-char-in-url test (Shelley Vohr) [#65780](https://github.com/nodejs/node/pull/65780) +- \[[`1f0087040a`](https://github.com/nodejs/node/commit/1f0087040a)] - **test**: handle EPIPE in closed channel test (Christian Aurich) [#65770](https://github.com/nodejs/node/pull/65770) +- \[[`ed4e5df638`](https://github.com/nodejs/node/commit/ed4e5df638)] - **test**: deflake test-runner-coverage (Christian Aurich) [#65728](https://github.com/nodejs/node/pull/65728) +- \[[`48ecb16909`](https://github.com/nodejs/node/commit/48ecb16909)] - **test**: set type=none on IBM i for empty source (Abdirahim Musse) [#65545](https://github.com/nodejs/node/pull/65545) +- \[[`554a3fba98`](https://github.com/nodejs/node/commit/554a3fba98)] - **test**: deflake WASI poll timing checks (Filip Skokan) [#65672](https://github.com/nodejs/node/pull/65672) +- \[[`91b5389430`](https://github.com/nodejs/node/commit/91b5389430)] - **test**: skip `fs-watch-recursive-delete-race` on AIX (Antoine du Hamel) [#65698](https://github.com/nodejs/node/pull/65698) +- \[[`4ed0c8cc6c`](https://github.com/nodejs/node/commit/4ed0c8cc6c)] - **test**: deflake test-inspect-async-hook-setup-at-inspect (Christian Aurich) [#65584](https://github.com/nodejs/node/pull/65584) +- \[[`500b98cc7d`](https://github.com/nodejs/node/commit/500b98cc7d)] - **test**: deflake test-watch-mode-restart-esm-loading-error (Christian Aurich) [#65623](https://github.com/nodejs/node/pull/65623) +- \[[`099c20fcbd`](https://github.com/nodejs/node/commit/099c20fcbd)] - **test**: avoid orphaned child on Windows abort test (Kirill Saied) [#65451](https://github.com/nodejs/node/pull/65451) +- \[[`fc9364fe55`](https://github.com/nodejs/node/commit/fc9364fe55)] - **test**: riscv64: skip node-api sea test (Stewart X Addison) [#65569](https://github.com/nodejs/node/pull/65569) +- \[[`c9d6b5f731`](https://github.com/nodejs/node/commit/c9d6b5f731)] - **test**: mark platform-specific tests as flaky (Filip Skokan) [#65562](https://github.com/nodejs/node/pull/65562) +- \[[`cb93d40549`](https://github.com/nodejs/node/commit/cb93d40549)] - **test,benchmark**: use OpenSSL feature helpers (Filip Skokan) [#65762](https://github.com/nodejs/node/pull/65762) +- \[[`b4b859319d`](https://github.com/nodejs/node/commit/b4b859319d)] - **test\_runner**: avoid reusing v8 serializers (Yuya Inoue) [#65951](https://github.com/nodejs/node/pull/65951) +- \[[`b3766225e1`](https://github.com/nodejs/node/commit/b3766225e1)] - **test\_runner**: fix quote escaping in JUnit (Jihwan) [#65971](https://github.com/nodejs/node/pull/65971) +- \[[`ec37f934db`](https://github.com/nodejs/node/commit/ec37f934db)] - **tls**: propagate singleUse to the secure context (Carlos Vinicius) [#66025](https://github.com/nodejs/node/pull/66025) +- \[[`21aec3f286`](https://github.com/nodejs/node/commit/21aec3f286)] - **tls**: defer re-entrant calls to SSL state machine from JS (Tim Perry) [#65105](https://github.com/nodejs/node/pull/65105) +- \[[`ffd3de2831`](https://github.com/nodejs/node/commit/ffd3de2831)] - **tls**: read the peer certificate chain without consuming it (Tony Gies) [#65602](https://github.com/nodejs/node/pull/65602) +- \[[`3481ea3c43`](https://github.com/nodejs/node/commit/3481ea3c43)] - **tls**: don't trigger SNICallback or OCSPRequest from the TLS lib stack (Tim Perry) [#64827](https://github.com/nodejs/node/pull/64827) +- \[[`d75957f0c8`](https://github.com/nodejs/node/commit/d75957f0c8)] - **tls**: drop hand-rolled TLS client hello parser (Tim Perry) [#64827](https://github.com/nodejs/node/pull/64827) +- \[[`c555ba0aeb`](https://github.com/nodejs/node/commit/c555ba0aeb)] - **tools**: update `tools/v8` for Python 3.13 (Richard Lau) [#66109](https://github.com/nodejs/node/pull/66109) +- \[[`aafff27ebe`](https://github.com/nodejs/node/commit/aafff27ebe)] - **tools**: bump eslint-plugin-jsdoc in /tools/eslint in the eslint group (dependabot\[bot]) [#66102](https://github.com/nodejs/node/pull/66102) +- \[[`7a481ebd2c`](https://github.com/nodejs/node/commit/7a481ebd2c)] - **tools**: group CodeQL GHA updates (Antoine du Hamel) [#66057](https://github.com/nodejs/node/pull/66057) +- \[[`b2252b4074`](https://github.com/nodejs/node/commit/b2252b4074)] - **tools**: summarize auto-start-ci failures (Filip Skokan) [#65979](https://github.com/nodejs/node/pull/65979) +- \[[`499fe73da7`](https://github.com/nodejs/node/commit/499fe73da7)] - **tools**: bump the eslint group in /tools/eslint with 6 updates (dependabot\[bot]) [#66045](https://github.com/nodejs/node/pull/66045) +- \[[`d004d957ae`](https://github.com/nodejs/node/commit/d004d957ae)] - **tools**: update pgo build doc for linux (Chengzhong Wu) [#66024](https://github.com/nodejs/node/pull/66024) +- \[[`bfa329dbba`](https://github.com/nodejs/node/commit/bfa329dbba)] - **tools**: correct Slack action version comments (Filip Skokan) [#66013](https://github.com/nodejs/node/pull/66013) +- \[[`d55d30313b`](https://github.com/nodejs/node/commit/d55d30313b)] - **tools**: make checkout credential use explicit (Filip Skokan) [#66013](https://github.com/nodejs/node/pull/66013) +- \[[`0a9e844866`](https://github.com/nodejs/node/commit/0a9e844866)] - **tools**: pass author to commit message validator (Filip Skokan) [#66012](https://github.com/nodejs/node/pull/66012) +- \[[`f5edf1cd7c`](https://github.com/nodejs/node/commit/f5edf1cd7c)] - **tools**: reduce test runner timing overhead (Filip Skokan) [#65980](https://github.com/nodejs/node/pull/65980) +- \[[`1cb899f727`](https://github.com/nodejs/node/commit/1cb899f727)] - **tools**: bump js-yaml from 4.3.1 to 4.3.2 in /tools/eslint (dependabot\[bot]) [#65931](https://github.com/nodejs/node/pull/65931) +- \[[`9a1d47bc53`](https://github.com/nodejs/node/commit/9a1d47bc53)] - **tools**: bump js-yaml from 4.3.1 to 4.3.2 in /tools/lint-md (dependabot\[bot]) [#65932](https://github.com/nodejs/node/pull/65932) +- \[[`a1649b36bc`](https://github.com/nodejs/node/commit/a1649b36bc)] - **tools**: fix commit queue error summary matching (Filip Skokan) [#65913](https://github.com/nodejs/node/pull/65913) +- \[[`ff25d0a268`](https://github.com/nodejs/node/commit/ff25d0a268)] - **tools**: lint PR commit messages without approval (Filip Skokan) [#65875](https://github.com/nodejs/node/pull/65875) +- \[[`ab3c2a81f4`](https://github.com/nodejs/node/commit/ab3c2a81f4)] - **tools**: unlabel author ready on base branch conflicts (Filip Skokan) [#65872](https://github.com/nodejs/node/pull/65872) +- \[[`c97d09cb4a`](https://github.com/nodejs/node/commit/c97d09cb4a)] - **tools**: apply feedback to and simplify contributor guidance workflow (Filip Skokan) [#65785](https://github.com/nodejs/node/pull/65785) +- \[[`5410d94903`](https://github.com/nodejs/node/commit/5410d94903)] - **tools**: remove `true` from branch name for auto-update automation (Antoine du Hamel) [#64961](https://github.com/nodejs/node/pull/64961) +- \[[`7a45a46798`](https://github.com/nodejs/node/commit/7a45a46798)] - **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) +- \[[`5df6d29a24`](https://github.com/nodejs/node/commit/5df6d29a24)] - **tools**: bump browserslist from 4.28.4 to 4.28.8 in /tools/eslint (dependabot\[bot]) [#65758](https://github.com/nodejs/node/pull/65758) +- \[[`8a9f89bdaa`](https://github.com/nodejs/node/commit/8a9f89bdaa)] - **tools**: refine contributor guidance workflow (Filip Skokan) [#65745](https://github.com/nodejs/node/pull/65745) +- \[[`ed3e9a2583`](https://github.com/nodejs/node/commit/ed3e9a2583)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#65716](https://github.com/nodejs/node/pull/65716) +- \[[`8d4f0cf264`](https://github.com/nodejs/node/commit/8d4f0cf264)] - **tools**: do not flag force push as invalid message (Antoine du Hamel) [#65700](https://github.com/nodejs/node/pull/65700) +- \[[`350b3e69bb`](https://github.com/nodejs/node/commit/350b3e69bb)] - **tools**: retry first-time contributor query (Filip Skokan) [#65648](https://github.com/nodejs/node/pull/65648) +- \[[`fbbfcc499f`](https://github.com/nodejs/node/commit/fbbfcc499f)] - **tools**: query first-time contributor status (Filip Skokan) [#65592](https://github.com/nodejs/node/pull/65592) +- \[[`b5885fc823`](https://github.com/nodejs/node/commit/b5885fc823)] - **tools**: offset GitHub crons by 3 minutes (Michaël Zasso) [#65612](https://github.com/nodejs/node/pull/65612) +- \[[`0cdd3171c0`](https://github.com/nodejs/node/commit/0cdd3171c0)] - **tools**: label PRs lacking second approval (Filip Skokan) [#65538](https://github.com/nodejs/node/pull/65538) +- \[[`5240f00c2e`](https://github.com/nodejs/node/commit/5240f00c2e)] - **tools**: welcome first-time contributors (Filip Skokan) [#65533](https://github.com/nodejs/node/pull/65533) +- \[[`fbde6050aa`](https://github.com/nodejs/node/commit/fbde6050aa)] - **tools**: enable concurrency for eslint (Huáng Jùnliàng) [#62352](https://github.com/nodejs/node/pull/62352) +- \[[`ebc028d75d`](https://github.com/nodejs/node/commit/ebc028d75d)] - **trace\_events**: fix abort when Node.js does not own the V8 platform (Shelley Vohr) [#65954](https://github.com/nodejs/node/pull/65954) +- \[[`55db777a9a`](https://github.com/nodejs/node/commit/55db777a9a)] - **typings**: add task\_queue internal binding types (Seongeun Lee) [#65662](https://github.com/nodejs/node/pull/65662) +- \[[`ac37bbe109`](https://github.com/nodejs/node/commit/ac37bbe109)] - **typings**: add timeoutInfo to TimersBinding (greenhead) [#65811](https://github.com/nodejs/node/pull/65811) +- \[[`3d9177b477`](https://github.com/nodejs/node/commit/3d9177b477)] - **typings**: add missing sea binding properties (이혜미) [#65815](https://github.com/nodejs/node/pull/65815) +- \[[`b23928a1f1`](https://github.com/nodejs/node/commit/b23928a1f1)] - **typings**: add types for performance binding (Jungwon Sohn) [#65574](https://github.com/nodejs/node/pull/65574) +- \[[`f67ed991a6`](https://github.com/nodejs/node/commit/f67ed991a6)] - **typings**: add encodeIntoResults to EncodingBinding (greenhead) [#65350](https://github.com/nodejs/node/pull/65350) +- \[[`a1ae3dd285`](https://github.com/nodejs/node/commit/a1ae3dd285)] - **typings**: add typing for permission binding (Seungmin Nam) [#65385](https://github.com/nodejs/node/pull/65385) +- \[[`fc43781ee8`](https://github.com/nodejs/node/commit/fc43781ee8)] - **typings**: fix fs\_event\_wrap start filename type (leah-1ee) [#65661](https://github.com/nodejs/node/pull/65661) +- \[[`7e6a56c367`](https://github.com/nodejs/node/commit/7e6a56c367)] - **typings**: add fs\_event\_wrap internal binding types (leah-1ee) [#65661](https://github.com/nodejs/node/pull/65661) +- \[[`7508db2cf8`](https://github.com/nodejs/node/commit/7508db2cf8)] - **typings**: add stream\_pipe internal binding types (Seongeun Lee) [#65664](https://github.com/nodejs/node/pull/65664) +- \[[`1957f9a282`](https://github.com/nodejs/node/commit/1957f9a282)] - **typings**: add profiler internal binding types (Seongeun Lee) [#65660](https://github.com/nodejs/node/pull/65660) +- \[[`62ee9eef22`](https://github.com/nodejs/node/commit/62ee9eef22)] - **typings**: add ffi internal binding types (Donghoon Kang) [#65734](https://github.com/nodejs/node/pull/65734) +- \[[`6cad9a6f77`](https://github.com/nodejs/node/commit/6cad9a6f77)] - **typings**: update zlib binding declarations (이혜미) [#65639](https://github.com/nodejs/node/pull/65639) +- \[[`54d77431e6`](https://github.com/nodejs/node/commit/54d77431e6)] - **url**: add Symbol.toStringTag to URLPattern (Khaidi Chu) [#65925](https://github.com/nodejs/node/pull/65925) +- \[[`6345c6d24f`](https://github.com/nodejs/node/commit/6345c6d24f)] - **url**: align URLPatternInit dictionary conversion with WebIDL (Piyush Yadav) [#65498](https://github.com/nodejs/node/pull/65498) +- \[[`63b0974d9e`](https://github.com/nodejs/node/commit/63b0974d9e)] - **(SEMVER-MINOR)** **util**: implement util.throttle (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899) +- \[[`a3bbb5a26f`](https://github.com/nodejs/node/commit/a3bbb5a26f)] - **(SEMVER-MINOR)** **util**: implement debounce (James M Snell) [#65899](https://github.com/nodejs/node/pull/65899) +- \[[`212f6c6c7b`](https://github.com/nodejs/node/commit/212f6c6c7b)] - **util**: canonicalize namespaced tags in inspect() (René) [#63257](https://github.com/nodejs/node/pull/63257) +- \[[`b44c072228`](https://github.com/nodejs/node/commit/b44c072228)] - **zlib**: reject invalid zstd dictionaries (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867) +- \[[`de1074d592`](https://github.com/nodejs/node/commit/de1074d592)] - **zlib**: fix zstd reset (James M Snell) [#65867](https://github.com/nodejs/node/pull/65867) +- \[[`d7e7308c76`](https://github.com/nodejs/node/commit/d7e7308c76)] - **zlib**: improve zstd decoding across chunk boundaries (James M Snell) [#65865](https://github.com/nodejs/node/pull/65865) + +Windows 64-bit Installer: https://nodejs.org/dist/v24.22.0/node-v24.22.0-x64.msi \ +Windows ARM 64-bit Installer: https://nodejs.org/dist/v24.22.0/node-v24.22.0-arm64.msi \ +Windows 64-bit Binary: https://nodejs.org/dist/v24.22.0/win-x64/node.exe \ +Windows ARM 64-bit Binary: https://nodejs.org/dist/v24.22.0/win-arm64/node.exe \ +macOS 64-bit Installer: https://nodejs.org/dist/v24.22.0/node-v24.22.0.pkg \ +macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-darwin-arm64.tar.gz \ +macOS Intel 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-darwin-x64.tar.gz \ +Linux 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-linux-x64.tar.xz \ +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-linux-ppc64le.tar.xz \ +Linux s390x 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-linux-s390x.tar.xz \ +AIX 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-aix-ppc64.tar.gz \ +ARMv8 64-bit Binary: https://nodejs.org/dist/v24.22.0/node-v24.22.0-linux-arm64.tar.xz \ +Source Code: https://nodejs.org/dist/v24.22.0/node-v24.22.0.tar.gz \ +Other release files: https://nodejs.org/dist/v24.22.0/ \ +Documentation: https://nodejs.org/docs/v24.22.0/api/ + +### SHASUMS + +``` +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +cbb1d625fbfa61b23fd4a949ea41c9b08bb7905fbc75403bb11d4bcca73a5566 node-v24.22.0-aix-ppc64.tar.gz +3161e384f52d95e80bbc85c7ec6fe675528790647b7a3ec71e6ea6d53ce66b29 node-v24.22.0-arm64.msi +6a9724d9b50a5f22b4816cded441b5a8d9ddae546191a5e5b7efa5a5e2ee26d5 node-v24.22.0-darwin-arm64.tar.gz +75ddfb875bbd868ebe57536f4442225f54dd10f6d2178dd439de869a5c648dc3 node-v24.22.0-darwin-arm64.tar.xz +495e3f273c645f3c4677d438304cdfc701729ea5dec5728f5c8e76a2dece4b91 node-v24.22.0-darwin-x64.tar.gz +b890d687983ddc811641f6739c3ce99d2912c58f9e44b68aa25944037b425305 node-v24.22.0-darwin-x64.tar.xz +00e9f08b9057f9f5428387a5ffd496e53f274565b40b144b7ba876700755352a node-v24.22.0-headers.tar.gz +23485102f0159fe0aa9a485840f35ce59300a765542b71af1ecdb1f2272ef4f8 node-v24.22.0-headers.tar.xz +b7e7991d5407815adfa74a2a9cd4db683552c8ce32ff4a295c22e972849c3f5d node-v24.22.0-linux-arm64.tar.gz +fef00bb4d36e1c50104a9775a10359beee98f162b4104dd12472c75065c6a143 node-v24.22.0-linux-arm64.tar.xz +8cba7bbf689a9b58a65e5811146ea8d01e49d07e71f7b8462e4f6ffcd7d2e7fd node-v24.22.0-linux-ppc64le.tar.gz +edfc950d84a74b4fb4fedc8d2a569976682f6bbbf182961a4e916b7aad856013 node-v24.22.0-linux-ppc64le.tar.xz +5901718f551ffaa76e2509f2d612d5be16fa89cddfbe2d601325c10e27f2d2b6 node-v24.22.0-linux-s390x.tar.gz +ee3a16f7700188d62cd87b50fde39f8cbd8ab82f25611114e5ed6ef00d914431 node-v24.22.0-linux-s390x.tar.xz +a95a0faf28d6f7c493036f0559d6d32b7b8c79aa06e415b12782f96946844484 node-v24.22.0-linux-x64-musl.tar.gz +a8d2897df6cd50beb83b34f958b2ca32628389225b41841f2b157d83d317a867 node-v24.22.0-linux-x64-musl.tar.xz +28ea0a438de9a13bd7891fd758eee6c7819ee8af5442dfd8d45bd65e56d4228c node-v24.22.0-linux-x64.tar.gz +cc2f601cee82d9a5a233302fe307abc600727035fd7d2c3a3571755989e95008 node-v24.22.0-linux-x64.tar.xz +905ddb9b5cd66fc537cdeb149fafbe526b95915781a588be96632c01a106bfa5 node-v24.22.0.pkg +9010e34b40beb69ee5eb8c0ee22e08da6a6c7bff16c6f8be7904638970a66c91 node-v24.22.0.tar.gz +41f97cff2c666f1f8293dc5f85c65e8dd605c16b43fd9febd49ede32ee1e0329 node-v24.22.0.tar.xz +43f6bca62fb4a8c2377d4b99dd212f613d95b04c6a0b9013440880197a6eee1d node-v24.22.0-win-arm64.7z +3a5c209a5bc59e65b3bc0fa13ed5e166a26bd3d55332847f498b76b037408d61 node-v24.22.0-win-arm64.zip +bde54a359b563133baa3338f02d2b0d54e7d9cc7d3a9ef6b33ee72936c12ed2a node-v24.22.0-win-x64.7z +f9683a19877e12a9b167305c8db71040d812876359de21f0d2e97c3f321f80c3 node-v24.22.0-win-x64.zip +97ebad47ad35da4b59182a5fbe9fad2b1a1836f1042b4833ff5b4b9571175088 node-v24.22.0-x64.msi +df4b0e71e4e4d022bf8582fbe75f6061feb9c4a111a86f3fec6300d24b6fe5e0 win-arm64/node.exe +2c0c3215d59c09d7c136da4949696dae121a299e9bdfc64cd9130a58610af63d win-arm64/node.lib +8b2980b4de5b7e1de222ca08e2247653364d93009a1b0139f4dbe0c1d9e23a82 win-arm64/node_pdb.7z +ddf11b66f879396e3c8977e5503c3e2db13c8fd8bcc88509dc787d298a39c8ba win-arm64/node_pdb.zip +ba93f9a70bd86fce3ebbb39ec758501458453467aa92a34a0a3602d1e3fc2b9c win-x64/node.exe +a0a84aa03917b578d286010b7521837e9ff1136ffb2e4a406c14316c33fd06f7 win-x64/node.lib +d214942d0afd485966667969cf1b57598389aa86cc018608a083bb8fb4a5850b win-x64/node_pdb.7z +60bf42213661a8b42328e93b08585ee8f55f9f47c94a1d71650c5978fcd034bd win-x64/node_pdb.zip +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCAAdFiEEyC+jrhy+3Gvka5NgxDzsRcF6uTwFAmrPm24ACgkQxDzsRcF6 +uTyCtRAAiGwdyUEPfimk5go6Nbj9ccjYaFYp8x4tHZ9M6NMMi4iTN+e773SVKDNJ +wri/PTXnKRvalMYnCmpgiIS72C3LOg51BpfEMQm9NKwIzHw7o5T9CTahw3oj487F +b5NqtdmJsidXKFBPe4ISybjSKUkD5ppfMs3bJUFxl4RZit+OB1H28jVETaLtQSD4 +Yx153pRHxH/IvNKHba1G+CPabrRp6gN4anZ6OUqNSmXCK3HFisJ+LlC9dd3eDKGY +g/N+6E3F2G8OHc23Pfss3vo291I2V9wdRE0kpYvYtD8fGT7rZj7wfREtSJxxYDmj +PE1sImAGTEnRa1yucLQJ5oN4p1U0puyfPwHc07qZ8dmS32TVvCCWsdRPy1D1vwUV +2N9ambN8D1AHMM8XtRJ3Z6thHMhWa8HE/hYplKB9bnkzEu45pjmzymyrVfO3P3kg +VZv676wQVuieD6+wE0nKD1KF7InqhBdAubphE8oDerkNe1Lxx8CrtGpXoHmRPwYO +EGAsjl3+wCIj9bwWsQYthqiRPr5iGWa19L6vIsHzHVAh4R5yysdO8Q4bgFJvfXad +0WNReuEodaBU9EC2umwR3CLwdWgPRtA5tY9qU7sKua21NF2NIdnQJdOMzYe1mip8 +ioaZfqvx8h8PpizVVA0EImUkbR3Yra30qF3wwNdKmCmdeL54f6Q= +=vvtA +-----END PGP SIGNATURE----- +```