v26.11.0

parruda/swarmv26.11.0Oct 7, 2026by aduh95

Upgrading?

AI Summary

Adds buffer methods (isLatin1, stringLength), HTTP header validation, HTTP2 connectionWindowSize option, Alpine Linux tier 2 support, and performance hooks improvements.

Key Highlights

  • Buffer.isLatin1() and Buffer.stringLength() methods
  • HTTP header name and value validation
  • HTTP2 connectionWindowSize option
  • Alpine Linux promoted to tier 2 support
  • Performance hooks histogram.diff() and snapshot() methods

New Features

  • Buffer.isLatin1() method
  • Buffer.stringLength() method
  • http.isValidHeaderName() and isValidHeaderValue()
  • http2 connectionWindowSize option
  • Alpine Linux tier 2 support
  • perf_hooks histogram.diff() method
  • perf_hooks histogram.snapshot() method
  • perf_hooks RecordableHistogram allows recording 0
  • perf_hooks histogram CBOR import validation
  • process.ref/unref graduate to stable
  • sqlite DatabaseSync and StatementSync rename
  • src --process-timeout=N option
  • Heap profile output size and count exposure
  • Addon permission exemption for linked bindings

Full Release Notes




### Notable Changes

* \[[`232f178825`](https://github.com/nodejs/node/commit/232f178825)] - **(SEMVER-MINOR)** **buffer**: add `isLatin1` (James M Snell) [#66298](https://github.com/nodejs/node/pull/66298)
* \[[`27778036de`](https://github.com/nodejs/node/commit/27778036de)] - **(SEMVER-MINOR)** **buffer**: add `Buffer.stringLength()` (Matteo Collina) [#66064](https://github.com/nodejs/node/pull/66064)
* \[[`4f84c4bda2`](https://github.com/nodejs/node/commit/4f84c4bda2)] - **build, doc**: move to redesign (Aviv Keller) [#62045](https://github.com/nodejs/node/pull/62045)
* \[[`6f6296fef9`](https://github.com/nodejs/node/commit/6f6296fef9)] - **(SEMVER-MINOR)** **doc**: promote Alpine Linux to tier 2 support (Stewart X Addison) [#63737](https://github.com/nodejs/node/pull/63737)
* \[[`e998d260d0`](https://github.com/nodejs/node/commit/e998d260d0)] - **(SEMVER-MINOR)** **http**: add `isValidHeaderName()` and isValidHeaderValue() (James M Snell) [#66334](https://github.com/nodejs/node/pull/66334)
* \[[`7702a50e08`](https://github.com/nodejs/node/commit/7702a50e08)] - **(SEMVER-MINOR)** **http2**: add `connectionWindowSize` option (Tim Perry) [#65619](https://github.com/nodejs/node/pull/65619)
* \[[`e06aa62cec`](https://github.com/nodejs/node/commit/e06aa62cec)] - **(SEMVER-MINOR)** **perf\_hooks**: fix truncation of `monitorEventLoopDelay()` resolution (James M Snell) [#66115](https://github.com/nodejs/node/pull/66115)
* \[[`ee126e37e8`](https://github.com/nodejs/node/commit/ee126e37e8)] - **(SEMVER-MINOR)** **perf\_hooks**: allow `RecordableHistogram` to record 0 (James M Snell) [#66114](https://github.com/nodejs/node/pull/66114)
* \[[`1fef8f54db`](https://github.com/nodejs/node/commit/1fef8f54db)] - **(SEMVER-MINOR)** **perf\_hooks**: add `histogram.diff()` (James M Snell) [#66099](https://github.com/nodejs/node/pull/66099)
* \[[`f1b9758c4e`](https://github.com/nodejs/node/commit/f1b9758c4e)] - **(SEMVER-MINOR)** **perf\_hooks**: add `histogram.snapshot()` (James M Snell) [#66099](https://github.com/nodejs/node/pull/66099)
* \[[`291d56ea3e`](https://github.com/nodejs/node/commit/291d56ea3e)] - **(SEMVER-MINOR)** **perf\_hooks**: harden histogram CBOR import validation (James M Snell) [#66098](https://github.com/nodejs/node/pull/66098)
* \[[`6299b09d5c`](https://github.com/nodejs/node/commit/6299b09d5c)] - **(SEMVER-MINOR)** **process**: graduate `process.ref`/`unref` to stable (James M Snell) [#66213](https://github.com/nodejs/node/pull/66213)
* \[[`41d6707b63`](https://github.com/nodejs/node/commit/41d6707b63)] - **(SEMVER-MINOR)** **sqlite**: rename `DatabaseSync` and `StatementSync` (Guilherme Araújo) [#65988](https://github.com/nodejs/node/pull/65988)
* \[[`60d0aa0cd4`](https://github.com/nodejs/node/commit/60d0aa0cd4)] - **(SEMVER-MINOR)** **src**: add `--process-timeout=N` (James M Snell) [#66138](https://github.com/nodejs/node/pull/66138)
* \[[`f39916a7e3`](https://github.com/nodejs/node/commit/f39916a7e3)] - **(SEMVER-MINOR)** **src**: expose size and count in heap profile output (Ilyas Shabi) [#65737](https://github.com/nodejs/node/pull/65737)
* \[[`0b00d5ea59`](https://github.com/nodejs/node/commit/0b00d5ea59)] - **(SEMVER-MINOR)** **src**: let embedders exempt linked bindings from the addon permission (Shelley Vohr) [#66067](https://github.com/nodejs/node/pull/66067)

### Commits

* \[[`11c3d7115d`](https://github.com/nodejs/node/commit/11c3d7115d)] - **benchmark**: add implicit-framing case to http/set-header (Matteo Collina) [#66420](https://github.com/nodejs/node/pull/66420)
* \[[`168b764fec`](https://github.com/nodejs/node/commit/168b764fec)] - **benchmark**: add zstdCompress benchmark (James Ross) [#66358](https://github.com/nodejs/node/pull/66358)
* \[[`69182564a7`](https://github.com/nodejs/node/commit/69182564a7)] - **benchmark**: add a node::MakeCallback benchmark (Nigro Simone) [#66316](https://github.com/nodejs/node/pull/66316)
* \[[`12e540582f`](https://github.com/nodejs/node/commit/12e540582f)] - **(SEMVER-MINOR)** **benchmark**: add http header validator benchmark (James M Snell) [#66334](https://github.com/nodejs/node/pull/66334)
* \[[`e6abdf6b01`](https://github.com/nodejs/node/commit/e6abdf6b01)] - **benchmark**: remove duplicate ffi string length direct (Donghoon Kang) [#66278](https://github.com/nodejs/node/pull/66278)
* \[[`480ca7cc55`](https://github.com/nodejs/node/commit/480ca7cc55)] - **benchmark**: fix shadowing that broke h=20 on incoming\_headers benchmark (Tim Perry) [#66257](https://github.com/nodejs/node/pull/66257)
* \[[`c6bbc1b128`](https://github.com/nodejs/node/commit/c6bbc1b128)] - **benchmark**: cover Web Crypto conversion costs (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`85a2e4e270`](https://github.com/nodejs/node/commit/85a2e4e270)] - **benchmark**: remove duplicate ffi add-64 benchmark (Soul Lee) [#66121](https://github.com/nodejs/node/pull/66121)
* \[[`d0a72f2c12`](https://github.com/nodejs/node/commit/d0a72f2c12)] - **buffer**: fix negative index for large buffers (Hilary Asogwa) [#66325](https://github.com/nodejs/node/pull/66325)
* \[[`b7f6a66a9f`](https://github.com/nodejs/node/commit/b7f6a66a9f)] - **(SEMVER-MINOR)** **buffer**: add isLatin1 (James M Snell) [#66298](https://github.com/nodejs/node/pull/66298)
* \[[`232f178825`](https://github.com/nodejs/node/commit/232f178825)] - **(SEMVER-MINOR)** **buffer**: add isLatin1 (James M Snell) [#66298](https://github.com/nodejs/node/pull/66298)
* \[[`f7d3d11c11`](https://github.com/nodejs/node/commit/f7d3d11c11)] - **buffer**: fix odd UTF-16LE indexOf start (Yuya Inoue) [#65960](https://github.com/nodejs/node/pull/65960)
* \[[`27778036de`](https://github.com/nodejs/node/commit/27778036de)] - **(SEMVER-MINOR)** **buffer**: add Buffer.stringLength() (Matteo Collina) [#66064](https://github.com/nodejs/node/pull/66064)
* \[[`9f1db461d2`](https://github.com/nodejs/node/commit/9f1db461d2)] - **build**: update common.gypi for z/OS (Gaby Baghdadi) [#66449](https://github.com/nodejs/node/pull/66449)
* \[[`0002037b3f`](https://github.com/nodejs/node/commit/0002037b3f)] - **build**: update configure.py for z/OS (Gaby Baghdadi) [#66449](https://github.com/nodejs/node/pull/66449)
* \[[`a341ac460a`](https://github.com/nodejs/node/commit/a341ac460a)] - **build**: fix vcbuild format-md install and exit (Ved Chaudhari) [#66475](https://github.com/nodejs/node/pull/66475)
* \[[`bec52d9103`](https://github.com/nodejs/node/commit/bec52d9103)] - **build**: fix vcbuild lint skipping lint-md-build (Ved Chaudhari) [#66467](https://github.com/nodejs/node/pull/66467)
* \[[`9acdb5910c`](https://github.com/nodejs/node/commit/9acdb5910c)] - **build**: toggle doc-kit verbosity based on V (Brian Muenzenmeyer) [#66293](https://github.com/nodejs/node/pull/66293)
* \[[`6ee32f857a`](https://github.com/nodejs/node/commit/6ee32f857a)] - **build**: support LIEF 0.17.x and 1.x (Yuya Inoue) [#66240](https://github.com/nodejs/node/pull/66240)
* \[[`2248869955`](https://github.com/nodejs/node/commit/2248869955)] - **build**: add clang support for pgo on macOS/Linux (Chengzhong Wu) [#66136](https://github.com/nodejs/node/pull/66136)
* \[[`49069529eb`](https://github.com/nodejs/node/commit/49069529eb)] - **build**: add GZIP\_COMPRESSION Make variable (inoway46) [#66228](https://github.com/nodejs/node/pull/66228)
* \[[`9066d33aa2`](https://github.com/nodejs/node/commit/9066d33aa2)] - **build**: port `make_temporal_zoneinfo_cpp` to GYP (Antoine du Hamel) [#66183](https://github.com/nodejs/node/pull/66183)
* \[[`1f4a8fb1cb`](https://github.com/nodejs/node/commit/1f4a8fb1cb)] - **build**: add `v8_enable_temporal_systemicu` (Steven R. Loomis) [#65992](https://github.com/nodejs/node/pull/65992)
* \[[`4f84c4bda2`](https://github.com/nodejs/node/commit/4f84c4bda2)] - **build, doc**: move to redesign (Aviv Keller) [#62045](https://github.com/nodejs/node/pull/62045)
* \[[`a0e7141ffc`](https://github.com/nodejs/node/commit/a0e7141ffc)] - **child\_process**: build the default env block in one native pass (Shelley Vohr) [#65325](https://github.com/nodejs/node/pull/65325)
* \[[`9fa31096d4`](https://github.com/nodejs/node/commit/9fa31096d4)] - **crypto**: improve random synchronous number generation performance (Mert Can Altin) [#66348](https://github.com/nodejs/node/pull/66348)
* \[[`53cde9d1f8`](https://github.com/nodejs/node/commit/53cde9d1f8)] - **crypto**: fix raw key export error for wrong key type (한국) [#66217](https://github.com/nodejs/node/pull/66217)
* \[[`32ba6d5ada`](https://github.com/nodejs/node/commit/32ba6d5ada)] - **crypto**: use backend cSHAKE and KMAC (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`67ccff6434`](https://github.com/nodejs/node/commit/67ccff6434)] - **crypto**: separate conversion from validation (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`ceeb37173d`](https://github.com/nodejs/node/commit/ceeb37173d)] - **crypto**: verify empty KMAC outputs (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`359b07a641`](https://github.com/nodejs/node/commit/359b07a641)] - **crypto**: check EC coordinate conversion results (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`e4d746c4a5`](https://github.com/nodejs/node/commit/e4d746c4a5)] - **crypto**: map JWK export failures to OperationError (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`a851dda86a`](https://github.com/nodejs/node/commit/a851dda86a)] - **crypto**: include EC public keys in PKCS8 exports (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`7f58476ed1`](https://github.com/nodejs/node/commit/7f58476ed1)] - **crypto**: use the public CryptoKey prototype (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`75870623ad`](https://github.com/nodejs/node/commit/75870623ad)] - **crypto**: split hybrid keys without species (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`a1bea87c6a`](https://github.com/nodejs/node/commit/a1bea87c6a)] - **crypto**: report actual RSA modulus lengths (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`5e04680036`](https://github.com/nodejs/node/commit/5e04680036)] - **crypto**: derive Argon2 without worker threads (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`fe09120a0e`](https://github.com/nodejs/node/commit/fe09120a0e)] - **crypto**: create key usage arrays without species (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`44a2965f5f`](https://github.com/nodejs/node/commit/44a2965f5f)] - **crypto**: minimize RSA public exponent metadata (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`2f3e6dff9d`](https://github.com/nodejs/node/commit/2f3e6dff9d)] - **crypto**: copy derived bits without species (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`d54a2b2049`](https://github.com/nodejs/node/commit/d54a2b2049)] - **crypto**: handle PBKDF2 iteration limits (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`2ef6046f11`](https://github.com/nodejs/node/commit/2ef6046f11)] - **crypto**: reject duplicate unknown key usages (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`2e25ae4a7a`](https://github.com/nodejs/node/commit/2e25ae4a7a)] - **crypto**: check RSA JWK alg with SHA-3 hashes (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`0370e02e2a`](https://github.com/nodejs/node/commit/0370e02e2a)] - **crypto**: copy parameters without array species (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`e042d35ca5`](https://github.com/nodejs/node/commit/e042d35ca5)] - **crypto**: convert importKey data as a union (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`ff86606768`](https://github.com/nodejs/node/commit/ff86606768)] - **crypto**: copy detached parameters as empty (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`1314d277b2`](https://github.com/nodejs/node/commit/1314d277b2)] - **crypto**: resolve supports overloads by type (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`a855a46aeb`](https://github.com/nodejs/node/commit/a855a46aeb)] - **crypto**: allow unbound SubtleCrypto.supports (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`4a72c1d690`](https://github.com/nodejs/node/commit/4a72c1d690)] - **crypto**: allow short AES-GCM IVs (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`2d84b7ed49`](https://github.com/nodejs/node/commit/2d84b7ed49)] - **crypto**: validate normalized hash names (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`6bfd3924ff`](https://github.com/nodejs/node/commit/6bfd3924ff)] - **crypto**: convert getRandomValues views (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`529bd18c1a`](https://github.com/nodejs/node/commit/529bd18c1a)] - **crypto**: isolate cipher job errors (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`d4af11e171`](https://github.com/nodejs/node/commit/d4af11e171)] - **crypto**: reject short AES-KW inputs (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`78374c8af0`](https://github.com/nodejs/node/commit/78374c8af0)] - **crypto**: match algorithm names as ASCII (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`ab9a3f2b01`](https://github.com/nodejs/node/commit/ab9a3f2b01)] - **crypto**: use internal random buffer bounds (Filip Skokan) [#66237](https://github.com/nodejs/node/pull/66237)
* \[[`7c9b2df87a`](https://github.com/nodejs/node/commit/7c9b2df87a)] - **crypto**: use current FIPS state for availability (Filip Skokan) [#66160](https://github.com/nodejs/node/pull/66160)
* \[[`55af1dcded`](https://github.com/nodejs/node/commit/55af1dcded)] - **crypto**: update root certificates to NSS 3.129 (Node.js GitHub Bot) [#66496](https://github.com/nodejs/node/pull/66496)
* \[[`4387cb46d2`](https://github.com/nodejs/node/commit/4387cb46d2)] - **deps**: update timezone to 2026e (Node.js GitHub Bot) [#66419](https://github.com/nodejs/node/pull/66419)
* \[[`150c96ef3f`](https://github.com/nodejs/node/commit/150c96ef3f)] - **deps**: V8: cherry-pick c795f5948568 (Aviv Keller) [#66380](https://github.com/nodejs/node/pull/66380)
* \[[`6b5ac2ab5d`](https://github.com/nodejs/node/commit/6b5ac2ab5d)] - **deps**: update archs files for openssl-3.5.9 (Node.js GitHub Bot) [#66396](https://github.com/nodejs/node/pull/66396)
* \[[`bee7e2403c`](https://github.com/nodejs/node/commit/bee7e2403c)] - **deps**: upgrade openssl sources to openssl-3.5.9 (Node.js GitHub Bot) [#66396](https://github.com/nodejs/node/pull/66396)
* \[[`7a715495f2`](https://github.com/nodejs/node/commit/7a715495f2)] - **deps**: update lief to 1.0.0 (Node.js GitHub Bot) [#66345](https://github.com/nodejs/node/pull/66345)
* \[[`f9da04958a`](https://github.com/nodejs/node/commit/f9da04958a)] - **deps**: update zlib to 1.3.2.1-motley-456ae73 (Node.js GitHub Bot) [#66330](https://github.com/nodejs/node/pull/66330)
* \[[`5c34dd970d`](https://github.com/nodejs/node/commit/5c34dd970d)] - **deps**: update undici to 8.11.2 (Node.js GitHub Bot) [#66332](https://github.com/nodejs/node/pull/66332)
* \[[`fdf0572cd1`](https://github.com/nodejs/node/commit/fdf0572cd1)] - **deps**: update timezone to 2026d (Node.js GitHub Bot) [#66333](https://github.com/nodejs/node/pull/66333)
* \[[`6c924ee1b0`](https://github.com/nodejs/node/commit/6c924ee1b0)] - **deps**: upgrade npm to 11.20.0 (npm team) [#66259](https://github.com/nodejs/node/pull/66259)
* \[[`2653b2617d`](https://github.com/nodejs/node/commit/2653b2617d)] - **deps**: V8: backport 786c1c2d88d4 (Eliau Elkouby) [#66249](https://github.com/nodejs/node/pull/66249)
* \[[`1d68f23e08`](https://github.com/nodejs/node/commit/1d68f23e08)] - **deps**: update googletest to 4267679b6887f349f17b01ccd70c9e3483689b25 (Node.js GitHub Bot) [#66145](https://github.com/nodejs/node/pull/66145)
* \[[`c507c5ad12`](https://github.com/nodejs/node/commit/c507c5ad12)] - **deps**: V8: backport 9fb4444bfc46 (Steven R. Loomis) [#65992](https://github.com/nodejs/node/pull/65992)
* \[[`8c556ab2b6`](https://github.com/nodejs/node/commit/8c556ab2b6)] - **deps**: update histogram to 0.12.0 (Node.js GitHub Bot) [#66494](https://github.com/nodejs/node/pull/66494)
* \[[`d3f55c7487`](https://github.com/nodejs/node/commit/d3f55c7487)] - **diagnostics\_channel**: replace using with try-finally (Ayush Chaudhary) [#64251](https://github.com/nodejs/node/pull/64251)
* \[[`510dfd899e`](https://github.com/nodejs/node/commit/510dfd899e)] - **doc**: update FreeEnvironment() notes for sibling Environments (Shelley Vohr) [#66239](https://github.com/nodejs/node/pull/66239)
* \[[`db2665ba17`](https://github.com/nodejs/node/commit/db2665ba17)] - **doc**: add indexed `Array.prototype` properties to primordial exclusions (René) [#66234](https://github.com/nodejs/node/pull/66234)
* \[[`b692079e3a`](https://github.com/nodejs/node/commit/b692079e3a)] - **doc**: fixup and cleanup stream/iter docs (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`9b191141a2`](https://github.com/nodejs/node/commit/9b191141a2)] - **doc**: fix casing in `util.markPromiseAsHandled` section (Antoine du Hamel) [#66206](https://github.com/nodejs/node/pull/66206)
* \[[`8e8c9762a8`](https://github.com/nodejs/node/commit/8e8c9762a8)] - **doc**: add return type to Blocklist.isBlocklist (yuki motokane) [#66181](https://github.com/nodejs/node/pull/66181)
* \[[`6c7fc98d7f`](https://github.com/nodejs/node/commit/6c7fc98d7f)] - **doc**: clarify Worker execArgv vs Permission Model grants (yunshingng) [#66124](https://github.com/nodejs/node/pull/66124)
* \[[`9fd0a10b1e`](https://github.com/nodejs/node/commit/9fd0a10b1e)] - **doc**: document iterable input for AbortSignal.any (Haram Jeong) [#66123](https://github.com/nodejs/node/pull/66123)
* \[[`c4508fd4c7`](https://github.com/nodejs/node/commit/c4508fd4c7)] - **doc**: restore XadillaX to collaborators (Khaidi Chu) [#66063](https://github.com/nodejs/node/pull/66063)
* \[[`b4ad8354f0`](https://github.com/nodejs/node/commit/b4ad8354f0)] - **doc**: use Type for performanceNodeTiming.uvMetricsInfo (James M Snell) [#66094](https://github.com/nodejs/node/pull/66094)
* \[[`50bc27f3c3`](https://github.com/nodejs/node/commit/50bc27f3c3)] - **doc**: document the node:ffi call paths (Soul Lee) [#66086](https://github.com/nodejs/node/pull/66086)
* \[[`a74a0ee748`](https://github.com/nodejs/node/commit/a74a0ee748)] - **doc,src,test**: fix typos in code comments (Noah) [#66218](https://github.com/nodejs/node/pull/66218)
* \[[`6f6296fef9`](https://github.com/nodejs/node/commit/6f6296fef9)] - **(SEMVER-MINOR)** **doc**: promote Alpine Linux to tier 2 support (Stewart X Addison) [#63737](https://github.com/nodejs/node/pull/63737)
* \[[`215639d6ce`](https://github.com/nodejs/node/commit/215639d6ce)] - **events**: fix addAbortListener for aborted signals (Lazizbek Ergashev) [#65640](https://github.com/nodejs/node/pull/65640)
* \[[`021f7d8d98`](https://github.com/nodejs/node/commit/021f7d8d98)] - **ffi**: accept safe integer numbers for 64-bit arguments (Donghoon Kang) [#66197](https://github.com/nodejs/node/pull/66197)
* \[[`53fd8e7ebb`](https://github.com/nodejs/node/commit/53fd8e7ebb)] - **ffi**: remove permission checks from dlclose and dlsym (Trivikram Kamat) [#66426](https://github.com/nodejs/node/pull/66426)
* \[[`fa7efaf782`](https://github.com/nodejs/node/commit/fa7efaf782)] - **ffi**: validate pointer ranges in optimized calls (Trivikram Kamat) [#66371](https://github.com/nodejs/node/pull/66371)
* \[[`11f80798ba`](https://github.com/nodejs/node/commit/11f80798ba)] - **ffi**: throw on allocation failure in toArrayBuffer() (Trivikram Kamat) [#66406](https://github.com/nodejs/node/pull/66406)
* \[[`c65a333648`](https://github.com/nodejs/node/commit/c65a333648)] - **ffi**: do not abort when a Worker stops in a callback (Trivikram Kamat) [#66389](https://github.com/nodejs/node/pull/66389)
* \[[`9bdab1eca0`](https://github.com/nodejs/node/commit/9bdab1eca0)] - **ffi**: reject unsafe integers as length or offset (Christian Aurich Zanettini Martins) [#66216](https://github.com/nodejs/node/pull/66216)
* \[[`343a5c2915`](https://github.com/nodejs/node/commit/343a5c2915)] - **ffi**: fix use-after-free in PrepareFunction (Trivikram Kamat) [#66368](https://github.com/nodejs/node/pull/66368)
* \[[`51daf16244`](https://github.com/nodejs/node/commit/51daf16244)] - **ffi**: reject non-boolean copy arguments (Christian Aurich Zanettini Martins) [#66219](https://github.com/nodejs/node/pull/66219)
* \[[`b901b97cbf`](https://github.com/nodejs/node/commit/b901b97cbf)] - **ffi**: use type errors for invalid signatures (Donghoon Kang) [#66222](https://github.com/nodejs/node/pull/66222)
* \[[`0f6cdce998`](https://github.com/nodejs/node/commit/0f6cdce998)] - **ffi**: allocate string argument storage lazily (Soul Lee) [#66178](https://github.com/nodejs/node/pull/66178)
* \[[`ee84a36f12`](https://github.com/nodejs/node/commit/ee84a36f12)] - **ffi**: avoid memcpy() with a null pointer (Christian Aurich Zanettini Martins) [#66200](https://github.com/nodejs/node/pull/66200)
* \[[`da32c79034`](https://github.com/nodejs/node/commit/da32c79034)] - **fs**: keep timestamps of files skipped by cpSync (Christian Aurich Zanettini Martins) [#66305](https://github.com/nodejs/node/pull/66305)
* \[[`e7121be408`](https://github.com/nodejs/node/commit/e7121be408)] - **fs**: stop recursive mkdir from retrying ENOENT forever (Marco) [#66340](https://github.com/nodejs/node/pull/66340)
* \[[`99a78b0d83`](https://github.com/nodejs/node/commit/99a78b0d83)] - **fs**: fix crash on negative zero file descriptor (Christian Aurich Zanettini Martins) [#65888](https://github.com/nodejs/node/pull/65888)
* \[[`8b24247be1`](https://github.com/nodejs/node/commit/8b24247be1)] - **fs**: validate falsy openAsBlob type option (Christian Aurich Zanettini Martins) [#66125](https://github.com/nodejs/node/pull/66125)
* \[[`e7d5352fa6`](https://github.com/nodejs/node/commit/e7d5352fa6)] - **fs**: close file streams with fd 0 (greenhead) [#66131](https://github.com/nodejs/node/pull/66131)
* \[[`f38768f0fa`](https://github.com/nodejs/node/commit/f38768f0fa)] - **fs**: close fd 0 on discarded FileHandle transfer (Christian Aurich Zanettini Martins) [#66095](https://github.com/nodejs/node/pull/66095)
* \[[`6487d36873`](https://github.com/nodejs/node/commit/6487d36873)] - **http**: avoid dictionary-mode objects in responses (Matteo Collina) [#66420](https://github.com/nodejs/node/pull/66420)
* \[[`f8d30110b6`](https://github.com/nodejs/node/commit/f8d30110b6)] - **http**: cache parser callbacks (Matteo Collina) [#66152](https://github.com/nodejs/node/pull/66152)
* \[[`e998d260d0`](https://github.com/nodejs/node/commit/e998d260d0)] - **(SEMVER-MINOR)** **http**: add isValidHeaderName() and isValidHeaderValue() (James M Snell) [#66334](https://github.com/nodejs/node/pull/66334)
* \[[`0bb98027e5`](https://github.com/nodejs/node/commit/0bb98027e5)] - **http**: avoid toLowerCase on the server hot path (Yagiz Nizipli) [#66120](https://github.com/nodejs/node/pull/66120)
* \[[`9819b0c432`](https://github.com/nodejs/node/commit/9819b0c432)] - **http**: normalize CONNECT request paths (Efe Karasakal) [#64876](https://github.com/nodejs/node/pull/64876)
* \[[`ab93a3d51b`](https://github.com/nodejs/node/commit/ab93a3d51b)] - **http**: preserve socket errors as response error causes (Khaidi Chu) [#66061](https://github.com/nodejs/node/pull/66061)
* \[[`15184e8212`](https://github.com/nodejs/node/commit/15184e8212)] - **http**: reduce per-request allocations in the server (Matteo Collina) [#65802](https://github.com/nodejs/node/pull/65802)
* \[[`7702a50e08`](https://github.com/nodejs/node/commit/7702a50e08)] - **(SEMVER-MINOR)** **http2**: add new connectionWindowSize option (Tim Perry) [#65619](https://github.com/nodejs/node/pull/65619)
* \[[`33e4ba358b`](https://github.com/nodejs/node/commit/33e4ba358b)] - **https**: handle invalid TLS options in proxied requests (Christian Aurich Zanettini Martins) [#66096](https://github.com/nodejs/node/pull/66096)
* \[[`6f610a836b`](https://github.com/nodejs/node/commit/6f610a836b)] - **inspector**: throw ERR\_INSPECTOR\_NOT\_AVAILABLE without an agent (Shelley Vohr) [#66239](https://github.com/nodejs/node/pull/66239)
* \[[`697980b6fc`](https://github.com/nodejs/node/commit/697980b6fc)] - **inspector**: fix connectToMainThread() abort without parent inspector (Shelley Vohr) [#65976](https://github.com/nodejs/node/pull/65976)
* \[[`37b3db91eb`](https://github.com/nodejs/node/commit/37b3db91eb)] - **(SEMVER-MINOR)** **lib**: fix stream loading bug in node:bench (James M Snell) [#66114](https://github.com/nodejs/node/pull/66114)
* \[[`46a8a5dd65`](https://github.com/nodejs/node/commit/46a8a5dd65)] - **lib**: add primitive fast path to structuredClone (Guilherme Araújo) [#64190](https://github.com/nodejs/node/pull/64190)
* \[[`bec7c53400`](https://github.com/nodejs/node/commit/bec7c53400)] - **meta**: bump github/codeql-action/analyze from 4.38.0 to 4.38.2 (dependabot\[bot]) [#66443](https://github.com/nodejs/node/pull/66443)
* \[[`39d721abed`](https://github.com/nodejs/node/commit/39d721abed)] - **meta**: bump github/codeql-action/autobuild from 4.38.0 to 4.38.2 (dependabot\[bot]) [#66444](https://github.com/nodejs/node/pull/66444)
* \[[`963804db4d`](https://github.com/nodejs/node/commit/963804db4d)] - **meta**: bump github/codeql-action/init from 4.38.0 to 4.38.2 (dependabot\[bot]) [#66446](https://github.com/nodejs/node/pull/66446)
* \[[`5837ef8608`](https://github.com/nodejs/node/commit/5837ef8608)] - **meta**: bump github/codeql-action/upload-sarif from 4.38.0 to 4.38.2 (dependabot\[bot]) [#66447](https://github.com/nodejs/node/pull/66447)
* \[[`d8109f9831`](https://github.com/nodejs/node/commit/d8109f9831)] - **meta**: label permission model changes correctly (Rafael Gonzaga) [#66208](https://github.com/nodejs/node/pull/66208)
* \[[`27f20dcaea`](https://github.com/nodejs/node/commit/27f20dcaea)] - **meta**: bump codecov/codecov-action from 7.0.0 to 7.1.0 (dependabot\[bot]) [#66103](https://github.com/nodejs/node/pull/66103)
* \[[`dc6ef03ab6`](https://github.com/nodejs/node/commit/dc6ef03ab6)] - **module**: centralize builtin exposure policies (Jungwon Sohn) [#66292](https://github.com/nodejs/node/pull/66292)
* \[[`f36efeb350`](https://github.com/nodejs/node/commit/f36efeb350)] - **module**: avoid allocating a cache key string for every require() (Samuel Attard) [#63884](https://github.com/nodejs/node/pull/63884)
* \[[`9baea33509`](https://github.com/nodejs/node/commit/9baea33509)] - **module**: normalize package map paths (Hilary Asogwa) [#66054](https://github.com/nodejs/node/pull/66054)
* \[[`354c2cc867`](https://github.com/nodejs/node/commit/354c2cc867)] - **net**: speed up BlockList.check for strings (Yagiz Nizipli) [#66166](https://github.com/nodejs/node/pull/66166)
* \[[`995a67a5ff`](https://github.com/nodejs/node/commit/995a67a5ff)] - **net**: skip IPv6 regex when the string has no colon (Yagiz Nizipli) [#66165](https://github.com/nodejs/node/pull/66165)
* \[[`1c7b4feebb`](https://github.com/nodejs/node/commit/1c7b4feebb)] - **node-api**: do not crash on module version mismatch (Alexey Karimov) [#66019](https://github.com/nodejs/node/pull/66019)
* \[[`e06aa62cec`](https://github.com/nodejs/node/commit/e06aa62cec)] - **(SEMVER-MINOR)** **perf\_hooks**: fix truncation of monitorEventLoopDelay() resolution (James M Snell) [#66115](https://github.com/nodejs/node/pull/66115)
* \[[`ee126e37e8`](https://github.com/nodejs/node/commit/ee126e37e8)] - **(SEMVER-MINOR)** **perf\_hooks**: allow RecordableHistogram to record 0 (James M Snell) [#66114](https://github.com/nodejs/node/pull/66114)
* \[[`1fef8f54db`](https://github.com/nodejs/node/commit/1fef8f54db)] - **(SEMVER-MINOR)** **perf\_hooks**: add histogram.diff() (James M Snell) [#66099](https://github.com/nodejs/node/pull/66099)
* \[[`a6dfb3bcfd`](https://github.com/nodejs/node/commit/a6dfb3bcfd)] - **(SEMVER-MINOR)** **perf\_hooks**: report histogram memory to V8 (James M Snell) [#66099](https://github.com/nodejs/node/pull/66099)
* \[[`f1b9758c4e`](https://github.com/nodejs/node/commit/f1b9758c4e)] - **(SEMVER-MINOR)** **perf\_hooks**: add histogram.snapshot() (James M Snell) [#66099](https://github.com/nodejs/node/pull/66099)
* \[[`e2ae016df8`](https://github.com/nodejs/node/commit/e2ae016df8)] - **(SEMVER-MINOR)** **perf\_hooks**: add histogram export format version 2 (James M Snell) [#66098](https://github.com/nodejs/node/pull/66098)
* \[[`291d56ea3e`](https://github.com/nodejs/node/commit/291d56ea3e)] - **(SEMVER-MINOR)** **perf\_hooks**: harden histogram CBOR import validation (James M Snell) [#66098](https://github.com/nodejs/node/pull/66098)
* \[[`70c269aadc`](https://github.com/nodejs/node/commit/70c269aadc)] - **perf\_hooks**: restore GC tracking after snapshot deserialization (James M Snell) [#66097](https://github.com/nodejs/node/pull/66097)
* \[[`c545d044ee`](https://github.com/nodejs/node/commit/c545d044ee)] - **perf\_hooks**: track GC callback installation natively (James M Snell) [#66097](https://github.com/nodejs/node/pull/66097)
* \[[`0bd9905959`](https://github.com/nodejs/node/commit/0bd9905959)] - **perf\_hooks**: fix PerformanceObserver observer count leaks (James M Snell) [#66097](https://github.com/nodejs/node/pull/66097)
* \[[`8ec2a940c5`](https://github.com/nodejs/node/commit/8ec2a940c5)] - **perf\_hooks**: add performanceNodeTiming.uvMetricsInfoBigInt (James M Snell) [#66094](https://github.com/nodejs/node/pull/66094)
* \[[`829891da14`](https://github.com/nodejs/node/commit/829891da14)] - **perf\_hooks**: fix truncation of uvMetricsInfo counters (James M Snell) [#66094](https://github.com/nodejs/node/pull/66094)
* \[[`afa02fb69c`](https://github.com/nodejs/node/commit/afa02fb69c)] - **process**: use a class for nextTick resources (Matteo Collina) [#66415](https://github.com/nodejs/node/pull/66415)
* \[[`6299b09d5c`](https://github.com/nodejs/node/commit/6299b09d5c)] - **(SEMVER-MINOR)** **process**: graduate process.ref/unref from experimental (James M Snell) [#66213](https://github.com/nodejs/node/pull/66213)
* \[[`0965b28252`](https://github.com/nodejs/node/commit/0965b28252)] - **querystring**: speed up default parse and unescape (Yagiz Nizipli) [#66175](https://github.com/nodejs/node/pull/66175)
* \[[`bd547c1176`](https://github.com/nodejs/node/commit/bd547c1176)] - **quic**: cleanly tear down QUIC after worker.terminate() (Tim Perry) [#66093](https://github.com/nodejs/node/pull/66093)
* \[[`52bbf8cb15`](https://github.com/nodejs/node/commit/52bbf8cb15)] - **report**: skip unresponsive workers on process timeout (Trivikram Kamat) [#66304](https://github.com/nodejs/node/pull/66304)
* \[[`702c744643`](https://github.com/nodejs/node/commit/702c744643)] - **sea**: add test and update docs for import() with code cache (Ali Hassan) [#62678](https://github.com/nodejs/node/pull/62678)
* \[[`a1bfb6fcda`](https://github.com/nodejs/node/commit/a1bfb6fcda)] - **sea**: add vfsArchive to serve the assets from a ZIP archive (Matteo Collina) [#65810](https://github.com/nodejs/node/pull/65810)
* \[[`fe76deb537`](https://github.com/nodejs/node/commit/fe76deb537)] - **sqlite**: restore connection state on reopen (Guilherme Araújo) [#66042](https://github.com/nodejs/node/pull/66042)
* \[[`4977e51ff3`](https://github.com/nodejs/node/commit/4977e51ff3)] - **sqlite**: use cached strings for property keys (Kyungrae Kang) [#65902](https://github.com/nodejs/node/pull/65902)
* \[[`cd16dcb82b`](https://github.com/nodejs/node/commit/cd16dcb82b)] - **sqlite**: reject plans with unusable virtual table parameters (Trivikram Kamat) [#66215](https://github.com/nodejs/node/pull/66215)
* \[[`33caead942`](https://github.com/nodejs/node/commit/33caead942)] - **sqlite**: throw on oversized string values (Guilherme Araújo) [#66209](https://github.com/nodejs/node/pull/66209)
* \[[`41d6707b63`](https://github.com/nodejs/node/commit/41d6707b63)] - **(SEMVER-MINOR)** **sqlite**: rename DatabaseSync and StatementSync (Guilherme Araújo) [#65988](https://github.com/nodejs/node/pull/65988)
* \[[`583ee1ce64`](https://github.com/nodejs/node/commit/583ee1ce64)] - **sqlite**: run generator return() on cursor refilter (Trivikram Kamat) [#66195](https://github.com/nodejs/node/pull/66195)
* \[[`b46b6996e2`](https://github.com/nodejs/node/commit/b46b6996e2)] - **sqlite**: add virtual table support via createModule() (Trevor Burnham) [#65787](https://github.com/nodejs/node/pull/65787)
* \[[`edbff8caf1`](https://github.com/nodejs/node/commit/edbff8caf1)] - **src**: fix --process-timeout message when exit waits (Trivikram Kamat) [#66361](https://github.com/nodejs/node/pull/66361)
* \[[`cd814e7f23`](https://github.com/nodejs/node/commit/cd814e7f23)] - **src**: remove orphaned js\_udp\_wrap test binding (René) [#66399](https://github.com/nodejs/node/pull/66399)
* \[[`1e9c10b8ea`](https://github.com/nodejs/node/commit/1e9c10b8ea)] - **src**: assert that an IsolateData outlives its Environments (Shelley Vohr) [#66239](https://github.com/nodejs/node/pull/66239)
* \[[`286bffc0a1`](https://github.com/nodejs/node/commit/286bffc0a1)] - **src**: track handle cleanup per thread, not per IsolateData (Shelley Vohr) [#66239](https://github.com/nodejs/node/pull/66239)
* \[[`25c08fcd0d`](https://github.com/nodejs/node/commit/25c08fcd0d)] - **src**: remove `HAVE_QUIC` macro in favor of `OPENSSL_NO_QUIC` (Antoine du Hamel) [#66373](https://github.com/nodejs/node/pull/66373)
* \[[`5eea87c561`](https://github.com/nodejs/node/commit/5eea87c561)] - **src**: fix builds without SSL and SQLite (Filip Skokan) [#66372](https://github.com/nodejs/node/pull/66372)
* \[[`9696e47c32`](https://github.com/nodejs/node/commit/9696e47c32)] - **src**: reduce InternalCallbackScope overhead (Nigro Simone) [#66316](https://github.com/nodejs/node/pull/66316)
* \[[`60d0aa0cd4`](https://github.com/nodejs/node/commit/60d0aa0cd4)] - **(SEMVER-MINOR)** **src**: add --process-timeout=N (James M Snell) [#66138](https://github.com/nodejs/node/pull/66138)
* \[[`12962d8eb5`](https://github.com/nodejs/node/commit/12962d8eb5)] - **src**: fix FreeEnvironment() breaking JS in sibling Environments (Shelley Vohr) [#65977](https://github.com/nodejs/node/pull/65977)
* \[[`abccf93d9f`](https://github.com/nodejs/node/commit/abccf93d9f)] - **src**: let Environments on one isolate share a cleanup hook (Shelley Vohr) [#65777](https://github.com/nodejs/node/pull/65777)
* \[[`caa7858e4c`](https://github.com/nodejs/node/commit/caa7858e4c)] - **src**: fix abort when two Environments share an IsolateData (Shelley Vohr) [#65978](https://github.com/nodejs/node/pull/65978)
* \[[`f39916a7e3`](https://github.com/nodejs/node/commit/f39916a7e3)] - **(SEMVER-MINOR)** **src**: expose size and count in heap profile output (Ilyas Shabi) [#65737](https://github.com/nodejs/node/pull/65737)
* \[[`de34ddcf95`](https://github.com/nodejs/node/commit/de34ddcf95)] - **src**: throw on a malformed localStorage file (Trevor Burnham) [#65879](https://github.com/nodejs/node/pull/65879)
* \[[`6651596663`](https://github.com/nodejs/node/commit/6651596663)] - **src**: reserve shared\_array\_buffers capacity in Message::Deserialize (agape1225) [#65304](https://github.com/nodejs/node/pull/65304)
* \[[`74835eef19`](https://github.com/nodejs/node/commit/74835eef19)] - **src**: ensure Socket(fd) cannot bypass allow-net permission (James M Snell) [#66117](https://github.com/nodejs/node/pull/66117)
* \[[`d7c720f283`](https://github.com/nodejs/node/commit/d7c720f283)] - **src**: add a flag to keep the embedder's wasm streaming callback (Shelley Vohr) [#65690](https://github.com/nodejs/node/pull/65690)
* \[[`68931f70d9`](https://github.com/nodejs/node/commit/68931f70d9)] - **src**: free placeholder nodes for cppgc wrappers in MemoryTracker (Shelley Vohr) [#65793](https://github.com/nodejs/node/pull/65793)
* \[[`13dbf1923a`](https://github.com/nodejs/node/commit/13dbf1923a)] - **src**: fix task queue deadlock when built as C++23 (Shelley Vohr) [#66066](https://github.com/nodejs/node/pull/66066)
* \[[`0b00d5ea59`](https://github.com/nodejs/node/commit/0b00d5ea59)] - **(SEMVER-MINOR)** **src**: let embedders exempt linked bindings from the addon permission (Shelley Vohr) [#66067](https://github.com/nodejs/node/pull/66067)
* \[[`158f6f78d4`](https://github.com/nodejs/node/commit/158f6f78d4)] - **stream**: share webstreams async iterator methods (Matteo Collina) [#66392](https://github.com/nodejs/node/pull/66392)
* \[[`e241cb80da`](https://github.com/nodejs/node/commit/e241cb80da)] - **stream**: keep webstreams nil requests in fast mode (Matteo Collina) [#66230](https://github.com/nodejs/node/pull/66230)
* \[[`62187ab707`](https://github.com/nodejs/node/commit/62187ab707)] - **stream**: keep consumer state in fast mode (Matteo Collina) [#66266](https://github.com/nodejs/node/pull/66266)
* \[[`dcc8665f7e`](https://github.com/nodejs/node/commit/dcc8665f7e)] - **stream**: fix pipeline function tail deadlock (Dayun) [#65559](https://github.com/nodejs/node/pull/65559)
* \[[`247c0274c1`](https://github.com/nodejs/node/commit/247c0274c1)] - **stream**: skip write() checks in flowing pipe (Yagiz Nizipli) [#66182](https://github.com/nodejs/node/pull/66182)
* \[[`26102c22f2`](https://github.com/nodejs/node/commit/26102c22f2)] - **stream**: speed up flowing pipe of buffers (Yagiz Nizipli) [#66182](https://github.com/nodejs/node/pull/66182)
* \[[`81e4ac47a3`](https://github.com/nodejs/node/commit/81e4ac47a3)] - **stream**: support ArrayBufferView in Utf8Stream write() buffer mode (agape1225) [#65301](https://github.com/nodejs/node/pull/65301)
* \[[`f7f1116fc9`](https://github.com/nodejs/node/commit/f7f1116fc9)] - **stream**: fill out stream/iter test coverage (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`dca736ba05`](https://github.com/nodejs/node/commit/dca736ba05)] - **stream**: cleanup promise uses in stream/iter (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`55ef82ac0c`](https://github.com/nodejs/node/commit/55ef82ac0c)] - **stream**: make classic reads wake on return/throw/abort (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`4e8df7ceee`](https://github.com/nodejs/node/commit/4e8df7ceee)] - **stream**: correct strict pending-write behavior & cancellation (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`b44b8658d3`](https://github.com/nodejs/node/commit/b44b8658d3)] - **stream**: make stream/iter toWritable apply backpressure (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`3c9f8789c4`](https://github.com/nodejs/node/commit/3c9f8789c4)] - **stream**: trim per-pipe and per-tee costs in webstreams (Matteo Collina) [#66154](https://github.com/nodejs/node/pull/66154)
* \[[`d96a80930e`](https://github.com/nodejs/node/commit/d96a80930e)] - **stream**: update ShareImpl to retain factory abort listener (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`500b56774f`](https://github.com/nodejs/node/commit/500b56774f)] - **stream**: make Broadcast.from() only return the Broadcast (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`d40236c98e`](https://github.com/nodejs/node/commit/d40236c98e)] - **stream**: ensure streamable protocols precede fast paths (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`cdeb53e807`](https://github.com/nodejs/node/commit/cdeb53e807)] - **stream**: have broadcast clean factory listeners on cancel (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`84f9031add`](https://github.com/nodejs/node/commit/84f9031add)] - **stream**: ensure protocol and transform accessors are called once (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`1c7c0f5267`](https://github.com/nodejs/node/commit/1c7c0f5267)] - **stream**: make broadcast waiters use SafeSet (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`9b50b629a2`](https://github.com/nodejs/node/commit/9b50b629a2)] - **stream**: ensure nested async iterators are cancellation aware (James M Snell) [#66030](https://github.com/nodejs/node/pull/66030)
* \[[`a16320eb15`](https://github.com/nodejs/node/commit/a16320eb15)] - **stream**: trim per-stream costs in webstreams (Matteo Collina) [#66052](https://github.com/nodejs/node/pull/66052)
* \[[`3a77852e34`](https://github.com/nodejs/node/commit/3a77852e34)] - **stream,quic**: correct stream/iter writer implementations (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`6c5806b53c`](https://github.com/nodejs/node/commit/6c5806b53c)] - **test**: wait for ZIP source streams to close (Filip Skokan) [#66429](https://github.com/nodejs/node/pull/66429)
* \[[`4706cafc59`](https://github.com/nodejs/node/commit/4706cafc59)] - **test**: mark worker init failure flaky on SmartOS (Filip Skokan) [#66428](https://github.com/nodejs/node/pull/66428)
* \[[`c19e2cedd2`](https://github.com/nodejs/node/commit/c19e2cedd2)] - **test**: deflake process timeout report cleanup (Filip Skokan) [#66428](https://github.com/nodejs/node/pull/66428)
* \[[`1047188452`](https://github.com/nodejs/node/commit/1047188452)] - **test**: split process timeout report coverage (Filip Skokan) [#66428](https://github.com/nodejs/node/pull/66428)
* \[[`430262ecb0`](https://github.com/nodejs/node/commit/430262ecb0)] - **test**: do not hardcode V8 serialization header (Joyee Cheung) [#66442](https://github.com/nodejs/node/pull/66442)
* \[[`7b25cb811a`](https://github.com/nodejs/node/commit/7b25cb811a)] - **test**: make histogram external memory test less overfitting (Joyee Cheung) [#66416](https://github.com/nodejs/node/pull/66416)
* \[[`aead8a9019`](https://github.com/nodejs/node/commit/aead8a9019)] - **test**: cover Environments sharing an embedder-owned isolate (Shelley Vohr) [#66239](https://github.com/nodejs/node/pull/66239)
* \[[`f63ddfafdc`](https://github.com/nodejs/node/commit/f63ddfafdc)] - **test**: isolate styleText tests from the environment (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`a3ffd40d40`](https://github.com/nodejs/node/commit/a3ffd40d40)] - **test**: probe cluster workers with signal 0 (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`f59117e5fd`](https://github.com/nodejs/node/commit/f59117e5fd)] - **test**: deflake watch cwd with isolation none (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`f23010d837`](https://github.com/nodejs/node/commit/f23010d837)] - **test**: deflake esm loader http imports (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`3f51c49ff9`](https://github.com/nodejs/node/commit/3f51c49ff9)] - **test**: deflake http headers timeout keepalive (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`a5ee59cb00`](https://github.com/nodejs/node/commit/a5ee59cb00)] - **test**: deflake http server mixed request timeouts (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`7c3463901f`](https://github.com/nodejs/node/commit/7c3463901f)] - **test**: deflake inspector close connection test (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`fbdca3a120`](https://github.com/nodejs/node/commit/fbdca3a120)] - **test**: deflake debugger PID attachment and cleanup (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`534561358e`](https://github.com/nodejs/node/commit/534561358e)] - **test**: deflake inspector network fetch (Filip Skokan) [#66320](https://github.com/nodejs/node/pull/66320)
* \[[`1ff8d5c2c9`](https://github.com/nodejs/node/commit/1ff8d5c2c9)] - **test**: use correct constructor in test-sqlite-virtual-table (René) [#66401](https://github.com/nodejs/node/pull/66401)
* \[[`de797aa4b4`](https://github.com/nodejs/node/commit/de797aa4b4)] - **test**: check frame restore in CallbackScope (Nigro Simone) [#66316](https://github.com/nodejs/node/pull/66316)
* \[[`886fd32693`](https://github.com/nodejs/node/commit/886fd32693)] - **test**: use common.PIPE in fs.cp socket tests (Maksim Romanov) [#66329](https://github.com/nodejs/node/pull/66329)
* \[[`3c50781d10`](https://github.com/nodejs/node/commit/3c50781d10)] - **test**: deflake fast FFI buffer tests (Filip Skokan) [#66327](https://github.com/nodejs/node/pull/66327)
* \[[`1d8f9a2bfb`](https://github.com/nodejs/node/commit/1d8f9a2bfb)] - **test**: use Database in sqlite virtual table test (Trivikram Kamat) [#66307](https://github.com/nodejs/node/pull/66307)
* \[[`61a87a246f`](https://github.com/nodejs/node/commit/61a87a246f)] - **test**: deflake sliding window histogram test (James M Snell) [#66132](https://github.com/nodejs/node/pull/66132)
* \[[`017ff85b82`](https://github.com/nodejs/node/commit/017ff85b82)] - **test**: split FFI call and callback coverage (Filip Skokan) [#66287](https://github.com/nodejs/node/pull/66287)
* \[[`19d8d1992c`](https://github.com/nodejs/node/commit/19d8d1992c)] - **test**: add smoke tests for defer importing synthetic modules (Maya Lekova) [#65537](https://github.com/nodejs/node/pull/65537)
* \[[`fb3d90a986`](https://github.com/nodejs/node/commit/fb3d90a986)] - **test**: deflake test runner timeout coverage (Filip Skokan) [#66255](https://github.com/nodejs/node/pull/66255)
* \[[`cee8eb9c74`](https://github.com/nodejs/node/commit/cee8eb9c74)] - **test**: deflake inspector async hook setup (Filip Skokan) [#66255](https://github.com/nodejs/node/pull/66255)
* \[[`37e9397bfe`](https://github.com/nodejs/node/commit/37e9397bfe)] - **test**: deflake debugger function name extraction (Filip Skokan) [#66231](https://github.com/nodejs/node/pull/66231)
* \[[`7b1c74eec3`](https://github.com/nodejs/node/commit/7b1c74eec3)] - **test**: use spawnSync helpers in cpu-prof tests (Junhwan Choi) [#65694](https://github.com/nodejs/node/pull/65694)
* \[[`2fd51fd5d8`](https://github.com/nodejs/node/commit/2fd51fd5d8)] - **test**: reduce expensive crypto test variants (Filip Skokan) [#66244](https://github.com/nodejs/node/pull/66244)
* \[[`c155248f1b`](https://github.com/nodejs/node/commit/c155248f1b)] - **test**: ensure fsPromises.watch rejects on abort (Jihwan) [#65768](https://github.com/nodejs/node/pull/65768)
* \[[`42255ab9b1`](https://github.com/nodejs/node/commit/42255ab9b1)] - **test**: avoid using promise wrapped timers (James M Snell) [#66079](https://github.com/nodejs/node/pull/66079)
* \[[`62f92a5d3d`](https://github.com/nodejs/node/commit/62f92a5d3d)] - **test**: enable trace\_events tests with perfetto (Chengzhong Wu) [#66068](https://github.com/nodejs/node/pull/66068)
* \[[`f2972bf10a`](https://github.com/nodejs/node/commit/f2972bf10a)] - **test**: accept ENOTEMPTY from libc++ in test-fs-rm (Shelley Vohr) [#66065](https://github.com/nodejs/node/pull/66065)
* \[[`e0d0c5d0e2`](https://github.com/nodejs/node/commit/e0d0c5d0e2)] - **test**: use heapdump test for SecureContext memory tracking (Mert Can Altin) [#64344](https://github.com/nodejs/node/pull/64344)
* \[[`953e46789d`](https://github.com/nodejs/node/commit/953e46789d)] - **test**: update WPT for url to c48d58747e (Node.js GitHub Bot) [#66141](https://github.com/nodejs/node/pull/66141)
* \[[`aaa7a7aebe`](https://github.com/nodejs/node/commit/aaa7a7aebe)] - **test**: deflake watch mode tests (Filip Skokan) [#66232](https://github.com/nodejs/node/pull/66232)
* \[[`ee457cd306`](https://github.com/nodejs/node/commit/ee457cd306)] - **test**: mark some tests flaky for now on riscv64 (Stewart X Addison) [#65781](https://github.com/nodejs/node/pull/65781)
* \[[`9b432e97ca`](https://github.com/nodejs/node/commit/9b432e97ca)] - **test**: deflake pummel/test-timers (Filip Skokan) [#66135](https://github.com/nodejs/node/pull/66135)
* \[[`63d32369b1`](https://github.com/nodejs/node/commit/63d32369b1)] - **test**: update WPT for WebCryptoAPI to a6a0a0292a (Node.js GitHub Bot) [#66142](https://github.com/nodejs/node/pull/66142)
* \[[`658951021a`](https://github.com/nodejs/node/commit/658951021a)] - **test**: deflake test-bench-errors (Filip Skokan) [#66153](https://github.com/nodejs/node/pull/66153)
* \[[`1be62ae8d5`](https://github.com/nodejs/node/commit/1be62ae8d5)] - **test**: deflake test-http2-debug (Filip Skokan) [#66151](https://github.com/nodejs/node/pull/66151)
* \[[`b9f61ea9ab`](https://github.com/nodejs/node/commit/b9f61ea9ab)] - **test**: deflake test-benchmark-crypto (Filip Skokan) [#66151](https://github.com/nodejs/node/pull/66151)
* \[[`fb9aba67dd`](https://github.com/nodejs/node/commit/fb9aba67dd)] - **test**: deflake long timer WPTs (Marco) [#63106](https://github.com/nodejs/node/pull/63106)
* \[[`53b3a053a2`](https://github.com/nodejs/node/commit/53b3a053a2)] - **test**: update test426-fixtures to 9ea66b466fd37e8a4050033d23b3e1480973c3d (Node.js GitHub Bot) [#66493](https://github.com/nodejs/node/pull/66493)
* \[[`ef1a602283`](https://github.com/nodejs/node/commit/ef1a602283)] - **test**: update WPT for WebCryptoAPI to 3127c3a492 (Node.js GitHub Bot) [#66492](https://github.com/nodejs/node/pull/66492)
* \[[`d573726238`](https://github.com/nodejs/node/commit/d573726238)] - **test\_runner**: do not crash on stdout that mimics a v8 frame (Muhammad Faizan Uddin) [#66273](https://github.com/nodejs/node/pull/66273)
* \[[`ea2c1bbe8b`](https://github.com/nodejs/node/commit/ea2c1bbe8b)] - **test\_runner**: do not reuse a worker ID held by a running file (Vasiliy Serpokryl) [#65739](https://github.com/nodejs/node/pull/65739)
* \[[`0f0892e59c`](https://github.com/nodejs/node/commit/0f0892e59c)] - **tls**: initialize session and SNI before connecting (Steven) [#65624](https://github.com/nodejs/node/pull/65624)
* \[[`684cae7909`](https://github.com/nodejs/node/commit/684cae7909)] - **tls**: preserve CN name constraints with OpenSSL 4.1 (Filip Skokan) [#65957](https://github.com/nodejs/node/pull/65957)
* \[[`df96c928a2`](https://github.com/nodejs/node/commit/df96c928a2)] - **tools**: limit checkout for lint-cpp (Yuya Inoue) [#66474](https://github.com/nodejs/node/pull/66474)
* \[[`593c96446c`](https://github.com/nodejs/node/commit/593c96446c)] - **tools**: limit format-cpp checkout history (Yuya Inoue) [#66479](https://github.com/nodejs/node/pull/66479)
* \[[`4251b8b1f9`](https://github.com/nodejs/node/commit/4251b8b1f9)] - **tools**: share CI and benchmark build configuration (Filip Skokan) [#66351](https://github.com/nodejs/node/pull/66351)
* \[[`6948dd1232`](https://github.com/nodejs/node/commit/6948dd1232)] - **tools**: fix nixpkgs updater script (Antoine du Hamel) [#66337](https://github.com/nodejs/node/pull/66337)
* \[[`e3f861b23e`](https://github.com/nodejs/node/commit/e3f861b23e)] - **tools**: wait for test processes instead of polling (Matteo Collina) [#66432](https://github.com/nodejs/node/pull/66432)
* \[[`14cc5877d7`](https://github.com/nodejs/node/commit/14cc5877d7)] - **tools**: avoid repeated subtree scans in must-call-assert (Yuya Inoue) [#66408](https://github.com/nodejs/node/pull/66408)
* \[[`7fb76f9554`](https://github.com/nodejs/node/commit/7fb76f9554)] - **tools**: add cache to `lint-js-and-md` (Antoine du Hamel) [#66412](https://github.com/nodejs/node/pull/66412)
* \[[`9015b992d0`](https://github.com/nodejs/node/commit/9015b992d0)] - **tools**: bump brace-expansion in /tools/clang-format (dependabot\[bot]) [#66418](https://github.com/nodejs/node/pull/66418)
* \[[`84db29179a`](https://github.com/nodejs/node/commit/84db29179a)] - **tools**: bump brace-expansion from 5.0.9 to 5.0.12 in /tools/eslint (dependabot\[bot]) [#66417](https://github.com/nodejs/node/pull/66417)
* \[[`a952647d86`](https://github.com/nodejs/node/commit/a952647d86)] - **tools**: keep OpenSSL update PRs in draft until arch configs committed (René) [#66398](https://github.com/nodejs/node/pull/66398)
* \[[`2d3be6adf2`](https://github.com/nodejs/node/commit/2d3be6adf2)] - **tools**: update gyp-next to 0.22.3 (Node.js GitHub Bot) [#66397](https://github.com/nodejs/node/pull/66397)
* \[[`5f54bc7763`](https://github.com/nodejs/node/commit/5f54bc7763)] - **tools**: fix Nix diff tools when pushing more than 1 commit (Antoine du Hamel) [#66383](https://github.com/nodejs/node/pull/66383)
* \[[`2c06236669`](https://github.com/nodejs/node/commit/2c06236669)] - **tools**: reduce bundle size of `benchmarkTools.nix` (#65388) (Antoine du Hamel) [#65388](https://github.com/nodejs/node/pull/65388)
* \[[`b10949cdca`](https://github.com/nodejs/node/commit/b10949cdca)] - **tools**: add `deps/LIEF` to the ignore list of `test-shared.yml` (Antoine du Hamel) [#66342](https://github.com/nodejs/node/pull/66342)
* \[[`80cd5d8143`](https://github.com/nodejs/node/commit/80cd5d8143)] - **tools**: bump the doc group in /tools/doc with 4 updates (dependabot\[bot]) [#66295](https://github.com/nodejs/node/pull/66295)
* \[[`aaaca48ce8`](https://github.com/nodejs/node/commit/aaaca48ce8)] - **tools**: check CI availability and workload (Filip Skokan) [#66280](https://github.com/nodejs/node/pull/66280)
* \[[`0607f14c3a`](https://github.com/nodejs/node/commit/0607f14c3a)] - **tools**: enable temporal by default in Nix integration (Antoine du Hamel) [#66267](https://github.com/nodejs/node/pull/66267)
* \[[`605938efb3`](https://github.com/nodejs/node/commit/605938efb3)] - **tools**: reduce source tarball compression in CI (inoway46) [#66228](https://github.com/nodejs/node/pull/66228)
* \[[`0913452391`](https://github.com/nodejs/node/commit/0913452391)] - **tools**: add lief to automated dependency updates (René) [#66242](https://github.com/nodejs/node/pull/66242)
* \[[`63469ca078`](https://github.com/nodejs/node/commit/63469ca078)] - **tools**: add resume-ci label handling (Filip Skokan) [#65945](https://github.com/nodejs/node/pull/65945)
* \[[`8e79b1fa36`](https://github.com/nodejs/node/commit/8e79b1fa36)] - **typings**: wire up spawn\_sync internal binding types (agape1225) [#65996](https://github.com/nodejs/node/pull/65996)
* \[[`0845991255`](https://github.com/nodejs/node/commit/0845991255)] - **typings**: share AsyncWrap and HandleWrap types (Seongeun Lee) [#66150](https://github.com/nodejs/node/pull/66150)
* \[[`e90ba99def`](https://github.com/nodejs/node/commit/e90ba99def)] - **typings**: add mksnapshot internal binding types (Seongeun Lee) [#65901](https://github.com/nodejs/node/pull/65901)
* \[[`8623a13d97`](https://github.com/nodejs/node/commit/8623a13d97)] - **typings**: wire up quic internal binding types (agape1225) [#65556](https://github.com/nodejs/node/pull/65556)
* \[[`7202aa55a7`](https://github.com/nodejs/node/commit/7202aa55a7)] - **url**: create URLSearchParams collision map lazily (Romain Lanz) [#65801](https://github.com/nodejs/node/pull/65801)
* \[[`aff60171cd`](https://github.com/nodejs/node/commit/aff60171cd)] - **util**: make mime parsing faster (James M Snell) [#66369](https://github.com/nodejs/node/pull/66369)
* \[[`83a1697f1c`](https://github.com/nodejs/node/commit/83a1697f1c)] - **util**: fix inspect indentation of detached DataView (Miodrag Obradovic) [#66421](https://github.com/nodejs/node/pull/66421)
* \[[`33ef1780fd`](https://github.com/nodejs/node/commit/33ef1780fd)] - **util**: show SuppressedError's error/suppressed properties on inspect (agape1225) [#66159](https://github.com/nodejs/node/pull/66159)
* \[[`dbb0e6e164`](https://github.com/nodejs/node/commit/dbb0e6e164)] - **util,assert**: expose util.isPartialDeepStrictEqual() (Thomas Hunter II) [#66118](https://github.com/nodejs/node/pull/66118)
* \[[`afb61d6ca4`](https://github.com/nodejs/node/commit/afb61d6ca4)] - **vfs**: make the reserved root readable through fs (Philipp Dunkel) [#66140](https://github.com/nodejs/node/pull/66140)
* \[[`83c0e30cd7`](https://github.com/nodejs/node/commit/83c0e30cd7)] - **vfs**: drop --vfs-mount, pin the load mount point (Philipp Dunkel) [#66162](https://github.com/nodejs/node/pull/66162)
* \[[`9656992aff`](https://github.com/nodejs/node/commit/9656992aff)] - **vfs**: support recursive readdir in ZipProvider (Philipp Dunkel) [#66127](https://github.com/nodejs/node/pull/66127)
* \[[`d5b65c3b94`](https://github.com/nodejs/node/commit/d5b65c3b94)] - **vfs**: validate ZipProvider parent directories (Trivikram Kamat) [#65829](https://github.com/nodejs/node/pull/65829)
* \[[`41e9ab96cd`](https://github.com/nodejs/node/commit/41e9ab96cd)] - **watch**: escape quotes and backslashes in NODE\_OPTIONS (Trivikram Kamat) [#66363](https://github.com/nodejs/node/pull/66363)
* \[[`17964bb699`](https://github.com/nodejs/node/commit/17964bb699)] - **watch**: detect files replaced via unlink and create (Marco) [#63888](https://github.com/nodejs/node/pull/63888)
* \[[`be7f637d0e`](https://github.com/nodejs/node/commit/be7f637d0e)] - **watch**: strip watch flags from NODE\_OPTIONS in child process (Marco) [#62143](https://github.com/nodejs/node/pull/62143)
* \[[`6c23e21c00`](https://github.com/nodejs/node/commit/6c23e21c00)] - **worker**: discard queued messages on termination (Filip Skokan) [#66354](https://github.com/nodejs/node/pull/66354)
* \[[`ee51b0412f`](https://github.com/nodejs/node/commit/ee51b0412f)] - **worker**: serialize messages after exit (Filip Skokan) [#66354](https://github.com/nodejs/node/pull/66354)
* \[[`c2c5f4ccbe`](https://github.com/nodejs/node/commit/c2c5f4ccbe)] - **worker**: preserve blob module URLs (Filip Skokan) [#66354](https://github.com/nodejs/node/pull/66354)
* \[[`05d533ede5`](https://github.com/nodejs/node/commit/05d533ede5)] - **worker**: convert importScripts arguments first (Filip Skokan) [#66354](https://github.com/nodejs/node/pull/66354)
* \[[`230cd0ce43`](https://github.com/nodejs/node/commit/230cd0ce43)] - **worker**: fix postMessage overload resolution (Filip Skokan) [#66354](https://github.com/nodejs/node/pull/66354)
* \[[`78b502a565`](https://github.com/nodejs/node/commit/78b502a565)] - **worker**: add Symbol.toStringTag to BroadcastChannel (Lazizbek Ergashev) [#65532](https://github.com/nodejs/node/pull/65532)
* \[[`56e6a5c8d8`](https://github.com/nodejs/node/commit/56e6a5c8d8)] - **worker**: add Symbol.toStringTag to MessageChannel and MessagePort (Lazizbek Ergashev) [#65532](https://github.com/nodejs/node/pull/65532)
* \[[`b896580c47`](https://github.com/nodejs/node/commit/b896580c47)] - **worker**: remove messageerror listeners on exit (Dayun) [#66075](https://github.com/nodejs/node/pull/66075)
* \[[`19732fc576`](https://github.com/nodejs/node/commit/19732fc576)] - **worker**: strip types in Web Worker module entries (Hubert Walczak) [#66085](https://github.com/nodejs/node/pull/66085)
* \[[`bb3d33e610`](https://github.com/nodejs/node/commit/bb3d33e610)] - **zlib**: fix abort with decodeStrings: false (James Ross) [#66359](https://github.com/nodejs/node/pull/66359)
* \[[`9b350d80ff`](https://github.com/nodejs/node/commit/9b350d80ff)] - **zlib**: pledge input size in async zstdCompress() (James Ross) [#66358](https://github.com/nodejs/node/pull/66358)
* \[[`6c927c0009`](https://github.com/nodejs/node/commit/6c927c0009)] - **zlib**: preserve brotli params and dictionary on reset (Xia Chao) [#66157](https://github.com/nodejs/node/pull/66157)
* \[[`54e93301a1`](https://github.com/nodejs/node/commit/54e93301a1)] - **zlib**: reject reset after gzip/deflate emitted incomplete output (Xia Chao) [#66179](https://github.com/nodejs/node/pull/66179)
* \[[`d84b4550e5`](https://github.com/nodejs/node/commit/d84b4550e5)] - **zlib**: reject reset while a zstd frame is incomplete (Xia Chao) [#66088](https://github.com/nodejs/node/pull/66088)

Related Repositories