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
maybe-finance/maybe★ 54,214
The personal finance app for everyone
huginn/huginn★ 50,090
Create agents that monitor and act on your behalf. Your agents are standing by!
discourse/discourse★ 48,001
A platform for community discussion. Free, open, simple.
chatwoot/chatwoot★ 38,080
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬