提交

提交图

836 次代码提交

作者 SHA1 备注 提交日期
browser-automation-bot f42925fb5a chore(main): release chrome-devtools-mcp 0.26.0 (#2012)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.26.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.25.0...chrome-devtools-mcp-v0.26.0)
(2026-05-11)


### 🎉 Features

* add an error logging method
([#2006](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2006))
([06e0ab6](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/06e0ab602258edf90adafd954f9a7d55f5ca05e4))


### 🛠️ Fixes

* **cli:** allow --autoConnect on CLI start
([#2015](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2015))
([9882391](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/98823918dde184759f47095ce386705b0fabb653)),
closes
[#1859](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1859)
[#1184](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1184)
* Make fill_form more appealing when filling forms with checkboxes
([#1971](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1971))
([407c2bd](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/407c2bd03fbdc45a66690a32cfeac1937ce86f10))
* only require a page in page-scoped tools
([#2030](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2030))
([8e06761](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8e06761572592764327da00ee653bd4ec2a4a30e))
* **telemetry:** re-run the update metrics script
([#2005](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2005))
([e9ec375](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/e9ec375f95622a21d9f9f8b1e8210436cc7695d5))


### 📄 Documentation

* Fix Claude Code instructions
([#2018](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2018))
([a5ad67b](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/a5ad67bdafa60a774f9c7dea490393b9c845777b))


### 🏗️ Refactor

* extract ToolHandler
([#2032](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2032))
([178b790](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/178b79049318a63d1df1bd40e069f0627fa06fcc))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.26.0
2026-05-12 05:54:46 +00:00
Alex Rudenko 178b790493 refactor: extract ToolHandler (#2032)
Follow-up for
https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/2030
2026-05-11 14:56:47 +00:00
dependabot[bot] aa5e21cd02 chore(deps): bump fast-uri from 3.1.0 to 3.1.2 (#2024)
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to
3.1.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.2</h2>
<h2>⚠️ Security Release</h2>
<ul>
<li>Fix for <a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-v39h-62p7-jpjc">https://github.com/fastify/fast-uri/security/advisories/GHSA-v39h-62p7-jpjc</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Handle malformed fragment decoding as a parse error by <a
href="https://github.com/mcollina"><code>@​mcollina</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/171">fastify/fast-uri#171</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.1...v3.1.2">https://github.com/fastify/fast-uri/compare/v3.1.1...v3.1.2</a></p>
<h2>v3.1.1</h2>
<h2>⚠️ Security Release</h2>
<ul>
<li>Fix for <a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-q3j6-qgpj-74h6">https://github.com/fastify/fast-uri/security/advisories/GHSA-q3j6-qgpj-74h6</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>build(deps-dev): bump tsd from 0.32.0 to 0.33.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/148">fastify/fast-uri#148</a></li>
<li>build(deps): bump actions/checkout from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/149">fastify/fast-uri#149</a></li>
<li>chore(.npmrc): ignore scripts by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/150">fastify/fast-uri#150</a></li>
<li>build(deps-dev): remove <code>@​fastify/pre-commit</code> by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/151">fastify/fast-uri#151</a></li>
<li>build(deps): bump actions/setup-node from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/152">fastify/fast-uri#152</a></li>
<li>ci(ci): add concurrency config by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/153">fastify/fast-uri#153</a></li>
<li>build(deps): bump actions/setup-node from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/154">fastify/fast-uri#154</a></li>
<li>build(deps): bump actions/checkout from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/156">fastify/fast-uri#156</a></li>
<li>chore(license): standardise license notice by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/159">fastify/fast-uri#159</a></li>
<li>style: remove trailing whitespace by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/161">fastify/fast-uri#161</a></li>
<li>ci: remove unused github files by <a
href="https://github.com/Tony133"><code>@​Tony133</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/162">fastify/fast-uri#162</a></li>
<li>chore: update readme by <a
href="https://github.com/Tony133"><code>@​Tony133</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/164">fastify/fast-uri#164</a></li>
<li>build(deps): bump
fastify/workflows/.github/workflows/plugins-ci-package-manager.yml from
5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/165">fastify/fast-uri#165</a></li>
<li>build(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml
from 5 to 6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/166">fastify/fast-uri#166</a></li>
<li>build(deps-dev): bump neostandard from 0.12.2 to 0.13.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/fastify/fast-uri/pull/167">fastify/fast-uri#167</a></li>
<li>ci: add lock-threads workflow by <a
href="https://github.com/Fdawgs"><code>@​Fdawgs</code></a> in <a
href="https://redirect.github.com/fastify/fast-uri/pull/169">fastify/fast-uri#169</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Tony133"><code>@​Tony133</code></a> made
their first contribution in <a
href="https://redirect.github.com/fastify/fast-uri/pull/162">fastify/fast-uri#162</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.1">https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/919dd8ea7689fcc220d0d9b71307f5095e723ef9"><code>919dd8e</code></a>
Bumped v3.1.2</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c65ba573714af6b8e19e481d9444c27bc4355d07"><code>c65ba57</code></a>
fixup: linting</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6c86c17c3d76fb93aa3700ec6c0fa00faeb97293"><code>6c86c17</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/a95158ad308df4d92bbde4eba699ce5165e9f796"><code>a95158a</code></a>
Handle malformed fragment decoding without throwing (<a
href="https://redirect.github.com/fastify/fast-uri/issues/171">#171</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/cea547c91c6aae610041b17b75792ca4aa035a6d"><code>cea547c</code></a>
Bumped v3.1.1</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/876ce79b662c3e5015e4e7dffe6f37752ad34f35"><code>876ce79</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/dcdf690b71a7bb3a19887ada65a9ab160d83bcc0"><code>dcdf690</code></a>
ci: add lock-threads workflow (<a
href="https://redirect.github.com/fastify/fast-uri/issues/169">#169</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c860e6589b1ac346f66e114b4eadb9613768108c"><code>c860e65</code></a>
build(deps-dev): bump neostandard from 0.12.2 to 0.13.0 (<a
href="https://redirect.github.com/fastify/fast-uri/issues/167">#167</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9b4c6dc82fde0ca44e674403ece9185d85bb6d5f"><code>9b4c6dc</code></a>
build(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml (<a
href="https://redirect.github.com/fastify/fast-uri/issues/166">#166</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/85d09a9f7aa76b32c2bb005a90a71e144c361d24"><code>85d09a9</code></a>
build(deps): bump
fastify/workflows/.github/workflows/plugins-ci-package-mana...</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-05-11 11:26:11 +00:00
dependabot[bot] 6acfdc0012 chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#2028)
Bumps the dev-dependencies group with 3 updates in the / directory:
[@google/genai](https://github.com/googleapis/js-genai),
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
and [semver](https://github.com/npm/node-semver).

Updates `@google/genai` from 1.52.0 to 2.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/releases">@​google/genai's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.1</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v2.0.0...v2.0.1">2.0.1</a>
(2026-05-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Update response_format field names to snake_case. (<a
href="https://github.com/googleapis/js-genai/commit/26af54931a5881c125324df23d1834f7cba6fac8">26af549</a>)</li>
</ul>
<h2>v2.0.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.52.0...v2.0.0">2.0.0</a>
(2026-05-07)</h2>
<h3>⚠ BREAKING CHANGES - Interactions Only</h3>
<p>Note: The breaking changes are only in interactions.
<code>GenerateContent</code> usage in unaffected.
Refer to <a
href="https://ai.google.dev/gemini-api/docs/interactions-breaking-changes-may-2026">https://ai.google.dev/gemini-api/docs/interactions-breaking-changes-may-2026</a>
for details</p>
<ul>
<li>Add steps for interactions (<a
href="https://github.com/googleapis/js-genai/commit/c0814c4ab1cfe7cdfc7bf77e3c9ceec79695dc37">c0814c4</a>)</li>
<li>Deprecate legacy response_format and publish new polymorphic field.
(<a
href="https://github.com/googleapis/js-genai/commit/68a68093288c6ac505c32ee0aed0ec013aa4f7a5">68a6809</a>)</li>
<li>Rename SSE events to interaction.created and interaction.completed
(<a
href="https://github.com/googleapis/js-genai/commit/d1b836bb8407e38908f8894c673c5f70e6af86d8">d1b836b</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>timeout not functioning (<a
href="https://github.com/googleapis/js-genai/commit/850f680d1c6430495f4ab8fc98dde70a0fc49ca8">850f680</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/blob/main/CHANGELOG.md">@​google/genai's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v2.0.0...v2.0.1">2.0.1</a>
(2026-05-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Update response_format field names to snake_case. (<a
href="https://github.com/googleapis/js-genai/commit/26af54931a5881c125324df23d1834f7cba6fac8">26af549</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.52.0...v2.0.0">2.0.0</a>
(2026-05-07)</h2>
<h3>⚠ BREAKING CHANGES - Interactions Only</h3>
<p>Note: The breaking changes are only in interactions.
<code>GenerateContent</code> usage in unaffected.
Refer to <a
href="https://ai.google.dev/gemini-api/docs/interactions-breaking-changes-may-2026">https://ai.google.dev/gemini-api/docs/interactions-breaking-changes-may-2026</a>
for details</p>
<ul>
<li>Add steps for interactions (<a
href="https://github.com/googleapis/js-genai/commit/c0814c4ab1cfe7cdfc7bf77e3c9ceec79695dc37">c0814c4</a>)</li>
<li>Deprecate legacy response_format and publish new polymorphic field.
(<a
href="https://github.com/googleapis/js-genai/commit/68a68093288c6ac505c32ee0aed0ec013aa4f7a5">68a6809</a>)</li>
<li>Rename SSE events to interaction.created and interaction.completed
(<a
href="https://github.com/googleapis/js-genai/commit/d1b836bb8407e38908f8894c673c5f70e6af86d8">d1b836b</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>timeout not functioning (<a
href="https://github.com/googleapis/js-genai/commit/850f680d1c6430495f4ab8fc98dde70a0fc49ca8">850f680</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/57c8b1b3016fb71233a80029250bc6dc55c10e72"><code>57c8b1b</code></a>
chore(main): release 2.0.1 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1574">#1574</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/26af54931a5881c125324df23d1834f7cba6fac8"><code>26af549</code></a>
fix: Update response_format field names to snake_case.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/4383badd5b0057d00266d597f2e5dfbcdd69dccc"><code>4383bad</code></a>
chore: refresh</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/9ff16b3b7f436d85c77852ec8967981775d04de0"><code>9ff16b3</code></a>
chore(main): release 2.0.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1556">#1556</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/5209ed769eb7444277626d24deb79f158dac4986"><code>5209ed7</code></a>
chore: npm audit fix</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/d1b836bb8407e38908f8894c673c5f70e6af86d8"><code>d1b836b</code></a>
feat!: Rename SSE events to interaction.created and
interaction.completed</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/71008186c273567fc918e756e3b3b1f404033699"><code>7100818</code></a>
chore: Remove legacy streaming event types from
InteractionSseEvent.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/5dd74d2080ccefae72fe503b1a5e0be59c1b1895"><code>5dd74d2</code></a>
chore: Remove experimental warnings for interactions</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/850f680d1c6430495f4ab8fc98dde70a0fc49ca8"><code>850f680</code></a>
fix: timeout not functioning</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/68a68093288c6ac505c32ee0aed0ec013aa4f7a5"><code>68a6809</code></a>
feat: Deprecate legacy response_format and publish new polymorphic
field.</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/js-genai/compare/v1.52.0...v2.0.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 25.6.0 to 25.6.2
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />

Updates `semver` from 7.7.4 to 7.8.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/npm/node-semver/releases">semver's
releases</a>.</em></p>
<blockquote>
<h2>v7.8.0</h2>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0">7.8.0</a>
(2026-05-08)</h2>
<h3>Features</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149"><code>0d0a0a2</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/855">#855</a>
Add <code>truncate</code> function (<a
href="https://redirect.github.com/npm/node-semver/issues/855">#855</a>)
(<a href="https://github.com/pjohnmeyer"><code>@​pjohnmeyer</code></a>,
<a
href="https://github.com/owlstronaut"><code>@​owlstronaut</code></a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58"><code>3905343</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/859">#859</a>
Warn when defaulting to --inc=patch in CLI (<a
href="https://github.com/pjohnmeyer"><code>@​pjohnmeyer</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984"><code>c368af6</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/853">#853</a>
fix typos in documentation (<a
href="https://redirect.github.com/npm/node-semver/issues/853">#853</a>)
(<a
href="https://github.com/ankitkumar572005"><code>@​ankitkumar572005</code></a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe"><code>37776c3</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/846">#846</a>
fix BNF grammar to distinguish prerelease from build identifiers (<a
href="https://redirect.github.com/npm/node-semver/issues/846">#846</a>)
(<a href="https://github.com/abhu85"><code>@​abhu85</code></a>, <a
href="https://github.com/claude"><code>@​claude</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d"><code>9542e09</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/860">#860</a>
template-oss-apply (<a
href="https://github.com/owlstronaut"><code>@​owlstronaut</code></a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef"><code>937bc2c</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/860">#860</a>
<code>template-oss-apply@5.0.0</code> (<a
href="https://github.com/owlstronaut"><code>@​owlstronaut</code></a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527"><code>6946fef</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/852">#852</a>
bump <code>@​npmcli/template-oss</code> from 4.29.0 to 4.30.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/852">#852</a>)
(<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot],
<a
href="https://github.com/npm-cli-bot"><code>@​npm-cli-bot</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/npm/node-semver/blob/main/CHANGELOG.md">semver's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0">7.8.0</a>
(2026-05-08)</h2>
<h3>Features</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149"><code>0d0a0a2</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/855">#855</a>
Add <code>truncate</code> function (<a
href="https://redirect.github.com/npm/node-semver/issues/855">#855</a>)
(<a href="https://github.com/pjohnmeyer"><code>@​pjohnmeyer</code></a>,
<a
href="https://github.com/owlstronaut"><code>@​owlstronaut</code></a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58"><code>3905343</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/859">#859</a>
Warn when defaulting to --inc=patch in CLI (<a
href="https://github.com/pjohnmeyer"><code>@​pjohnmeyer</code></a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984"><code>c368af6</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/853">#853</a>
fix typos in documentation (<a
href="https://redirect.github.com/npm/node-semver/issues/853">#853</a>)
(<a
href="https://github.com/ankitkumar572005"><code>@​ankitkumar572005</code></a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe"><code>37776c3</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/846">#846</a>
fix BNF grammar to distinguish prerelease from build identifiers (<a
href="https://redirect.github.com/npm/node-semver/issues/846">#846</a>)
(<a href="https://github.com/abhu85"><code>@​abhu85</code></a>, <a
href="https://github.com/claude"><code>@​claude</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d"><code>9542e09</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/860">#860</a>
template-oss-apply (<a
href="https://github.com/owlstronaut"><code>@​owlstronaut</code></a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef"><code>937bc2c</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/860">#860</a>
<code>template-oss-apply@5.0.0</code> (<a
href="https://github.com/owlstronaut"><code>@​owlstronaut</code></a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527"><code>6946fef</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/852">#852</a>
bump <code>@​npmcli/template-oss</code> from 4.29.0 to 4.30.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/852">#852</a>)
(<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot],
<a
href="https://github.com/npm-cli-bot"><code>@​npm-cli-bot</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/efa4be6096c1f9b77d9d27d6132f6220c43b4e31"><code>efa4be6</code></a>
chore: release 7.8.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/847">#847</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d"><code>9542e09</code></a>
chore: template-oss-apply</li>
<li><a
href="https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef"><code>937bc2c</code></a>
chore: template-oss-apply@5.0.0</li>
<li><a
href="https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58"><code>3905343</code></a>
fix: Warn when defaulting to --inc=patch in CLI</li>
<li><a
href="https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149"><code>0d0a0a2</code></a>
feat: Add <code>truncate</code> function (<a
href="https://redirect.github.com/npm/node-semver/issues/855">#855</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984"><code>c368af6</code></a>
docs: fix typos in documentation (<a
href="https://redirect.github.com/npm/node-semver/issues/853">#853</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527"><code>6946fef</code></a>
chore: bump <code>@​npmcli/template-oss</code> from 4.29.0 to 4.30.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/852">#852</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe"><code>37776c3</code></a>
docs: fix BNF grammar to distinguish prerelease from build identifiers
(<a
href="https://redirect.github.com/npm/node-semver/issues/846">#846</a>)</li>
<li>See full diff in <a
href="https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0">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>
2026-05-11 10:53:54 +00:00
Alex Rudenko 8e06761572 fix: only require a page in page-scoped tools (#2030)
getSelectedMcpPage and getPageById throw if the page is not found, so
these should only be called for page-scoped tools.
2026-05-11 09:39:23 +00:00
Lusa Zhan be4a34c19a chore(deps): Roll lighthouse 13.3.0 (#2022)
Co-authored-by: Lusa Zhan <lusazhan@chromium.org>
2026-05-11 08:16:33 +00:00
dependabot[bot] 5373b071e8 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1625079 to 1.0.1626840 in the bundled-devtools group (#2026)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1625079 to 1.0.1626840
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/53d64de3a545c94f7ec1953c7d8a642b9b9e2a4e"><code>53d64de</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/bb058b71fa2283b99f807e7e211559ccf2781367"><code>bb058b7</code></a>
[Lighthouse] Add agentic browsing category</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/e3bc3c3faf94d948eebec1fcc5d24e04fe8ea5bd"><code>e3bc3c3</code></a>
[Lighthouse] Roll Lighthouse 13.3.0</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/5c483dcc9b5ad6d28601ba27acbf4a288e800e2a"><code>5c483dc</code></a>
Track more granular AI code completion and generation metrics</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a97ac14270d1dcf872751661bc5af8419d757733"><code>a97ac14</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/1427412fa09f19040115f1fb714baa64a25cba2d"><code>1427412</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8fc05f208e9e00a0d19f65819da4bd47d068c8a5"><code>8fc05f2</code></a>
AI: use ContentData for network request image rendering</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/fd306b0e07d54adcd41c598d61bbb69780b495e0"><code>fd306b0</code></a>
Remove Live Heap Profile Experiment</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/b68f2cc5a65b17fc0f9b10ffa59e3c8cac1caa5f"><code>b68f2cc</code></a>
Update GN files to include missing deps</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/26661896dace0ab3bcad90fb839f288d4a45a353"><code>2666189</code></a>
Update DevTools DEPS (trusted)</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1625079...v1.0.1626840">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrome-devtools-frontend&package-manager=npm_and_yarn&previous-version=1.0.1625079&new-version=1.0.1626840)](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>
2026-05-11 08:10:34 +00:00
dependabot[bot] 88e543f53e chore(deps-dev): bump the dev-dependencies group across 1 directory with 7 updates (#2002)
Bumps the dev-dependencies group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@google/genai](https://github.com/googleapis/js-genai) | `1.50.1` |
`1.52.0` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.59.1` | `8.59.2` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.59.1` | `8.59.2` |
| [globals](https://github.com/sindresorhus/globals) | `17.5.0` |
`17.6.0` |
| [rollup](https://github.com/rollup/rollup) | `4.60.2` | `4.60.3` |
| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.59.1` | `8.59.2` |


Updates `@google/genai` from 1.50.1 to 1.52.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/releases">@​google/genai's
releases</a>.</em></p>
<blockquote>
<h2>v1.52.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.51.0...v1.52.0">1.52.0</a>
(2026-05-04)</h2>
<h3>Features</h3>
<ul>
<li>[Python] Multimodal file search (<a
href="https://github.com/googleapis/js-genai/commit/e626bef1a780a54b5b3fe04f062adf708335bd58">e626bef</a>)</li>
<li>Multimodal file search (<a
href="https://github.com/googleapis/js-genai/commit/54caf6bd4683939f3f3b6844252e5a19a90e7e9a">54caf6b</a>)</li>
</ul>
<h2>v1.51.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.50.1...v1.51.0">1.51.0</a>
(2026-04-29)</h2>
<h3>Features</h3>
<ul>
<li>[Interactions] Add
FileCitation.{custom_metadata,media_id,page_number} (<a
href="https://github.com/googleapis/js-genai/commit/9e08ba923452a7028931ba4d054290115514578e">9e08ba9</a>)</li>
<li>Add <code>output_info</code> to <code>BatchJob</code> (<a
href="https://github.com/googleapis/js-genai/commit/5327c605960c1e06ff987d488082704bdbae597a">5327c60</a>)</li>
<li>Add gemini-3.1-flash-tts-preview model to options (<a
href="https://github.com/googleapis/js-genai/commit/35c941b024f7bff50fdcf155dda409d977b1cfcb">35c941b</a>)</li>
<li>Add ImageResizeMode for GenerateVideos (<a
href="https://github.com/googleapis/js-genai/commit/faa1088785f0a733b9b65af9f78229f464a9f4c3">faa1088</a>)</li>
<li>Add new Gemini Deep Research agent models (<a
href="https://github.com/googleapis/js-genai/commit/6f83a0533f6c9ea7cd97e218f313ebfbd77323ad">6f83a05</a>)</li>
<li>Add Vertex Dataset input and output options for batch jobs (<a
href="https://github.com/googleapis/js-genai/commit/6aa848e9be75843821ba44db1e9947e4ee9cf899">6aa848e</a>)</li>
<li><strong>interaction-api:</strong> Add grounding tool usage breakdown
to Interaction Usage. (<a
href="https://github.com/googleapis/js-genai/commit/e1c31ad0853be56ba0cddabe8eceb208eaf5c2a4">e1c31ad</a>)</li>
<li>introduce enterprise flag and GOOGLE_GENAI_USE_ENTERPRISE env var
(<a
href="https://github.com/googleapis/js-genai/commit/cf7ad529f2b0d5b228ea238660f88df61305eacd">cf7ad52</a>)</li>
<li>Replace the more ambiguous rate field with sample_rate. (<a
href="https://github.com/googleapis/js-genai/commit/6c804649ec721d9e8ac20922252183eec5b57dc9">6c80464</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/blob/main/CHANGELOG.md">@​google/genai's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.51.0...v1.52.0">1.52.0</a>
(2026-05-04)</h2>
<h3>Features</h3>
<ul>
<li>[Python] Multimodal file search (<a
href="https://github.com/googleapis/js-genai/commit/e626bef1a780a54b5b3fe04f062adf708335bd58">e626bef</a>)</li>
<li>Multimodal file search (<a
href="https://github.com/googleapis/js-genai/commit/54caf6bd4683939f3f3b6844252e5a19a90e7e9a">54caf6b</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.50.1...v1.51.0">1.51.0</a>
(2026-04-29)</h2>
<h3>Features</h3>
<ul>
<li>[Interactions] Add
FileCitation.{custom_metadata,media_id,page_number} (<a
href="https://github.com/googleapis/js-genai/commit/9e08ba923452a7028931ba4d054290115514578e">9e08ba9</a>)</li>
<li>Add <code>output_info</code> to <code>BatchJob</code> (<a
href="https://github.com/googleapis/js-genai/commit/5327c605960c1e06ff987d488082704bdbae597a">5327c60</a>)</li>
<li>Add gemini-3.1-flash-tts-preview model to options (<a
href="https://github.com/googleapis/js-genai/commit/35c941b024f7bff50fdcf155dda409d977b1cfcb">35c941b</a>)</li>
<li>Add ImageResizeMode for GenerateVideos (<a
href="https://github.com/googleapis/js-genai/commit/faa1088785f0a733b9b65af9f78229f464a9f4c3">faa1088</a>)</li>
<li>Add new Gemini Deep Research agent models (<a
href="https://github.com/googleapis/js-genai/commit/6f83a0533f6c9ea7cd97e218f313ebfbd77323ad">6f83a05</a>)</li>
<li>Add Vertex Dataset input and output options for batch jobs (<a
href="https://github.com/googleapis/js-genai/commit/6aa848e9be75843821ba44db1e9947e4ee9cf899">6aa848e</a>)</li>
<li><strong>interaction-api:</strong> Add grounding tool usage breakdown
to Interaction Usage. (<a
href="https://github.com/googleapis/js-genai/commit/e1c31ad0853be56ba0cddabe8eceb208eaf5c2a4">e1c31ad</a>)</li>
<li>introduce enterprise flag and GOOGLE_GENAI_USE_ENTERPRISE env var
(<a
href="https://github.com/googleapis/js-genai/commit/cf7ad529f2b0d5b228ea238660f88df61305eacd">cf7ad52</a>)</li>
<li>Replace the more ambiguous rate field with sample_rate. (<a
href="https://github.com/googleapis/js-genai/commit/6c804649ec721d9e8ac20922252183eec5b57dc9">6c80464</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/e8c8c4432a9ac650fb5b658b0777f7f42a268aba"><code>e8c8c44</code></a>
chore(main): release 1.52.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1546">#1546</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/50d81caa594935240d86b07b7958b9b11c5c4629"><code>50d81ca</code></a>
chore: [Multimodal FileSearch] Move embedding_model to body</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/54caf6bd4683939f3f3b6844252e5a19a90e7e9a"><code>54caf6b</code></a>
feat: Multimodal file search</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/e626bef1a780a54b5b3fe04f062adf708335bd58"><code>e626bef</code></a>
feat: [Python] Multimodal file search</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/61013d63a8f7d73a3fc920daa66b6ef769cff2a9"><code>61013d6</code></a>
chore(main): release 1.51.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1503">#1503</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/8137d23260a267cc4c09e0fc22320afe82400650"><code>8137d23</code></a>
chore: add the deprecation marker back</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/734dab038058edabae8e855c4ff217bd0e9bfcd4"><code>734dab0</code></a>
chore: no-op</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/006286b61eb416ee8503aacf5016ab66598f2e2f"><code>006286b</code></a>
chore: Add page number</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/986bbedaec6dd40c0d6b00774e2bcab4d35db06b"><code>986bbed</code></a>
chore: Adjust Webhook update to better reflect modifiable fields</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/e1c31ad0853be56ba0cddabe8eceb208eaf5c2a4"><code>e1c31ad</code></a>
feat(interaction-api): Add grounding tool usage breakdown to Interaction
Usage.</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/js-genai/compare/v1.50.1...v1.52.0">compare
view</a></li>
</ul>
</details>
<details>
<summary>Install script changes</summary>
<p>This version adds <code>preinstall</code> script that runs during
installation. Review the package contents before updating.</p>
</details>
<br />

Updates `@typescript-eslint/eslint-plugin` from 8.59.1 to 8.59.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">@​typescript-eslint/eslint-plugin's
releases</a>.</em></p>
<blockquote>
<h2>v8.59.2</h2>
<h2>8.59.2 (2026-05-04)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unsafe-type-assertion] handle
crash on recursive template literal types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150">#12150</a>)</li>
<li><strong>eslint-plugin:</strong> [no-deprecated] object destructuring
values should be treated as declarations (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292">#12292</a>)</li>
<li><strong>rule-tester:</strong> add TypeScript as a peer dependency
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12288">#12288</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Dariusz Czajkowski</li>
<li>Dima Barabash</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2">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">@​typescript-eslint/eslint-plugin's
changelog</a>.</em></p>
<blockquote>
<h2>8.59.2 (2026-05-04)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-deprecated] object destructuring
values should be treated as declarations (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292">#12292</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unsafe-type-assertion] handle
crash on recursive template literal types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150">#12150</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Dima Barabash</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2">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/2ec35f1760aade4df4c631d76d78c7ed5e136333"><code>2ec35f1</code></a>
chore(release): publish 8.59.2</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3"><code>ec3ef25</code></a>
test: make no-useless-empty-export tests fully static (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260">#12260</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/60d0a513870d833617374ff8ea256d86ca3cbbbb"><code>60d0a51</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/5c53da230a70aba7d6f3d6474b5d249b430a95d0"><code>5c53da2</code></a>
fix(eslint-plugin): [no-deprecated] object destructuring values should
be tre...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/80c28a1ada3f975a932a02587cefee632ccf6550"><code>80c28a1</code></a>
fix(eslint-plugin): [no-unsafe-type-assertion] handle crash on recursive
temp...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/b7b2670123f76419630f88f3a807f85b7c535230"><code>b7b2670</code></a>
test: make no-this-alias tests fully static (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12258">#12258</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.2/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.59.1 to 8.59.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">@​typescript-eslint/parser's
releases</a>.</em></p>
<blockquote>
<h2>v8.59.2</h2>
<h2>8.59.2 (2026-05-04)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unsafe-type-assertion] handle
crash on recursive template literal types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150">#12150</a>)</li>
<li><strong>eslint-plugin:</strong> [no-deprecated] object destructuring
values should be treated as declarations (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292">#12292</a>)</li>
<li><strong>rule-tester:</strong> add TypeScript as a peer dependency
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12288">#12288</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Dariusz Czajkowski</li>
<li>Dima Barabash</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2">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">@​typescript-eslint/parser's
changelog</a>.</em></p>
<blockquote>
<h2>8.59.2 (2026-05-04)</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.2">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/2ec35f1760aade4df4c631d76d78c7ed5e136333"><code>2ec35f1</code></a>
chore(release): publish 8.59.2</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.2/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 17.5.0 to 17.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.6.0</h2>
<ul>
<li>Update globals (2026-05-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/343">#343</a>)
00a4dd9</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0">https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc"><code>6b15870</code></a>
17.6.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d"><code>00a4dd9</code></a>
Update globals (2026-05-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/343">#343</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `rollup` from 4.60.2 to 4.60.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/blob/master/CHANGELOG.md">rollup's
changelog</a>.</em></p>
<blockquote>
<h2>4.60.3</h2>
<p><em>2026-05-04</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Ensure nested &quot;exports&quot; variables are not renamed (<a
href="https://redirect.github.com/rollup/rollup/issues/6360">#6360</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6360">#6360</a>:
fix: do not rename nested &quot;exports&quot; bindings that do not
conflict (<a
href="https://github.com/tariqrafique"><code>@​tariqrafique</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6364">#6364</a>:
chore(deps): update msys2/setup-msys2 digest to e989830 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6365">#6365</a>:
fix(deps): update minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6366">#6366</a>:
fix(deps): update swc monorepo (major) (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6367">#6367</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6368">#6368</a>:
docs: add missing backticks in <code>plugin-development</code> (<a
href="https://github.com/lumirlumir"><code>@​lumirlumir</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rollup/rollup/commit/b47bdabeccbb7aa1b1d4117f2f4a781a9f6de297"><code>b47bdab</code></a>
4.60.3</li>
<li><a
href="https://github.com/rollup/rollup/commit/15c5f33083c8c6b1b2cbae548124fffbba2553bb"><code>15c5f33</code></a>
Add again some unneeded dev dependencies, to make some builds
succeed</li>
<li><a
href="https://github.com/rollup/rollup/commit/12195dcebbd21f0f2d91e26720cd053526edbfe3"><code>12195dc</code></a>
fix: do not rename nested &quot;exports&quot; bindings that do not
conflict (<a
href="https://redirect.github.com/rollup/rollup/issues/6360">#6360</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/b74aa39a06952df77299a1057efc1a4cd06b2db0"><code>b74aa39</code></a>
Migrate instructions to AGENTS.md</li>
<li><a
href="https://github.com/rollup/rollup/commit/aa5a3774a217a2abdfca8c591031e130a5e5ac72"><code>aa5a377</code></a>
fix(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6365">#6365</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/197e68b9d27ec38cc914183c4cbe9e57985cb36b"><code>197e68b</code></a>
chore(deps): update msys2/setup-msys2 digest to e989830 (<a
href="https://redirect.github.com/rollup/rollup/issues/6364">#6364</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/cded70aef2932aa491a633a87be316edb0854599"><code>cded70a</code></a>
fix(deps): update swc monorepo (major) (<a
href="https://redirect.github.com/rollup/rollup/issues/6366">#6366</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/bb2b8a57cc2cad3c4f482869fb6ab810b4c4332d"><code>bb2b8a5</code></a>
docs: add missing backticks in <code>plugin-development</code> (<a
href="https://redirect.github.com/rollup/rollup/issues/6368">#6368</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/20af1c4879d193636e6bd0295cb07860894c12e0"><code>20af1c4</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6367">#6367</a>)</li>
<li>See full diff in <a
href="https://github.com/rollup/rollup/compare/v4.60.2...v4.60.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `sinon` from 21.1.2 to 22.0.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sinonjs/sinon/blob/main/docs/changelog.md">sinon's
changelog</a>.</em></p>
<blockquote>
<h2>22.0.0</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878"><code>ed911df5</code></a>
Update Ruby gems (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841"><code>75a1e5b8</code></a>
Update to Node 26 (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2"><code>197d6608</code></a>
Update documentation on faking timers to reflect the current state of
fake-timers (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c"><code>c5ddf80b</code></a>
Update fake-timers@15.4: includes new Temporal API (Carl-Erik
Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e"><code>f4ab02f6</code></a>
Update updatable packages (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa"><code>0536afc8</code></a>
Quality: Global mutable call id can grow unbounded across long-lived
processes (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2691">#2691</a>)
(tuanaiseo)
<blockquote>
<ul>
<li>refactor: global mutable call id can grow unbounded across l</li>
</ul>
<p><code>callId</code> is module-scoped and incremented on every
invocation. In long-running test runners or embedded usage, this can
grow indefinitely and eventually lose integer precision semantics for
strict ordering comparisons.</p>
<p>Affected files: proxy-invoke.js</p>
<p>Signed-off-by: tuanaiseo <a
href="mailto:221258316+tuanaiseo@users.noreply.github.com">221258316+tuanaiseo@users.noreply.github.com</a></p>
<ul>
<li>Wrap around for all values that are too high</li>
</ul>
<hr />
<p>Signed-off-by: tuanaiseo <a
href="mailto:221258316+tuanaiseo@users.noreply.github.com">221258316+tuanaiseo@users.noreply.github.com</a>
Co-authored-by: Carl-Erik Kopseng <a
href="mailto:carlerik@gmail.com">carlerik@gmail.com</a></p>
</blockquote>
</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222"><code>f4f7d93b</code></a>
Perform additional cleanup when calling callThrough() (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2670">#2670</a>)
(Cyrille)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f"><code>6199e9e4</code></a>
improve GitHubworkflows by introducing zizmor for monitoring (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2686">#2686</a>)
(Till!)
<blockquote>
<ul>
<li>fix(workflows): fetch-depth is for actions/checkout</li>
<li>chore(workflows): update</li>
</ul>
<ul>
<li>pin all actions to precise commits</li>
<li>avoid credential leakage from actions/checkout</li>
<li>group action updates going forward</li>
<li>add zimor config to ignore &quot;secrets outside env&quot;</li>
<li>add job to keep validating workflows</li>
</ul>
</blockquote>
</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e"><code>f7476b59</code></a>
Use path.normalize() for path normalization (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619"><code>2c975393</code></a>
fix: make build and node test scripts cross-platform (laplace
young)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5"><code>a7692917</code></a>
fix: isolate walk state from Object prototype (laplace young)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671"><code>66df977a</code></a>
Fix sinon.restore() cascade-restoring sub-sandboxes (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2704">#2704</a>)
(Charlie Leitheiser)
<blockquote>
<p>The ESM port of <code>createApi</code> (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2683">#2683</a>,
shipped in 21.1.0) replaced <code>createSandbox: createSandbox</code>
with a wrapper that pushes every newly-created sandbox into the root
sandbox's fake collection:</p>
</blockquote>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6"><code>52555af</code></a>
22.0.0</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878"><code>ed911df</code></a>
Update Ruby gems</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841"><code>75a1e5b</code></a>
Update to Node 26</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2"><code>197d660</code></a>
Update documentation on faking timers to reflect the current state of
fake-ti...</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c"><code>c5ddf80</code></a>
Update fake-timers@15.4: includes new Temporal API</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e"><code>f4ab02f</code></a>
Update updatable packages</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa"><code>0536afc</code></a>
Quality: Global mutable call id can grow unbounded across long-lived
processe...</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222"><code>f4f7d93</code></a>
Perform additional cleanup when calling callThrough() (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2670">#2670</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f"><code>6199e9e</code></a>
improve GitHubworkflows by introducing zizmor for monitoring (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2686">#2686</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07"><code>1519009</code></a>
Merge <a
href="https://redirect.github.com/sinonjs/sinon/issues/2703">#2703</a>:
isolate walk state from Object prototype</li>
<li>Additional commits viewable in <a
href="https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `typescript-eslint` from 8.59.1 to 8.59.2
<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.2</h2>
<h2>8.59.2 (2026-05-04)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unsafe-type-assertion] handle
crash on recursive template literal types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150">#12150</a>)</li>
<li><strong>eslint-plugin:</strong> [no-deprecated] object destructuring
values should be treated as declarations (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292">#12292</a>)</li>
<li><strong>rule-tester:</strong> add TypeScript as a peer dependency
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12288">#12288</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Dariusz Czajkowski</li>
<li>Dima Barabash</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2">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.2 (2026-05-04)</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.2">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/2ec35f1760aade4df4c631d76d78c7ed5e136333"><code>2ec35f1</code></a>
chore(release): publish 8.59.2</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.2/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>
2026-05-08 13:12:25 +00:00
Samiya Caur 64a02d8c8e test: fix flaky navigate_page with open dialog test (#2020)
Attempt to fix flakiness reported in #2019
2026-05-08 11:20:49 +00:00
Michael Hablich a5ad67bdaf docs: Fix Claude Code instructions (#2018)
This makes sure that the plugin installation command in Claude Code
actually use our own marketplace in order to ship the latest release.
2026-05-08 08:33:40 +00:00
Nikolay Vitkov a565a7746c build: bump deps (#2014) 2026-05-08 06:26:45 +00:00
Nikolay Vitkov 98823918dd fix(cli): allow --autoConnect on CLI start (#2015)
Closes #1859
Closes #1184
2026-05-08 06:26:15 +00:00
yulunz 06e0ab6022 feat: add an error logging method (#2006) 2026-05-07 23:06:18 +00:00
yulunz e9ec375f95 fix(telemetry): re-run the update metrics script (#2005)
the updates made to these files from #1982 came out a bit weird. So I
reverted changes on these files and re-run `npm run gen` (which includes
`npm run update-metrics`) to correct them.

we'd always want old entries to be marked as deprecated and new entries
to be added to the very last. Don't manually resolve conflicts in these
files. When there are conflicts, just revert back to a clean state and
`npm run gen` will take care of them 😉
2026-05-07 18:16:12 +00:00
Piotr Paulski 407c2bd03f fix: Make fill_form more appealing when filling forms with checkboxes (#1971)
Fixes #1942

Verified using `npm run eval --
scripts/eval_scenarios/fill_select_and_checkboxes_test.ts`

Without this change, I observed 7 runs using fill_form for all controls
at once, 14 runs using click to select checkboxes and 10 runs that did
nothing (total 31 runs)

After this change: 9 fill_form using runs (passes), 1 click based
approach and 10 no-attempt fails (20 runs total)

Depending how we count the no-attempt runs, its either increase from 23%
to 45% or 33% to 90% in eval pass rate.

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-05-07 15:00:52 +00:00
Piotr Paulski faac61d2f2 test: fix fill_form eval (#2011)
Improve fill_form eval by checking if fill_form was the only tool called
for the task and provide more descriptive failure messages.

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-05-07 13:59:14 +00:00
yulunz a0d6ea1a62 chore: make Clearcut logger a global singleton (#1999)
We will add a error logging method to ClearcutLogger in a follow-up PR.
Since the error can happen anywhere in the stack, the logger instance
has to be readily available (i.e. w/o passing the logger instance
everywhere). This commit registers the instantiated logger as a global
singleton, and makes it possible to retrieve it by a static method
(`ClearcutLogger.get()`) wherever we need it.
2026-05-07 05:46:24 +00:00
yulunz d842de167b chore: cleanup unused enum (#1998) 2026-05-06 22:50:19 +00:00
browser-automation-bot 0d1de9d343 chore(main): release chrome-devtools-mcp 0.25.0 (#1990)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.25.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.24.0...chrome-devtools-mcp-v0.25.0)
(2026-05-06)


### 🎉 Features

* support third-party developer tools
([#1982](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1982))
([7548c97](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/7548c97663b71f7ef6a5e41cccf38c6525887410))


### 🛠️ Fixes

* **input:** stop native select option clicks from timing out
([#1960](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1960))
([510ec0f](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/510ec0f48bbfc7cad3d5d1f9805e901cc992ea89))
* make sure env variables are consistently applied when parsing args
([#1994](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1994))
([f45f068](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/f45f0681a295e96a66c8247bbc1d9fe445ee04ac))


### 📄 Documentation

* extract WebMCP into its own category
([#1993](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1993))
([da0441d](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/da0441d4250702898f5f07815ffb9c708393fe96))
* remove token estimates
([#2003](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2003))
([14938ac](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/14938acd089770ba32a124839c4b7c3a064c7320))
* update generate-docs.ts tools output order
([#1991](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1991))
([895fc65](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/895fc65a1f2b426c8644baa0cda23ee5de98624e)),
closes
[#1932](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1932)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.25.0
2026-05-06 14:12:44 +00:00
Wolfgang Beyer 7548c97663 feat: support third-party developer tools (#1982)
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
2026-05-06 12:43:34 +00:00
Alex Rudenko 14938acd08 docs: remove token estimates (#2003)
since we include conditional tools in the reference, we cannot give
exact estimates since they depend on the configuration.
2026-05-06 09:21:54 +00:00
dependabot[bot] 0f0e79e434 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1618066 to 1.0.1625079 in the bundled-devtools group across 1 directory (#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>
2026-05-06 08:06:07 +00:00
dependabot[bot] 99ccc3f970 chore(deps-dev): bump puppeteer from 24.42.0 to 24.43.0 in the bundled group (#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>
2026-05-06 07:59:51 +00:00
Alex Rudenko f45f0681a2 fix: make sure env variables are consistently applied when parsing args (#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.
2026-05-05 15:44:55 +00:00
Alex Rudenko da0441d425 docs: extract WebMCP into its own category (#1993)
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
2026-05-05 12:50:42 +00:00
Nicholas Roscino 895fc65a1f docs: update generate-docs.ts tools output order (#1991)
Closes: #1932
2026-05-05 08:31:59 +00:00
cooleryu 510ec0f48b fix(input): stop native select option clicks from timing out (#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 #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 #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.
2026-05-04 09:12:43 +00:00
browser-automation-bot 2dcd641ff5 chore(main): release chrome-devtools-mcp 0.24.0 (#1944)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.24.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.23.0...chrome-devtools-mcp-v0.24.0)
(2026-05-02)


### 🎉 Features

* agentic browsing in lighthouse
([#1931](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1931))
([5fa2750](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/5fa2750456d8ea5b73ca851c7c44dcec0a2be01e))
* **cli:** generate commands for conditional tools
([#1962](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1962))
([b2b3e99](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b2b3e99d67e573e65a4cf84258da8560b2753405))
* group identical consecutive console messages in list_console_messages
([#1939](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1939))
([dbddb2e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/dbddb2e4efb01c25ce4c6d96fd45b3ab29a498eb))
* support MCP client roots feature
([#1945](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1945))
([def53dd](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/def53ddf1d0d3fe04c41f1572919cef208161151))


### 🛠️ Fixes

* add proactive tool rejection when dialog is open
([#1978](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1978))
([6ce254e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/6ce254e54153212bf305e28846bc77f1d6b82b74))
* always allow tmpdir access with client roots
([#1984](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1984))
([a90378a](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/a90378adf3226e8b27a05cdcfdd801c199acaa93))
* **cli:** re-generate cli correctly
([#1969](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1969))
([8cbdb8d](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8cbdb8d49491e332c1d30a3884304e1f7a519db2))
* handle errors due to open dialogs during tool calls
([#1953](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1953))
([06b331f](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/06b331f403056727850a633dd64b290d60bdb906))
* note about missing elements should not show in verbose mode
([#1950](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1950))
([80bee1e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/80bee1e6cd0e62995496ea9d001994c78ec9dcf0))
* **telemetry:** bucketize string length
([#1972](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1972))
([bf3cb58](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/bf3cb58d27589ddc5156d7a6ee1b2bb81d9a2cee))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.24.0
2026-05-04 08:16:37 +00:00
Lusa Zhan 5fa2750456 feat: agentic browsing in lighthouse (#1931)
pending https://github.com/GoogleChrome/lighthouse/pull/16980

---------

Co-authored-by: Lusa Zhan <lusazhan@chromium.org>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-05-02 08:09:55 +00:00
Alex Rudenko a90378adf3 fix: always allow tmpdir access with client roots (#1984)
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.
2026-04-30 12:25:35 +00:00
Nicholas Roscino b2b3e99d67 feat(cli): generate commands for conditional tools (#1962)
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:
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1933
2026-04-30 07:59:08 +00:00
dependabot[bot] 7ee5e867ef chore(deps): bump the all group with 2 updates (#1959)
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>
2026-04-29 17:00:13 +00:00
dependabot[bot] b328f6b997 chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#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>
2026-04-29 16:54:13 +00:00
Samiya Caur 6ce254e541 fix: add proactive tool rejection when dialog is open (#1978)
Adding proactive rejection of tool execution for tools which currently
get blocked due to open dialogs (related to #1069 )
2026-04-29 13:59:50 +00:00
Alex Rudenko 38d736a129 build: fix npm start (#1980) 2026-04-29 13:53:53 +00:00
Samiya Caur f1afe842ae test: add tests for checking behavior when dialog is open (#1977)
This is the first part of adding tests for checking tool behavior when a
dialog is already open (related to #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.
2026-04-29 10:38:27 +00:00
yulunz bf3cb58d27 fix(telemetry): bucketize string length (#1972)
Only the string length needs to be bucketized. We can log the array size
as-is.
2026-04-29 05:32:52 +00:00
Samiya Caur 06b331f403 fix: handle errors due to open dialogs during tool calls (#1953)
This change is part of the fix for #1069 
- Errors during tool calls are now consumed and handled as part of
McpResponse format
2026-04-28 16:45:48 +00:00
Nikolay Vitkov 66dacb83fd chore(memory): sort all by retainer size (#1963)
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.
2026-04-28 14:32:04 +00:00
Alex Rudenko 8cbdb8d494 fix(cli): re-generate cli correctly (#1969)
Regressed in
https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1120
2026-04-28 14:18:39 +00:00
Piotr Paulski 21bc5b4476 test: add eval targeting fill_form use with select and checkbox elements (#1968)
This eval represents minimal reproduction scenario for #1942. Currently
fill_form is used in around 25% of the attempts.

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

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-04-28 13:39:35 +00:00
yulunz 6ac30dcb8b chore: re-arrange ordering in flag usage metrics. (#1965)
Just re-arranging the order to match what is already defined on the
server side.

The new ones that haven't been sync'ed yet are listed at the very end.
2026-04-28 06:00:32 +00:00
yulunz cb6b724fdc chore: combine the update metrics scripts. (#1964)
This is a cleanup to merge the update metrics script together into one.
There is behavior change.
2026-04-28 05:59:57 +00:00
yulunz 7b3b4d306e chore: make json file for flag usage metrics append only (#1882)
This makes the flag_usage_metrics.json file append only. Parent: #1881
2026-04-27 20:12:49 +00:00
Alex Rudenko def53ddf1d feat: support MCP client roots feature (#1945)
This PR implements
https://modelcontextprotocol.io/specification/2025-11-25/client/roots If
client specifies roots, all reads and writes to the file system
originating in tool calls will denied (including tmp files). The client
specified empty list of roots, all filesystem access will be restricted.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1860

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-04-27 11:55:30 +00:00
Piotr Paulski c9c1683b67 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1613625 to 1.0.1616061 (#1952)
Closes #1908

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-04-24 19:40:09 +00:00
Wolfgang Beyer 5aa6437e91 chore: Refactor adding extra nodes to snapshot (#1951)
Get all info about the TextSnapshot first, and only then modify it.
Previously these steps were interleaved.
2026-04-24 09:50:56 +00:00
Alex Rudenko 80bee1e6cd fix: note about missing elements should not show in verbose mode (#1950)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1947
2026-04-24 07:29:05 +00:00
Nikolay Vitkov 136da6a350 build: add dev source maps (#1948)
This allows setting up a debugger script with either enabled debugging
port or tools like VS Code or Antigravity.
2026-04-23 18:35:34 +00:00
@masamaru0513 dbddb2e4ef feat: group identical consecutive console messages in list_console_messages (#1939)
## Summary

Group consecutive identical console messages in `list_console_messages`,
similar to Chrome DevTools' console grouping behavior.

Fixes #904

## Changes

- Introduce `GroupedConsoleFormatter` subclass that extends
`ConsoleFormatter` and overrides `toString()` / `toJSON()` for
count-aware formatting
- Add `ConsoleFormatter.groupConsecutive()` static method that groups
consecutive messages with the same type, text, and argument count
- Apply grouping **before pagination** so grouped counts are accurate
and page sizes reflect the collapsed view
- Add unit tests for grouping logic, string formatting, and JSON output

## Key design decisions

- **`GroupedConsoleFormatter` subclass**: Keeps the existing formatter
interface clean — no new methods added to `ConsoleFormatter`.
`ConsoleFormatter` and `GroupedConsoleFormatter` are interchangeable via
the same interface.
- **Grouping before pagination** (not at format time): This was the
feedback on #963 and #1025 — grouping at format time breaks pagination
counts. This implementation groups in `McpResponse` before calling
`paginate()`.
- **No `lastId`**: Since grouped messages are truly identical, only the
first message's ID is needed.
- **`argCount` matching**: Prevents false grouping of messages with the
same text but different argument counts.

## Output example

```
msgid=1 [log] hello world (1 args) [5 times]
```

## Testing

- Unit tests in `tests/formatters/ConsoleFormatterGrouping.test.ts`
- Manual verification: identical messages (×5), mixed pattern (A,A,B,A,A
→ A×2, B×1, A×2)
2026-04-23 09:55:18 +00:00