提交

提交图

953 次代码提交

作者 SHA1 备注 提交日期
browser-automation-bot 0aaa8e3cc0 chore(main): release chrome-devtools-mcp 1.4.0 (#2228)
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*
---


##
[1.4.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v1.3.0...chrome-devtools-mcp-v1.4.0)
(2026-06-23)


### 🎉 Features

* publish the skills folder
([#2229](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2229))
([5367f7e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/5367f7e97c1a4f506d8d1e3e8e773c72f1c0a03a))


### 🛠️ Fixes

* hide Windows update check consoles
([#2231](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2231))
([6225ffb](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/6225ffbaf1ceb2d9d0f8b2f3b7380aa8a710b857))
* **network:** keep redirect chain order consistent between text and
JSON
([#2221](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2221))
([5a9d6af](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/5a9d6af743109e3bb9703cf0c9a46f9cb2a97480))


### 📄 Documentation

* fix showing defaults in configuration
([#2234](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2234))
([38dd346](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/38dd346805416c8bff2196e73c1410ca78d6f397))
* **readme:** explicitly call out that CD4A can power your browser agent
([#2227](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2227))
([705d0e1](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/705d0e11812b8c1c2506d0ac372a97671298df11))
* update security.md
([#2248](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2248))
([e559765](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/e55976574030dd2cde45b58d57555f5d433f50e0))

---
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-v1.4.0
2026-06-23 07:11:50 +00:00
Alex Rudenko e559765740 docs: update security.md (#2248)
Clarifies the MCP roots and network guardrails.
2026-06-23 06:53:48 +00:00
dependabot[bot] 0cafee074c chore(deps-dev): bump puppeteer from 25.1.0 to 25.2.0 in the bundled group (#2246)
Bumps the bundled group with 1 update:
[puppeteer](https://github.com/puppeteer/puppeteer).

Updates `puppeteer` from 25.1.0 to 25.2.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: v25.2.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v25.1.0...puppeteer-core-v25.2.0">25.2.0</a>
(2026-06-22)</h2>
<h3>🎉 Features</h3>
<ul>
<li>add page locale emulation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15075">#15075</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/c528f6508dcbe830a2bf7b61605ea53b14b56168">c528f65</a>)</li>
<li>add waitForFunction to webWorkers (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15100">#15100</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/0bdfa77b1244f4a397e22fc1ed4d9cf6eabe2697">0bdfa77</a>)</li>
<li>allow extensions to run over websockets (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15059">#15059</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b84d8a18584fcf54670fff169408b8ac712d8c06">b84d8a1</a>)</li>
<li>roll to Chrome 150.0.7871.24 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15126">#15126</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b74ed1c81caffa7c727b8e21498dda42899467ed">b74ed1c</a>)</li>
<li>roll to Firefox 152.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15125">#15125</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/87be90674742650fd0bcb138922ff61d2bf2ca98">87be906</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>apply allowlist to non-auto-attach sessions (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15136">#15136</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/5c7a0e0e09eef73177d27d4c4fa2669ebe8d65b7">5c7a0e0</a>)</li>
<li>await for Worker script exection (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15099">#15099</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/dc469b8aae9008b8ec665014d4fac9e13c8a0650">dc469b8</a>)</li>
<li>block service worker registrations (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15135">#15135</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/d03617c36148a0d9ac86c51b3b5661c07c150ef9">d03617c</a>)</li>
<li>correct screencast frame timing so playback matches real time (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15112">#15112</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/525b3843bb4920abe2142c1ae381fb2384d9d2dc">525b384</a>)</li>
<li>remove global skipDownload early return to include other configs (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15130">#15130</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/5b1cb20ce060c88c5f43f1a4bbfdcfd513db6cc3">5b1cb20</a>)</li>
<li>roll to Firefox 152.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15134">#15134</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/fd12dd6f31604835b7476b624b8972b8c8c090b6">fd12dd6</a>)</li>
<li><strong>webmcp:</strong> invalidate webmcp tools on context
destruction (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15068">#15068</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/8e9c0fa4ac4054f3f31868f17761c73335229306">8e9c0fa</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>clarify the network allowlist/blocklist implementation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15148">#15148</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/a7f124c930e6119581a4e54c3293cbca66c0f498">a7f124c</a>)</li>
<li>Update Page.target deprecation message to cover broader usage. (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15108">#15108</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/882c43d57698596921d83b56ef82b666ad0528c5">882c43d</a>)</li>
</ul>
<h3> Performance</h3>
<ul>
<li><strong>cdp:</strong> parallelize extension workers fetching (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15057">#15057</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/fdee509f47f1587f17cf25b176a50d5d8fcde38a">fdee509</a>)</li>
<li>optimize <code>headersArray</code> iteration in HTTPRequest (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15004">#15004</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/eb9579844f071c2aa8ad1a0c19443b618fac63b7">eb95798</a>)</li>
<li>optimize property descriptors iteration in JSHandle (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15094">#15094</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/2483b656cd17b99af089087094a0e6f88c6ba4fb">2483b65</a>)</li>
<li>parallelize iframe population in accessibility snapshots (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15083">#15083</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/7e3d42ec56c017978ca780af394ac4e5cf5391fd">7e3d42e</a>)</li>
</ul>
<h3>🏗️ Refactor</h3>
<ul>
<li>sync accessing debugger (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15066">#15066</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/904623947f270e50243c3f7fb74f4aef3245c22d">9046239</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 3.0.4 to 3.0.5</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer: v25.2.0</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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-v25.1.0...puppeteer-v25.2.0">25.2.0</a>
(2026-06-22)</h2>
<h3>🎉 Features</h3>
<ul>
<li>add page locale emulation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15075">#15075</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/c528f6508dcbe830a2bf7b61605ea53b14b56168">c528f65</a>)</li>
<li>add waitForFunction to webWorkers (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15100">#15100</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/0bdfa77b1244f4a397e22fc1ed4d9cf6eabe2697">0bdfa77</a>)</li>
<li>allow extensions to run over websockets (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15059">#15059</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b84d8a18584fcf54670fff169408b8ac712d8c06">b84d8a1</a>)</li>
<li>roll to Chrome 150.0.7871.24 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15126">#15126</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b74ed1c81caffa7c727b8e21498dda42899467ed">b74ed1c</a>)</li>
<li>roll to Firefox 152.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15125">#15125</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/87be90674742650fd0bcb138922ff61d2bf2ca98">87be906</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>apply allowlist to non-auto-attach sessions (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15136">#15136</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/5c7a0e0e09eef73177d27d4c4fa2669ebe8d65b7">5c7a0e0</a>)</li>
<li>await for Worker script exection (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15099">#15099</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/dc469b8aae9008b8ec665014d4fac9e13c8a0650">dc469b8</a>)</li>
<li>block service worker registrations (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15135">#15135</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/d03617c36148a0d9ac86c51b3b5661c07c150ef9">d03617c</a>)</li>
<li>correct screencast frame timing so playback matches real time (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15112">#15112</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/525b3843bb4920abe2142c1ae381fb2384d9d2dc">525b384</a>)</li>
<li>remove global skipDownload early return to include other configs (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15130">#15130</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/5b1cb20ce060c88c5f43f1a4bbfdcfd513db6cc3">5b1cb20</a>)</li>
<li>roll to Firefox 152.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15134">#15134</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/fd12dd6f31604835b7476b624b8972b8c8c090b6">fd12dd6</a>)</li>
<li><strong>webmcp:</strong> invalidate webmcp tools on context
destruction (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15068">#15068</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/8e9c0fa4ac4054f3f31868f17761c73335229306">8e9c0fa</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 3.0.4 to 3.0.5</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>clarify the network allowlist/blocklist implementation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15148">#15148</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/a7f124c930e6119581a4e54c3293cbca66c0f498">a7f124c</a>)</li>
<li>Update Page.target deprecation message to cover broader usage. (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15108">#15108</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/882c43d57698596921d83b56ef82b666ad0528c5">882c43d</a>)</li>
</ul>
<h3> Performance</h3>
<ul>
<li><strong>cdp:</strong> parallelize extension workers fetching (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15057">#15057</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/fdee509f47f1587f17cf25b176a50d5d8fcde38a">fdee509</a>)</li>
<li>optimize <code>headersArray</code> iteration in HTTPRequest (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15004">#15004</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/eb9579844f071c2aa8ad1a0c19443b618fac63b7">eb95798</a>)</li>
<li>optimize property descriptors iteration in JSHandle (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15094">#15094</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/2483b656cd17b99af089087094a0e6f88c6ba4fb">2483b65</a>)</li>
<li>parallelize iframe population in accessibility snapshots (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15083">#15083</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/7e3d42ec56c017978ca780af394ac4e5cf5391fd">7e3d42e</a>)</li>
</ul>
<h3>🏗️ Refactor</h3>
<ul>
<li>sync accessing debugger (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15066">#15066</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/904623947f270e50243c3f7fb74f4aef3245c22d">9046239</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/049614305e94400629112b66141a4852d2b0d147"><code>0496143</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15064">#15064</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/a7f124c930e6119581a4e54c3293cbca66c0f498"><code>a7f124c</code></a>
docs: clarify the network allowlist/blocklist implementation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15148">#15148</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/036503e7b7eb10bc64d1b98927fe5d12cdb78f7c"><code>036503e</code></a>
test: add iframe tests (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15149">#15149</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/2d71ccc1ca4597a6d9cdb979bc1852a31c8e5dc6"><code>2d71ccc</code></a>
chore: fix regression of debug logs (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15147">#15147</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/5b1cb20ce060c88c5f43f1a4bbfdcfd513db6cc3"><code>5b1cb20</code></a>
fix: remove global skipDownload early return to include other configs
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15130">#15130</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/1106b6e4ed2ae8c785bcd540ac9305e6bd8f02d1"><code>1106b6e</code></a>
chore(deps): bump the all group in /website with 2 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15143">#15143</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/f14e4adf67387afe4599f8b166fd6f67de3192ec"><code>f14e4ad</code></a>
chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the all group
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15144">#15144</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/6d120e64e4cf4910a3d4a29f4f58e6179084ef1a"><code>6d120e6</code></a>
chore(deps): bump node from <code>40ad9f3</code> to <code>032e78d</code>
in /docker in the all grou...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/5c7a0e0e09eef73177d27d4c4fa2669ebe8d65b7"><code>5c7a0e0</code></a>
fix: apply allowlist to non-auto-attach sessions (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15136">#15136</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/77c4ffde99a7cbbd85e91bdb5687254f32cb76ef"><code>77c4ffd</code></a>
chore(webmcp): Update WebMCP to Chrome 150 implementation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/15069">#15069</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v25.1.0...puppeteer-v25.2.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=25.1.0&new-version=25.2.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>
Co-authored-by: Nikolay Vitkov <nvitkov@chromium.org>
2026-06-22 16:49:45 +00:00
dependabot[bot] 50ff6587d6 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1649421 to 1.0.1650035 in the bundled-devtools group (#2245)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1649421 to 1.0.1650035
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/e4e80ce5bf90518f5e680384937c0bb7e9588419"><code>e4e80ce</code></a>
Fix rendering and editing of relation attributes in the Elements
panel.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/f60fe03e5b749fc46aee9401496e8a3911c28654"><code>f60fe03</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/889251e5c2e7f87faf1510c82f73c662c7c6f1c7"><code>889251e</code></a>
Add &quot;retained by context&quot; filter</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8b110f26e0f6f36b865d9415bbba778e636a188b"><code>8b110f2</code></a>
Add keywords from alias property in CSSMetadata</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/407ac53c12534d07f936a2c6453a166b05a61b10"><code>407ac53</code></a>
SelfXSS: prevent pasting via drop-event</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/53be0f1d9220e0c616213c0696e7977b3535f52b"><code>53be0f1</code></a>
Update DevTools DEPS (trusted)</li>
<li>See full diff in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1649421...v1.0.1650035">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.1649421&new-version=1.0.1650035)](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-06-22 16:26:24 +00:00
dependabot[bot] f8d7826714 chore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates (#2237)
Bumps the dev-dependencies group with 4 updates in the / directory:
[@google/genai](https://github.com/googleapis/js-genai),
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node),
[rollup](https://github.com/rollup/rollup) and
[semver](https://github.com/npm/node-semver).

Updates `@google/genai` from 2.8.0 to 2.9.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>v2.9.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v2.8.0...v2.9.0">2.9.0</a>
(2026-06-19)</h2>
<h3>Features</h3>
<ul>
<li>Add audioOffset to VoiceActivity (<a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e">3bc7d42</a>)</li>
<li>Add interimInputTranscription to LiveServerContent (<a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e">3bc7d42</a>)</li>
<li>Add LanguageAuto, LanguageHints, and adaptationPhrases to
AudioTranscriptionConfig (<a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e">3bc7d42</a>)</li>
<li>Add ServiceTier to UsageMetadata (<a
href="https://github.com/googleapis/js-genai/commit/1f44b04ec6572676e434c5adb4ee34f6c4be27aa">1f44b04</a>)</li>
<li>expose Computer Use API fields (<a
href="https://github.com/googleapis/js-genai/commit/da54ea4c5ac918b7e2039156ef08bf8825c3930d">da54ea4</a>)</li>
<li><strong>interaction-api:</strong> Add presence_penalty,
frequency_penalty, and cached_content to models.proto (<a
href="https://github.com/googleapis/js-genai/commit/2740a4298ccb0bc5bad7b81afdd70affe52ebbe2">2740a42</a>)</li>
<li><strong>interaction-api:</strong> Rename usage to total_usage in
StreamMetadata. (<a
href="https://github.com/googleapis/js-genai/commit/b72db47154cfafd68d0d68aa73a1d73a6a95dd02">b72db47</a>)</li>
<li>introduce gaos sdk libs (<a
href="https://github.com/googleapis/js-genai/commit/bfac5d4945081f121e8023a67acbb21a0b5a7a2a">bfac5d4</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li>Configure 2.9.0 as the next release (<a
href="https://github.com/googleapis/js-genai/commit/e9968c637c410a2297ebd6f0d6050c572068687a">e9968c6</a>)</li>
<li>Configure a 2.9.0-rc.0 prerelease (<a
href="https://github.com/googleapis/js-genai/commit/ae612ec26c46a74dca8f6118d69191a0dc5912f7">ae612ec</a>)</li>
</ul>
<h2>v2.9.0-rc.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v2.8.0...v2.9.0-rc.0">2.9.0-rc.0</a>
(2026-06-16)</h2>
<h3>Features</h3>
<ul>
<li>Add ServiceTier to UsageMetadata (<a
href="https://github.com/googleapis/js-genai/commit/1f44b04ec6572676e434c5adb4ee34f6c4be27aa">1f44b04</a>)</li>
<li>expose Computer Use API fields (<a
href="https://github.com/googleapis/js-genai/commit/da54ea4c5ac918b7e2039156ef08bf8825c3930d">da54ea4</a>)</li>
<li><strong>interaction-api:</strong> Add <code>model</code> field and
<code>CodeMenderAgentData</code> response message (<a
href="https://github.com/googleapis/js-genai/commit/688f3a03f7528160dd79d080d35694888288d4ec">688f3a0</a>)</li>
<li><strong>interaction-api:</strong> Add CodeMenderAgentConfig to the
Interactions API AgentInteraction proto (<a
href="https://github.com/googleapis/js-genai/commit/cb4da1f90dad452b0490628f47dd560659c21c67">cb4da1f</a>)</li>
<li><strong>interaction-api:</strong> Add presence_penalty,
frequency_penalty, and cached_content to models.proto (<a
href="https://github.com/googleapis/js-genai/commit/2740a4298ccb0bc5bad7b81afdd70affe52ebbe2">2740a42</a>)</li>
<li><strong>interaction-api:</strong> Rename usage to total_usage in
StreamMetadata. (<a
href="https://github.com/googleapis/js-genai/commit/b72db47154cfafd68d0d68aa73a1d73a6a95dd02">b72db47</a>)</li>
<li>introduce gaos sdk libs (<a
href="https://github.com/googleapis/js-genai/commit/f2cb0d29476aaf9c3f46735caa8da8f59f19b840">f2cb0d2</a>)</li>
<li>introduce gaos sdk libs (<a
href="https://github.com/googleapis/js-genai/commit/72ed90ce1c71cf2a75ba4b24f8608fc31badfe2a">72ed90c</a>)</li>
<li>introduce gaos sdk libs (<a
href="https://github.com/googleapis/js-genai/commit/bfac5d4945081f121e8023a67acbb21a0b5a7a2a">bfac5d4</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li>Configure a 2.9.0-rc.0 prerelease (<a
href="https://github.com/googleapis/js-genai/commit/ae612ec26c46a74dca8f6118d69191a0dc5912f7">ae612ec</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.8.0...v2.9.0">2.9.0</a>
(2026-06-19)</h2>
<h3>Features</h3>
<ul>
<li>Add audioOffset to VoiceActivity (<a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e">3bc7d42</a>)</li>
<li>Add interimInputTranscription to LiveServerContent (<a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e">3bc7d42</a>)</li>
<li>Add LanguageAuto, LanguageHints, and adaptationPhrases to
AudioTranscriptionConfig (<a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e">3bc7d42</a>)</li>
<li>Add ServiceTier to UsageMetadata (<a
href="https://github.com/googleapis/js-genai/commit/1f44b04ec6572676e434c5adb4ee34f6c4be27aa">1f44b04</a>)</li>
<li>expose Computer Use API fields (<a
href="https://github.com/googleapis/js-genai/commit/da54ea4c5ac918b7e2039156ef08bf8825c3930d">da54ea4</a>)</li>
<li><strong>interaction-api:</strong> Add presence_penalty,
frequency_penalty, and cached_content to models.proto (<a
href="https://github.com/googleapis/js-genai/commit/2740a4298ccb0bc5bad7b81afdd70affe52ebbe2">2740a42</a>)</li>
<li><strong>interaction-api:</strong> Rename usage to total_usage in
StreamMetadata. (<a
href="https://github.com/googleapis/js-genai/commit/b72db47154cfafd68d0d68aa73a1d73a6a95dd02">b72db47</a>)</li>
<li>introduce gaos sdk libs (<a
href="https://github.com/googleapis/js-genai/commit/bfac5d4945081f121e8023a67acbb21a0b5a7a2a">bfac5d4</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li>Configure 2.9.0 as the next release (<a
href="https://github.com/googleapis/js-genai/commit/e9968c637c410a2297ebd6f0d6050c572068687a">e9968c6</a>)</li>
<li>Configure a 2.9.0-rc.0 prerelease (<a
href="https://github.com/googleapis/js-genai/commit/ae612ec26c46a74dca8f6118d69191a0dc5912f7">ae612ec</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/d7913882960272b03f691da5ec31f55d0ce7f567"><code>d791388</code></a>
chore(main): release 2.9.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1703">#1703</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/1838c805ee97030eb98dbe94fdbc3806893d53af"><code>1838c80</code></a>
chore: internal update</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/ea65ccfe5801f7f7eb48de48359ec3f221db6d38"><code>ea65ccf</code></a>
chore: Remove experimental warnings for interactions</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/e9968c637c410a2297ebd6f0d6050c572068687a"><code>e9968c6</code></a>
chore: Configure 2.9.0 as the next release</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/b751112ef2bb8a2e798d47844571d956e56738e6"><code>b751112</code></a>
chore: internal change</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/78f16e5afa5b604c69e08eb7f3c3d3c07a25005d"><code>78f16e5</code></a>
chore: Fix google-contributor-stale workflow for GenAI SDKs</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/3bc7d423019bcc19c408ffcd21193b1f06677a3e"><code>3bc7d42</code></a>
feat: Add LanguageAuto, LanguageHints, and adaptationPhrases to
AudioTranscri...</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/f9dd963f9d661b0213a0185c1ce81cb677f54dea"><code>f9dd963</code></a>
chore(main): release 2.9.0-rc.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1653">#1653</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/ae612ec26c46a74dca8f6118d69191a0dc5912f7"><code>ae612ec</code></a>
chore: Configure a 2.9.0-rc.0 prerelease</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/9c79da79a14ae30a3eac5614e42bb21fdf09330e"><code>9c79da7</code></a>
chore: keep consistent with upstream config</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/js-genai/compare/v2.8.0...v2.9.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 25.9.3 to 26.0.0
<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 `rollup` from 4.62.0 to 4.62.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/releases">rollup's
releases</a>.</em></p>
<blockquote>
<h2>v4.62.2</h2>
<h2>4.62.2</h2>
<p><em>2026-06-19</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Do not add spurious side-effect-free external imports to chunks when
using minChunkSize (<a
href="https://redirect.github.com/rollup/rollup/issues/6411">#6411</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6411">#6411</a>:
Skip side-effect-free external imports when hoisting is disabled (<a
href="https://github.com/morgan-coded"><code>@​morgan-coded</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6416">#6416</a>:
refactor(rust/parser_ast): extract property AstConverter write buffer
kind logic to new method (<a
href="https://github.com/fabianbernhart"><code>@​fabianbernhart</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<h2>v4.62.1</h2>
<h2>4.62.1</h2>
<p><em>2026-06-19</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Preserve multipart file extensions when deconflicting output chunks
(<a
href="https://redirect.github.com/rollup/rollup/issues/6408">#6408</a>)</li>
<li>Fix an issue where getLogFilter would match additional logs (<a
href="https://redirect.github.com/rollup/rollup/issues/6415">#6415</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6393">#6393</a>:
Use import attributes for importing JSON (<a
href="https://github.com/selfisekai"><code>@​selfisekai</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6408">#6408</a>:
fix: insert conflict numbers before first extension in multi-extension
filenames (<a
href="https://github.com/LeSingh1"><code>@​LeSingh1</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6415">#6415</a>:
fix: advance value past wildcard prefix before suffix check in
getLogFilter (<a
href="https://github.com/JSap0914"><code>@​JSap0914</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6417">#6417</a>:
chore(deps): update msys2/setup-msys2 digest to 66cd2cc (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6418">#6418</a>:
fix(deps): update minor/patch updates (<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/6419">#6419</a>:
chore(deps): update dependency eslint-plugin-unicorn to v66 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6420">#6420</a>:
chore(deps): lock file maintenance minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
</blockquote>
</details>
<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.62.2</h2>
<p><em>2026-06-19</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Do not add spurious side-effect-free external imports to chunks when
using minChunkSize (<a
href="https://redirect.github.com/rollup/rollup/issues/6411">#6411</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6411">#6411</a>:
Skip side-effect-free external imports when hoisting is disabled (<a
href="https://github.com/morgan-coded"><code>@​morgan-coded</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6416">#6416</a>:
refactor(rust/parser_ast): extract property AstConverter write buffer
kind logic to new method (<a
href="https://github.com/fabianbernhart"><code>@​fabianbernhart</code></a>,
<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<h2>4.62.1</h2>
<p><em>2026-06-19</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Preserve multipart file extensions when deconflicting output chunks
(<a
href="https://redirect.github.com/rollup/rollup/issues/6408">#6408</a>)</li>
<li>Fix an issue where getLogFilter would match additional logs (<a
href="https://redirect.github.com/rollup/rollup/issues/6415">#6415</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6393">#6393</a>:
Use import attributes for importing JSON (<a
href="https://github.com/selfisekai"><code>@​selfisekai</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6408">#6408</a>:
fix: insert conflict numbers before first extension in multi-extension
filenames (<a
href="https://github.com/LeSingh1"><code>@​LeSingh1</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6415">#6415</a>:
fix: advance value past wildcard prefix before suffix check in
getLogFilter (<a
href="https://github.com/JSap0914"><code>@​JSap0914</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6417">#6417</a>:
chore(deps): update msys2/setup-msys2 digest to 66cd2cc (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6418">#6418</a>:
fix(deps): update minor/patch updates (<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/6419">#6419</a>:
chore(deps): update dependency eslint-plugin-unicorn to v66 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6420">#6420</a>:
chore(deps): lock file maintenance minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <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/8faa18777374582bb813d54ce3623f4acf1f9e0b"><code>8faa187</code></a>
4.62.2</li>
<li><a
href="https://github.com/rollup/rollup/commit/a38a795c481d589661abf0d5029162ccc4fb79e1"><code>a38a795</code></a>
refactor(rust/parser_ast): extract property AstConverter write buffer
kind lo...</li>
<li><a
href="https://github.com/rollup/rollup/commit/6cc5c316bb5c4497923005601c2742132ae117ff"><code>6cc5c31</code></a>
Skip side-effect-free external imports when hoisting is disabled (<a
href="https://redirect.github.com/rollup/rollup/issues/6411">#6411</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a"><code>caacf70</code></a>
4.62.1</li>
<li><a
href="https://github.com/rollup/rollup/commit/d1e8297966f5921c249da31c51f31d8cb92d3010"><code>d1e8297</code></a>
Add missing ignore</li>
<li><a
href="https://github.com/rollup/rollup/commit/1ba1fc23874c888605b7cbbf69e3d39f88536978"><code>1ba1fc2</code></a>
fix: insert conflict numbers before first extension in multi-extension
filena...</li>
<li><a
href="https://github.com/rollup/rollup/commit/532bd0ade7e796d6b5990c22fe0ac033464bb8aa"><code>532bd0a</code></a>
Use import attributes for importing JSON (<a
href="https://redirect.github.com/rollup/rollup/issues/6393">#6393</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/2cd8194aa81b2bafaad049b8de06aa7602eb81ac"><code>2cd8194</code></a>
fix: advance value past wildcard prefix before suffix check in
getLogFilter (...</li>
<li><a
href="https://github.com/rollup/rollup/commit/dfac590bd53405167d18c8a6ca6aefc83b854886"><code>dfac590</code></a>
fix(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6418">#6418</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/1d6db3d32587e7ff46f7fff8eabf18b85ef8ea50"><code>1d6db3d</code></a>
chore(deps): update dependency eslint-plugin-unicorn to v66 (<a
href="https://redirect.github.com/rollup/rollup/issues/6419">#6419</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rollup/rollup/compare/v4.62.0...v4.62.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `semver` from 7.8.4 to 7.8.5
<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.5</h2>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.8.4...v7.8.5">7.8.5</a>
(2026-06-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/9c8692ae05416e9dbe88d95ffe2b80e6964550fe"><code>9c8692a</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/878">#878</a>
include prereleases in tilde range lower bound with includePrerelease
(<a
href="https://redirect.github.com/npm/node-semver/issues/878">#878</a>)
(<a
href="https://github.com/chatman-media"><code>@​chatman-media</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.8.4...v7.8.5">7.8.5</a>
(2026-06-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/9c8692ae05416e9dbe88d95ffe2b80e6964550fe"><code>9c8692a</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/878">#878</a>
include prereleases in tilde range lower bound with includePrerelease
(<a
href="https://redirect.github.com/npm/node-semver/issues/878">#878</a>)
(<a
href="https://github.com/chatman-media"><code>@​chatman-media</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/6e05b7637396ac66522cff8731f07cfe0ef49a29"><code>6e05b76</code></a>
chore: release 7.8.5 (<a
href="https://redirect.github.com/npm/node-semver/issues/879">#879</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/9c8692ae05416e9dbe88d95ffe2b80e6964550fe"><code>9c8692a</code></a>
fix: include prereleases in tilde range lower bound with
includePrerelease (#...</li>
<li>See full diff in <a
href="https://github.com/npm/node-semver/compare/v7.8.4...v7.8.5">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-06-22 11:09:55 +00:00
dependabot[bot] 52cf8c4008 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1646286 to 1.0.1649421 in the bundled-devtools group (#2238)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1646286 to 1.0.1649421
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/937b4e9d3e3adfa7a8f578d8d5e272a097aeb0f3"><code>937b4e9</code></a>
Fix bug with tab completion for traditional suggestions</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a4f16eb8b21990b0a3922bd62a903290b8e890c0"><code>a4f16eb</code></a>
Styles: Cancel pending AI completions on deletion and cap context
size</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8e76e6d399b282eac12238ed7c5ba4b56b40e025"><code>8e76e6d</code></a>
[storage-agent] Show disabled hover icon for httpOnly cookies</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/676496ab189655353cb10f877db7ada0414c876b"><code>676496a</code></a>
[storage-agent] Selecting the sidebar should update the storage
flavor</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/f9fb5d0cdb90d6e2b296d94dd5b671ba65b7ab38"><code>f9fb5d0</code></a>
[storage-agent] Add 'Debug with Ai' context menu for cookie table</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/902eec2279db1a6cca0284c915ec2c183d82238f"><code>902eec2</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c017b5da7c7c3680596e8923a7fc8c182e72fcc9"><code>c017b5d</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/0070b1727b874e80035f1dab8636b5051304ee41"><code>0070b17</code></a>
Link variable names in style queries in CSS if expressions</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/36081cd6f9571cf1d1e6ab49fc4ce6bb9e0b7934"><code>36081cd</code></a>
Fix presubmit regex to accept vendor prefixed property names</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/cf5900130a96cd862b2f7a641ef43d628aa4fbe1"><code>cf59001</code></a>
Update DevTools DEPS (trusted)</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1646286...v1.0.1649421">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.1646286&new-version=1.0.1649421)](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-06-22 09:12:44 +00:00
dependabot[bot] cbbac02ca5 chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the all group (#2239)
Bumps the all group with 1 update:
[actions/checkout](https://github.com/actions/checkout).

Updates `actions/checkout` from 6.0.3 to 7.0.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>block checking out fork pr for pull_request_target and workflow_run
by <a href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li>
<li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the
minor-actions-dependencies group across 1 directory by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li>
<li>Bump flatted from 3.3.1 to 3.4.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li>
<li>Bump js-yaml from 4.1.0 to 4.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li>
<li>Bump <code>@​actions/core</code> and
<code>@​actions/tool-cache</code> and Remove uuid by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li>
<li>upgrade module to esm and update dependencies by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li>
<li>Bump the minor-npm-dependencies group across 1 directory with 3
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li>
<li>getting ready for checkout v7 release by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2464">actions/checkout#2464</a></li>
<li>update error wording by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2467">actions/checkout#2467</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v6.0.3...v7.0.0">https://github.com/actions/checkout/compare/v6.0.3...v7.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v7.0.0</h2>
<ul>
<li>Block checking out fork PR for pull_request_target and workflow_run
by <a href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li>
<li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the
minor-actions-dependencies group across 1 directory by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li>
<li>Bump flatted from 3.3.1 to 3.4.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li>
<li>Bump js-yaml from 4.1.0 to 4.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li>
<li>Bump <code>@​actions/core</code> and
<code>@​actions/tool-cache</code> and Remove uuid by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li>
<li>upgrade module to esm and update dependencies by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li>
<li>Bump the minor-npm-dependencies group across 1 directory with 3
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li>
</ul>
<h2>v6.0.3</h2>
<ul>
<li>Fix checkout init for SHA-256 repositories by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li>
<li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li>
</ul>
<h2>v6.0.2</h2>
<ul>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
<h2>v6.0.1</h2>
<ul>
<li>Add worktree support for persist-credentials includeIf by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li>
</ul>
<h2>v6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>v5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>v5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>v4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>v4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"><code>9c091bb</code></a>
update error wording (<a
href="https://redirect.github.com/actions/checkout/issues/2467">#2467</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/1044a6dea927916f2c38ba5aeffbc0a847b1221a"><code>1044a6d</code></a>
getting ready for checkout v7 release (<a
href="https://redirect.github.com/actions/checkout/issues/2464">#2464</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/f0282184c7ce73ab54c7e4ab5a617122602e575f"><code>f028218</code></a>
Bump the minor-npm-dependencies group across 1 directory with 3 updates
(<a
href="https://redirect.github.com/actions/checkout/issues/2462">#2462</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/d914b262ffc244530a203ab40decab34c3abf34d"><code>d914b26</code></a>
upgrade module to esm and update dependencies (<a
href="https://redirect.github.com/actions/checkout/issues/2463">#2463</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/537c7ef99cef6e5ddb5e7ff5d16d14510503801d"><code>537c7ef</code></a>
Bump <code>@​actions/core</code> and <code>@​actions/tool-cache</code>
and Remove uuid (<a
href="https://redirect.github.com/actions/checkout/issues/2459">#2459</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/130a169078a413d3a5246a393625e8e742f387f6"><code>130a169</code></a>
Bump js-yaml from 4.1.0 to 4.2.0 (<a
href="https://redirect.github.com/actions/checkout/issues/2461">#2461</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/7d09575332117a40b46e5e020664df234cd416f3"><code>7d09575</code></a>
Bump flatted from 3.3.1 to 3.4.2 (<a
href="https://redirect.github.com/actions/checkout/issues/2460">#2460</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/0f9f3aa320cb53abeb534aeb54048075d9697a0e"><code>0f9f3aa</code></a>
Bump actions/publish-immutable-action (<a
href="https://redirect.github.com/actions/checkout/issues/2458">#2458</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/f9e715a95fcd1f9253f77dd28f11e88d2d6460c7"><code>f9e715a</code></a>
block checking out fork pr for pull_request_target and workflow_run (<a
href="https://redirect.github.com/actions/checkout/issues/2454">#2454</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=6.0.3&new-version=7.0.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-06-22 09:12:26 +00:00
Alex Rudenko 38dd346805 docs: fix showing defaults in configuration (#2234)
closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2233
2026-06-19 09:48:30 +00:00
Rayan Salhab 6225ffbaf1 fix: hide Windows update check consoles (#2231)
## Summary

Fixes #2230.

- Sets `windowsHide: true` on the detached update-check process so
Windows does not flash a console window.
- Also hides the `npm config get registry` subprocess used by the
updater helper.
- Covers the update-check spawn options in the existing tests.

## Verification

- `NODE_OPTIONS=--max-old-space-size=4096 npm run build`
- `npm run test:no-build -- tests/check-for-updates.test.ts`
- `NODE_OPTIONS=--max-old-space-size=4096 npx eslint
src/utils/check-for-updates.ts src/bin/check-latest-version.ts
tests/check-for-updates.test.ts`
- `npx prettier --check src/utils/check-for-updates.ts
src/bin/check-latest-version.ts tests/check-for-updates.test.ts`
- `git diff --check`

Note: plain `npm run build` and full-repo `npm run check-format` hit the
local Node heap limit in this runner; the same build passed with the
heap limit raised, and touched-file lint/format checks passed.

Co-authored-by: cyphercodes <cyphercodes@users.noreply.github.com>
2026-06-19 05:31:01 +00:00
nyxst4ck 5a9d6af743 fix(network): keep redirect chain order consistent between text and JSON (#2221)
## Problem

`get_network_request` returns, from the **same call**, both a
human-readable
text block (`toStringDetailed()`) and a
`structuredContent.networkRequest`
object (`toJSONDetailed()`) — emitted together in `McpResponse.ts`. For
a
request that went through HTTP redirects, the redirect chain comes out
in
**opposite orders** in the two representations:

- `toJSONDetailed()` (`NetworkFormatter.ts`) reverses `redirectChain()`
once →
  newest→oldest in the JSON.
- the text formatter then reverses it **a second time** → oldest→newest
in the
  text.

Because each path calls `redirectChain()` separately and Puppeteer
returns a
fresh copy on every call (`HTTPRequest#redirectChain()` does
`this._redirectChain.slice()`), the two reverses operate on different
arrays and
don't cancel. So a consumer reading the text and a consumer parsing the
structured JSON from the same response see contradictory redirect
orders.

## Solution

Drop the redundant `.reverse()` in the text formatter so the rendered
text uses
the order already produced by `toJSONDetailed()`. Both representations
are now
consistent (newest→oldest), and `structuredContent` is unchanged.

## Why the existing tests didn't catch it

- The existing "handles redirect chain" test uses a **single-element**
chain,
  where reversing is a no-op.
- `getMockRequest().redirectChain()` returned the **same array
reference** on
every call, unlike real Puppeteer — so the two reverses accidentally
agreed in
tests. This PR makes the mock return a fresh copy per call (matching
Puppeteer)
and adds a regression test with a multi-element chain that asserts the
text and
  JSON orders match.

## Testing

- `npm test` for the formatter suite passes. New test
`renders the redirect chain in the same order in text and JSON` is
**red**
before the fix (text `[first, second]` vs JSON `[second, first]`) and
**green**
  after, with no change to existing snapshots.
- `npm run typecheck` and Prettier/ESLint are clean.

No existing issue tracked this; found via code inspection and confirmed
empirically.
2026-06-18 17:18:14 +00:00
dependabot[bot] 789f5f8e53 chore(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 (#2217)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md">js-yaml's
changelog</a>.</em></p>
<blockquote>
<h2>[4.2.0] - 2026-06-01</h2>
<h3>Added</h3>
<ul>
<li>Added <code>docs/safety.md</code> with notes about processing
untrusted YAML.</li>
<li>Added <code>maxDepth</code> (100) loader option. Not a problem, but
gives a better
exception instead of RangeError on stack overflow.</li>
<li>Added <code>maxMergeSeqLength</code> (20) loader option. Not a
problem after <code>merge</code> fix,
but an additional restriction for safety.</li>
<li>Added sourcemaps to <code>dist/</code> builds.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Stop resolving numbers with underscores as numeric scalars, <a
href="https://redirect.github.com/nodeca/js-yaml/issues/627">#627</a>.</li>
<li>Switched dev toolchains to Vite / neostandard.</li>
<li>Updated demo.</li>
<li>Reorganized tests.</li>
<li><code>dist/</code> files are no longer kept in the repository.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix parsing of properties on the first implicit block mapping key,
<a
href="https://redirect.github.com/nodeca/js-yaml/issues/62">#62</a>.</li>
<li>Fix trailing whitespace handling when folding flow scalar lines, <a
href="https://redirect.github.com/nodeca/js-yaml/issues/307">#307</a>.</li>
<li>Reject top-level block scalars without content indentation, <a
href="https://redirect.github.com/nodeca/js-yaml/issues/280">#280</a>.</li>
<li>Ensure numbers survive round-trip, <a
href="https://redirect.github.com/nodeca/js-yaml/issues/737">#737</a>.</li>
<li>Fix test coverage for issue <a
href="https://redirect.github.com/nodeca/js-yaml/issues/221">#221</a>.</li>
<li>Fix flow scalar trailing whitespace folding, <a
href="https://redirect.github.com/nodeca/js-yaml/issues/307">#307</a>.</li>
<li>Fix digits in YAML named tag handles.</li>
</ul>
<h3>Security</h3>
<ul>
<li>Fix potential DoS via quadratic complexity in merge - deduplicate
repeated
elements (makes sense for malformed files &gt; 10K).</li>
</ul>
<h2>[3.14.2] - 2025-11-15</h2>
<h3>Security</h3>
<ul>
<li>Backported v4.1.1 fix to v3</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/nodeca/js-yaml/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=js-yaml&package-manager=npm_and_yarn&previous-version=4.1.1&new-version=4.2.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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ChromeDevTools/chrome-devtools-mcp/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-18 16:41:41 +00:00
dependabot[bot] ef8f378782 chore(deps-dev): bump the dev-dependencies group across 1 directory with 7 updates (#2219)
Bumps the dev-dependencies group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `25.9.2` | `25.9.3` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.61.0` | `8.61.1` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.61.0` | `8.61.1` |
| [lighthouse](https://github.com/GoogleChrome/lighthouse) | `13.3.0` |
`13.4.0` |
| [rollup](https://github.com/rollup/rollup) | `4.61.1` | `4.62.0` |
| [semver](https://github.com/npm/node-semver) | `7.8.3` | `7.8.4` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.61.0` | `8.61.1` |


Updates `@types/node` from 25.9.2 to 25.9.3
<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 `@typescript-eslint/eslint-plugin` from 8.61.0 to 8.61.1
<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.61.1</h2>
<h2>8.61.1 (2026-06-15)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [consistent-indexed-object-style] do
not remove comments when fixing (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12396">#12396</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/10577">#10577</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive for template literal expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12281">#12281</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] wrap
object literal in parens when removing TSTypeAssertion in arrow body (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12394">#12394</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12393">#12393</a>)</li>
<li><strong>eslint-plugin:</strong>
[no-unnecessary-boolean-literal-compare] fix precedence bug in autofix
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12413">#12413</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-template-expression]
respect ECMAScript line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12388">#12388</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Anas <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Deftera <a
href="https://github.com/Deftera186"><code>@​Deftera186</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
<li>Sarath Francis <a
href="https://github.com/sarathfrancis90"><code>@​sarathfrancis90</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
</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.61.1 (2026-06-15)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-unnecessary-template-expression]
respect ECMAScript line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12388">#12388</a>)</li>
<li><strong>eslint-plugin:</strong>
[no-unnecessary-boolean-literal-compare] fix precedence bug in autofix
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12413">#12413</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] wrap
object literal in parens when removing TSTypeAssertion in arrow body (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12394">#12394</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12393">#12393</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive for template literal expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12281">#12281</a>)</li>
<li><strong>eslint-plugin:</strong> [consistent-indexed-object-style] do
not remove comments when fixing (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12396">#12396</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/10577">#10577</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Anas <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Deftera <a
href="https://github.com/Deftera186"><code>@​Deftera186</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
<li>Sarath Francis <a
href="https://github.com/sarathfrancis90"><code>@​sarathfrancis90</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/aaad7187b529c4b6ff8088ffd7e948c69c2763b6"><code>aaad718</code></a>
chore(release): publish 8.61.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/0cc8f3559591221400bed1e8bf8debce5edca4c4"><code>0cc8f35</code></a>
fix(eslint-plugin): [no-unnecessary-template-expression] respect
ECMAScript l...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/6f269e21e3d65388886ee17c5e568d4c7e55bb24"><code>6f269e2</code></a>
fix(eslint-plugin): [no-unnecessary-boolean-literal-compare] fix
precedence b...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/1b5d5430831e0baacca248027bf840260d4e597b"><code>1b5d543</code></a>
fix(eslint-plugin): [no-unnecessary-type-assertion] wrap object literal
in pa...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/565e6668b2c69b02a74d8ca27c41633f20f4a699"><code>565e666</code></a>
fix(eslint-plugin): [no-unnecessary-type-assertion] avoid false positive
for ...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/204eabc2949c59802b4d7057d9e16874fa19db6f"><code>204eabc</code></a>
fix(eslint-plugin): [consistent-indexed-object-style] do not remove
comments ...</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.1/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.61.0 to 8.61.1
<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.61.1</h2>
<h2>8.61.1 (2026-06-15)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [consistent-indexed-object-style] do
not remove comments when fixing (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12396">#12396</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/10577">#10577</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive for template literal expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12281">#12281</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] wrap
object literal in parens when removing TSTypeAssertion in arrow body (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12394">#12394</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12393">#12393</a>)</li>
<li><strong>eslint-plugin:</strong>
[no-unnecessary-boolean-literal-compare] fix precedence bug in autofix
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12413">#12413</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-template-expression]
respect ECMAScript line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12388">#12388</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Anas <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Deftera <a
href="https://github.com/Deftera186"><code>@​Deftera186</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
<li>Sarath Francis <a
href="https://github.com/sarathfrancis90"><code>@​sarathfrancis90</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
</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.61.1 (2026-06-15)</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.61.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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/aaad7187b529c4b6ff8088ffd7e948c69c2763b6"><code>aaad718</code></a>
chore(release): publish 8.61.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.1/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `lighthouse` from 13.3.0 to 13.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/GoogleChrome/lighthouse/releases">lighthouse's
releases</a>.</em></p>
<blockquote>
<h2>v13.4.0</h2>
<p><a
href="https://github.com/GoogleChrome/lighthouse/compare/v13.3.0...v13.4.0">Full
Changelog</a></p>
<p>We expect this release to ship in the DevTools of <a
href="https://chromiumdash.appspot.com/schedule">Chrome 151</a>, and to
PageSpeed Insights within 2 weeks.</p>
<h2>New contributors</h2>
<p>Thanks to our new contributors 👽🐷🐰🐯🐻!</p>
<ul>
<li>Thomas Steiner <a
href="https://github.com/tomayac"><code>@​tomayac</code></a></li>
<li>KS Nithin <a
href="https://github.com/Nithin0620"><code>@​Nithin0620</code></a></li>
<li>Emanuele <a
href="https://github.com/emazack"><code>@​emazack</code></a></li>
<li>Kirtikumar Anandrao Ramchandani <a
href="https://github.com/KirtiRamchandani"><code>@​KirtiRamchandani</code></a></li>
<li>Rin <a
href="https://github.com/RinZ27"><code>@​RinZ27</code></a></li>
<li>Michael Hablich <a
href="https://github.com/natorion"><code>@​natorion</code></a></li>
</ul>
<h2>Core</h2>
<ul>
<li>canonical: improve validation for invalid URLs (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/16765">#16765</a>)</li>
<li>llms-txt: allow leading whitespace for header check (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17057">#17057</a>)</li>
<li>geolocation-on-start: mention <code>geolocation</code> element (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/16835">#16835</a>)</li>
<li>add public Lighthouse types entrypoint (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17028">#17028</a>)</li>
<li>match scripts to network requests using frameId (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/16774">#16774</a>)</li>
<li>config: import LH types (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17048">#17048</a>)</li>
<li>driver: add ExecutionContext.evaluateOnObject (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17050">#17050</a>)</li>
<li>driver: check if usage data exists before using (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17033">#17033</a>)</li>
</ul>
<h2>Report</h2>
<ul>
<li>fix performance gauge label, improve load animation (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17045">#17045</a>)</li>
<li>decouple link creation from link details rendering (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17049">#17049</a>)</li>
<li>viewer: persist dark mode when when changing langauge (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17063">#17063</a>)</li>
</ul>
<h2>Deps</h2>
<ul>
<li>upgrade deps (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17070">#17070</a>)</li>
<li>upgrade typescript to 6.0.3 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17060">#17060</a>)</li>
<li>upgrade terser to 5.48.0 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17059">#17059</a>)</li>
<li>upgrade esbuild to 0.28.0 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17058">#17058</a>)</li>
<li>upgrade trace_engine to 0.0.65 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17046">#17046</a>)</li>
<li>upgrade puppeteer to 25.0.2 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17019">#17019</a>)</li>
</ul>
<h2>Clients</h2>
<ul>
<li>viewer: prevent toast showing on load (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17069">#17069</a>)</li>
<li>viewer: clear github auth token on 401 error (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17064">#17064</a>)</li>
<li>viewer: disable agentic-browsing in PSI api call (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17041">#17041</a>)</li>
</ul>
<h2>I18n</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/GoogleChrome/lighthouse/blob/main/changelog.md">lighthouse's
changelog</a>.</em></p>
<blockquote>
<h1>13.4.0 (2026-06-09)</h1>
<p><a
href="https://github.com/GoogleChrome/lighthouse/compare/v13.3.0...v13.4.0">Full
Changelog</a></p>
<p>We expect this release to ship in the DevTools of <a
href="https://chromiumdash.appspot.com/schedule">Chrome 151</a>, and to
PageSpeed Insights within 2 weeks.</p>
<h2>New contributors</h2>
<p>Thanks to our new contributors 👽🐷🐰🐯🐻!</p>
<ul>
<li>Thomas Steiner <a
href="https://github.com/tomayac"><code>@​tomayac</code></a></li>
<li>KS Nithin <a
href="https://github.com/Nithin0620"><code>@​Nithin0620</code></a></li>
<li>Emanuele <a
href="https://github.com/emazack"><code>@​emazack</code></a></li>
<li>Kirtikumar Anandrao Ramchandani <a
href="https://github.com/KirtiRamchandani"><code>@​KirtiRamchandani</code></a></li>
<li>Rin <a
href="https://github.com/RinZ27"><code>@​RinZ27</code></a></li>
<li>Michael Hablich <a
href="https://github.com/natorion"><code>@​natorion</code></a></li>
</ul>
<h2>Core</h2>
<ul>
<li>canonical: improve validation for invalid URLs (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/16765">#16765</a>)</li>
<li>llms-txt: allow leading whitespace for header check (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17057">#17057</a>)</li>
<li>geolocation-on-start: mention <code>geolocation</code> element (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/16835">#16835</a>)</li>
<li>add public Lighthouse types entrypoint (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17028">#17028</a>)</li>
<li>match scripts to network requests using frameId (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/16774">#16774</a>)</li>
<li>config: import LH types (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17048">#17048</a>)</li>
<li>driver: add ExecutionContext.evaluateOnObject (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17050">#17050</a>)</li>
<li>driver: check if usage data exists before using (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17033">#17033</a>)</li>
</ul>
<h2>Report</h2>
<ul>
<li>fix performance gauge label, improve load animation (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17045">#17045</a>)</li>
<li>decouple link creation from link details rendering (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17049">#17049</a>)</li>
<li>viewer: persist dark mode when when changing langauge (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17063">#17063</a>)</li>
</ul>
<h2>Deps</h2>
<ul>
<li>upgrade deps (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17070">#17070</a>)</li>
<li>upgrade typescript to 6.0.3 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17060">#17060</a>)</li>
<li>upgrade terser to 5.48.0 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17059">#17059</a>)</li>
<li>upgrade esbuild to 0.28.0 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17058">#17058</a>)</li>
<li>upgrade trace_engine to 0.0.65 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17046">#17046</a>)</li>
<li>upgrade puppeteer to 25.0.2 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17019">#17019</a>)</li>
</ul>
<h2>Clients</h2>
<ul>
<li>viewer: prevent toast showing on load (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17069">#17069</a>)</li>
<li>viewer: clear github auth token on 401 error (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17064">#17064</a>)</li>
<li>viewer: disable agentic-browsing in PSI api call (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/pull/17041">#17041</a>)</li>
</ul>
<h2>I18n</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/cb79bea56c4668fd7a338f2f421f87754ee927a2"><code>cb79bea</code></a>
v13.4.0 (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17073">#17073</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/c0ac986843022ab015a0d6e7dbe8a69166ca7358"><code>c0ac986</code></a>
i18n: import (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17071">#17071</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/6894326a9ae5764e92d074a1748603b56f9668fd"><code>6894326</code></a>
tests: exclude origin-isolation-coop-present smoke test (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17072">#17072</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/6c9c6ae9a3525be2f86932ea8e764a6affe5fba1"><code>6c9c6ae</code></a>
deps: upgrade deps (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17070">#17070</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/2a5241417d3e35ecb323a2388637b06ba27dc619"><code>2a52414</code></a>
clients(viewer): prevent toast showing on load (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17069">#17069</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/3a52f712b8b43ad40a4f7ded5c538ae7e112eb20"><code>3a52f71</code></a>
core: match scripts to network requests using frameId (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/16774">#16774</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/85c711da09022748ec991ccfb6e019a0f50d7d7f"><code>85c711d</code></a>
core(geolocation-on-start): mention <code>geolocation</code> element (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/16835">#16835</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/5bbddf0beab37f2bb75bb185d7ed293afac541fc"><code>5bbddf0</code></a>
core(llms-txt): allow leading whitespace for header check (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17057">#17057</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/eb3d98ad56d93f271d3a674d20433d83b429c448"><code>eb3d98a</code></a>
clients(viewer): clear github auth token on 401 error (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17064">#17064</a>)</li>
<li><a
href="https://github.com/GoogleChrome/lighthouse/commit/19b38e536e49195f393775d9b6145839465eab1c"><code>19b38e5</code></a>
report(viewer): persist dark mode when when changing langauge (<a
href="https://redirect.github.com/GoogleChrome/lighthouse/issues/17063">#17063</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/GoogleChrome/lighthouse/compare/v13.3.0...v13.4.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `rollup` from 4.61.1 to 4.62.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/releases">rollup's
releases</a>.</em></p>
<blockquote>
<h2>v4.62.0</h2>
<h2>4.62.0</h2>
<p><em>2026-06-13</em></p>
<h3>Features</h3>
<ul>
<li>Ensure that shared dependencies between manual chunks and entry
points receive a serparate chunk (<a
href="https://redirect.github.com/rollup/rollup/issues/6374">#6374</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6374">#6374</a>:
Extract the static dependencies imported by manual chunks into separate
chunks (<a
href="https://github.com/TrickyPi"><code>@​TrickyPi</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6405">#6405</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/6406">#6406</a>:
chore(deps): pin dependency concurrently to v9 (<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/6407">#6407</a>:
chore(deps): lock file maintenance 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/6409">#6409</a>:
chore(deps): update minor/patch updates to v6.2.0 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6410">#6410</a>:
chore(deps): lock file maintenance 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/6412">#6412</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/6413">#6413</a>:
chore(deps): update dependency eslint-plugin-unicorn to v65 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6414">#6414</a>:
chore(deps): lock file maintenance minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
</blockquote>
</details>
<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.62.0</h2>
<p><em>2026-06-13</em></p>
<h3>Features</h3>
<ul>
<li>Ensure that shared dependencies between manual chunks and entry
points receive a serparate chunk (<a
href="https://redirect.github.com/rollup/rollup/issues/6374">#6374</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6374">#6374</a>:
Extract the static dependencies imported by manual chunks into separate
chunks (<a
href="https://github.com/TrickyPi"><code>@​TrickyPi</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6405">#6405</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/6406">#6406</a>:
chore(deps): pin dependency concurrently to v9 (<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/6407">#6407</a>:
chore(deps): lock file maintenance 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/6409">#6409</a>:
chore(deps): update minor/patch updates to v6.2.0 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6410">#6410</a>:
chore(deps): lock file maintenance 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/6412">#6412</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/6413">#6413</a>:
chore(deps): update dependency eslint-plugin-unicorn to v65 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6414">#6414</a>:
chore(deps): lock file maintenance minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <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/5e0066d92defee0097f10fb814e63f60b2a7b612"><code>5e0066d</code></a>
4.62.0</li>
<li><a
href="https://github.com/rollup/rollup/commit/93e85fc0919634aa8ba84bbd8799d1b423b0b985"><code>93e85fc</code></a>
chore(deps): update dependency eslint-plugin-unicorn to v65 (<a
href="https://redirect.github.com/rollup/rollup/issues/6413">#6413</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/5c9ef2e6874fa6f77fcf0c2948bd3b1089e02ca4"><code>5c9ef2e</code></a>
fix(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6412">#6412</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/18654d8fb4d5fd67008018cc47c2ad0810413325"><code>18654d8</code></a>
chore(deps): lock file maintenance minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6414">#6414</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/d96ed9562b3ce2dee262eb130a752de93c9fe961"><code>d96ed95</code></a>
Extract the static dependencies imported by manual chunks into separate
chunk...</li>
<li><a
href="https://github.com/rollup/rollup/commit/126e14197838b806b0c1244ad0ef6fc0447b730a"><code>126e141</code></a>
chore(deps): pin dependency concurrently to v9 (<a
href="https://redirect.github.com/rollup/rollup/issues/6406">#6406</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/f2f58c4afe4b5879063612791f12c312c6ac56f5"><code>f2f58c4</code></a>
chore(deps): lock file maintenance minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6410">#6410</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/5a15062948f931a909e56bcefea205f4c4e53d3d"><code>5a15062</code></a>
chore(deps): update minor/patch updates to v6.2.0 (<a
href="https://redirect.github.com/rollup/rollup/issues/6409">#6409</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/d02f03a397dee8930137c9d01b0d3981abb2a6bb"><code>d02f03a</code></a>
chore(deps): lock file maintenance minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6407">#6407</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/844671cda6732cf2e45cfc3eabc9790ff03fbcd4"><code>844671c</code></a>
fix(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6405">#6405</a>)</li>
<li>See full diff in <a
href="https://github.com/rollup/rollup/compare/v4.61.1...v4.62.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `semver` from 7.8.3 to 7.8.4
<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.4</h2>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.8.3...v7.8.4">7.8.4</a>
(2026-06-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/e583226b165edd6530502cf731eda334527af6fe"><code>e583226</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/874">#874</a>
reject numeric segments after x-ranges (<a
href="https://github.com/pupuking723"><code>@​pupuking723</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.8.3...v7.8.4">7.8.4</a>
(2026-06-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/e583226b165edd6530502cf731eda334527af6fe"><code>e583226</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/874">#874</a>
reject numeric segments after x-ranges (<a
href="https://github.com/pupuking723"><code>@​pupuking723</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/8640bd68f1653e504b53e9be4030eccdfe4c307a"><code>8640bd6</code></a>
chore: release 7.8.4 (<a
href="https://redirect.github.com/npm/node-semver/issues/875">#875</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/e583226b165edd6530502cf731eda334527af6fe"><code>e583226</code></a>
fix: reject numeric segments after x-ranges</li>
<li>See full diff in <a
href="https://github.com/npm/node-semver/compare/v7.8.3...v7.8.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `typescript-eslint` from 8.61.0 to 8.61.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.61.1</h2>
<h2>8.61.1 (2026-06-15)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [consistent-indexed-object-style] do
not remove comments when fixing (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12396">#12396</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/10577">#10577</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion]
avoid false positive for template literal expressions (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12281">#12281</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] wrap
object literal in parens when removing TSTypeAssertion in arrow body (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12394">#12394</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12393">#12393</a>)</li>
<li><strong>eslint-plugin:</strong>
[no-unnecessary-boolean-literal-compare] fix precedence bug in autofix
(<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12413">#12413</a>)</li>
<li><strong>eslint-plugin:</strong> [no-unnecessary-template-expression]
respect ECMAScript line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12388">#12388</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Anas <a
href="https://github.com/anasm266"><code>@​anasm266</code></a></li>
<li>Deftera <a
href="https://github.com/Deftera186"><code>@​Deftera186</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
<li>Sarath Francis <a
href="https://github.com/sarathfrancis90"><code>@​sarathfrancis90</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
</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.61.1 (2026-06-15)</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.61.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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/aaad7187b529c4b6ff8088ffd7e948c69c2763b6"><code>aaad718</code></a>
chore(release): publish 8.61.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.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: Nicholas Roscino <nroscino@google.com>
2026-06-18 16:38:53 +00:00
dependabot[bot] 920a3f582f chore(deps): bump hono from 4.12.23 to 4.12.26 (#2226)
Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.26.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/honojs/hono/releases">hono's
releases</a>.</em></p>
<blockquote>
<h2>v4.12.26</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(lambda-edge): satisfy Deno lib types for Content-Length body
encoding by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5013">honojs/hono#5013</a></li>
<li>ci: publish to npm from CI with OIDC trusted publishing by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5028">honojs/hono#5028</a></li>
<li>chore: remove unused devcontainer and gitpod configs by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5029">honojs/hono#5029</a></li>
<li>chore: replace arg and glob with Bun native APIs in build script by
<a href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/5030">honojs/hono#5030</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.25...v4.12.26">https://github.com/honojs/hono/compare/v4.12.25...v4.12.26</a></p>
<h2>v4.12.25</h2>
<h2>Security fixes</h2>
<p>This release includes fixes for the following security issues:</p>
<h3>CORS Middleware reflects any Origin with credentials when
<code>origin</code> defaults to the wildcard</h3>
<p>Affects: <code>hono/cors</code>. Fixes the wildcard origin reflecting
the request <code>Origin</code> and sending
<code>Access-Control-Allow-Credentials: true</code> when
<code>credentials: true</code> is set without an explicit
<code>origin</code>, where any site a logged-in user visited could make
credentialed cross-origin requests and read responses from
cookie-authenticated endpoints. GHSA-88fw-hqm2-52qc</p>
<h3>Body Limit Middleware can be bypassed on AWS Lambda by understating
<code>Content-Length</code></h3>
<p>Affects: <code>hono/body-limit</code> on AWS Lambda
(<code>hono/aws-lambda</code>, <code>hono/lambda-edge</code>). Fixes the
request being built with the client-declared <code>Content-Length</code>
while the body is delivered fully buffered, where a client could declare
a small <code>Content-Length</code> with a much larger body and slip
past the configured size limit. GHSA-rv63-4mwf-qqc2</p>
<h3>Path traversal in <code>serve-static</code> on Windows via encoded
backslash (<code>%5C</code>)</h3>
<p>Affects: <code>serveStatic</code> on Windows (Node, Bun, Deno
adapters). Fixes the path guard allowing a lone backslash, where an
encoded backslash (<code>%5C</code>) decoded to <code>\</code> was
treated as a separator by the Windows path resolver, letting a single
URL segment escape into a middleware-guarded subtree.
GHSA-wwfh-h76j-fc44</p>
<h3>AWS Lambda adapter merges multiple <code>Set-Cookie</code> headers
into one value, dropping cookies on ALB single-header and Lattice</h3>
<p>Affects: <code>hono/aws-lambda</code>. Fixes multiple
<code>Set-Cookie</code> response headers being joined into one
comma-separated value for ALB single-header responses and VPC Lattice
v2, where the value could not be split back into individual cookies and
clients silently dropped or misparsed them. GHSA-j6c9-x7qj-28xf</p>
<h3>Lambda@Edge adapter keeps only the last value of a repeated request
header, dropping the rest</h3>
<p>Affects: <code>hono/lambda-edge</code>. Fixes repeated request
headers being written with overwrite instead of append, where only the
last value of a header such as <code>X-Forwarded-For</code> reached the
application and the remaining values were silently dropped.
GHSA-wgpf-jwqj-8h8p</p>
<h2>v4.12.24</h2>
<h2>What's Changed</h2>
<ul>
<li>docs(contribution): simplifyAI Usage Policy by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4972">honojs/hono#4972</a></li>
<li>chore: remove <code>@​types/glob</code> by <a
href="https://github.com/rtritto"><code>@​rtritto</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4978">honojs/hono#4978</a></li>
<li>fix(bearer-auth): mention verifyToken in missing-options error
message by <a
href="https://github.com/tan7vir"><code>@​tan7vir</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4987">honojs/hono#4987</a></li>
<li>refactor(language): Test/improve tests on languages middleware by <a
href="https://github.com/iNeoO"><code>@​iNeoO</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4980">honojs/hono#4980</a></li>
<li>fix(utils/ipaddr): expand &quot;::&quot; to eight zero groups by <a
href="https://github.com/youcefzemmar"><code>@​youcefzemmar</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4973">honojs/hono#4973</a></li>
<li>fix: clean up config files trailing comma, stale excludes,
typesVersions gaps, jsr paths by <a
href="https://github.com/Mohammad-Faiz-Cloud-Engineer"><code>@​Mohammad-Faiz-Cloud-Engineer</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4982">honojs/hono#4982</a></li>
<li>refactor(timing): Test/add test for middleware timing by <a
href="https://github.com/iNeoO"><code>@​iNeoO</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4991">honojs/hono#4991</a></li>
<li>fix(utils/ipaddr): render the unspecified address binary as
&quot;::&quot; by <a
href="https://github.com/sarathfrancis90"><code>@​sarathfrancis90</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4998">honojs/hono#4998</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.23...v4.12.24">https://github.com/honojs/hono/compare/v4.12.23...v4.12.24</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/honojs/hono/commit/27b7992f821bc10c2f62ad0ad86bd94eea251862"><code>27b7992</code></a>
4.12.26</li>
<li><a
href="https://github.com/honojs/hono/commit/d29982cc40c3babb417db625ab0671d982398646"><code>d29982c</code></a>
chore: replace arg and glob with Bun native APIs in build script</li>
<li><a
href="https://github.com/honojs/hono/commit/16215d5f509099b81b00d60a2777bc6b5ac06827"><code>16215d5</code></a>
chore: remove unused devcontainer and gitpod configs (<a
href="https://redirect.github.com/honojs/hono/issues/5029">#5029</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/c574cf16403b42a17917506bcba1916d32d3094f"><code>c574cf1</code></a>
ci: publish to npm from CI with OIDC trusted publishing (<a
href="https://redirect.github.com/honojs/hono/issues/5028">#5028</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/e50df01453e71b071c3e6136b161b160b9fdf916"><code>e50df01</code></a>
fix(lambda-edge): satisfy Deno lib types for Content-Length body
encoding (<a
href="https://redirect.github.com/honojs/hono/issues/5">#5</a>...</li>
<li><a
href="https://github.com/honojs/hono/commit/fce483e11466b72d27e61d44523c7e6edeb19e50"><code>fce483e</code></a>
4.12.25</li>
<li><a
href="https://github.com/honojs/hono/commit/751ba41ba26dff20351a13964c07627ddcf382b6"><code>751ba41</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/f0b094db8474696344d98e5665a4ac2a6d5f346e"><code>f0b094d</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/fa5f9bfcc25d65e08af85211cc2e5ecd0e0ea24b"><code>fa5f9bf</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/honojs/hono/commit/3892a6c2b54f974505de41013fcac88a71908e3d"><code>3892a6c</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/honojs/hono/compare/v4.12.23...v4.12.26">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for hono since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hono&package-manager=npm_and_yarn&previous-version=4.12.23&new-version=4.12.26)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ChromeDevTools/chrome-devtools-mcp/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-18 16:36:28 +00:00
Nicholas Roscino 5367f7e97c feat: publish the skills folder (#2229)
This PR publishes the skills folder along with the other files
2026-06-18 14:39:10 +00:00
Mathias Bynens 705d0e1181 docs(readme): explicitly call out that CD4A can power your browser agent (#2227) 2026-06-18 12:13:48 +00:00
browser-automation-bot 4716a72017 chore(main): release chrome-devtools-mcp 1.3.0 (#2195)
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*
---


##
[1.3.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v1.2.0...chrome-devtools-mcp-v1.3.0)
(2026-06-18)


### 🎉 Features

* Add get_heapsnapshot_dominators MCP tool
([#2215](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2215))
([08c234e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/08c234ea4b14b0ba0906deeca396873614a8c063))
* Add retaining paths MCP tool
([#2187](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2187))
([a97c642](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/a97c642d43d19fc5198038a7544ff41528ddc316))
* Add the get_heapsnapshot_edges MCP tool
([#2180](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2180))
([4f8eb7a](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/4f8eb7ad6beecc58f56ec383f9ff43549a5604d4))
* include page title in list_pages output
([#2166](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2166))
([b646feb](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b646feb4f33743a5ecdc6c5e3744e98f86374af3))
* **screenshot:** add CLI options to cap screenshot size at the source
([#1823](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1823))
([55c8a54](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/55c8a541d4f842056db6bc843e54117b07bf06c1))
* Use HeapSnapshotProxy.nodeIndexById
([#2193](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2193))
([6bd8c91](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/6bd8c91678035b5aa18ee40f72e1f630aa528837))


### 🛠️ Fixes

* handle missing third-party tool toolGroup description gracefully
([#2224](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2224))
([8fe398e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8fe398eb5d6ee87edb51d4e37570d04b02679346))
* handle screencast file extensions case-insensitively and clean up temp
dir on failure
([#2207](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2207))
([ba80096](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/ba80096521da437a834953f697c4c98bcbd6e658))
* limit windows test concurrency
([#2205](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2205))
([e77101e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/e77101e5dc53f9f9541eb91916eedb53495544cc))
* Reset toolGroups before gathering toolGroups
([#2200](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2200))
([ed02047](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/ed02047ae90f25c4c15adb8fd7e224b963f43135))
* return error message when screencast_stop is called with no active
recording
([#2209](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2209))
([9e32002](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/9e32002a6947ff695e463a5fefa99a7f66f19403))

---
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-v1.3.0
2026-06-18 09:42:55 +00:00
dependabot[bot] fc9d8fe35a chore(deps-dev): bump chrome-devtools-frontend from 1.0.1645245 to 1.0.1646286 in the bundled-devtools group across 1 directory (#2211)
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.1645245 to 1.0.1646286
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/6481ca553f97535ae2fe7aee8aa9912728a98edd"><code>6481ca5</code></a>
AI: Restrict getResourceContent to same-origin and block file://
URLs</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/742f1a7fca3f87273c6854a42cbfa9b100da4870"><code>742f1a7</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/7e296ca6e8b777c43cf789822232e15f60482766"><code>7e296ca</code></a>
Cleanup dead TPCD cookie exemption reasons in devtools</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/b68153149084903b4713fcec44fe5587bcff3a65"><code>b681531</code></a>
AI: Secure origin-lock boundaries for local files and opaque blobs</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/23882774076cba004403101233c1a06a25595b49"><code>2388277</code></a>
Implement protocol allowlist and sanitization in
NetworkRequestsHandler</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d313036d8fe4a630d21fe4a0dbbb2f39000da3e2"><code>d313036</code></a>
Disable goroutine preemption for esbuild to prevent hangs.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/4ad0d072cba9c17e89ee293aa8a105addb6ee2d1"><code>4ad0d07</code></a>
Restrict cross-extension evaluation in ExtensionServer</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/53987f78d4be66b90afd46914e98ee36875f0c4b"><code>53987f7</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/772bee8f527d0bb7357953c7b57be135b8dabfa9"><code>772bee8</code></a>
AI: Set up AiAgent2 with V2 agent client feature and system prompt</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/dc81015ad760619220956de324567c133e418742"><code>dc81015</code></a>
Refactor NetworkRequestsHandler tests to use runHandlers helper</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1645245...v1.0.1646286">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: Nicholas Roscino <nroscino@google.com>
2026-06-18 08:28:44 +00:00
Nebrass Lamouchi ba80096521 fix: handle screencast file extensions case-insensitively and clean up temp dir on failure (#2207)
Fixes #2206

### Problem

`screencast_start` matched the requested file extension with a
**case-sensitive** `endsWith()` against `['.webm', '.mp4']` and
**silently fell back to `.mp4`** when nothing matched. Combined with
`ensureExtension()` (which replaces the extension), a request for
`demo.WEBM` was recorded as **MP4** to **`demo.mp4`** — a different
format *and* path than requested — and any unsupported extension (e.g.
`recording.avi`) silently became `.mp4`.

Separately, when `screencast_start` is called without a `filePath`, it
creates a temp directory via `mkdtemp()`. If `page.screencast()` then
throws (e.g. ffmpeg missing), that directory was leaked.

### Changes

Two commits:

1. **`fix: match screencast extension case-insensitively and reject
unsupported ones`** — match via `path.extname().toLowerCase()`; reject
an explicitly requested but unsupported extension with an explicit error
listing the supported formats; a missing extension still defaults to
`.mp4`.
2. **`fix: clean up screencast temp directory when recording fails to
start`** — remove the generated temp dir in the `catch` handler, but
only when we own the generated path (never when the caller supplied
`filePath`).

| requested       | before          | after          |
| --------------- | --------------- | -------------- |
| `demo.WEBM`     | mp4 → `demo.mp4`| webm → `demo.webm` |
| `recording.avi` | mp4 → `recording.mp4` | error (rejected) |
| `demo.webm`     | webm → `demo.webm` | unchanged |
| *(no filePath)* | mp4 temp        | unchanged      |

The matched extension is normalized to lower case (`demo.WEBM` →
`demo.webm`).

### Testing

Added three regression tests to `tests/tools/screencast.test.ts` using
the existing `sinon`/`withMcpContext` harness. Verified locally against
Chrome for Testing 149 (`PUPPETEER_EXECUTABLE_PATH`):

- With the fix reverted, the two extension tests fail (uppercase `.WEBM`
→ mp4, `.avi` not rejected) and the cleanup test fails (temp dir left
behind) — i.e. they fail for the right reason.
- With the fix applied, the full `screencast.test.ts` suite passes
(11/11).
- `tsc --noEmit` and `npm run check-format` (eslint + prettier) are
clean.

> Note: I ran the `screencast` test file (which stubs `page.screencast`)
plus typecheck/lint locally; the rest of the browser-based suite I left
to CI.

### Notes for reviewers

- I chose to **`throw`** for an unsupported explicit extension
(consistent with the ffmpeg-missing `throw` in the same handler and with
the issue's "reject with an explicit error"). Happy to switch to the
softer `appendResponseLine(...) + return` style used by the in-progress
guard if you'd prefer.
- The two commits are independent and can be split if you'd rather take
them separately.
- I left the pre-existing `as \`${string}.webm\`` assertion on
`resolvedPath` untouched to keep the diff focused, though it's slightly
misleading now that the default is `.mp4`.

---------

Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-18 08:16:02 +00:00
Wolfgang Beyer 8fe398eb5d fix: handle missing third-party tool toolGroup description gracefully (#2224)
Angular's third-party tools currently do not provide a description of
the toolGroup, only of the individual tools. We don't want to fail in
this case.
2026-06-18 08:06:00 +00:00
François Beaufort 163a581cc1 chore(webmcp): s/enable-features=WebMCPTesting/enable-features=WebMCP/g (#2223)
Following https://github.com/puppeteer/puppeteer/pull/15121, this PR
updates WebMCP documentation and tests to switch to the blink feature
WebMCP instead of WebMCPTesting which is removed in
https://chromium-review.googlesource.com/c/chromium/src/+/7921035/comment/1f0982d8_fb3efb91/
2026-06-17 12:46:01 +00:00
Antoine Kingue 55c8a541d4 feat(screenshot): add CLI options to cap screenshot size at the source (#1823)
## Summary

Adds **opt-in** CLI flags so operators can cap the size of screenshots
returned by `take_screenshot` before they are embedded in the MCP
response. Refs #879.

The flags address two related symptoms reported when MCP clients display
screenshots inline:

1. **Per-image dimension limit**: hosted LLM APIs commonly reject images
exceeding per-image dimension constraints (typical caps are in the
2000-8000 px range, sometimes scaling down further when many images are
in the same request). This is the exact error reported in #879.
2. **Cumulative request size**: after many captures, the cumulative
base64 payload eventually pushes a request over the per-call body size
limit imposed by the LLM API.

Both can be mitigated at the source by reducing format/quality and
downscaling the capture.

## New flags (all opt-in)

- `--screenshot-format <jpeg|png|webp>`: override the default format
used by `take_screenshot` when the caller does not specify one
- `--screenshot-quality <0-100>`: override the default JPEG/WebP
quality. Ignored for PNG
- `--screenshot-max-width <px>`: downscale screenshots wider than this
before they are returned
- `--screenshot-max-height <px>`: downscale screenshots taller than
this. Combines with `--screenshot-max-width`; the smaller scale wins so
both bounds are respected while preserving aspect ratio

For the exact error in #879, the recipe is `--screenshot-max-width=8000
--screenshot-max-height=8000` (or a smaller value such as `2000` if many
images may end up in the same request, depending on the operator's
chosen API).

## Implementation

- Resizing leverages Puppeteer's `clip.scale` (CDP
`Page.captureScreenshot`), so **no new dependencies**.
- Source dimensions per capture mode:
  - viewport: `page.viewport()`
- full page: `document.documentElement.scrollWidth/scrollHeight` via
`page.evaluate()`
  - element (`uid`): `elementHandle.boundingBox()`
- For element and full-page captures with a downscale clip, the call
routes through `page.screenshot({clip})` so the scale parameter applies.
`captureBeyondViewport` is left to Puppeteer's default (`true` when a
clip is set), preserving correct behavior for elements below the fold
and full-page captures.
- ~150 lines of source code, ~200 lines of new tests.

## Backwards compatibility

**Fully opt-in**: when no flags are set, `take_screenshot` returns the
exact same bytes as before. No behavioral change for existing users.

## Design alignment

- Aligned with the **"Reference over Value"** principle in
`docs/design-principles.md`: the existing 2 MB threshold still routes
oversized screenshots to a temporary file. This change only reduces the
size of the **inline base64 fallback path**, which the principles
document calls out as an acceptable exception when MCP clients display
images natively.
- The MCP server **hardcodes no LLM-specific size limits**. Operators
pick the values that match their client/model combination. This keeps
the maintenance surface here minimal as model limits evolve, and is
intended as a **complement to, not a replacement for**, fixes in the MCP
client itself.

## Addressing concerns raised in #879

> "It's not feasible for us to maintain this. Limits will change when
models change." (@natorion)

The flags are pure parameters; nothing about the upstream LLM is encoded
in the server. When a vendor raises (or lowers) a limit, no code change
is needed here, only the operator's CLI args change.

> "`filePath` / `page_resize` already work as a workaround." (@OrKoN)

`filePath` is great when the call site knows it's about to take a huge
screenshot, but as you noted earlier in the thread, an oversized image
already in the request history keeps causing failures even on subsequent
calls. `page_resize` works but mutates the page being debugged. The
resize in this PR happens **between Puppeteer and the MCP response**, so
the inspected page is untouched and the failure mode is prevented at the
source.

> "Should be fixed client side."

Agreed, this PR is intended as a complement, not a substitute. A
client-side fix (e.g. compaction evicts/downsamples old images) handles
the cumulative case for *any* MCP. A server-side cap handles the
per-call dimension limit for users who hit it before compaction can kick
in. The two address overlapping but distinct failure modes.

Happy to drop or rework any of this if the maintainers prefer a
different shape, for example making the threshold automatic from a
single `--max-image-bytes` knob, or rejecting the PR entirely in favor
of waiting for a client-side fix. Just wanted to put a concrete option
on the table.

## Tests

Added 6 new tests:

- `honors screenshotFormat default from CLI args`
- `keeps "png" as default format when no CLI override is set`
- `downscales viewport screenshot when screenshotMaxWidth is set`
- `downscales using the smaller scale when both max-width and max-height
are set`
- `does not resize when source is smaller than the max bounds`
- `downscales full page screenshot when screenshotMaxWidth is set`

All 627 tests in the suite pass. `npm run typecheck` and `npm run
check-format` are clean.

## Notes for reviewers

- The dimensions compared against `--screenshot-max-width/height` are
**CSS pixels** (`page.viewport()`), not raw bitmap pixels. With
`deviceScaleFactor > 1` (HiDPI emulation) the actual bitmap may still be
larger. Happy to clarify this in the option description if preferred.
- For element captures with a downscale clip, the call routes through
`page.screenshot({clip})` instead of `element.screenshot()`. Same-frame
elements are correct (boundingBox returns main-frame coords). I have
**not** exercised this path against cross-origin iframe elements; let me
know if you'd like a fallback there.
- The PR is currently in **Draft** state pending CLA verification and
any feedback on the framing above.

Refs #879
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/879
2026-06-17 10:40:14 +00:00
Dominik Inführ 08c234ea4b feat: Add get_heapsnapshot_dominators MCP tool (#2215)
Adding the get_heapsnapshot_dominators MCP tool to show the dominators
for a given node. In combination with get_heapsnapshot_retaining_paths
this should help understand what keeps an object reachable and thus
alive.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-16 12:07:41 +00:00
bassem chagra 9e32002a69 fix: return error message when screencast_stop is called with no active recording (#2209)
## Summary

`screencast_stop` returns an empty response when no recording is active,
making it impossible for the calling agent to distinguish "stopped
successfully" from "nothing was recording."

`screencast_start` already handles its inverse case with an explicit
error (`"a screencast recording is already in progress"`), so this makes
`stop` consistent.

## Change

Added an error message when `screencast_stop` is called without an
active recording:

```ts
if (!data) {
  response.appendResponseLine(
    'Error: no active screencast recording to stop.',
  );
  return;
}
```

## Before

Empty tool response — agent cannot tell what happened.

## After

`Error: no active screencast recording to stop.`

---------

Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-16 12:01:11 +00:00
pupuking723 e77101e5dc fix: limit windows test concurrency (#2205)
Fixes #2137.

This updates the test workflow so Windows jobs run the Node test runner
with `--test-concurrency=1`.

The issue points to intermittent Windows failures where the browser
target closes during screenshot tests. Those tests start real browser
sessions, and limiting test concurrency on Windows avoids overlapping
screenshot/browser work there while keeping the existing parallel
behavior on Linux and macOS.

Verification:

- `git diff --check`
- Inspected the workflow command expansion: only `windows-latest`
receives `--test-concurrency=1`; merge queue retries still pass
`--retry` as before.
2026-06-16 09:01:53 +00:00
Wolfgang Beyer ed02047ae9 fix: Reset toolGroups before gathering toolGroups (#2200)
`getToolGroups` can be called multiple times. We want to reset the
`window.__dtmcp.toolGroups` array each time to prevent duplications.
2026-06-12 11:47:43 +00:00
dependabot[bot] 228cf3936a chore(deps-dev): bump the dev-dependencies group across 1 directory with 9 updates (#2196)
Bumps the dev-dependencies group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@google/genai](https://github.com/googleapis/js-genai) | `2.7.0` |
`2.8.0` |
| [@toon-format/toon](https://github.com/toon-format/toon) | `2.2.0` |
`2.3.0` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `25.9.1` | `25.9.2` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.60.0` | `8.61.0` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.60.0` | `8.61.0` |
| [prettier](https://github.com/prettier/prettier) | `3.8.3` | `3.8.4` |
| [rollup](https://github.com/rollup/rollup) | `4.61.0` | `4.61.1` |
| [semver](https://github.com/npm/node-semver) | `7.8.1` | `7.8.3` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.60.0` | `8.61.0` |


Updates `@google/genai` from 2.7.0 to 2.8.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>v2.8.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v2.7.0...v2.8.0">2.8.0</a>
(2026-06-03)</h2>
<h3>Features</h3>
<ul>
<li>Add Agent Platform MCP support to async generate_content (<a
href="https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4">baeaeaa</a>)</li>
<li>Add transcription language code. (<a
href="https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7">d2981d6</a>)</li>
<li>Add TranslationConfig for live translation. (<a
href="https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490">8c44240</a>)</li>
<li>Support ReinforcementTuning in GenAI SDK including ValidateReward
API method. (<a
href="https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9">36f0bfb</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.7.0...v2.8.0">2.8.0</a>
(2026-06-03)</h2>
<h3>Features</h3>
<ul>
<li>Add Agent Platform MCP support to async generate_content (<a
href="https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4">baeaeaa</a>)</li>
<li>Add transcription language code. (<a
href="https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7">d2981d6</a>)</li>
<li>Add TranslationConfig for live translation. (<a
href="https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490">8c44240</a>)</li>
<li>Support ReinforcementTuning in GenAI SDK including ValidateReward
API method. (<a
href="https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9">36f0bfb</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/ea0dd6004dcfdbb69895193efff2ee0af9b3ed80"><code>ea0dd60</code></a>
chore(main): release 2.8.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1646">#1646</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9"><code>36f0bfb</code></a>
feat: Support ReinforcementTuning in GenAI SDK including ValidateReward
API m...</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7"><code>d2981d6</code></a>
feat: Add transcription language code.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/98ac90d0c4578d82754535d0df451b29c3ffb1c9"><code>98ac90d</code></a>
chore: deprecate Google Maps grounding widget API fields</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490"><code>8c44240</code></a>
feat: Add TranslationConfig for live translation.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4"><code>baeaeaa</code></a>
feat: Add Agent Platform MCP support to async generate_content</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/c1d3cb7bd100804437ca5c1c8d4d56dce881ef2d"><code>c1d3cb7</code></a>
chore: Internal cleanup</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/bd78ed331caeb1bd9d7322327f61a7dad9872e50"><code>bd78ed3</code></a>
chore: Fix relative import path in pagers.ts.</li>
<li>See full diff in <a
href="https://github.com/googleapis/js-genai/compare/v2.7.0...v2.8.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@toon-format/toon` from 2.2.0 to 2.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/toon-format/toon/releases">@​toon-format/toon's
releases</a>.</em></p>
<blockquote>
<h2>v2.3.0</h2>
<h3>   🚀 Features</h3>
<ul>
<li><strong>decode</strong>: Strict-mode error coverage for §6/§9.1/§14
 -  by <a
href="https://github.com/johannschopplich"><code>@​johannschopplich</code></a>
<a href="https://github.com/toon-format/toon/commit/a13dcb5"><!-- raw
HTML omitted -->(a13dc)<!-- raw HTML omitted --></a></li>
<li><strong>docs</strong>: Add YAML input to Playground with tests  - 
by <a
href="https://github.com/swetasanghi2004-prog"><code>@​swetasanghi2004-prog</code></a>
in <a
href="https://redirect.github.com/toon-format/toon/issues/303">toon-format/toon#303</a>
<a href="https://github.com/toon-format/toon/commit/90a04bd"><!-- raw
HTML omitted -->(90a04)<!-- raw HTML omitted --></a></li>
<li><strong>encode</strong>: Emit canonical empty-array form <code>key:
[]</code>  -  by <a
href="https://github.com/johannschopplich"><code>@​johannschopplich</code></a>
<a href="https://github.com/toon-format/toon/commit/e6d97d2"><!-- raw
HTML omitted -->(e6d97)<!-- raw HTML omitted --></a></li>
</ul>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>decode</strong>:
<ul>
<li>Support \uXXXX escape per §7.1  -  by <a
href="https://github.com/johannschopplich"><code>@​johannschopplich</code></a>
<a href="https://github.com/toon-format/toon/commit/1782076"><!-- raw
HTML omitted -->(17820)<!-- raw HTML omitted --></a></li>
<li>Reject whitespace gap in array header per §6  -  by <a
href="https://github.com/johannschopplich"><code>@​johannschopplich</code></a>
<a href="https://github.com/toon-format/toon/commit/d514942"><!-- raw
HTML omitted -->(d5149)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5>    <a
href="https://github.com/toon-format/toon/compare/v2.2.0...v2.3.0">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/toon-format/toon/commit/3c66a1beada062dac82fa4f06c4dab2ed066407a"><code>3c66a1b</code></a>
chore: release v2.3.0</li>
<li><a
href="https://github.com/toon-format/toon/commit/4b8aa998c371000bf5392868ecd05626feeee86b"><code>4b8aa99</code></a>
chore(toon): bump <code>@​toon-format/spec</code> to ^3.2.0</li>
<li><a
href="https://github.com/toon-format/toon/commit/1d23fa36d2d26ecf906acfa61de8ab418931ffec"><code>1d23fa3</code></a>
chore: fix linting issues</li>
<li><a
href="https://github.com/toon-format/toon/commit/d6c64d23e475138e8b3d489a99207760b7da5c34"><code>d6c64d2</code></a>
chore: upgrade dependencies</li>
<li><a
href="https://github.com/toon-format/toon/commit/dd856fe590d17c02b7b94866cd5bb0c2dd775be9"><code>dd856fe</code></a>
docs: align prose with v3.2 spec wording</li>
<li><a
href="https://github.com/toon-format/toon/commit/d514942fc04a01fc76fafeb75f174858ea793ebb"><code>d514942</code></a>
fix(decode): reject whitespace gap in array header per §6</li>
<li><a
href="https://github.com/toon-format/toon/commit/979152508dc04352258bdce308a681a7ceb48d92"><code>9791525</code></a>
docs(toon): bump SPEC badge to v3.2, add What's new section, fix §17
anchor</li>
<li><a
href="https://github.com/toon-format/toon/commit/1446cae85de66ad380295f96defc0cde15600cd8"><code>1446cae</code></a>
docs(cli): widen --no-strict description for v3.2 semantics</li>
<li><a
href="https://github.com/toon-format/toon/commit/13110eb975d7466e9e2c0bfbe4ca1202c8b1523f"><code>13110eb</code></a>
docs: align guides and API reference with v3.2 spec changes</li>
<li><a
href="https://github.com/toon-format/toon/commit/1f53af3582b5a5b88489b7f529420c75a2ccea10"><code>1f53af3</code></a>
docs(spec): refresh §17-19 layout, Appendix F, and §14 subsection
references</li>
<li>Additional commits viewable in <a
href="https://github.com/toon-format/toon/compare/v2.2.0...v2.3.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 25.9.1 to 25.9.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 `@typescript-eslint/eslint-plugin` from 8.60.0 to 8.61.0
<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.61.0</h2>
<h2>8.61.0 (2026-06-08)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>ast-spec:</strong> change type of
<code>UnaryExpression.prefix</code> to always <code>true</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li>
<li><strong>ast-spec:</strong> tighten types of
<code>ArrowFunction</code>, <code>YieldExpression</code>,
<code>TSTypePredicate</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12373">#12373</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>rule-schema-to-typescript-types:</strong> respect ECMAScript
line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12374">#12374</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
<h2>v8.60.1</h2>
<h2>8.60.1 (2026-06-01)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> respect ECMAScript line terminators
in ts-comment rules (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li>
<li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match
ESLint v10 handling (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>lumir</li>
<li>Nevette Bailey <a
href="https://github.com/nevette-bailey"><code>@​nevette-bailey</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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>
</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.61.0 (2026-06-08)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>ast-spec:</strong> change type of
<code>UnaryExpression.prefix</code> to always <code>true</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<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.61.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>
<h2>8.60.1 (2026-06-01)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match
ESLint v10 handling (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li>
<li><strong>eslint-plugin:</strong> respect ECMAScript line terminators
in ts-comment rules (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>lumir</li>
<li>Nevette Bailey <a
href="https://github.com/nevette-bailey"><code>@​nevette-bailey</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/16a5b247affc32af21b695cf96dfd75d7ded50a3"><code>16a5b24</code></a>
chore(release): publish 8.61.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ef1fd28c68b10da2e5b56823da8491f10f2c2b97"><code>ef1fd28</code></a>
feat(ast-spec): change type of <code>UnaryExpression.prefix</code> to
always <code>true</code> (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12">#12</a>...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a>
chore(release): publish 8.60.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/598af564db50593277ba46c7fdea3648e4425391"><code>598af56</code></a>
docs(eslint-plugin): clarify no-redeclare type-value collision not
covered by...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a>
chore: typecheck using tsgo (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12139">#12139</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/5341d59dd3c21fc4e2bf3bce55cf35d8f84e5216"><code>5341d59</code></a>
chore: fix lint issues (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12369">#12369</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f525814f01766487ab34a54d56de20ea5c4fb576"><code>f525814</code></a>
fix(eslint-plugin): [no-shadow] correct rule to match ESLint v10
handling (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1">#1</a>...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2df540cd8bbeb3e2c56d516912f69bf63c1e9450"><code>2df540c</code></a>
chore(eslint-plugin): defer type checks to improve rules performance (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12296">#12296</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/1ab4284789b36cf482a4d9924719162a02d54243"><code>1ab4284</code></a>
fix(eslint-plugin): respect ECMAScript line terminators in ts-comment
rules (...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2f49df599b2db5f2937caf975d3c63e5cdeb0ea1"><code>2f49df5</code></a>
docs: update references to <code>@stylistic/eslint-plugin</code> rules
in documentation ...</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.60.0 to 8.61.0
<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.61.0</h2>
<h2>8.61.0 (2026-06-08)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>ast-spec:</strong> change type of
<code>UnaryExpression.prefix</code> to always <code>true</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li>
<li><strong>ast-spec:</strong> tighten types of
<code>ArrowFunction</code>, <code>YieldExpression</code>,
<code>TSTypePredicate</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12373">#12373</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>rule-schema-to-typescript-types:</strong> respect ECMAScript
line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12374">#12374</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
<h2>v8.60.1</h2>
<h2>8.60.1 (2026-06-01)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> respect ECMAScript line terminators
in ts-comment rules (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li>
<li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match
ESLint v10 handling (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>lumir</li>
<li>Nevette Bailey <a
href="https://github.com/nevette-bailey"><code>@​nevette-bailey</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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>
</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.61.0 (2026-06-08)</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.61.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>
<h2>8.60.1 (2026-06-01)</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.60.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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/16a5b247affc32af21b695cf96dfd75d7ded50a3"><code>16a5b24</code></a>
chore(release): publish 8.61.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a>
chore(release): publish 8.60.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a>
chore: typecheck using tsgo (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12139">#12139</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier` from 3.8.3 to 3.8.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.8.4</h2>
<ul>
<li>Markdown: Fix blank lines between list items and nested sub-lists
being removed in Markdown/MDX (<a
href="https://redirect.github.com/prettier/prettier/pull/17746">prettier/prettier#17746</a>
by <a
href="https://github.com/byplayer"><code>@​byplayer</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.8.4/CHANGELOG.md#384">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.8.4</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.8.3...3.8.4">diff</a></p>
<h4>Markdown: Fix blank lines between list items and nested sub-lists
being removed in Markdown/MDX (<a
href="https://redirect.github.com/prettier/prettier/pull/17746">#17746</a>
by <a
href="https://github.com/byplayer"><code>@​byplayer</code></a>)</h4>
<p>Prettier was removing blank lines between list items and their nested
sub-lists, converting loose lists into tight lists and changing their
semantic meaning.</p>
<!-- raw HTML omitted -->
<pre lang="markdown"><code>&lt;!-- Input --&gt;
- a
<ul>
<li>
<p>b</p>
</li>
<li>
<p>c</p>
<ul>
<li>d</li>
</ul>
</li>
</ul>
<p>&lt;!-- Prettier 3.8.3 --&gt;</p>
<ul>
<li>a
<ul>
<li>b</li>
</ul>
</li>
<li>c
<ul>
<li>d</li>
</ul>
</li>
</ul>
<p>&lt;!-- Prettier 3.8.4 --&gt;</p>
<ul>
<li>
<p>a</p>
<ul>
<li>b</li>
</ul>
</li>
<li>
<p>c</p>
<ul>
<li>d<br />
</code></pre></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/prettier/prettier/commit/1c6ba5539141552e0e8e22d401ea620d8fdff468"><code>1c6ba55</code></a>
Release 3.8.4</li>
<li><a
href="https://github.com/prettier/prettier/commit/4a673dc9b59ddf7296bbab9822093d2971da84a8"><code>4a673dc</code></a>
Fix blank lines between list items and nested sub-lists being removed in
Mark...</li>
<li><a
href="https://github.com/prettier/prettier/commit/074aaedbb052a288e89d15eb0a4214de37a08866"><code>074aaed</code></a>
Replace <code>main</code> branch in changelog link with tags (<a
href="https://redirect.github.com/prettier/prettier/issues/19054">#19054</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/c22a003ae97917c5043e8685b4fdff0f93e978f9"><code>c22a003</code></a>
Bump Prettier dependency to 3.8.3</li>
<li><a
href="https://github.com/prettier/prettier/commit/07bad1f04536e9799927007baf466e67151576f0"><code>07bad1f</code></a>
Clean changelog_unreleased</li>
<li>See full diff in <a
href="https://github.com/prettier/prettier/compare/3.8.3...3.8.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `rollup` from 4.61.0 to 4.61.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/releases">rollup's
releases</a>.</em></p>
<blockquote>
<h2>v4.61.1</h2>
<h2>4.61.1</h2>
<p><em>2026-06-04</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Avoid extraneous newlines when adding headers via plugins (<a
href="https://redirect.github.com/rollup/rollup/issues/6403">#6403</a>)</li>
<li>Fix a rare issue where starting Rollup would hang on Windows (<a
href="https://redirect.github.com/rollup/rollup/issues/6404">#6404</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6402">#6402</a>:
Improve documentation for manualPureFunctions (<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6403">#6403</a>:
Does not add an extra leading line feed for addons (<a
href="https://github.com/TrickyPi"><code>@​TrickyPi</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6404">#6404</a>:
fix: set report.excludeNetwork=true before getReport() to avoid blocking
PTR lookups (<a
href="https://github.com/jdz321"><code>@​jdz321</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
</blockquote>
</details>
<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.61.1</h2>
<p><em>2026-06-04</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Avoid extraneous newlines when adding headers via plugins (<a
href="https://redirect.github.com/rollup/rollup/issues/6403">#6403</a>)</li>
<li>Fix a rare issue where starting Rollup would hang on Windows (<a
href="https://redirect.github.com/rollup/rollup/issues/6404">#6404</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6402">#6402</a>:
Improve documentation for manualPureFunctions (<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6403">#6403</a>:
Does not add an extra leading line feed for addons (<a
href="https://github.com/TrickyPi"><code>@​TrickyPi</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6404">#6404</a>:
fix: set report.excludeNetwork=true before getReport() to avoid blocking
PTR lookups (<a
href="https://github.com/jdz321"><code>@​jdz321</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/b77daf0a97cf96e61870cc02de584e923bc70fad"><code>b77daf0</code></a>
4.61.1</li>
<li><a
href="https://github.com/rollup/rollup/commit/91b6dc4def27e990412fa4dc5b4fe1a9af3adcba"><code>91b6dc4</code></a>
fix: set report.excludeNetwork=true before getReport() to avoid blocking
PTR ...</li>
<li><a
href="https://github.com/rollup/rollup/commit/f2a0449e1c7144acf12d2bf0a4aad76c9a7d85e6"><code>f2a0449</code></a>
Improve documentation for manualPureFunctions (<a
href="https://redirect.github.com/rollup/rollup/issues/6402">#6402</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/7bdce6c9e34bd395891aca96d17ccd14c5fd24ad"><code>7bdce6c</code></a>
Does not add an extra leading line feed for addons (<a
href="https://redirect.github.com/rollup/rollup/issues/6403">#6403</a>)</li>
<li>See full diff in <a
href="https://github.com/rollup/rollup/compare/v4.61.0...v4.61.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `semver` from 7.8.1 to 7.8.3
<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.3</h2>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.8.2...v7.8.3">7.8.3</a>
(2026-06-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/046da7f527cc72a482b5dea8cb59392be65bf186"><code>046da7f</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/872">#872</a>
align caret includePrerelease lower bounds (<a
href="https://redirect.github.com/npm/node-semver/issues/872">#872</a>)
(<a
href="https://github.com/wayyoungboy"><code>@​wayyoungboy</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/3485ddadb2ca0d0691392ee5ce620072e1b1e040"><code>3485dda</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/866">#866</a>
bump <code>@​npmcli/eslint-config</code> from 6.0.1 to 7.0.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/866">#866</a>)
(<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot])</li>
</ul>
<h2>v7.8.2</h2>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.8.1...v7.8.2">7.8.2</a>
(2026-06-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/bea6028694a75e840f48b288ac019e9644cfe6e8"><code>bea6028</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/870">#870</a>
increment dotted prerelease identifiers (<a
href="https://redirect.github.com/npm/node-semver/issues/870">#870</a>)
(<a href="https://github.com/liuzemei"><code>@​liuzemei</code></a>, <a
href="https://github.com/SheldonNeo"><code>@​SheldonNeo</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.8.2...v7.8.3">7.8.3</a>
(2026-06-08)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/046da7f527cc72a482b5dea8cb59392be65bf186"><code>046da7f</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/872">#872</a>
align caret includePrerelease lower bounds (<a
href="https://redirect.github.com/npm/node-semver/issues/872">#872</a>)
(<a
href="https://github.com/wayyoungboy"><code>@​wayyoungboy</code></a>)</li>
</ul>
<h3>Chores</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/3485ddadb2ca0d0691392ee5ce620072e1b1e040"><code>3485dda</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/866">#866</a>
bump <code>@​npmcli/eslint-config</code> from 6.0.1 to 7.0.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/866">#866</a>)
(<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot])</li>
</ul>
<h2><a
href="https://github.com/npm/node-semver/compare/v7.8.1...v7.8.2">7.8.2</a>
(2026-06-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/bea6028694a75e840f48b288ac019e9644cfe6e8"><code>bea6028</code></a>
<a href="https://redirect.github.com/npm/node-semver/pull/870">#870</a>
increment dotted prerelease identifiers (<a
href="https://redirect.github.com/npm/node-semver/issues/870">#870</a>)
(<a href="https://github.com/liuzemei"><code>@​liuzemei</code></a>, <a
href="https://github.com/SheldonNeo"><code>@​SheldonNeo</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/npm/node-semver/commit/6b77aa84a648a4b54ea32a21e6db60ebd54d5040"><code>6b77aa8</code></a>
chore: release 7.8.3 (<a
href="https://redirect.github.com/npm/node-semver/issues/873">#873</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/3485ddadb2ca0d0691392ee5ce620072e1b1e040"><code>3485dda</code></a>
chore: bump <code>@​npmcli/eslint-config</code> from 6.0.1 to 7.0.0 (<a
href="https://redirect.github.com/npm/node-semver/issues/866">#866</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/046da7f527cc72a482b5dea8cb59392be65bf186"><code>046da7f</code></a>
fix: align caret includePrerelease lower bounds (<a
href="https://redirect.github.com/npm/node-semver/issues/872">#872</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/efafcf8d029faa3d1ab74b5ec98d620112af859d"><code>efafcf8</code></a>
chore: release 7.8.2 (<a
href="https://redirect.github.com/npm/node-semver/issues/871">#871</a>)</li>
<li><a
href="https://github.com/npm/node-semver/commit/bea6028694a75e840f48b288ac019e9644cfe6e8"><code>bea6028</code></a>
fix: increment dotted prerelease identifiers (<a
href="https://redirect.github.com/npm/node-semver/issues/870">#870</a>)</li>
<li>See full diff in <a
href="https://github.com/npm/node-semver/compare/v7.8.1...v7.8.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `typescript-eslint` from 8.60.0 to 8.61.0
<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.61.0</h2>
<h2>8.61.0 (2026-06-08)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>ast-spec:</strong> change type of
<code>UnaryExpression.prefix</code> to always <code>true</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li>
<li><strong>ast-spec:</strong> tighten types of
<code>ArrowFunction</code>, <code>YieldExpression</code>,
<code>TSTypePredicate</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12373">#12373</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>rule-schema-to-typescript-types:</strong> respect ECMAScript
line terminators (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12374">#12374</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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>
<h2>v8.60.1</h2>
<h2>8.60.1 (2026-06-01)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> respect ECMAScript line terminators
in ts-comment rules (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li>
<li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match
ESLint v10 handling (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>lumir</li>
<li>Nevette Bailey <a
href="https://github.com/nevette-bailey"><code>@​nevette-bailey</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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>
</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.61.0 (2026-06-08)</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.61.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>
<h2>8.60.1 (2026-06-01)</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.60.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>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/16a5b247affc32af21b695cf96dfd75d7ded50a3"><code>16a5b24</code></a>
chore(release): publish 8.61.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a>
chore(release): publish 8.60.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a>
chore: typecheck using tsgo (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139">#12139</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/typescript-eslint">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-06-11 12:02:59 +00:00
Dominik Inführ 4f8eb7ad6b feat: Add the get_heapsnapshot_edges MCP tool (#2180)
This PR adds the get_heapsnapshot_edges MCP tool. Agents can use it to
look at the outgoing edges for a specifc object.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-06-09 19:58:43 +00:00
Dominik Inführ 6bd8c91678 feat: Use HeapSnapshotProxy.nodeIndexById (#2193)
Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-06-09 17:14:59 +00:00
Serhii Zghama b646feb4f3 feat: include page title in list_pages output (#2166)
## Motivation

`list_pages` shows each page's URL but not its title, which is painful
when multiple pages share a host — e.g. several tabs under
`app.example.com/u/0/`, `/u/1/`, `/u/2/`. There's no way to tell which
is which without visiting each one, even though every page has a usable
`document.title`.

Fixes #2156.
Closes #2175

## What this changes

- `list_pages` text output now shows the title before the URL when
available: `1: My Page (https://example.com) [selected]`. If the page
has no title (e.g. `about:blank`), the format is unchanged.
- The structured content entry for each page now includes a `title`
field alongside `id`, `url`, and `selected`.
- `page.title()` is awaited with a `.catch(() => '')` so a closed or
erroring page silently falls back to the URL-only format.
- `format()` is made `async` to support the `await` inside the page
loop; `createStructuredPage()` likewise becomes `async`.

## Testing

Start the MCP server with multiple tabs open. Call `list_pages` — pages
with titles now display as `id: Title (url)`. Pages without titles
(`about:blank`, data URLs) display as before.

---------

Co-authored-by: Piotr Paulski <31672205+zyzyzyryxy@users.noreply.github.com>
2026-06-09 16:04:12 +00:00
Nikolay Vitkov 834b259eb2 chore: expose loadResouce HostBinding (#2194)
This makes sure that if any resource that is loaded via the HostBinding
will be correctly checked agains the roots object.
2026-06-09 15:11:39 +00:00
Dominik Inführ a97c642d43 feat: Add retaining paths MCP tool (#2187)
This PR adds the `get_heapsnapshot_retaining_paths` MCP tool. This can
be used to find the paths from the target object to the GC roots which
keep that object alive.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-06-09 12:53:30 +00:00
Nikolay Vitkov bede4fbdfa chore: install HostBindingAdapter (#2186)
This PR introduces the HostBindingAdapter to utilize the functions
usually available to DevTools.
Additionally I moved all the DevTools related files under a `devtools`
directory to better separate the extractor logic.
The patch scripts for DevTools were moved under a function to remove the
side-effect nature of the file.
Now gets called in a the creation of the McpContext (and a before hook
in test.)
2026-06-09 12:18:25 +00:00
browser-automation-bot 702d3734f2 chore(main): release chrome-devtools-mcp 1.2.0 (#2153)
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*
---


##
[1.2.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v1.1.1...chrome-devtools-mcp-v1.2.0)
(2026-06-08)


### 🎉 Features

* add experimental TOON support for structured content output
([#2042](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2042))
([aa33bff](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/aa33bff19fcbf87949eec152c4b49d74e0a9330d))
* Adds close_heapsnapshot MCP tool
([#2174](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2174))
([8713b93](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8713b93b41ce301acf0ebc555c9a1b25d29bc526))
* Handle multiple providers of third-party developer tools
([#2168](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2168))
([30d59a7](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/30d59a78727c31ec9d70d2bd6d9310e78f1888b3))
* implement extension service worker logs
([#1915](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1915))
([29e3898](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/29e389848fd0cae1116620d44fbce508b4404137))
* memory debugging tools
([#2169](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2169))
([0217397](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/02173972574241049885171c5a6fc0ba998a20cc))
* support allowedUrlPattern & blockedUrlPattern Options
([#2037](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2037))
([02b4492](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/02b4492ca605755f67f016ee1de98aa1f506168c))


### 🛠️ Fixes

* Cursor plugin homepage setting field
([#2173](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2173))
([8971890](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/89718901174be7c0c58a1a2b29281ab2f053cd53))


### 📄 Documentation

* **skill:** guide agent to prompt for --categoryExtensions
([#2189](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2189))
([8b458f7](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8b458f7ad194b52305b831d5bfd6c0b6f5a53376))


###  Performance

* lighthouse file saves to run concurrently
([#2178](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2178))
([f90f863](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/f90f863d4b9d643ab880c9dc8cdd78b6c88ae38d))


### 🏗️ Refactor

* change type of logger
([#2165](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2165))
([bf0574d](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/bf0574da8ce0986beb5dd2f026a2332a7e63b791))
* use validate files on the tool level
([#2152](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2152))
([2e039c0](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/2e039c09e1a273581d9b51081a0feb8a57791947)),
closes
[#2150](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2150)

---
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-v1.2.0
2026-06-08 16:50:13 +00:00
Sebastian Benz 8b458f7ad1 docs(skill): guide agent to prompt for --categoryExtensions (#2189)
...when extension tools are missing. I've run into the situation that
the coding agent would try different esoteric approach to install the
extension when asked to debug it in chrome DevTools.
2026-06-08 15:06:42 +00:00
Piotr Paulski aa33bff19f feat: add experimental TOON support for structured content output (#2042)
Adds `--experimentalToonFormat` boolean flag, controlling how structured
content is formatted in text response.
By default, custom shorthand format is used. With this flag, TOON format
(see https://github.com/toon-format/toon) is used instead.

TOON format is supposed to be more token-efficient and less error-prone
for agents to understand than json, but it's not clear if it will be
better on those metrics than the custom format used so far. (Evals
pending)

One clear benefit over custom format would be less code to maintain if
we decide to fully switch to TOON, due to dropping custom formatters and
reusing json formatters used for structuredContent anyways.

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-06-08 13:41:58 +00:00
Nicholas Roscino 29e389848f feat: implement extension service worker logs (#1915)
This PR introduces the possiblity to collect console messages from
service workers.
2026-06-08 12:30:37 +00:00
Natasha Gorshunova 02b4492ca6 feat: support allowedUrlPattern & blockedUrlPattern Options (#2037)
## Support for Network Blocklists and Allowlists
(`--blocked-url-pattern` & `--allowed-url-pattern` arguments)

This PR adds support for CLI options to restrict network access in the
browser session via URL patterns.

### Key Features & How It Works

- **Pattern Matching:** Utilizes the [URLPattern
Standard](https://urlpattern.spec.whatwg.org/) for pattern matching.
- **Target Detachment:** Silently detaches from targets (pages/tabs)
whose URLs match blocked patterns (or do not match allowed patterns)
upon connection.
- **Runtime Blocking:** Prevents navigations and blocks runtime requests
(such as fetch/XHR and subresources) if they violate the pattern rules.
- **Mutual Exclusivity:** `--blocked-url-pattern` and
`--allowed-url-pattern` conflict with each other and cannot be
configured simultaneously.
- **Browser Requirements:**
  - **`--allowed-url-pattern`**: Requires **Chrome 149+**.
- **`--blocked-url-pattern`**: Works on Chrome versions older than 149,
but **Chrome 149+ is highly recommended**.

### Important Limitations & Side Effects

- **Network Emulation/Throttling Conflict:** Network throttling is
disabled when a network blocklist/allowlist is configured, to avoid
conflicting with Puppeteer's underlying blocking mechanisms.
- Using the `emulate` tool to modify `networkConditions` (e.g. setting
to `Offline`) will throw an error: *`Network throttling is not supported
when network blocking (allowlist/blocklist) is configured.`*
- Other emulation settings (e.g., `cpuThrottlingRate`, `geolocation`,
`viewport`) are unaffected and remain fully functional.

---

### Configuration Examples

#### 1. Blocking specific domains or endpoints (Blocklist)
Add the `--blocked-url-pattern` options to the `args` list in your MCP
settings file:

```json
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "chrome-devtools-mcp@latest",
        "--blocked-url-pattern=*://*.blocked-example.com/*",
        "--blocked-url-pattern=*://*.another-blocked-example.com/*"
      ]
    }
  }
}
```

#### 2. Restricting access to authorized domains (Allowlist)
Add the `--allowed-url-pattern` options to restrict the browser to
permitted hosts (requires Chrome 149+):

```json
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "chrome-devtools-mcp@latest",
        "--allowed-url-pattern=https://*.allowed-example.com/*",
        "--allowed-url-pattern=https://*.another-allowed-example.com/*"
      ]
    }
  }
}
```

---------

Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-06-08 09:20:00 +00:00
dependabot[bot] 7afd01673f chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the all group (#2185)
Bumps the all group with 1 update:
[actions/checkout](https://github.com/actions/checkout).

Updates `actions/checkout` from 6.0.2 to 6.0.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Update changelog by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2357">actions/checkout#2357</a></li>
<li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li>
<li>Fix checkout init for SHA-256 repositories by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li>
<li>Update changelog for v6.0.3 by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2446">actions/checkout#2446</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/yaananth"><code>@​yaananth</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v6...v6.0.3">https://github.com/actions/checkout/compare/v6...v6.0.3</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v6.0.3</h2>
<ul>
<li>Fix checkout init for SHA-256 repositories by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li>
<li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a
href="https://github.com/yaananth"><code>@​yaananth</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li>
</ul>
<h2>v6.0.2</h2>
<ul>
<li>Fix tag handling: preserve annotations and explicit fetch-tags by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li>
</ul>
<h2>v6.0.1</h2>
<ul>
<li>Add worktree support for persist-credentials includeIf by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li>
</ul>
<h2>v6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>v5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>v5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>v4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>v4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/df4cb1c069e1874edd31b4311f1884172cec0e10"><code>df4cb1c</code></a>
Update changelog for v6.0.3 (<a
href="https://redirect.github.com/actions/checkout/issues/2446">#2446</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/1cce3390c2bfda521930d01229c073c7ff920824"><code>1cce339</code></a>
Fix checkout init for SHA-256 repositories (<a
href="https://redirect.github.com/actions/checkout/issues/2439">#2439</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/900f2210b1d28bbbd0bd22d17926b9e224e8f231"><code>900f221</code></a>
fix: expand merge commit SHA regex and add SHA-256 test cases (<a
href="https://redirect.github.com/actions/checkout/issues/2414">#2414</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/0c366fd6a839edf440554fa01a7085ccba70ac98"><code>0c366fd</code></a>
Update changelog (<a
href="https://redirect.github.com/actions/checkout/issues/2357">#2357</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=6.0.2&new-version=6.0.3)](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-06-08 08:48:23 +00:00
dependabot[bot] 83ff511dab chore(deps-dev): bump chrome-devtools-frontend from 1.0.1638082 to 1.0.1641723 in the bundled-devtools group (#2184)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1638082 to 1.0.1641723
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/cf513d18ad1f86f5c9961f32958489fe7476d59c"><code>cf513d1</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/3bd6532469260dc1af6bcac93412ee3fc4cf3d5d"><code>3bd6532</code></a>
[Lighthouse] Propagate CDP errors as ProtocolErrors</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/65ecd641356d0e0b75c64fa873dccb40cdd5c8e4"><code>65ecd64</code></a>
[A11y] Keep toggled toolbar icons visible in forced-colors mode</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/0230d8446453432c7aec3f6da4061ddedd419a1b"><code>0230d84</code></a>
Expand OS text scale emulation range</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a1e097d7dd6333827ce8176b161a8df814a81b54"><code>a1e097d</code></a>
Fix CXX extension and chai imports</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c9fc4c5082012ee53f775bba6d9badfddcccb7f2"><code>c9fc4c5</code></a>
[EVP] Show new EVP issues in devtools</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d219c657f4e4fec899a54b56cf5300df4b2a874e"><code>d219c65</code></a>
[Sheriff]: Disable failing CPUThrottlingSelector test.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/2a985b987b75f42068f8dcfb413f02a6598cad67"><code>2a985b9</code></a>
Update deps of targets to match the included files</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/f746bbc9708e25b2cd31c2636e29574e39050fa6"><code>f746bbc</code></a>
AI: Sanitize GCA label values to conform to GCP regex constraints</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/7fb629d0d11ca63aa404eee58e12190fd08a8c22"><code>7fb629d</code></a>
Roll browser-protocol and CfT</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1638082...v1.0.1641723">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.1638082&new-version=1.0.1641723)](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-06-08 08:48:02 +00:00
Nikolay Vitkov f90f863d4b perf: lighthouse file saves to run concurrently (#2178)
💡 **What:** The optimization implemented is refactoring the sequential
file save loops for Lighthouse audits in `src/tools/lighthouse.ts` to
utilize concurrent execution via `Promise.allSettled`.

🎯 **Why:** Previously, the tool saved generated lighthouse reports
linearly (e.g. `html` then `json`), causing unnecessary synchronous
blocking on I/O operations (`fs.writeFile` under the hood via
`context.saveFile`).

📊 **Measured Improvement:** In a benchmark designed to simulate I/O
constraint simulating a 250ms delay for each file write
(`tests/performance/lighthouse_save.bench.ts`), the optimization reduced
file save time from 2749.58ms to 2460.11ms, showing the I/O times were
successfully overlapped and providing a ~250ms gain.

---
*PR created automatically by Jules for task
[9309630185581322418](https://jules.google.com/task/9309630185581322418)
started by @Lightning00Blade*

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-06-05 13:21:06 +00:00
Nikolay Vitkov 0217397257 feat: memory debugging tools (#2169)
Updates the flag for the memory tooling to remove the experimental bit
(keep alias for backwards compatibility).
And updates the SKILLs to reflected the update names and point to the
available tools.

Q: Should it be called `take_heapsnapshot` or `take_heap_snapshot`?
2026-06-05 13:17:53 +00:00
Dominik Inführ 8713b93b41 feat: Adds close_heapsnapshot MCP tool (#2174)
This commit adds the close_heapsnapshot MCP tool such that the coding
agent can close heap snapshots again.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-05 12:56:34 +00:00
dependabot[bot] dfc111502f chore(deps): bump hono from 4.12.18 to 4.12.23 (#2176)
Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/honojs/hono/releases">hono's
releases</a>.</em></p>
<blockquote>
<h2>v4.12.23</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(serve-static): normalize all backslashes in file paths, not just
the first in <a
href="https://redirect.github.com/honojs/hono/pull/4962">honojs/hono#4962</a></li>
<li>feat(context): export the Context class publicly by <a
href="https://github.com/BlankParticle"><code>@​BlankParticle</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4543">honojs/hono#4543</a></li>
<li>docs(contribution): add AI Usage Policy by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4970">honojs/hono#4970</a></li>
<li>feat(compress): add contentTypeFilter option and
<code>COMPRESSIBLE_CONTENT_TYPE_REGEX</code> re-export by <a
href="https://github.com/na-trium-144"><code>@​na-trium-144</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4961">honojs/hono#4961</a></li>
<li>fix(utils/ipaddr): do not compress a single 0 group to
<code>::</code> by <a
href="https://github.com/yusukebe"><code>@​yusukebe</code></a> in <a
href="https://redirect.github.com/honojs/hono/pull/4971">honojs/hono#4971</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.22...v4.12.23">https://github.com/honojs/hono/compare/v4.12.22...v4.12.23</a></p>
<h2>v4.12.22</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: update vitest to v4 and cleanups by <a
href="https://github.com/BlankParticle"><code>@​BlankParticle</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4952">honojs/hono#4952</a></li>
<li>fix(mime): specify charset parameter per MIME type instead of
mechanical detection by <a
href="https://github.com/renatograsso10"><code>@​renatograsso10</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4912">honojs/hono#4912</a></li>
<li>fix(compress): respect Accept-Encoding when encoding option is set
by <a href="https://github.com/LeSingh1"><code>@​LeSingh1</code></a> in
<a
href="https://redirect.github.com/honojs/hono/pull/4951">honojs/hono#4951</a></li>
<li>fix(deno): echo negotiated WebSocket subprotocol in upgrade response
by <a href="https://github.com/ATOM00blue"><code>@​ATOM00blue</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4955">honojs/hono#4955</a></li>
<li>feat: add msgpack as a compressible content type by <a
href="https://github.com/na-trium-144"><code>@​na-trium-144</code></a>
in <a
href="https://redirect.github.com/honojs/hono/pull/4957">honojs/hono#4957</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/renatograsso10"><code>@​renatograsso10</code></a>
made their first contribution in <a
href="https://redirect.github.com/honojs/hono/pull/4912">honojs/hono#4912</a></li>
<li><a href="https://github.com/LeSingh1"><code>@​LeSingh1</code></a>
made their first contribution in <a
href="https://redirect.github.com/honojs/hono/pull/4951">honojs/hono#4951</a></li>
<li><a
href="https://github.com/ATOM00blue"><code>@​ATOM00blue</code></a> made
their first contribution in <a
href="https://redirect.github.com/honojs/hono/pull/4955">honojs/hono#4955</a></li>
<li><a
href="https://github.com/na-trium-144"><code>@​na-trium-144</code></a>
made their first contribution in <a
href="https://redirect.github.com/honojs/hono/pull/4957">honojs/hono#4957</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/honojs/hono/compare/v4.12.21...v4.12.22">https://github.com/honojs/hono/compare/v4.12.21...v4.12.22</a></p>
<h2>v4.12.21</h2>
<h2>Security fixes</h2>
<p>This release includes fixes for the following security issues:</p>
<h3>app.mount() strips mount prefix using undecoded path, causing
incorrect routing for percent-encoded paths</h3>
<p>Affects: <code>app.mount()</code>. Fixes prefix stripping using the
raw URL pathname instead of the decoded path, where percent-encoded
characters in the mount prefix or path could cause the prefix to be
removed at the wrong position, resulting in the sub-application
receiving an incorrect path. GHSA-2gcr-mfcq-wcc3</p>
<h3>IP Restriction bypasses static deny rules for non-canonical
IPv6</h3>
<p>Affects: <code>hono/ip-restriction</code>. Fixes IP address
comparison using string equality, where non-canonical IPv6
representations of a denied address — such as compressed forms or
hex-notation IPv4-mapped addresses — could bypass static deny rules.
GHSA-xrhx-7g5j-rcj5</p>
<h3>Cookie helper does not sanitize sameSite and priority, allowing
Set-Cookie injection</h3>
<p>Affects: <code>hono/cookie</code>. Fixes missing validation of
<code>sameSite</code> and <code>priority</code> options against
injection characters (<code>;</code>, <code>\r</code>, <code>\n</code>),
where user-controlled input passed to either option could inject
additional attributes into the Set-Cookie response header.
GHSA-3hrh-pfw6-9m5x</p>
<h3>JWT middleware accepts any Authorization scheme, not only
Bearer</h3>
<p>Affects: <code>hono/jwt</code>, <code>hono/jwk</code>. Fixes missing
scheme validation in the Authorization header, where any two-part header
value was accepted regardless of the scheme name, allowing non-Bearer
schemes to pass JWT authentication. GHSA-f577-qrjj-4474</p>
<hr />
<p>Users who use <code>app.mount()</code>,
<code>hono/ip-restriction</code>, <code>hono/cookie</code>, or
<code>hono/jwt</code>/<code>hono/jwk</code> are encouraged to upgrade to
this version.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/honojs/hono/commit/83bfb3bb4a12c1d92c163a39e907df5d662ff78d"><code>83bfb3b</code></a>
4.12.23</li>
<li><a
href="https://github.com/honojs/hono/commit/bcd290a64c0b392fd06d2bd1f256c5dc9835e4a4"><code>bcd290a</code></a>
fix(utils/ipaddr): do not compress a single 0 group to <code>::</code>
(<a
href="https://redirect.github.com/honojs/hono/issues/4971">#4971</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/c968177d9c11ddc7c7cca57c384497f11a6d60ae"><code>c968177</code></a>
feat(compress): add contentTypeFilter option and
`COMPRESSIBLE_CONTENT_TYPE_R...</li>
<li><a
href="https://github.com/honojs/hono/commit/0265a5453a7c272417eaa22b93d3fb319d2188ed"><code>0265a54</code></a>
docs(contribution): add AI Usage Policy (<a
href="https://redirect.github.com/honojs/hono/issues/4970">#4970</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/c84c5d2d46ca6a78c316529491d42ab7bb956368"><code>c84c5d2</code></a>
feat(context): export the Context class publicly (<a
href="https://redirect.github.com/honojs/hono/issues/4543">#4543</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/82dad6297c90c33c41bf48b4530509a21588ad06"><code>82dad62</code></a>
fix(serve-static): normalize all backslashes in file paths, not just the
firs...</li>
<li><a
href="https://github.com/honojs/hono/commit/2f01b774b168911d24e4864fb66054f5de9d9a4e"><code>2f01b77</code></a>
4.12.22</li>
<li><a
href="https://github.com/honojs/hono/commit/6bc0dff277684ee50ace6dc87a7ad73a9c131c99"><code>6bc0dff</code></a>
feat: add msgpack as a compressible content type (<a
href="https://redirect.github.com/honojs/hono/issues/4957">#4957</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/7e0555d14c72d4204347ac9afaae32ba5c013ab9"><code>7e0555d</code></a>
fix(deno): echo negotiated WebSocket subprotocol in upgrade response (<a
href="https://redirect.github.com/honojs/hono/issues/4955">#4955</a>)</li>
<li><a
href="https://github.com/honojs/hono/commit/f0ed2465913f2a89ebdf65cc54d6254915fc3ff6"><code>f0ed246</code></a>
fix(compress): respect Accept-Encoding when encoding option is set (<a
href="https://redirect.github.com/honojs/hono/issues/4951">#4951</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/honojs/hono/compare/v4.12.18...v4.12.23">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hono&package-manager=npm_and_yarn&previous-version=4.12.18&new-version=4.12.23)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ChromeDevTools/chrome-devtools-mcp/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-05 09:57:37 +00:00
Gilberto Cocchi 8971890117 fix: Cursor plugin homepage setting field (#2173)
Fix Cursor plugin homepage setting field as per #2172

---------

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2026-06-03 10:01:57 +00:00
Wolfgang Beyer 30d59a7872 feat: Handle multiple providers of third-party developer tools (#2168)
This allows a page to have multiple providers of third-party developer
tools, which each respond to the `devtoolstooldiscovery` event.

- Multiple `ToolGroup`s
- MCP tool responses only mention third-party developer tools, if there
are any. Otherwise this part of the output is skipped.
2026-06-02 15:07:32 +00:00
Nikolay Vitkov bf0574da8c refactor: change type of logger (#2165)
This change aligns most of our logger allowing them to be omitted when
needed meaning code inside the args will not be executed unconditionally
- example `logger?.(JSON.stringy(X))`.

Currently only changes the type, while in a follow up I will remove the
`debug` package and update the file logs.
2026-06-02 09:29:48 +00:00
dependabot[bot] 692b28adac chore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates (#2164)
Bumps the dev-dependencies group with 4 updates in the / directory:
[@google/genai](https://github.com/googleapis/js-genai),
[@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs),
[eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript)
and [rollup](https://github.com/rollup/rollup).

Updates `@google/genai` from 2.6.0 to 2.7.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>v2.7.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0">2.7.0</a>
(2026-05-27)</h2>
<h3>Features</h3>
<ul>
<li>Add Skill Registry ListSkills and DeleteSkill to SDK (<a
href="https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87">d75582a</a>)</li>
<li>additional computer_use field support for vertex. (<a
href="https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c">54a692b</a>)</li>
<li><strong>interaction-api:</strong> Allow &quot;text/csv&quot; as a
supported document mime type for Interaction API. (<a
href="https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5">3cc830e</a>)</li>
<li><strong>interaction-api:</strong> Enable BigQuery tool in Deep
Research config. (<a
href="https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1">58c8c7e</a>)</li>
<li>Support Reinforcement Tuning in GenAI SDK (<a
href="https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8">418cc35</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.6.0...v2.7.0">2.7.0</a>
(2026-05-27)</h2>
<h3>Features</h3>
<ul>
<li>Add Skill Registry ListSkills and DeleteSkill to SDK (<a
href="https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87">d75582a</a>)</li>
<li>additional computer_use field support for vertex. (<a
href="https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c">54a692b</a>)</li>
<li><strong>interaction-api:</strong> Allow &quot;text/csv&quot; as a
supported document mime type for Interaction API. (<a
href="https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5">3cc830e</a>)</li>
<li><strong>interaction-api:</strong> Enable BigQuery tool in Deep
Research config. (<a
href="https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1">58c8c7e</a>)</li>
<li>Support Reinforcement Tuning in GenAI SDK (<a
href="https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8">418cc35</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/2821346c85468d5fc18f95a5824583868548c6d8"><code>2821346</code></a>
chore(main): release 2.7.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1630">#1630</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c"><code>54a692b</code></a>
feat: additional computer_use field support for vertex.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87"><code>d75582a</code></a>
feat: Add Skill Registry ListSkills and DeleteSkill to SDK</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5"><code>3cc830e</code></a>
feat(interaction-api): Allow &quot;text/csv&quot; as a supported
document mime type for...</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1"><code>58c8c7e</code></a>
feat(interaction-api): Enable BigQuery tool in Deep Research
config.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/b25d22f08ebb10ed1fe2084b76fca62c1e609077"><code>b25d22f</code></a>
chore: Internal cleanup</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8"><code>418cc35</code></a>
feat: Support Reinforcement Tuning in GenAI SDK</li>
<li>See full diff in <a
href="https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@rollup/plugin-commonjs` from 29.0.2 to 29.0.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md">@​rollup/plugin-commonjs's
changelog</a>.</em></p>
<blockquote>
<h2>v29.0.3</h2>
<p><em>2026-05-29</em></p>
<h3>Bugfixes</h3>
<ul>
<li>commonjs: make <a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1868">#1868</a>
es5-compatible (<a
href="https://redirect.github.com/rollup/plugins/issues/1981">#1981</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rollup/plugins/commit/1e4025b6e984820523b612b74f09da0a4913d38a"><code>1e4025b</code></a>
chore(release): commonjs v29.0.3</li>
<li><a
href="https://github.com/rollup/plugins/commit/08a5b175b966c571ecfee6082ac654784a40b8ae"><code>08a5b17</code></a>
fix(commonjs): make <a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1868">#1868</a>
es5-compatible (<a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1981">#1981</a>)</li>
<li><a
href="https://github.com/rollup/plugins/commit/5800bf331567c07590f9c3510c684b22c57629d3"><code>5800bf3</code></a>
chore(repo): test migration to vitest. phase 4 (<a
href="https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1978">#1978</a>)</li>
<li>See full diff in <a
href="https://github.com/rollup/plugins/commits/commonjs-v29.0.3/packages/commonjs">compare
view</a></li>
</ul>
</details>
<br />

Updates `eslint-import-resolver-typescript` from 4.4.4 to 4.4.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/import-js/eslint-import-resolver-typescript/releases">eslint-import-resolver-typescript's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.5</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/473">#473</a>
<a
href="https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a"><code>32c61ab</code></a>
Thanks <a
href="https://github.com/leey0818"><code>@​leey0818</code></a>! - fix:
check tsconfig matching before using resolver</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md">eslint-import-resolver-typescript's
changelog</a>.</em></p>
<blockquote>
<h2>4.4.5</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/473">#473</a>
<a
href="https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a"><code>32c61ab</code></a>
Thanks <a
href="https://github.com/leey0818"><code>@​leey0818</code></a>! - fix:
check tsconfig matching before using resolver</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/import-js/eslint-import-resolver-typescript/commit/724c47d8c08fa8ffa702c7a94ba53b367a4727fb"><code>724c47d</code></a>
chore: release eslint-import-resolver-typescript (<a
href="https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/480">#480</a>)</li>
<li><a
href="https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a"><code>32c61ab</code></a>
fix: check tsconfig matching before using resolver (<a
href="https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/473">#473</a>)</li>
<li>See full diff in <a
href="https://github.com/import-js/eslint-import-resolver-typescript/compare/v4.4.4...v4.4.5">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for eslint-import-resolver-typescript since your current
version.</p>
</details>
<br />

Updates `rollup` from 4.60.4 to 4.61.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/releases">rollup's
releases</a>.</em></p>
<blockquote>
<h2>v4.61.0</h2>
<h2>4.61.0</h2>
<p><em>2026-06-01</em></p>
<h3>Features</h3>
<ul>
<li>Sort entry modules to make chunk hashes deterministic (<a
href="https://redirect.github.com/rollup/rollup/issues/6391">#6391</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6376">#6376</a>:
Eliminate AWS credential exposure on fork PRs in REPL artefact workflow
(<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6378">#6378</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/6379">#6379</a>:
chore(deps): update dependency lint-staged to v17 (<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/6380">#6380</a>:
chore(deps): update dependency lru-cache to v11 (<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/6381">#6381</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/6382">#6382</a>:
chore(deps): update dependency <code>@​types/node</code> to ^20.19.41
(<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6386">#6386</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/6387">#6387</a>:
chore(deps): update aws-actions/configure-aws-credentials action to v6
(<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6388">#6388</a>:
fix(deps): update swc monorepo (major) (<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/6389">#6389</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6391">#6391</a>:
Sort entry modules to make chunk hash names deterministic (<a
href="https://github.com/TrickyPi"><code>@​TrickyPi</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6394">#6394</a>:
fix(deps): update minor/patch updates (<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/6395">#6395</a>:
chore(deps): update react monorepo to v19 (<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/6396">#6396</a>:
fix(deps): update rust crate swc_compiler_base to v57 (<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/6397">#6397</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/6400">#6400</a>:
docs: fix broken links (<a
href="https://github.com/jiyujie2006"><code>@​jiyujie2006</code></a>)</li>
</ul>
</blockquote>
</details>
<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.61.0</h2>
<p><em>2026-06-01</em></p>
<h3>Features</h3>
<ul>
<li>Sort entry modules to make chunk hashes deterministic (<a
href="https://redirect.github.com/rollup/rollup/issues/6391">#6391</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6376">#6376</a>:
Eliminate AWS credential exposure on fork PRs in REPL artefact workflow
(<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6378">#6378</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/6379">#6379</a>:
chore(deps): update dependency lint-staged to v17 (<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/6380">#6380</a>:
chore(deps): update dependency lru-cache to v11 (<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/6381">#6381</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/6382">#6382</a>:
chore(deps): update dependency <code>@​types/node</code> to ^20.19.41
(<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6386">#6386</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/6387">#6387</a>:
chore(deps): update aws-actions/configure-aws-credentials action to v6
(<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6388">#6388</a>:
fix(deps): update swc monorepo (major) (<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/6389">#6389</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6391">#6391</a>:
Sort entry modules to make chunk hash names deterministic (<a
href="https://github.com/TrickyPi"><code>@​TrickyPi</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6394">#6394</a>:
fix(deps): update minor/patch updates (<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/6395">#6395</a>:
chore(deps): update react monorepo to v19 (<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/6396">#6396</a>:
fix(deps): update rust crate swc_compiler_base to v57 (<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/6397">#6397</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/6400">#6400</a>:
docs: fix broken links (<a
href="https://github.com/jiyujie2006"><code>@​jiyujie2006</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rollup/rollup/commit/765167f1edc66adebef89fea5e3f260f4587b64e"><code>765167f</code></a>
4.61.0</li>
<li><a
href="https://github.com/rollup/rollup/commit/0f547eb02ca6785e1a01287f857809992cf884a7"><code>0f547eb</code></a>
Sort entry modules to make chunk hash names deterministic (<a
href="https://redirect.github.com/rollup/rollup/issues/6391">#6391</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/583878733e55e24ed7f16d3e0ba565aa3f14718e"><code>5838787</code></a>
docs: fix broken links (<a
href="https://redirect.github.com/rollup/rollup/issues/6400">#6400</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/cc0f51af8e06aec3ca5f191c7863fb065527e2e9"><code>cc0f51a</code></a>
chore(deps): update react monorepo to v19 (<a
href="https://redirect.github.com/rollup/rollup/issues/6395">#6395</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/dd300378ad86a4727645e7490d818ef24bab1970"><code>dd30037</code></a>
fix(deps): update rust crate swc_compiler_base to v57 (<a
href="https://redirect.github.com/rollup/rollup/issues/6396">#6396</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/cb86c3e5693ef0e7ec3e83e78555d6e492b323a3"><code>cb86c3e</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6397">#6397</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/db2b6e0fa928ea4529c3cfb7d8c7cbea49643c87"><code>db2b6e0</code></a>
fix(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6394">#6394</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/c16e493d390491192a36331e7e76311c6498d636"><code>c16e493</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6389">#6389</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/65397f1d687ec037178d3d6bbc8eb9721ce4afb1"><code>65397f1</code></a>
chore(deps): update aws-actions/configure-aws-credentials action to v6
(<a
href="https://redirect.github.com/rollup/rollup/issues/6387">#6387</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/68177783c8eeac5cfdc3308ea35cadd930fdec27"><code>6817778</code></a>
fix(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6386">#6386</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rollup/rollup/compare/v4.60.4...v4.61.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-06-01 17:42:14 +00:00
dependabot[bot] 63304ef896 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1635648 to 1.0.1638082 in the bundled-devtools group (#2158)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1635648 to 1.0.1638082
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/0e1186138ed519d9659c1874bf6375eca4483c72"><code>0e11861</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/fc187876b809cd88eabfd71e83612237ae251c52"><code>fc18787</code></a>
[EVP] Add EmailVerificationRequestIssue frontend implementation</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/35ab3415f82dc36f392de1f3c46d9493ad8ad81e"><code>35ab341</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/533a21984b469fe84a7fc7328b09cdd0d016a803"><code>533a219</code></a>
Fix preloading status precedence in Speculative loads view</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a2e96270343a136115c7c330e6b0be84933b7199"><code>a2e9627</code></a>
Roll puppeteer-replay</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ff5bcfee93e4cc94960b53d398d1aa299d02ddc6"><code>ff5bcfe</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d506397e56f8c3f8bdd5e8f1f89ef9424ff3cf94"><code>d506397</code></a>
[AI] Create a NETWORK_REQUEST_GENERAL_HEADERS walkthrough widget</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c2d53dbc3ffcb97894b43c6cff90f485a1d70a01"><code>c2d53db</code></a>
Don't run side-effects on mcp entrypoint</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/143b39364e51486d4dcc8df9f42d459f236451de"><code>143b393</code></a>
[GreenDev] Remove BreakpointDebuggerAgent</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/95eeca9928a8c0982daf7b84604e92c071bda4de"><code>95eeca9</code></a>
[stack_trace] Support recursive eval scriptId augmentation in
parser</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1635648...v1.0.1638082">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.1635648&new-version=1.0.1638082)](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-06-01 09:04:39 +00:00
Nikolay Vitkov 2e039c09e1 refactor: use validate files on the tool level (#2152)
Fixes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2138
Closes #2150
2026-05-28 17:13:02 +00:00
dependabot[bot] 50cecd810b chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#2128)
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.59.4 to 8.60.0
<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.60.0</h2>
<h2>8.60.0 (2026-05-25)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>rule-tester:</strong> added updates of RuleTester from
upstream (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>playground TS version selector is not working (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Vinccool96</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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">@​typescript-eslint/eslint-plugin's
changelog</a>.</em></p>
<blockquote>
<h2>8.60.0 (2026-05-25)</h2>
<p>This was a version bump only for eslint-plugin 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.60.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/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a>
chore(release): publish 8.60.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.59.4 to 8.60.0
<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.60.0</h2>
<h2>8.60.0 (2026-05-25)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>rule-tester:</strong> added updates of RuleTester from
upstream (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>playground TS version selector is not working (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Vinccool96</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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">@​typescript-eslint/parser's
changelog</a>.</em></p>
<blockquote>
<h2>8.60.0 (2026-05-25)</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.60.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/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a>
chore(release): publish 8.60.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `typescript-eslint` from 8.59.4 to 8.60.0
<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.60.0</h2>
<h2>8.60.0 (2026-05-25)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>rule-tester:</strong> added updates of RuleTester from
upstream (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>playground TS version selector is not working (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Vinccool96</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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.60.0 (2026-05-25)</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.60.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/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a>
chore(release): publish 8.60.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/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-05-28 08:44:27 +00:00