Skip to content

http2: fix onread assert when destroying session from stream handler - #65116

Closed
sankalpsthakur wants to merge 3 commits into
nodejs:mainfrom
sankalpsthakur:fix/64850-http2-onread-assert
Closed

sankalpsthakur wants to merge 3 commits into
nodejs:mainfrom
sankalpsthakur:fix/64850-http2-onread-assert

Conversation

@sankalpsthakur

@sankalpsthakur sankalpsthakur commented Aug 7, 2026 •

Copy link
Copy Markdown
Contributor

When session.destroy() runs from a stream handler, deferred session closure can allow later HEADERS in the same receive buffer to create C++ streams without a JavaScript wrapper. Subsequent DATA delivery can then hit the onread->IsFunction() assertion.

This change rejects new streams while the session is closing and destroys a C++ stream handle if its headers reach JavaScript after the session was destroyed.

The regression test is test/parallel/test-http2-session-destroy-stream-handler.js, which repeatedly destroys a session while handling concurrent POSTs.

Fixes #64850.

AI disclosure

AI coding tools, including Grok and Codex, assisted with the code and description.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/http2
  • @nodejs/net

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. http2 Issues and PRs related to the http2 subsystem. needs-ci PRs that need a full CI run. labels Aug 7, 2026

@mcollina mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcollina mcollina added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Aug 31, 2026
@mcollina
mcollina requested a review from pimterry August 31, 2026 09:44
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Aug 31, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@codecov

codecov Bot commented Aug 31, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 66.66667% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.98%. Comparing base (2befec5) to head (eaa9b7a).
⚠️ Report is 202 commits behind head on main.

Files with missing lines Patch % Lines
lib/internal/http2/core.js 50.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #65116      +/-   ##
==========================================
- Coverage   89.99%   89.98%   -0.02%     
==========================================
  Files         757      757              
  Lines      257739   257750      +11     
  Branches    48881    48879       -2     
==========================================
- Hits       231961   231943      -18     
- Misses      16861    16899      +38     
+ Partials     8917     8908       -9     
Files with missing lines Coverage Δ
src/node_http2.cc 81.83% <100.00%> (-0.11%) ⬇️
lib/internal/http2/core.js 94.99% <50.00%> (-0.10%) ⬇️

... and 36 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pimterry pimterry left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @sankalpsthakur!

Mostly looks good. The 3 fixes seem to all separately solve the same issue redundantly, is that right? I think for the first two that's OK and they're independently valuable (with minor tweaks) but we should drop the 3rd chunk to avoid missing major issues in future.

There's also a failing lint here, you can fix this locally with make format-cpp.

Comment thread src/node_http2.cc Outdated
Comment thread src/node_http2.cc Outdated
Comment thread lib/internal/http2/core.js
@mcollina

mcollina commented Sep 2, 2026

Copy link
Copy Markdown
Member

@pimterry ptal

@mcollina mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcollina mcollina added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 2, 2026
@sankalpsthakur
sankalpsthakur force-pushed the fix/64850-http2-onread-assert branch from ae6f128 to 9cd30dd Compare September 2, 2026 17:23
When session.destroy() runs from a 'stream' handler, MakeCallback drains
nextTick while nghttp2 is still inside mem_recv. Close is deferred for
that window (see nodejs#64166), so later HEADERS in the same buffer created
C++ streams without a JS wrapper or onread, and DATA delivery aborted
with Assertion failed: onread->IsFunction().

- Reject new streams while the session is closing
- Destroy the C++ handle if on_headers runs after JS destroy
- Drop DATA when onread is not installed (defensive)

Fixes: nodejs#64850
Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
@sankalpsthakur
sankalpsthakur force-pushed the fix/64850-http2-onread-assert branch from 9cd30dd to eaa9b7a Compare September 2, 2026 17:27

@pimterry pimterry left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for working through those fixes @sankalpsthakur!

@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 2, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@mcollina mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@sankalpsthakur

Copy link
Copy Markdown
Contributor Author

The child checks are green, but Jenkins #76961 still reports failure. The console requires authentication. Could someone share the failing stage or test?

mcollina pushed a commit that referenced this pull request Sep 14, 2026
When session.destroy() runs from a 'stream' handler, MakeCallback drains
nextTick while nghttp2 is still inside mem_recv. Close is deferred for
that window (see #64166), so later HEADERS in the same buffer created
C++ streams without a JS wrapper or onread, and DATA delivery aborted
with Assertion failed: onread->IsFunction().

- Reject new streams while the session is closing
- Destroy the C++ handle if on_headers runs after JS destroy
- Drop DATA when onread is not installed (defensive)

Fixes: #64850
Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
PR-URL: #65116
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
@mcollina

Copy link
Copy Markdown
Member

Landed in 0e32ee2

@mcollina mcollina closed this Sep 14, 2026
aduh95 pushed a commit that referenced this pull request Sep 16, 2026
When session.destroy() runs from a 'stream' handler, MakeCallback drains
nextTick while nghttp2 is still inside mem_recv. Close is deferred for
that window (see #64166), so later HEADERS in the same buffer created
C++ streams without a JS wrapper or onread, and DATA delivery aborted
with Assertion failed: onread->IsFunction().

- Reject new streams while the session is closing
- Destroy the C++ handle if on_headers runs after JS destroy
- Drop DATA when onread is not installed (defensive)

Fixes: #64850
Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
PR-URL: #65116
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
aduh95 pushed a commit that referenced this pull request Sep 22, 2026
When session.destroy() runs from a 'stream' handler, MakeCallback drains
nextTick while nghttp2 is still inside mem_recv. Close is deferred for
that window (see #64166), so later HEADERS in the same buffer created
C++ streams without a JS wrapper or onread, and DATA delivery aborted
with Assertion failed: onread->IsFunction().

- Reject new streams while the session is closing
- Destroy the C++ handle if on_headers runs after JS destroy
- Drop DATA when onread is not installed (defensive)

Fixes: #64850
Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
PR-URL: #65116
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
aduh95 pushed a commit that referenced this pull request Sep 25, 2026
When session.destroy() runs from a 'stream' handler, MakeCallback drains
nextTick while nghttp2 is still inside mem_recv. Close is deferred for
that window (see #64166), so later HEADERS in the same buffer created
C++ streams without a JS wrapper or onread, and DATA delivery aborted
with Assertion failed: onread->IsFunction().

- Reject new streams while the session is closing
- Destroy the C++ handle if on_headers runs after JS destroy
- Drop DATA when onread is not installed (defensive)

Fixes: #64850
Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
PR-URL: #65116
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
mcollina pushed a commit to mcollina/node that referenced this pull request Oct 4, 2026
When session.destroy() runs from a 'stream' handler, MakeCallback drains
nextTick while nghttp2 is still inside mem_recv. Close is deferred for
that window (see nodejs#64166), so later HEADERS in the same buffer created
C++ streams without a JS wrapper or onread, and DATA delivery aborted
with Assertion failed: onread->IsFunction().

- Reject new streams while the session is closing
- Destroy the C++ handle if on_headers runs after JS destroy
- Drop DATA when onread is not installed (defensive)

Fixes: nodejs#64850
Assisted-by: pi
Signed-off-by: Sankalp Thakur <sankalphimself@gmail.com>
PR-URL: nodejs#65116
Backport-PR-URL: nodejs#66515
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
mcollina added a commit to mcollina/undici that referenced this pull request Oct 5, 2026
…e.js 22

nodejs/node#64850 (onread->IsFunction() assertion during session
teardown) was fixed by nodejs/node#65116, which first shipped in
Node.js v26.10.0. Restrict the Node.js 26 skip to versions before the
fix so the test runs again on current 26.x and later.

The v22.x backport (nodejs/node#66515) has not been released yet, so
keep the test skipped on Node.js 22 until a release carries the fix.
mcollina added a commit to nodejs/undici that referenced this pull request Oct 8, 2026
…e.js 22 (#5961)

nodejs/node#64850 (onread->IsFunction() assertion during session
teardown) was fixed by nodejs/node#65116, which first shipped in
Node.js v26.10.0. Restrict the Node.js 26 skip to versions before the
fix so the test runs again on current 26.x and later.

The v22.x backport (nodejs/node#66515) has not been released yet, so
keep the test skipped on Node.js 22 until a release carries the fix.
markharding added a commit to futo-org/Harbor that referenced this pull request Oct 19, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `24.18.0` → `24.22.0` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/99) for more information.

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v24.22.0`](https://github.com/nodejs/node/releases/tag/v24.22.0): 2026-10-14, Version 24.22.0 'Krypton' (LTS), @&#8203;richardlau prepared by @&#8203;aduh95

[Compare Source](https://github.com/nodejs/node/compare/v24.21.0...v24.22.0)

##### Notable Changes

- \[[`ddbf974b47`](https://github.com/nodejs/node/commit/ddbf974b47)] - **(SEMVER-MINOR)** **crypto**: add `crypto.parsePKCS12()` (Brian Muenzenmeyer) [#&#8203;65627](https://github.com/nodejs/node/pull/65627)
- \[[`c162c68ff0`](https://github.com/nodejs/node/commit/c162c68ff0)] - **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan) [#&#8203;65553](https://github.com/nodejs/node/pull/65553)
- \[[`a4ab3d84d7`](https://github.com/nodejs/node/commit/a4ab3d84d7)] - **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers (Filip Skokan) [#&#8203;65484](https://github.com/nodejs/node/pull/65484)
- \[[`c2f1e829ea`](https://github.com/nodejs/node/commit/c2f1e829ea)] - **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers (Filip Skokan) [#&#8203;65484](https://github.com/nodejs/node/pull/65484)
- \[[`51aad5a80d`](https://github.com/nodejs/node/commit/51aad5a80d)] - **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) [#&#8203;63411](https://github.com/nodejs/node/pull/63411)
- \[[`d11c65d2f2`](https://github.com/nodejs/node/commit/d11c65d2f2)] - **doc**: add araujogui to collaborators (Guilherme Araújo) [#&#8203;66090](https://github.com/nodejs/node/pull/66090)
- \[[`acc1578179`](https://github.com/nodejs/node/commit/acc1578179)] - **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) [#&#8203;65593](https://github.com/nodejs/node/pull/65593)
- \[[`a7f8de6362`](https://github.com/nodejs/node/commit/a7f8de6362)] - **(SEMVER-MINOR)** **net**: support sending `net.BoundSocket` to threads and child processes (Guy Bedford) [#&#8203;64725](https://github.com/nodejs/node/pull/64725)
- \[[`60c3eb61bd`](https://github.com/nodejs/node/commit/60c3eb61bd)] - **(SEMVER-MINOR)** **perf_hooks**: implement `SlidingWindowHistogram` (James M Snell) [#&#8203;65825](https://github.com/nodejs/node/pull/65825)
- \[[`6b3e6f9d5c`](https://github.com/nodejs/node/commit/6b3e6f9d5c)] - **(SEMVER-MINOR)** **perf_hooks**: implement qrde analysis support in Histogram (James M Snell) [#&#8203;65806](https://github.com/nodejs/node/pull/65806)
- \[[`75456a3512`](https://github.com/nodejs/node/commit/75456a3512)] - **(SEMVER-MINOR)** **perf_hooks**: implement Histogram `meanCI` API (James M Snell) [#&#8203;65606](https://github.com/nodejs/node/pull/65606)
- \[[`72d1b40c56`](https://github.com/nodejs/node/commit/72d1b40c56)] - **(SEMVER-MINOR)** **perf_hooks**: add CBOR export/import for histogram exchange (James M Snell) [#&#8203;65434](https://github.com/nodejs/node/pull/65434)
- \[[`41161dda87`](https://github.com/nodejs/node/commit/41161dda87)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype.close()` (Guilherme Araújo) [#&#8203;64232](https://github.com/nodejs/node/pull/64232)
- \[[`adbc757d70`](https://github.com/nodejs/node/commit/adbc757d70)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype[Symbol.dispose]()` (Guilherme Araújo) [#&#8203;64232](https://github.com/nodejs/node/pull/64232)
- \[[`241339f072`](https://github.com/nodejs/node/commit/241339f072)] - **(SEMVER-MINOR)** **src,lib**: add `util.markPromiseAsHandled` (James M Snell) [#&#8203;65805](https://github.com/nodejs/node/pull/65805)
- \[[`63b0974d9e`](https://github.com/nodejs/node/commit/63b0974d9e)] - **(SEMVER-MINOR)** **util**: implement `util.throttle` (James M Snell) [#&#8203;65899](https://github.com/nodejs/node/pull/65899)
- \[[`a3bbb5a26f`](https://github.com/nodejs/node/commit/a3bbb5a26f)] - **(SEMVER-MINOR)** **util**: implement `debounce` (James M Snell) [#&#8203;65899](https://github.com/nodejs/node/pull/65899)

##### Commits

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

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. http2 Issues and PRs related to the http2 subsystem. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

http2: assertion failure onread->IsFunction() when a session is destroyed from a 'stream' handler

4 participants