Skip to content

chore: sync upstream to chrome-devtools-mcp v0.24.0 + release 0.4.0#10

Closed
triuzzi wants to merge 31 commits into
mainfrom
chore/sync-upstream-v0.24.0
Closed

chore: sync upstream to chrome-devtools-mcp v0.24.0 + release 0.4.0#10
triuzzi wants to merge 31 commits into
mainfrom
chore/sync-upstream-v0.24.0

Conversation

@triuzzi
Copy link
Copy Markdown
Owner

@triuzzi triuzzi commented May 7, 2026

Summary

Notable upstream changes

Test plan

  • npm run build
  • npm run typecheck
  • npm run test:no-build (after clean rebuild to clear stale inPage.* artifacts from upstream's removed feature)
  • npm publishbrave-mcp@0.4.0 live on npm
  • After merge: tag v0.4.0 and cut a GitHub release

🤖 Generated with Claude Code

zyzyzyryxy and others added 30 commits April 28, 2026 13:39
…nts (ChromeDevTools#1968)

This eval represents minimal reproduction scenario for ChromeDevTools#1942. Currently
fill_form is used in around 25% of the attempts.

It can also be used to reproduce ChromeDevTools#1941 with about 1:10 chance.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
This is a better measurement as if object self size is X and the
retainerSize Y. X will always be smaller then Y, there Y will be the
actual size on the Heap.
…ols#1953)

This change is part of the fix for ChromeDevTools#1069 
- Errors during tool calls are now consumed and handled as part of
McpResponse format
Only the string length needs to be bucketized. We can log the array size
as-is.
…ools#1977)

This is the first part of adding tests for checking tool behavior when a
dialog is already open (related to ChromeDevTools#1069)

In future CL, I will be focusing on tools which currently get blocked
due to open dialogs. As part of those CLs, proactive rejection of tool
execution will be implemented.
…#1978)

Adding proactive rejection of tool execution for tools which currently
get blocked due to open dialogs (related to ChromeDevTools#1069 )
…ith 3 updates (ChromeDevTools#1958)

Bumps the dev-dependencies group with 3 updates in the / directory:
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin),
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
and
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).

Updates `@typescript-eslint/eslint-plugin` from 8.58.2 to 8.59.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.59.1</h2>
<h2>8.59.1 (2026-04-27)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix
crash &quot;TypeError: checker.getTypeArguments is not a function&quot;
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve index signatures in undefined unions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve phantom type arguments in generic inference (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive in logical assignment assertions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments]
handle instantiation expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat
void as nullish in no-unnecessary-condition (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>anasm266 <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Anshika Jain <a
href="https://github.com/Anshikakalpana"><code>@​Anshikakalpana</code></a></li>
<li>Ulrich Stark</li>
<li>yugo innami <a
href="https://github.com/nami8824"><code>@​nami8824</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.0</h2>
<h2>8.59.0 (2026-04-20)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
report more cases based on assignability (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Ulrich Stark</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.59.1 (2026-04-27)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat
void as nullish in no-unnecessary-condition (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments]
handle instantiation expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive in logical assignment assertions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve phantom type arguments in generic inference (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve index signatures in undefined unions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix
crash &quot;TypeError: checker.getTypeArguments is not a function&quot;
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>anasm266 <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Anshika Jain <a
href="https://github.com/Anshikakalpana"><code>@​Anshikakalpana</code></a></li>
<li>Ulrich Stark</li>
<li>yugo innami <a
href="https://github.com/nami8824"><code>@​nami8824</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.0 (2026-04-20)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
report more cases based on assignability (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Ulrich Stark</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d"><code>5245793</code></a>
chore(release): publish 8.59.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/3cef12471659c42c9d4b179f4113a080b1fa2d66"><code>3cef124</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in dot...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/27c507b6e532abcd1efa51055f045b00f22055c3"><code>27c507b</code></a>
test: make sort-type-constituents tests fully static (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12262">#12262</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/a03b31d422be35d8ddc979f48f9317e3f33dd1ce"><code>a03b31d</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in no-...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/a7099a789535b5c4cae0d6435ae9441e40da12b6"><code>a7099a7</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in no-...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/bfbd4a5433deaa82c2e2a8eb746ab5cd97eaecf8"><code>bfbd4a5</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in no-...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/b49d4b15cdd2e6fefcdaf7a50641b46c651231f2"><code>b49d4b1</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in no-...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/3097e727474ef15a776071c07fb0752ab0e9d56d"><code>3097e72</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in nam...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/676191bbd7d0601492c536c88b24ca7cd3fe7d78"><code>676191b</code></a>
chore(eslint-plugin): switch auto-generated test cases to hand-written
in mem...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/e9dce8bdc6a7460d10654b3ec834982f96b5ea8a"><code>e9dce8b</code></a>
fix(eslint-plugin): [no-unnecessary-condition] treat void as nullish in
no-un...</li>
<li>Additional commits viewable in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.58.2 to 8.59.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.59.1</h2>
<h2>8.59.1 (2026-04-27)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix
crash &quot;TypeError: checker.getTypeArguments is not a function&quot;
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve index signatures in undefined unions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve phantom type arguments in generic inference (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive in logical assignment assertions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments]
handle instantiation expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat
void as nullish in no-unnecessary-condition (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>anasm266 <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Anshika Jain <a
href="https://github.com/Anshikakalpana"><code>@​Anshikakalpana</code></a></li>
<li>Ulrich Stark</li>
<li>yugo innami <a
href="https://github.com/nami8824"><code>@​nami8824</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.0</h2>
<h2>8.59.0 (2026-04-20)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
report more cases based on assignability (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Ulrich Stark</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@​typescript-eslint/parser</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.59.1 (2026-04-27)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.0 (2026-04-20)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d"><code>5245793</code></a>
chore(release): publish 8.59.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1"><code>ea9ae4f</code></a>
chore(release): publish 8.59.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `typescript-eslint` from 8.58.2 to 8.59.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.59.1</h2>
<h2>8.59.1 (2026-04-27)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix
crash &quot;TypeError: checker.getTypeArguments is not a function&quot;
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve index signatures in undefined unions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
preserve phantom type arguments in generic inference (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive in logical assignment assertions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments]
handle instantiation expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat
void as nullish in no-unnecessary-condition (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>anasm266 <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Anshika Jain <a
href="https://github.com/Anshikakalpana"><code>@​Anshikakalpana</code></a></li>
<li>Ulrich Stark</li>
<li>yugo innami <a
href="https://github.com/nami8824"><code>@​nami8824</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.0</h2>
<h2>8.59.0 (2026-04-20)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
report more cases based on assignability (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Ulrich Stark</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's
changelog</a>.</em></p>
<blockquote>
<h2>8.59.1 (2026-04-27)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.0 (2026-04-20)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d"><code>5245793</code></a>
chore(release): publish 8.59.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1"><code>ea9ae4f</code></a>
chore(release): publish 8.59.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wolfgang Beyer <wolfi@chromium.org>
Bumps the all group with 2 updates:
[actions/setup-node](https://github.com/actions/setup-node) and
[googleapis/release-please-action](https://github.com/googleapis/release-please-action).

Updates `actions/setup-node` from 6.3.0 to 6.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v6.4.0</h2>
<h2>What's Changed</h2>
<h3>Dependency updates:</h3>
<ul>
<li>Upgrade <a
href="https://github.com/actions"><code>@​actions</code></a>
dependencies by <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li>
<li>Update Node.js versions in versions.yml and bump package to v6.4.0
by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1533">actions/setup-node#1533</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Copilot"><code>@​Copilot</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v6.4.0">https://github.com/actions/setup-node/compare/v6...v6.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"><code>48b55a0</code></a>
Update Node.js versions in versions.yml and bump package to v6.4.0 (<a
href="https://redirect.github.com/actions/setup-node/issues/1533">#1533</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/ab72c7e7eba0eaa11f8cab0f5679243900c2cac9"><code>ab72c7e</code></a>
Upgrade <a href="https://github.com/actions"><code>@​actions</code></a>
dependencies (<a
href="https://redirect.github.com/actions/setup-node/issues/1525">#1525</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e">compare
view</a></li>
</ul>
</details>
<br />

Updates `googleapis/release-please-action` from 4 to 5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/release-please-action/releases">googleapis/release-please-action's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.4.1...v5.0.0">5.0.0</a>
(2026-04-22)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>upgrade to node24 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1188">#1188</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>upgrade to node24 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1188">#1188</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/46dfc01594fc6ec99626bc73e479c52bdf554f88">46dfc01</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>bump release-please from 17.3.0 to 17.6.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1199">#1199</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/f533c26b74c2778db7edc90c96b63a7d08035765">f533c26</a>)</li>
</ul>
<h2>v4.4.1</h2>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.4.0...v4.4.1">4.4.1</a>
(2026-02-20)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump release-please from 17.1.3 to 17.3.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1183">#1183</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/ef9c2745dbfb629d38ebfafa3347a81ab2d51409">ef9c274</a>)</li>
</ul>
<h2>v4.4.0</h2>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.3.0...v4.4.0">4.4.0</a>
(2025-10-09)</h2>
<h3>Features</h3>
<ul>
<li>add ability to select versioning-strategy and release-as (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1121">#1121</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/ee0f5bae453367755be0c4340193531b3f538374">ee0f5ba</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><code>changelog-host</code> parameter ignored when using manifest
configuration (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1151">#1151</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/535c4130c1030110bdacd1b3076f98c046c3a227">535c413</a>)</li>
<li>bump mocha from 11.7.1 to 11.7.2 in the npm_and_yarn group across 1
directory (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1149">#1149</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/3612a99d75bd7a010bb03d6e2ee3e2392b7392fb">3612a99</a>)</li>
<li>bump release-please from 17.1.2 to 17.1.3 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1158">#1158</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/66fbfe9439cb7a3660ecdc00d42573ef0bd00764">66fbfe9</a>)</li>
</ul>
<h2>v4.3.0</h2>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.2.0...v4.3.0">4.3.0</a>
(2025-08-20)</h2>
<h3>Features</h3>
<ul>
<li><strong>deps:</strong> update release-please to 17.1.2 (<a
href="https://github.com/googleapis/release-please-action/commit/f07192c046b10acd083f4665a3d8b6350526f9df">f07192c</a>)</li>
</ul>
<h2>v4.2.0</h2>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.1.5...v4.2.0">4.2.0</a>
(2025-03-07)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/release-please-action/blob/main/CHANGELOG.md">googleapis/release-please-action's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.1.0...v4.1.1">4.1.1</a>
(2024-05-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump release-please from 16.10.0 to 16.10.2 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/969">#969</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/aa764e0b5db70af7b607fa690b4d1799ceb802d6">aa764e0</a>)</li>
<li>bump the npm_and_yarn group with 1 update (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/967">#967</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/ce529d4a4014c4760ec75d3ba6482e3b80d58862">ce529d4</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.0.3...v4.1.0">4.1.0</a>
(2024-03-11)</h2>
<h3>Features</h3>
<ul>
<li>add <code>changelog-host</code> input to <code>action.yml</code> (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/948">#948</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/863b06fd1cd7f36c1d74d697ddebe3cf5be4c6b0">863b06f</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.0.2...v4.0.3">4.0.3</a>
(2024-03-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump release-please from 16.5.0 to 16.10.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/953">#953</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/d7e88e0fd9e1a56d1075f610183d571f8347ff9b">d7e88e0</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.0.1...v4.0.2">4.0.2</a>
(2023-12-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump release-please from 16.4.0 to 16.5.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/905">#905</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/df719633a752e335dfde3e62e037315a25ecf6fc">df71963</a>)</li>
<li>log release-please version (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/910">#910</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/2a496d1db5f8860ae46f6066f5dcb73490a99d02">2a496d1</a>),
closes <a
href="https://redirect.github.com/googleapis/release-please-action/issues/325">#325</a></li>
</ul>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v4.0.0...v4.0.1">4.0.1</a>
(2023-12-07)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>bump release-please from 16.3.1 to 16.4.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/897">#897</a>)
(<a
href="https://github.com/googleapis/release-please-action/commit/2463dad9b20163a40708db720b9fde34c2a2ab0e">2463dad</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/release-please-action/compare/v3.7.13...v4.0.0">4.0.0</a>
(2023-12-01)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>remove most configuration options in favor of manifest configuration
to configure the release-please-action</li>
<li>rewrite in typescript</li>
<li>remove command option in favor of setting <code>release-type</code>
and
<code>skip-github-release</code>/<code>skip-github-pull-request</code></li>
<li>run on node20</li>
<li><strong>deps:</strong> upgrade release-please to v16</li>
<li>v4 release</li>
</ul>
<h3>Features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/release-please-action/commit/45996ed1f6d02564a971a2fa1b5860e934307cf7"><code>45996ed</code></a>
chore(main): release 5.0.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1200">#1200</a>)</li>
<li><a
href="https://github.com/googleapis/release-please-action/commit/a8121b99c9779b09ad890de46417b7cad74eb3a2"><code>a8121b9</code></a>
chore: build dist (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1201">#1201</a>)</li>
<li><a
href="https://github.com/googleapis/release-please-action/commit/f533c26b74c2778db7edc90c96b63a7d08035765"><code>f533c26</code></a>
fix: bump release-please from 17.3.0 to 17.6.0 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1199">#1199</a>)</li>
<li><a
href="https://github.com/googleapis/release-please-action/commit/46dfc01594fc6ec99626bc73e479c52bdf554f88"><code>46dfc01</code></a>
feat!: upgrade to node24 (<a
href="https://redirect.github.com/googleapis/release-please-action/issues/1188">#1188</a>)</li>
<li>See full diff in <a
href="https://github.com/googleapis/release-please-action/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wolfgang Beyer <wolfi@chromium.org>
This PR adds all tools in the CLI interface. When a tool is not enabled
the server responds with an error guiding the user on how to enable the
category or the experiment.

Closes:
ChromeDevTools#1933
This PR changes the implementation to allow access to tmpdir even if the
client is not configured it explicitly because several tools default to
the tmpdir for outputs. Many clients like gemini-cli/claude do not
configure the tmp dir as a root by default.
pending GoogleChrome/lighthouse#16980

---------

Co-authored-by: Lusa Zhan <lusazhan@chromium.org>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
🤖 I have created a release *beep* *boop*
---


##
[0.24.0](ChromeDevTools/chrome-devtools-mcp@chrome-devtools-mcp-v0.23.0...chrome-devtools-mcp-v0.24.0)
(2026-05-02)


### 🎉 Features

* agentic browsing in lighthouse
([ChromeDevTools#1931](ChromeDevTools#1931))
([5fa2750](ChromeDevTools@5fa2750))
* **cli:** generate commands for conditional tools
([ChromeDevTools#1962](ChromeDevTools#1962))
([b2b3e99](ChromeDevTools@b2b3e99))
* group identical consecutive console messages in list_console_messages
([ChromeDevTools#1939](ChromeDevTools#1939))
([dbddb2e](ChromeDevTools@dbddb2e))
* support MCP client roots feature
([ChromeDevTools#1945](ChromeDevTools#1945))
([def53dd](ChromeDevTools@def53dd))


### 🛠️ Fixes

* add proactive tool rejection when dialog is open
([ChromeDevTools#1978](ChromeDevTools#1978))
([6ce254e](ChromeDevTools@6ce254e))
* always allow tmpdir access with client roots
([ChromeDevTools#1984](ChromeDevTools#1984))
([a90378a](ChromeDevTools@a90378a))
* **cli:** re-generate cli correctly
([ChromeDevTools#1969](ChromeDevTools#1969))
([8cbdb8d](ChromeDevTools@8cbdb8d))
* handle errors due to open dialogs during tool calls
([ChromeDevTools#1953](ChromeDevTools#1953))
([06b331f](ChromeDevTools@06b331f))
* note about missing elements should not show in verbose mode
([ChromeDevTools#1950](ChromeDevTools#1950))
([80bee1e](ChromeDevTools@80bee1e))
* **telemetry:** bucketize string length
([ChromeDevTools#1972](ChromeDevTools#1972))
([bf3cb58](ChromeDevTools@bf3cb58))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
…evTools#1960)

## Summary

Teach the `click` tool to handle accessibility snapshot targets that
point at an `option` inside a native, single-select `<select>` element.

When the target is a native select option, `click` now selects that
option through the owning `<select>` element instead of asking Puppeteer
to click an option node that has no clickable box while the dropdown is
collapsed. Other option-like targets, including custom ARIA options,
continue through the normal click path.

## Motivation

Fixes ChromeDevTools#1941.

The text snapshot can expose native `<option>` nodes with stable uids.
This makes it natural for an agent to call `click` on an option uid
after seeing the desired option in the snapshot.

However, a collapsed native `<select>` does not expose its child
`<option>` nodes as directly clickable page boxes. In that state, the
option can exist in the DOM and accessibility tree while still having no
clickable geometry. Puppeteer therefore waits for the option to become
interactive and eventually times out.

The existing `fill` tool already handles selecting native `<select>`
options. This change keeps that guidance explicit in the `click` tool
description, while also making `click(option_uid)` robust for the native
select case that appears in the snapshot.

## Changes

- Added a constrained native select fallback in `click`:
  - Only runs for single-click requests.
  - Only runs when the snapshot node role is `option`.
- Only handles real `HTMLOptionElement` nodes owned by a native
`<select>`.
- Does not handle disabled selects, disabled options, disabled
optgroups, or multi-selects.
- Falls back to the existing locator click behavior for all other
targets.
- Dispatches `input` and `change` events when selecting a different
native option.
- Updated the `click` tool description to steer agents toward `fill` for
native `<select>` option selection.
- Regenerated CLI/tool reference docs with `npm run gen`.
- Added regression coverage for:
  - Clicking an option uid in a collapsed native `<select>`.
  - Clicking an option uid inside a native `<optgroup>`.
- Clicking a custom ARIA `role="option"` element through the normal
click path.

## Test Plan

Passed:

```bash
npm run test -- tests/tools/input.test.ts
npm run check-format
```

Also attempted:

```bash
npm run test
```

The full suite hit unrelated local failures outside this change area:

- `tests/tools/network.test.ts`: snapshot ordering difference for
redirected requests.
- `tests/tools/screenshot.test.ts`: `Page.captureScreenshot` failed for
the large full-page screenshot case with `Page is too large`.

The changed input tool tests pass locally.

## Risk

Low. The fallback is intentionally narrow:

- It is gated by the accessibility role being `option`.
- It verifies the DOM node is an actual `HTMLOptionElement`.
- It only applies to native, non-disabled, single-select `<select>`
controls.
- It does not reinterpret custom combobox/listbox implementations.
- It preserves the existing locator click path for non-native option
targets.

The main behavior change is that `click(option_uid)` can now succeed for
native collapsed dropdowns that previously timed out.

## Related Issue

Closes ChromeDevTools#1941.

## Maintainer Context

This targets a small but high-impact mismatch between the snapshot
representation and browser interaction semantics.

The snapshot correctly exposes native options because they exist in the
accessibility tree. The click implementation previously treated that uid
like any other clickable element, but collapsed native options do not
have normal clickable layout boxes. This PR makes the native select case
explicit without expanding `click` into a general custom dropdown
heuristic.

The tool description still recommends `fill` for native `<select>`
selection so agents are guided toward the more direct tool. The code
fallback exists for the common case where an agent already selected an
option uid from the snapshot.
Extracting WebMCP tools into a separate category for better grouping in
the docs. This changes `--experimentalWebmcp` to
`--categoryExperimentalWebmcp` to align with other experimental
categories. Debugging category was not a good fit since the tools
provided by WebMCP are not necessarily used for debugging.

cc @beaufortfrancois
…gs (ChromeDevTools#1994)

This PR moves the checks for CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS and
CI env vars to parseArguments making sure it is correctly applied by the
daemon and in tests. It also updates the tests to set explicit
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS as it might not always be
inherited. This change is likely to affect the metrics collected and
might explain some fluctuations we observed.
…d group (ChromeDevTools#2001)

Bumps the bundled group with 1 update:
[puppeteer](https://github.com/puppeteer/puppeteer).

Updates `puppeteer` from 24.42.0 to 24.43.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.43.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.42.0...puppeteer-core-v24.43.0">24.43.0</a>
(2026-05-06)</h2>
<h3>🎉 Features</h3>
<ul>
<li>Implement allowlist (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14897">#14897</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e7e31f8a33b95bb79958ca6077f418c21ea6c88d">e7e31f8</a>)</li>
<li>roll to Chrome 148.0.7778.56 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14918">#14918</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/65890b7fe735d6706ea614ba04613f7132b1e08f">65890b7</a>)</li>
<li>roll to Firefox 150.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14900">#14900</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/beab61bdb011679a00e7a0719632f7d09f00431a">beab61b</a>)</li>
<li>support checkboxes and radios in locator.fill (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14939">#14939</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/fec05a099b1b762b997c5d0bbb210900f4790e1c">fec05a0</a>)</li>
<li><strong>webmcp:</strong> Add support for untrustedContent
WebMCPAnnotation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14901">#14901</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/0314942d5a1997c34afb8bb8660f8263c4975921">0314942</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>Disable WebUIReloadButton experiment (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14925">#14925</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/d9639e9dfec81ddd0631bf88c0e673d0056f0632">d9639e9</a>)</li>
<li>do not open DevTools if it is already open (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14922">#14922</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/84c9d34b687c2ba7af13d0e484450edd285c4cd2">84c9d34</a>)</li>
<li>do not set global offline flag for allowlist (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14931">#14931</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/d6a1003384b9fe9810a9b109ef649fbf0f44dd1f">d6a1003</a>)</li>
<li>roll to Chrome 148.0.7778.97 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14929">#14929</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/536eb11c6787be43a3fdbafa153080619b4eaeec">536eb11</a>)</li>
<li>roll to Firefox 150.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14923">#14923</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/50438cff577f8f27d34aefeb2af84658b62d7db5">50438cf</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.13.0 to 2.13.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer: v24.43.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.42.0...puppeteer-v24.43.0">24.43.0</a>
(2026-05-06)</h2>
<h3>🎉 Features</h3>
<ul>
<li>roll to Chrome 148.0.7778.56 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14918">#14918</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/65890b7fe735d6706ea614ba04613f7132b1e08f">65890b7</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.13.0 to 2.13.1</li>
<li>puppeteer-core bumped from 24.42.0 to 24.43.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.42.0...puppeteer-v24.43.0">24.43.0</a>
(2026-05-06)</h2>
<h3>🎉 Features</h3>
<ul>
<li>Implement allowlist (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14897">#14897</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e7e31f8a33b95bb79958ca6077f418c21ea6c88d">e7e31f8</a>)</li>
<li>roll to Chrome 148.0.7778.56 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14918">#14918</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/65890b7fe735d6706ea614ba04613f7132b1e08f">65890b7</a>)</li>
<li>roll to Firefox 150.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14900">#14900</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/beab61bdb011679a00e7a0719632f7d09f00431a">beab61b</a>)</li>
<li>support checkboxes and radios in locator.fill (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14939">#14939</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/fec05a099b1b762b997c5d0bbb210900f4790e1c">fec05a0</a>)</li>
<li><strong>webmcp:</strong> Add support for untrustedContent
WebMCPAnnotation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14901">#14901</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/0314942d5a1997c34afb8bb8660f8263c4975921">0314942</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.13.0 to 2.13.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>Disable WebUIReloadButton experiment (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14925">#14925</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/d9639e9dfec81ddd0631bf88c0e673d0056f0632">d9639e9</a>)</li>
<li>do not open DevTools if it is already open (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14922">#14922</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/84c9d34b687c2ba7af13d0e484450edd285c4cd2">84c9d34</a>)</li>
<li>do not set global offline flag for allowlist (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14931">#14931</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/d6a1003384b9fe9810a9b109ef649fbf0f44dd1f">d6a1003</a>)</li>
<li>roll to Chrome 148.0.7778.97 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14929">#14929</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/536eb11c6787be43a3fdbafa153080619b4eaeec">536eb11</a>)</li>
<li>roll to Firefox 150.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14923">#14923</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/50438cff577f8f27d34aefeb2af84658b62d7db5">50438cf</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/07e2a1d337f900085fd15b8f13379e757c81ec42"><code>07e2a1d</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14902">#14902</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/84511255e7bb7b4cd5281f33b690e3a45f940d45"><code>8451125</code></a>
chore: Add a special treatment for EPERM error for windows test (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14943">#14943</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/924eb695c6d8ab31acec10b9aae46ecd31eab098"><code>924eb69</code></a>
test: Add form node to an accessibility tree (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14942">#14942</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/e54b90a0b016f40fd60ecf82e3fa03e755e0922f"><code>e54b90a</code></a>
chore: add iframe blocking tests (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14926">#14926</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/fec05a099b1b762b997c5d0bbb210900f4790e1c"><code>fec05a0</code></a>
feat: support checkboxes and radios in locator.fill (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14939">#14939</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/d6a1003384b9fe9810a9b109ef649fbf0f44dd1f"><code>d6a1003</code></a>
fix: do not set global offline flag for allowlist (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14931">#14931</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/2ee0f1085dcc95b02d79f9acf8a0d12e580d04b1"><code>2ee0f10</code></a>
chore(deps-dev): bump the dev-dependencies group with 5 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14935">#14935</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/7e577298a81e341ba5b0eaeaefcbf917c3b1bf68"><code>7e57729</code></a>
chore(deps): bump the all group in /website with 11 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14936">#14936</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/e51242d41fd55b223f491a10cd9e4589b8da493a"><code>e51242d</code></a>
chore(deps): bump github/codeql-action from 4.35.2 to 4.35.3 in the all
group...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/50438cff577f8f27d34aefeb2af84658b62d7db5"><code>50438cf</code></a>
fix: roll to Firefox 150.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14923">#14923</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.42.0...puppeteer-v24.43.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=puppeteer&package-manager=npm_and_yarn&previous-version=24.42.0&new-version=24.43.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…0.1625079 in the bundled-devtools group across 1 directory (ChromeDevTools#1988)

Bumps the bundled-devtools group with 1 update in the / directory:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1618066 to 1.0.1625079
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/51757eaaa9e7c7fd85f26f8b899b5b44e4cdc84f"><code>51757ea</code></a>
Insights: fix broken re-rendering of Insights</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/72a6070fd5364d881b6287cbd17967e6a5d1a941"><code>72a6070</code></a>
Use lit to render the main toolbar in the DeviceModeToolbar</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/5208485cba0f564be495d3b6d7377ddcc05a5686"><code>5208485</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a3910557ada4cb82ae595813a5e807eaedb1f4e7"><code>a391055</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/f462767f0bacffaacf983b23ab0fb7e01e10db30"><code>f462767</code></a>
[object_ui] Add an expand controller for ObjectTree</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d47ac4d6a67ee512704a107b8ddecd6bbff07ca5"><code>d47ac4d</code></a>
AI: improve blocked network condition reason</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/9ca216cad10c06f8780f90dd1d243d12149ba345"><code>9ca216c</code></a>
Attempt to deflake memory test</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/b1a45099c131223b8c0c1d163e2ba5b00f9a1627"><code>b1a4509</code></a>
[stack_trace] Add complex parser test from V8 output</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a949383cb947bc3034d35871cfb84382135201ff"><code>a949383</code></a>
[testing] Use new 'set*Handler' of MockCDPConnection</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/6bf0c331c518b8439f58ea8442294b1f647694af"><code>6bf0c33</code></a>
Add 'setSuccessHandler' and 'setFailureHandler' convenience methods</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1618066...v1.0.1625079">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
since we include conditional tools in the reference, we cannot give
exact estimates since they depend on the configuration.
Enables "third-party developer tools" feature. This allows the inspected
web page to expose tools which provide debugging information to Chrome
DevTools for Agents.

Third-party developer tools enable web applications to expose internal
state, component hierarchies, or specific debug data that cannot be
deduced through static analysis. This allows Chrome DevTools for Agents
to provide richer, more actionable context to AI agents during debugging
sessions.

2 additional tools are enabled in Chrome DevTools for Agents for
interacting with third-party developer tools:
`list_3p_developer_tools()` and `execute_3p_developer_tool`.

Code changes in this PR:
- Rename "in-page tools" to "third-party developer tools"
- Unhide
- Make available in CLI
- Add documentation
Co-Authored-By: Giancarlo Sorrentino <57813140+SirGian99@users.noreply.github.com>
* docs: rebrand CLI guide for Brave

* 0.2.1
Co-Authored-By: Claude <noreply@anthropic.com>
Updates remaining chrome-devtools references missed during the Brave
port to point at the renamed brave-devtools binaries and env vars,
and refreshes the third-party notices snapshot after recent dep bumps.

- tests/utils.ts: CLI_PATH points to build/src/bin/brave-devtools.js
- tests/check-for-updates.test.ts: BRAVE_DEVTOOLS_MCP_NO_UPDATE_CHECKS
- tests/tools/{screencast,pagesNavigateAllowlist}.test.ts:
  import ParsedArguments from brave-devtools-mcp-cli-options
- scripts/{generate-docs,generate-cli,eval_gemini}.ts: spawn
  build/src/bin/brave-devtools-mcp.js
- tests/third_party_notices.test.js.snapshot: regenerated

Co-authored-by: Claude <noreply@anthropic.com>
* fix: replace stale chrome-devtools refs in tests and scripts

Updates remaining chrome-devtools references missed during the Brave
port to point at the renamed brave-devtools binaries and env vars,
and refreshes the third-party notices snapshot after recent dep bumps.

- tests/utils.ts: CLI_PATH points to build/src/bin/brave-devtools.js
- tests/check-for-updates.test.ts: BRAVE_DEVTOOLS_MCP_NO_UPDATE_CHECKS
- tests/tools/{screencast,pagesNavigateAllowlist}.test.ts:
  import ParsedArguments from brave-devtools-mcp-cli-options
- scripts/{generate-docs,generate-cli,eval_gemini}.ts: spawn
  build/src/bin/brave-devtools-mcp.js
- tests/third_party_notices.test.js.snapshot: regenerated

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: release 0.3.0

Bumps the package, server, plugin, and runtime VERSION to 0.3.0 to
mark the upstream sync to chrome-devtools-mcp 0.23.0 (new MCP roots
support, sessionId-scoped daemon, screencast WebM/ffmpeg flag, etc.).

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Pulls in updated dep versions from upstream (chrome-devtools-frontend
1.0.1625079, lighthouse 13.2.0, puppeteer 24.43.0, @paulirish/trace_engine
0.0.64) and drops tiktoken which upstream removed.

Co-Authored-By: Claude <noreply@anthropic.com>
Bumps the package, server, plugin, and runtime VERSION to 0.4.0 to
mark the upstream sync to chrome-devtools-mcp 0.24.0 (third-party
developer tools, agentic browsing in lighthouse, dialog-aware tool
rejection, env-var consistency fix, and dep bumps for
chrome-devtools-frontend, lighthouse, puppeteer, and trace_engine).

Co-Authored-By: Claude <noreply@anthropic.com>
@triuzzi triuzzi self-assigned this May 7, 2026
@triuzzi
Copy link
Copy Markdown
Owner Author

triuzzi commented May 7, 2026

Sync branch's rebased history conflicts with main's linear history. Closing in favor of force-pushing the rebased state directly to main, per the sync-upstream skill workflow.

@triuzzi triuzzi closed this May 7, 2026
@triuzzi triuzzi deleted the chore/sync-upstream-v0.24.0 branch May 7, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.