提交

提交图

1019 次代码提交

作者 SHA1 备注 提交日期
Nikolay Vitkov cae3f2cd02 chore: ignore claude plugin format (#1784)
When release please tries to update the version it change the format
which then fails CI check,
We can safely ignore the formatting for that file.
2026-04-02 09:28:13 +00:00
yulunz 1b5dcae2a0 docs: update the README on installing as a VS code agent plugin (#1796)
Context: https://crbug.com/491671639
2026-04-02 07:57:01 +00:00
yulunz 6a371144d2 chore: adding metadata file for the VS code plugin (#1236)
This is part of bundling the MCP server and the skills as an "agent
plugin" for VS code.

The marketplace file is being added into github's repo as an [external
plugin](https://github.com/github/awesome-copilot?tab=contributing-ov-file#adding-external-plugins)
([PR](https://github.com/github/awesome-copilot/pull/1161)).
[Here](https://code.visualstudio.com/docs/copilot/customization/agent-plugins#_configure-plugin-marketplaces)
is the general instructions for the agent plugin.

With that we still need the plugin metadata file in our repo. This file
should specify the version and we should update each time we release.
The version here will silently override the version in the marketplace
file
([doc](https://code.claude.com/docs/en/plugin-marketplaces#version-resolution-and-release-channels)).
The version in the marketplace file is a dummy.
2026-04-02 06:19:49 +00:00
yulunz 181dade252 chore: fix lingering enum types in tool_call_metrics.json (#1795)
We shouldn't keep having enum type in the JSON at all since we are
checking the permitted values to deduce the type already. This fixes
input to the type deducing logic.
2026-04-02 05:21:44 +00:00
Nikolay Vitkov d8a4398fb8 test: remove waiting for DevTools page (#1793) 2026-04-02 05:20:40 +00:00
yulunz ed9e4dd17d chore: make tool_call_metrics.json append only against new changes. (#1778)
With this change new tools are added to the very back of the json file.
Any removed tools will receive a isDeprecated flag in the existing
entry. And the same with tool arguments.
2026-04-01 22:27:53 +00:00
yulunz bc8ef4bc16 chore: add a script to generate tool_call_metrics.json for telemetry. (#1257)
This adds a script that generates a json file that summarizes all tool
calls and arguments for each.

- The arguments run through the blocklist filtering so arguments
containing high entropy ids are filtered out (e.g. "uid", "msgid" etc).
- It uses existing functions from clearcut logger module to transform
the arg name and value (i.e. take the length of the string, take the
size of the array, and rename the string to be "string_length", and
array "array_count" etc).
- These functions from the clearcut logger module will be later used to
sanitize the params as we start to log them.

This doesn't include the append only / deprecation logic just yet (i.e.
it's doesn't handle the case when new tools are added / removed, or
arguments of the existing tools are modified). This will be added in
following PRs.

The parent PR is #1250.
2026-04-01 18:51:35 +00:00
Nikolay Vitkov f382b7d41c chore(deps-dev): bump the dev-dependencies group with 6 updates (#1789)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1785

This updates the version of TypeScript that had some breaking changes
that affected us:
-
https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/#types-now-defaults-to-[]
-
https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/#new-types-for-%22upsert%22-methods-(a.k.a.-getorinsert)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 15:36:52 +00:00
Nikolay Vitkov d97a04b084 chore: remove workaround after SDK update (#1790) 2026-04-01 15:27:51 +00:00
Alex Rudenko c4f54710d9 feat: experimental click_at(x,y) tool (#1788)
Specify `--experimental-vision` argument for `chrome-devtools-mcp` to
enable additional tools for vision models. Currently, only
`click_at(x,y)` tool is supported. Usually you need a specialized model
that can provide accurate coordinates based on the screenshots.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/403
2026-04-01 15:19:36 +00:00
dependabot[bot] 69c425fd2d chore(deps-dev): bump @modelcontextprotocol/sdk from 1.28.0 to 1.29.0 in the bundled group (#1787)
Bumps the bundled group with 1 update:
[@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk).

Updates `@modelcontextprotocol/sdk` from 1.28.0 to 1.29.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/modelcontextprotocol/typescript-sdk/releases"><code>@​modelcontextprotocol/sdk</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.29.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: treat v1.x as primary branch for npm latest tag (backport <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1577">#1577</a>)
by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1749">modelcontextprotocol/typescript-sdk#1749</a></li>
<li>[v1.x] fix: disallow null (infinite) requested TTL by <a
href="https://github.com/LucaButBoring"><code>@​LucaButBoring</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1339">modelcontextprotocol/typescript-sdk#1339</a></li>
<li>[v1.x] fix: add missing size field to ResourceSchema by <a
href="https://github.com/olaservo"><code>@​olaservo</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1575">modelcontextprotocol/typescript-sdk#1575</a></li>
<li>Add typings exports by <a
href="https://github.com/tdraier"><code>@​tdraier</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1623">modelcontextprotocol/typescript-sdk#1623</a></li>
<li>v1.x npm audit fix by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1780">modelcontextprotocol/typescript-sdk#1780</a></li>
<li>v1.x <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623">#1623</a>
follow up -add missing types to package.json by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1773">modelcontextprotocol/typescript-sdk#1773</a></li>
<li>[v1.x backport] Allow servers / clients to advertise extensions in
the capability object by <a
href="https://github.com/localden"><code>@​localden</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1811">modelcontextprotocol/typescript-sdk#1811</a></li>
<li>fix(stdio): always set windowsHide on Windows, not just in Electron
by <a href="https://github.com/jnMetaCode"><code>@​jnMetaCode</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1640">modelcontextprotocol/typescript-sdk#1640</a></li>
<li>chore: bump version to 1.29.0 by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1820">modelcontextprotocol/typescript-sdk#1820</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tdraier"><code>@​tdraier</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1623">modelcontextprotocol/typescript-sdk#1623</a></li>
<li><a
href="https://github.com/jnMetaCode"><code>@​jnMetaCode</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1640">modelcontextprotocol/typescript-sdk#1640</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0">https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/e12cbd7078db388152f6e839abdbe09ba01f3f32"><code>e12cbd7</code></a>
chore: bump version to 1.29.0 (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1820">#1820</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/3913fd4443a86536155e3ebef9edd2045c372c1e"><code>3913fd4</code></a>
fix(stdio): always set windowsHide on Windows, not just in Electron (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1640">#1640</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/5608e78dd0d4ca6cd7dd03278419578f1780365a"><code>5608e78</code></a>
[v1.x backport] Allow servers / clients to advertise extensions in the
capabi...</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/7213816788e634ffb9d09affe50f0295093bfb73"><code>7213816</code></a>
v1.x <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623">#1623</a>
follow up -add missing types to package.json (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1773">#1773</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/364f38ca2d8895aed7c37b7a0a1031bb7ae4841c"><code>364f38c</code></a>
v1.x npm audit fix (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1780">#1780</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/c95cc0943b045517e4cc414baf1f168b216c3142"><code>c95cc09</code></a>
Add typings exports (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623">#1623</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/ddadaa6cc633fb5db0c094bf031b15b68a357820"><code>ddadaa6</code></a>
[v1.x] fix: add missing size field to ResourceSchema (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1575">#1575</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/2a158513028d9f862c4188b6957e78cd5663f26b"><code>2a15851</code></a>
[v1.x] fix: disallow null (infinite) requested TTL (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1339">#1339</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/13e30f1d36de8442417fec695983bdb155c00768"><code>13e30f1</code></a>
fix: treat v1.x as primary branch for npm latest tag (backport <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1577">#1577</a>)
(<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1749">#1749</a>)</li>
<li>See full diff in <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@modelcontextprotocol/sdk&package-manager=npm_and_yarn&previous-version=1.28.0&new-version=1.29.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-04-01 14:56:42 +00:00
Wolfgang Beyer 7912ca4ed4 chore: Make in-page tools work with pageId routing (#1781)
This moves the stored `ToolGroup` from `McpContext` to `McpPage`, where
per-page state should be stored in order for pageId-based routing to
work correctly.

When appending the list of in-page tools to a response, the list now
corresponds to the response's `McpPage`, and only falls back to the
selected `McpPage` for tools which are not page-specific.

---------

Co-authored-by: browser-automation-bot <133232582+browser-automation-bot@users.noreply.github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
Co-authored-by: Tolgahan Demirbaş <49946947+bcfmtolgahan@users.noreply.github.com>
2026-04-01 12:52:27 +00:00
Tolgahan Demirbaş c7c8f50f80 refactor: move waitForEventsAfterAction to McpPage (#1780)
Splits out from #1244 per review feedback.

'waitForEventsAfterAction' previously lived in 'McpContext' and always
used the selected page's CPU/network throttling settings. With pageId
routing, a tool can target a different page than the selected one,
meaning wrong throttling multipliers were applied.

Moving the method to 'McpPage' fixes this: each tool now calls
'page.waitForEventsAfterAction(...)' and gets the correct page's
emulation settings.

'getNetworkMultiplierFromString' is extracted to 'WaitForHelper.ts' to
avoid a circular import (McpContext → McpPage already exists).

Unblocks #1777.
2026-04-01 12:02:34 +00:00
browser-automation-bot 66ced457d1 chore(main): release chrome-devtools-mcp 0.21.0 (#1215)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.21.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.20.3...chrome-devtools-mcp-v0.21.0)
(2026-04-01)


### 🎉 Features

* add a skill for detecting memory leaks using take_memory_snapshot tool
([#1162](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1162))
([d19a235](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d19a2350f975ec2fbf8ee61b35163a48c0146c32))


### 🛠️ Fixes

* **cli:** avoid defaulting to isolated when userDataDir is provided
([#1258](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1258))
([73e1e24](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/73e1e24b26f9e42a83116b586e34d47276a6a2fa))
* list_pages should work after selected page is closed
([#1145](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1145))
([2664455](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/26644553028d8404fd65a005ea9c19a278671f4d))
* mark lighthouse and memory as non-read-only
([#1769](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1769))
([bec9dae](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/bec9dae2d26b728feedcd660189f386e6228f3ae))
* **telemetry:** record client name
([9a47b65](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/9a47b657d7b17b9bc64508530c93d55e8033e2a6))
* versioning for Claude Code plugin
([#1233](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1233))
([966b86f](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/966b86f3aaa9f87c2599b954c4e7f990c2a697ea))
* wrap .mcp.json config in mcpServers key
([#1246](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1246))
([c7948cf](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/c7948cf0621d80b080220d4cfd36b62bef2790b9))


### 📄 Documentation

* Command Code CLI instructions for MCP server
([0a7c0a7](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/0a7c0a74b471935a3e2f5ca0fd93556e8e5165ec))
* provide disclaimer about supported browsers
([#1237](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1237))
([8676b72](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8676b7216c66dfd323c2f6c272544a75dbab4dba))


### 🏗️ Refactor

* set process titles for easier debugging
([#1770](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1770))
([0fe3896](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/0fe3896d85c74ce8b2dc189fe8a310727f795344))

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

---------

Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
chrome-devtools-mcp-v0.21.0
2026-04-01 08:35:18 +00:00
Matt Van Horn cdbc66f160 chore: add ESLint guard against direct third-party imports bypassing bundle (#1189)
## Summary

- Adds a custom ESLint rule `@local/no-direct-third-party-imports` that
flags value imports of bundled third-party packages
(`@modelcontextprotocol/sdk`, `puppeteer-core`, `@puppeteer/browsers`,
`yargs`, `debug`, `zod`, `core-js`) when used outside of
`src/third_party/`
- Type-only imports (`import type`) are allowed since they are erased at
compile time and don't affect the bundle
- The rule is scoped to `src/**/*.ts` so development scripts and tests
are unaffected

This prevents the class of bugs where a direct npm import works during
development (devDependencies installed) but breaks in the published
package (only bundled code ships). PR #1111 was an example of this exact
issue caught through manual `npm pack` testing.

Closes #1123

## Test plan

- [x] Verified `npx eslint --no-cache src/` passes with no violations on
the current codebase
- [x] Verified the rule correctly catches a test file with `import
{Client} from '@modelcontextprotocol/sdk/client/index.js'`
- [x] Verified the rule allows `import type {Flags} from 'lighthouse'`
(type-only import)
- [x] Verified the rule does not fire inside `src/third_party/index.ts`
(the barrel itself)
- [x] Verified scripts/ and tests/ are unaffected (rule scoped to
`src/**/*.ts`)

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-04-01 07:59:11 +00:00
Matt Van Horn 2e1eabac02 chore: add eslint rule to validate tool schema patterns (#1191)
## Summary

- Add `@local/no-zod-nullable-object` ESLint rule that disallows
`.nullable()` and `.object()` usage in tool schema files
(`src/tools/**/*.ts`)
- Fix the existing `zod.object()` violation in `fill_form` by converting
the elements array from objects to `"uid=value"` formatted strings
- Remove the TODO from CONTRIBUTING.md and link the rule name to the
documented restriction

## Context

Per the [PR #1073
review](https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1073#discussion_r2872188785)
and the CONTRIBUTING.md guidelines, tool schemas should not use
`.nullable()` or `.object()` types. Complex objects should be
represented as short formatted strings instead.

The rule catches:
- `zod.object({...})` / `z.object({...})` - flags direct zod object
schema usage
- `.nullable()` - flags nullable schema usage on any expression

Closes #1076

## Test plan

- [ ] `npx eslint src/tools/` passes with no violations
- [ ] Creating a test file with `zod.object()` or `.nullable()` in
`src/tools/` triggers the rule
- [ ] TypeScript compilation passes (`npx tsc --noEmit`)
- [ ] Existing `fill_form` test updated to use new string format

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-04-01 07:40:32 +00:00
Alex Rudenko 47a50ca84c chore: split cli tests (#1779)
splits cli test that might reach the test file timeout more often.
2026-04-01 07:38:43 +00:00
pidofme 73e1e24b26 fix(cli): avoid defaulting to isolated when userDataDir is provided (#1258)
## Summary

Fix `chrome-devtools start` so it no longer implicitly enables
`isolated` when `--userDataDir` is provided.

Previously, the CLI wrapper always defaulted `isolated` to `true` for
`start`, which caused `userDataDir` and `isolated` to conflict even when
the user only specified `--userDataDir`. This made it impossible to
start the CLI daemon against a persistent browser profile.

   ## Changes

- Update `chrome-devtools start` default handling in
`src/bin/chrome-devtools.ts`
     - only default `isolated=true` when `userDataDir` is not set
- Clarify the `isolated` CLI description to document the conditional
default
   - Update `docs/cli.md` to reflect that:
     - `headless` is enabled by default
- `isolated` is enabled by default unless `--userDataDir` is provided
   - Fix a small error message typo

   ## Why

   This matches the intended semantics of the flags:

   - `--isolated` means use a temporary user data dir
   - `--userDataDir` means use a persistent, explicit user data dir

If the user passes `--userDataDir`, the CLI should not also implicitly
enable `isolated`.

   ## Testing

   - Ran:
     - `npm test -- tests/cli.test.ts`
     - `npm test -- tests/e2e/chrome-devtools.test.ts`

Added an e2e regression test in `tests/e2e/chrome-devtools.test.ts` to
verify that:

   - `chrome-devtools start --userDataDir <temp dir>` succeeds
- the CLI no longer fails with `Arguments userDataDir and isolated are
mutually exclusive`
   - the daemon starts successfully when `userDataDir` is provided
2026-04-01 05:51:40 +00:00
Wolfgang Beyer 4637ab9389 chore: Add execute_in_page_tool tool (#1766)
This allows the MCP server to call the in-page tools provided by the
inspected page.

Handling of (non-serializable) DOM elements as tool parameters or tool
output will be added in follow-ups.
2026-03-31 19:01:47 +00:00
yulunz 44e511f6f6 chore: add function to sanitize params for tool calls (#1250)
This adds functions to sanitize the tool call parameters. They are not
called as of now since we don't have server side changes landed yet to
support these.
2026-03-31 17:56:43 +00:00
Mathias Bynens e513db184d chore: improve take_memory_snapshot tool description (#1774)
I spotted a missing verb while looking at [the tool
reference](https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/tool-reference.md#take_memory_snapshot)
and decided to tweak the description a bit. WDYT?
2026-03-31 13:01:07 +00:00
Alex Rudenko 604c41167b chore(deps): bump lighthouse (#1776) 2026-03-31 12:17:44 +00:00
Alex Rudenko 0fe3896d85 refactor: set process titles for easier debugging (#1770)
Refs https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1765
2026-03-31 10:42:26 +00:00
Alex Rudenko bec9dae2d2 fix: mark lighthouse and memory as non-read-only (#1769)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1767
2026-03-31 10:39:15 +00:00
Alex Rudenko 192c54d9c0 chore(deps): bump package lock (#1768)
Result of `npm audit fix`.
2026-03-31 07:34:17 +00:00
Wolfgang Beyer 2eec55abbb chore: edit punctuation in comment (#1771)
Reverts ChromeDevTools/chrome-devtools-mcp#1764

The goal is to trigger another run of release-please. The [previous
run](https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1215)
did not pick up updated PR titles, so now I have updated PR descriptions
[(1)](https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1239)[(2)](https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1762)
in the hope that this causes the appropriate update in the release PR.
2026-03-31 06:51:54 +00:00
Wolfgang Beyer a10f591499 chore: edit punctuation in comment (#1764)
Only to trigger release-please
2026-03-31 05:54:29 +00:00
Wolfgang Beyer f7ae9e86ec feat: Add list of in-page tools to responses for navigate_page, list_pages, select_page, close_page, new_page (#1762)
There is no mechanism which would allow a page to push an updated list
of in-page tools to the MCP server. The next best thing I can think of
is to append an updated list of in-page tools to the response for each
tool call related to page navigation (navigate_page, list_pages,
select_page, close_page, new_page).
2026-03-30 14:02:45 +00:00
Ujjal Bhattacharjee c7948cf062 fix: wrap .mcp.json config in mcpServers key (#1246)
## Summary
- The `.mcp.json` file was missing the required `mcpServers` wrapper
key, causing MCP clients (e.g., Claude Code) to fail parsing with a
schema validation error.
- Wraps the existing config inside `mcpServers` to match the expected
MCP configuration schema.

## Test plan
- [x] Run `claude /doctor` — config parse error is resolved

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-03-30 10:45:23 +00:00
Wolfgang Beyer cea963be68 feat: Add a new tool for listing in-page tools (gated behind a command line flag) (#1239)
This adds a `list_in_page_tools` MCP tool. When called, it dispatches a
`devtoolstooldiscovery` event on the active page. The page announces its
exposing tools by calling the event's `respondWith` method, which causes
the exposed tools to be stashed on the page's `window` object. This list
of in-page tools is then appended to the `list_in_page_tools` response.

Calling the exposed in-page tools from the MCP server will be handled in
a follow-up.
2026-03-30 09:51:35 +00:00
atian8179 2664455302 fix: list_pages should work after selected page is closed (#1145)
## Problem

After closing the currently selected page, calling `list_pages` throws
an error:
```
The selected page has been closed. Call list_pages to see open pages.
```

This creates a deadlock: the error message tells users to call
`list_pages`, but `list_pages` itself throws the same error.

## Root Cause

`list_pages` is defined with `definePageTool`, which marks it as
`pageScoped: true`. The handler dispatch in `index.ts` (line ~186) calls
`context.getSelectedMcpPage()` for all page-scoped tools **before**
invoking the handler. When the selected page is closed,
`getSelectedPptrPage()` throws.

However, `list_pages` doesn't actually use the `page` parameter — its
handler only calls `response.setIncludePages(true)`.

## Fix

Change `list_pages` from `definePageTool` to `defineTool`. This bypasses
the page-scoped check while preserving all existing behavior since the
handler never used the page reference.

## Testing

Reproduced the issue following the steps in #1138:
1. Call `list_pages` → returns page list 
2. Close the selected page
3. Call `list_pages` → now returns updated page list instead of throwing


Fixes #1138

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-03-30 08:42:39 +00:00
Ahmad Awais 0a7c0a74b4 feat: Command Code CLI instructions for MCP server (#1226)
Added [Command Code](https://commandcode.ai) CLI
[instructions](https://commandcode.ai/docs/mcp) for MCP server.
2026-03-27 10:10:27 +00:00
dependabot[bot] b1684c6e58 chore(deps-dev): bump the bundled group across 1 directory with 3 updates (#1238)
Bumps the bundled group with 3 updates in the / directory:
[@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk),
[core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js)
and [puppeteer](https://github.com/puppeteer/puppeteer).

Updates `@modelcontextprotocol/sdk` from 1.27.1 to 1.28.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/modelcontextprotocol/typescript-sdk/releases"><code>@​modelcontextprotocol/sdk</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: use scopes_supported from resource metadata by default (fixes
<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/580">#580</a>)
by <a href="https://github.com/antogyn"><code>@​antogyn</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/757">modelcontextprotocol/typescript-sdk#757</a></li>
<li>[v1.x backport] Default to client_secret_basic when server omits
token_endpoint_auth_methods_supported by <a
href="https://github.com/pcarleton"><code>@​pcarleton</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1611">modelcontextprotocol/typescript-sdk#1611</a></li>
<li>fix: reject plain JSON Schema objects passed as inputSchema by <a
href="https://github.com/tiluckdave"><code>@​tiluckdave</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1596">modelcontextprotocol/typescript-sdk#1596</a></li>
<li>fix: clear _timeoutInfo in _onclose() and scope .finally() abort
controller cleanup by <a
href="https://github.com/pcarleton"><code>@​pcarleton</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1462">modelcontextprotocol/typescript-sdk#1462</a></li>
<li>fix(server/auth): RFC 8252 loopback port relaxation by <a
href="https://github.com/poteat"><code>@​poteat</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1738">modelcontextprotocol/typescript-sdk#1738</a></li>
<li>chore: bump version to 1.28.0 by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1746">modelcontextprotocol/typescript-sdk#1746</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/antogyn"><code>@​antogyn</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/757">modelcontextprotocol/typescript-sdk#757</a></li>
<li><a
href="https://github.com/tiluckdave"><code>@​tiluckdave</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1596">modelcontextprotocol/typescript-sdk#1596</a></li>
<li><a href="https://github.com/poteat"><code>@​poteat</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1738">modelcontextprotocol/typescript-sdk#1738</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0">https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/a0565695218544fc53e99bf5b544a887d373cefa"><code>a056569</code></a>
chore: bump version to 1.28.0 (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1746">#1746</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/897bc25bfe7beb782dbe31e466c8d161224cfed7"><code>897bc25</code></a>
fix(server/auth): RFC 8252 loopback port relaxation (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1738">#1738</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/398dc70f64a8bf42cc1da2ce2d2479bbde933fc3"><code>398dc70</code></a>
fix: clear _timeoutInfo in _onclose() and scope .finally() abort
controller c...</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/93640d33ab2725c8fe2cfad240f38f27a624194e"><code>93640d3</code></a>
fix: reject plain JSON Schema objects passed as inputSchema (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1596">#1596</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/4cbcec0edb96332d87ed42c1910dca92cca507de"><code>4cbcec0</code></a>
[v1.x backport] Default to client_secret_basic when server omits
token_endpoi...</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/c9b58d19861b3917f23f5cda395c71f8239b8b33"><code>c9b58d1</code></a>
feat: use scopes_supported from resource metadata by default (fixes <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/580">#580</a>)
(<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/757">#757</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/351e1246fc88c6bb97e909be9190a68c6e05bf1a"><code>351e124</code></a>
docs: add links to hosted V1 and V2 API reference docs</li>
<li>See full diff in <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `core-js` from 3.48.0 to 3.49.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/zloirock/core-js/blob/master/CHANGELOG.md">core-js's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/zloirock/core-js/releases/tag/v3.49.0">3.49.0 -
2026.03.16</a></h3>
<ul>
<li>Changes <a
href="https://github.com/zloirock/core-js/compare/v3.48.0...v3.49.0">v3.48.0...v3.49.0</a>
(373 commits)</li>
<li><a
href="https://github.com/tc39/proposal-iterator.range"><code>Iterator.range</code></a>
updated following the actual spec version
<ul>
<li>Throw a <code>RangeError</code> on <code>NaN</code>
<code>start</code> / <code>end</code> / <code>step</code></li>
<li>Allow <code>null</code> as <code>optionOrStep</code></li>
</ul>
</li>
<li>Improved accuracy of <code>Math.{ asinh, atanh }</code> polyfills
with big and small values</li>
<li>Improved accuracy of <code>Number.prototype.toExponential</code>
polyfills with big and small values</li>
<li>Improved performance of <code>atob</code>, <code>btoa</code>,
<code>Uint8Array.fromHex</code>,
<code>Uint8Array.prototype.setFromHex</code>, and
<code>Uint8Array.prototype.toHex</code>, <a
href="https://redirect.github.com/zloirock/core-js/issues/1503">#1503</a>,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1464">#1464</a>,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1510">#1510</a>,
thanks <a
href="https://github.com/johnzhou721"><strong><code>@​johnzhou721</code></strong></a></li>
<li>Minor performance optimization polyfills of methods from <a
href="https://github.com/tc39/proposal-upsert"><code>Map</code> upsert
proposal</a></li>
<li>Polyfills of methods from <a
href="https://github.com/tc39/proposal-upsert"><code>Map</code> upsert
proposal</a> from the pure version made generic to make it work with
polyfilled and native collections</li>
<li>Wrap <code>Symbol.for</code> in
<code>Symbol.prototype.description</code> polyfill for correct handling
of empty string descriptions</li>
<li>Fixed <a href="https://bugs.webkit.org/show_bug.cgi?id=309342">a
modern Safari bug</a> in <code>Array.prototype.includes</code> with
sparse arrays and <code>fromIndex</code></li>
<li>Fixed one more case (<code>Iterator.prototype.take</code>) of a V8 ~
Chromium &lt; 126 <a
href="https://issues.chromium.org/issues/336839115">bug</a></li>
<li>Forced replacement of <code>Iterator.{ concat, zip, zipKeyed
}</code> in the pure version for ensuring proper wrapped
<code>Iterator</code> instances as the result</li>
<li>Fixed proxying <code>.return()</code> on exhausted iterator from
some methods of iterator helpers polyfill to the underlying
iterator</li>
<li>Fixed double <code>.return()</code> calling in case of throwing
error in this method in the internal <code>iterate</code> helper that
affected some polyfills</li>
<li>Fixed closing iterator on <code>IteratorValue</code> errors in the
internal <code>iterate</code> helper that affected some polyfills</li>
<li>Fixed iterator closing in <code>Array.from</code> polyfill on
failure to create array property</li>
<li>Fixed order of arguments validation in <code>Array.fromAsync</code>
polyfill</li>
<li>Fixed a lack of counter validation on <code>MAX_SAFE_INTEGER</code>
in <code>Array.fromAsync</code> polyfill</li>
<li>Fixed order of arguments validation in
<code>Array.prototype.flat</code> polyfill</li>
<li>Fixed handling strings as iterables in <code>Iterator.{ zip,
zipKeyed }</code> polyfills</li>
<li>Fixed some cases of iterators closing in <code>Iterator.{ zip,
zipKeyed }</code> polyfills</li>
<li>Fixed validation of iterators <code>.next()</code> results an
objects in <code>Iterator.{ zip, zipKeyed }</code> polyfills</li>
<li>Fixed a lack of early error in <code>Iterator.concat</code> polyfill
on primitive as an iterator</li>
<li>Fixed buffer mutation exposure in
<code>Iterator.prototype.windows</code> polyfill</li>
<li>Fixed iterator closing in <code>Set.prototype.{ isDisjointFrom,
isSupersetOf }</code> polyfill</li>
<li>Fixed (updated following the final spec) one more case
<code>Set.prototype.difference</code> polyfill with updating
<code>this</code></li>
<li>Fixed <code>DataView.prototype.setFloat16</code> polyfill in (0, 1)
range</li>
<li>Fixed order of arguments validation in <code>String.prototype.{
padStart, padEnd }</code> polyfills</li>
<li>Fixed order of arguments validation in <code>String.prototype.{
startsWith, endsWith }</code> polyfills</li>
<li>Fixed some cases of <code>Infinity</code> handling in
<code>String.prototype.substr</code> polyfill</li>
<li>Fixed <code>String.prototype.repeat</code> polyfill with a counter
exceeding 2 ** 32</li>
<li>Fixed some cases of chars case in <code>escape</code> polyfill</li>
<li>Fixed named backreferences in <code>RegExp</code> NCG polyfill</li>
<li>Fixed some cases of <code>RegExp</code> NCG polyfill in combination
with other types of groups</li>
<li>Fixed some cases of <code>RegExp</code> NCG polyfill in combination
with <code>dotAll</code></li>
<li>Fixed <code>String.prototype.replace</code> with <code>sticky</code>
polyfill, <a
href="https://redirect.github.com/zloirock/core-js/issues/810">#810</a>,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1514">#1514</a></li>
<li>Fixed <code>RegExp</code> <code>sticky</code> polyfill with
alternation</li>
<li>Fixed handling of some line terminators in case of
<code>multiline</code> + <code>sticky</code> mode in <code>RegExp</code>
polyfill</li>
<li>Fixed <code>.input</code> slicing on result object with
<code>RegExp</code> <code>sticky</code> mode polyfill</li>
<li>Fixed handling of empty groups with <code>global</code> and
<code>unicode</code> modes in polyfills</li>
<li>Fixed <code>URLSearchParam.prototype.delete</code> polyfill with
duplicate key-value pairs</li>
<li>Fixed possible removal of unnecessary entries in
<code>URLSearchParam.prototype.delete</code> polyfill with second
argument</li>
<li>Fixed an error in some cases of non-special URLs without a path in
the <code>URL</code> polyfill</li>
<li>Fixed some percent encode cases / character sets in the
<code>URL</code> polyfill</li>
<li>Fixed parsing of non-IPv4 hosts ends in a number in the
<code>URL</code> polyfill</li>
<li>Fixed some cases of <code>''</code> and <code>null</code> host
handling in the <code>URL</code> polyfill</li>
<li>Fixed host parsing with <code>hostname = host:port</code> in the
<code>URL</code> polyfill</li>
<li>Fixed host inheritance in some cases of file scheme in the
<code>URL</code> polyfill</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/zloirock/core-js/commit/80adfc415fa74e5e4f6ba2de6425aa577e3ad439"><code>80adfc4</code></a>
v3.49.0</li>
<li><a
href="https://github.com/zloirock/core-js/commit/0ad3e0035b87ac941ccadc643397bb7825d4e694"><code>0ad3e00</code></a>
fix a modern Safari bug in <code>Array.prototype.includes</code> with
sparse arrays and ...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/853bfa4906ea01ad18791f1fccb2b67440ffacf9"><code>853bfa4</code></a>
update some links</li>
<li><a
href="https://github.com/zloirock/core-js/commit/b4d723fbb277d9805c78c75bb529e7f175e9af0f"><code>b4d723f</code></a>
fix a lack of counter validation on <code>MAX_SAFE_INTEGER</code> in
<code>Array.fromAsync</code> p...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/e27667656589bb1ff058e1a2afbdd866e3872d51"><code>e276676</code></a>
fix parsing of non-IPv4 hosts ends in a number in the <code>URL</code>
polyfill</li>
<li><a
href="https://github.com/zloirock/core-js/commit/dd1cfba7cf2076f1e088a23af03f7124abdd91b0"><code>dd1cfba</code></a>
fix order of arguments validation in <code>String.prototype.{ padStart,
padEnd }</code> ...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/b952c5faef9092b20d0f9833b0b282a91ede8914"><code>b952c5f</code></a>
add an extra protection to configurator</li>
<li><a
href="https://github.com/zloirock/core-js/commit/e490cafd755a14ae150db2d7515af51175d5e421"><code>e490caf</code></a>
Fix for <a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/810">#810</a>
(<a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1514">#1514</a>)</li>
<li><a
href="https://github.com/zloirock/core-js/commit/10b4e86e3ce7d0675fd19b9028118162510307b9"><code>10b4e86</code></a>
drop an unneeded comment</li>
<li><a
href="https://github.com/zloirock/core-js/commit/28cf2e9b16f45430f35ef8658c7a461d50cca69e"><code>28cf2e9</code></a>
feat: Improve performance of Uint8Array Hex functions (<a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1510">#1510</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/zloirock/core-js/commits/v3.49.0/packages/core-js">compare
view</a></li>
</ul>
</details>
<br />

Updates `puppeteer` from 24.39.1 to 24.40.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.40.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.39.1...puppeteer-core-v24.40.0">24.40.0</a>
(2026-03-19)</h2>
<h3>🎉 Features</h3>
<ul>
<li>support PUPPETEER_DANGEROUS_NO_SANDBOX environment variable (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14756">#14756</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/2a8276ee095d6f9676a6d2ea82541127cc9f7f1f">2a8276e</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Chrome 146.0.7680.153 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14787">#14787</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/443e87f263cdc3578d6867ab72960f3c9979f72a">443e87f</a>)</li>
<li>roll to Chrome 146.0.7680.80 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14778">#14778</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/14685a0e090671eb1d1db2dc9e4ec60117b8cfc3">14685a0</a>)</li>
</ul>
<h2>puppeteer: v24.40.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.39.1...puppeteer-v24.40.0">24.40.0</a>
(2026-03-19)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.39.1 to 24.40.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.39.1...puppeteer-v24.40.0">24.40.0</a>
(2026-03-19)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.39.1 to 24.40.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>support PUPPETEER_DANGEROUS_NO_SANDBOX environment variable (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14756">#14756</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/2a8276ee095d6f9676a6d2ea82541127cc9f7f1f">2a8276e</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Chrome 146.0.7680.153 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14787">#14787</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/443e87f263cdc3578d6867ab72960f3c9979f72a">443e87f</a>)</li>
<li>roll to Chrome 146.0.7680.80 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14778">#14778</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/14685a0e090671eb1d1db2dc9e4ec60117b8cfc3">14685a0</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/2f176220024de0238d850d64aa6b07cb1e9b8e93"><code>2f17622</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14783">#14783</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/443e87f263cdc3578d6867ab72960f3c9979f72a"><code>443e87f</code></a>
fix: roll to Chrome 146.0.7680.153 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14787">#14787</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/2a8276ee095d6f9676a6d2ea82541127cc9f7f1f"><code>2a8276e</code></a>
feat: support PUPPETEER_DANGEROUS_NO_SANDBOX environment variable (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14756">#14756</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/14685a0e090671eb1d1db2dc9e4ec60117b8cfc3"><code>14685a0</code></a>
fix: roll to Chrome 146.0.7680.80 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14778">#14778</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/7a8b8e60e28c07eb68ab91508874dae6ce7d4106"><code>7a8b8e6</code></a>
chore(deps): bump the all group with 2 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14780">#14780</a>)</li>
<li>See full diff in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.39.1...puppeteer-v24.40.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-03-26 14:21:42 +00:00
Nikolay Vitkov e8e33d4172 chore: fix some typos (#1240) 2026-03-26 13:56:59 +00:00
dependabot[bot] 483695e356 chore(deps): bump picomatch from 4.0.3 to 4.0.4 (#1243)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to
4.0.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/micromatch/picomatch/releases">picomatch's
releases</a>.</em></p>
<blockquote>
<h2>4.0.4</h2>
<p>This is a security release fixing several security relevant
issues.</p>
<h2>What's Changed</h2>
<ul>
<li>Fix for <a
href="https://github.com/micromatch/picomatch/security/advisories/GHSA-c2c7-rcm5-vvqj">CVE-2026-33671</a></li>
<li>Fix for <a
href="https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p">CVE-2026-33672</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4">https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/micromatch/picomatch/commit/e5474fc1a4d7991870058170407dda8a42be5334"><code>e5474fc</code></a>
Publish 4.0.4</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/4516eb521f13a46b2fe1a1d2c9ef6b20ddc0e903"><code>4516eb5</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/5eceecd27543b8e056b9307d69e105ea03618a7d"><code>5eceecd</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/0db7dd70651ca7c8265601c0442a996ed32e3238"><code>0db7dd7</code></a>
Run benchmark again against latest minimatch version (<a
href="https://redirect.github.com/micromatch/picomatch/issues/161">#161</a>)</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/95003777eb1c60dec09495a8231fa2ba4054d76a"><code>9500377</code></a>
docs: clarify what brace expansion syntax is and isn't supported (<a
href="https://redirect.github.com/micromatch/picomatch/issues/134">#134</a>)</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/2661f23eca86c8b4a2b14815b9b2b3b74bd5a171"><code>2661f23</code></a>
fix typo in globstars.js test name (<a
href="https://redirect.github.com/micromatch/picomatch/issues/138">#138</a>)</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/1798b07e9df59500b9cf567294d44d559032f4c7"><code>1798b07</code></a>
docs: fix <code>makeRe</code> example (<a
href="https://redirect.github.com/micromatch/picomatch/issues/143">#143</a>)</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/9d76bc57a03b7f57cc4ca516c8071daf632bafd8"><code>9d76bc5</code></a>
chore: undocument removed options (<a
href="https://redirect.github.com/micromatch/picomatch/issues/146">#146</a>)</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/e4d718bbfb47e4f030ab2612b5b04a9297fe272d"><code>e4d718b</code></a>
Remove unused time-require (<a
href="https://redirect.github.com/micromatch/picomatch/issues/160">#160</a>)</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/38dffeb16221cc8eb8981524fb6895dd2aaaba76"><code>38dffeb</code></a>
chore(deps): pin dependencies (<a
href="https://redirect.github.com/micromatch/picomatch/issues/158">#158</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=picomatch&package-manager=npm_and_yarn&previous-version=4.0.3&new-version=4.0.4)](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-03-26 12:38:27 +00:00
dependabot[bot] eb9468165b chore(deps-dev): bump chrome-devtools-frontend from 1.0.1599001 to 1.0.1602348 in the bundled-devtools group (#1219)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1599001 to 1.0.1602348
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/7475e9f6f5308847d150ad032afe5b08e7d5d260"><code>7475e9f</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/2145a24a0f37c22b6c00290556fe44358c07687d"><code>2145a24</code></a>
[l10n] Update locale files for M147</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8027c6ed2ca18a45d1d4d57c5371d78ab1a6ddad"><code>8027c6e</code></a>
Revert &quot;[LiveMetrics] Fix freeze on prerender navigation&quot;</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/0130091731a000f009b98996620bb91c3dc304d8"><code>0130091</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c9853f7b87633c59a57ae8152be2dee3ae50b7eb"><code>c9853f7</code></a>
Delete obsolete HostConfigThirdPartyCookieControls</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/e3e7255e97bac52169d8bac2c6654216fdd29a5a"><code>e3e7255</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/95d287cc7c6dad1ba459c9cc46646bea9da6635f"><code>95d287c</code></a>
[sensors] Migrate 'createDeviceOrientationSection' to Lit</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/97a897be2927637ee40b3d38d6136e1f4c3bddd5"><code>97a897b</code></a>
[AI] Change the styling of the timeline range pane</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c46eb27afb0da6a000fb250480ca2882f96b591f"><code>c46eb27</code></a>
Update What's new content for Chrome 147</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ccd08804a8a3eae9836944406c9c6e665b7afdb5"><code>ccd0880</code></a>
AI: Improve AccessibilityAgent preamble and add context tools</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1599001...v1.0.1602348">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.1599001&new-version=1.0.1602348)](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-03-25 13:39:51 +00:00
dependabot[bot] 258a7deb04 chore(deps-dev): bump the dev-dependencies group with 7 updates (#1218)
Bumps the dev-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@google/genai](https://github.com/googleapis/js-genai) | `1.45.0` |
`1.46.0` |
|
[@types/debug](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/debug)
| `4.1.12` | `4.1.13` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.57.0` | `8.57.1` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `8.57.0` | `8.57.1` |
| [rollup](https://github.com/rollup/rollup) | `4.59.0` | `4.59.1` |
| [sinon](https://github.com/sinonjs/sinon) | `21.0.2` | `21.0.3` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.57.0` | `8.57.1` |

Updates `@google/genai` from 1.45.0 to 1.46.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/js-genai/releases"><code>@​google/genai</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.46.0</h2>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.45.0...v1.46.0">1.46.0</a>
(2026-03-17)</h2>
<h3>Breaking changes</h3>
<ul>
<li>[Interactions] Breaking change to Interactions API to refactor
TextContent annotations to use specific citation types (<a
href="https://github.com/googleapis/js-genai/commit/9fa8b1db3177d6baeab486b667652b639f08bdb1">9fa8b1d</a>)</li>
<li>[Interactions] Breaking change for Interactions, rename ContentDelta
unions. (<a
href="https://github.com/googleapis/js-genai/commit/917f24fe55270d02cb004e6b85f2c090caa9bfe6">917f24f</a>)</li>
<li>[Interactions] Breaking change to Interactions API to rename
rendered_content to search_suggestions (<a
href="https://github.com/googleapis/js-genai/commit/cc6bd38a2b2dd7fcea93c561dd5f397433e52393">cc6bd38</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>[Interactions] Add and update 'signature' fields for tool
call/result content types. (<a
href="https://github.com/googleapis/js-genai/commit/e73ca5be5339dfac04d0b75f20f8656b4b6bf46e">e73ca5b</a>)</li>
<li>[Interactions] Support Google Maps in Interactions (<a
href="https://github.com/googleapis/js-genai/commit/d0593e31bf500a18890dacc4dc2628da051f36af">d0593e3</a>)</li>
<li>Support include_server_side_tool_invocations for genai. (<a
href="https://github.com/googleapis/js-genai/commit/c627d6f1ce21eddc4beb13c719cbd6dda0c6c58d">c627d6f</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Quote <code>functionResponses</code> key in LiveClientMessage (<a
href="https://github.com/googleapis/js-genai/commit/9740426bb076b1f3debaf6ab55b8c17102e5f1ca">9740426</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"><code>@​google/genai</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/js-genai/compare/v1.45.0...v1.46.0">1.46.0</a>
(2026-03-17)</h2>
<h3>Breaking changes</h3>
<ul>
<li>[Interactions] Breaking change to Interactions API to refactor
TextContent annotations to use specific citation types (<a
href="https://github.com/googleapis/js-genai/commit/9fa8b1db3177d6baeab486b667652b639f08bdb1">9fa8b1d</a>)</li>
<li>[Interactions] Breaking change for Interactions, rename ContentDelta
unions. (<a
href="https://github.com/googleapis/js-genai/commit/917f24fe55270d02cb004e6b85f2c090caa9bfe6">917f24f</a>)</li>
<li>[Interactions] Breaking change to Interactions API to rename
rendered_content to search_suggestions (<a
href="https://github.com/googleapis/js-genai/commit/cc6bd38a2b2dd7fcea93c561dd5f397433e52393">cc6bd38</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>[Interactions] Add and update 'signature' fields for tool
call/result content types. (<a
href="https://github.com/googleapis/js-genai/commit/e73ca5be5339dfac04d0b75f20f8656b4b6bf46e">e73ca5b</a>)</li>
<li>[Interactions] Support Google Maps in Interactions (<a
href="https://github.com/googleapis/js-genai/commit/d0593e31bf500a18890dacc4dc2628da051f36af">d0593e3</a>)</li>
<li>Support include_server_side_tool_invocations for genai. (<a
href="https://github.com/googleapis/js-genai/commit/c627d6f1ce21eddc4beb13c719cbd6dda0c6c58d">c627d6f</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Quote <code>functionResponses</code> key in LiveClientMessage (<a
href="https://github.com/googleapis/js-genai/commit/9740426bb076b1f3debaf6ab55b8c17102e5f1ca">9740426</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/js-genai/commit/b9d4b88699a6bf35993ad12d89d8d75886ecfbf0"><code>b9d4b88</code></a>
chore(main): release 1.46.0 (<a
href="https://redirect.github.com/googleapis/js-genai/issues/1408">#1408</a>)</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/c627d6f1ce21eddc4beb13c719cbd6dda0c6c58d"><code>c627d6f</code></a>
feat: Support include_server_side_tool_invocations for genai.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/9740426bb076b1f3debaf6ab55b8c17102e5f1ca"><code>9740426</code></a>
fix: Quote <code>functionResponses</code> key in LiveClientMessage</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/9fa8b1db3177d6baeab486b667652b639f08bdb1"><code>9fa8b1d</code></a>
feat: Breaking change to Interactions API to refactor TextContent
annotations...</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/e73ca5be5339dfac04d0b75f20f8656b4b6bf46e"><code>e73ca5b</code></a>
feat: Add and update 'signature' fields for tool call/result content
types.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/d0593e31bf500a18890dacc4dc2628da051f36af"><code>d0593e3</code></a>
feat: Support Google Maps in Interactions</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/cc6bd38a2b2dd7fcea93c561dd5f397433e52393"><code>cc6bd38</code></a>
fix: Breaking change to Interactions API to rename rendered_content to
search...</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/917f24fe55270d02cb004e6b85f2c090caa9bfe6"><code>917f24f</code></a>
fix: Breaking change for Interactions, rename ContentDelta unions.</li>
<li><a
href="https://github.com/googleapis/js-genai/commit/211cd6b47a56cc36990e4857ac837625301e1846"><code>211cd6b</code></a>
chore: process proxy and base url settings for file uploads</li>
<li>See full diff in <a
href="https://github.com/googleapis/js-genai/compare/v1.45.0...v1.46.0">compare
view</a></li>
</ul>
</details>
<br />

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

Updates `@typescript-eslint/eslint-plugin` from 8.57.0 to 8.57.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.57.1</h2>
<h2>8.57.1 (2026-03-16)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] no report
for property on intersection type (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12126">#12126</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.57.1 (2026-03-16)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] no report
for property on intersection type (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12126">#12126</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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/c7c38aa252d7bf6708a225aebedc57686ac33dcd"><code>c7c38aa</code></a>
chore(release): publish 8.57.1</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/e1146296eebbb5fa877c4145b2ba7166de9a7923"><code>e114629</code></a>
fix(eslint-plugin): [prefer-optional-chain] no report for property on
interse...</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.1/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.57.0 to 8.57.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v8.57.1</h2>
<h2>8.57.1 (2026-03-16)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] no report
for property on intersection type (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12126">#12126</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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"><code>@​typescript-eslint/parser</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>8.57.1 (2026-03-16)</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.57.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/c7c38aa252d7bf6708a225aebedc57686ac33dcd"><code>c7c38aa</code></a>
chore(release): publish 8.57.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.1/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `rollup` from 4.59.0 to 4.59.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.59.1</h2>
<h2>4.59.1</h2>
<p><em>2026-03-21</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Fix a crash when using lazy dynamic imports with
moduleSideEffects:false (<a
href="https://redirect.github.com/rollup/rollup/issues/6306">#6306</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6281">#6281</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/6282">#6282</a>:
chore(deps): update github artifact actions (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/6283">#6283</a>:
chore(deps): update dependency nyc to v18 (<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/6284">#6284</a>:
fix(deps): update swc monorepo (major) (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6285">#6285</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/6290">#6290</a>:
chore(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/6291">#6291</a>:
chore(deps): update dependency <code>@​shikijs/vitepress-twoslash</code>
to v4 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6292">#6292</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/6297">#6297</a>:
chore(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/6298">#6298</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/6299">#6299</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/6300">#6300</a>:
docs: update packagephobia link (<a
href="https://github.com/bluwy"><code>@​bluwy</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6301">#6301</a>:
chore(deps): update dependency lint-staged to ^16.3.3 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6306">#6306</a>:
fix: fix chunk assignment for deoptimized module with dynamic import (<a
href="https://github.com/JoaoBrlt"><code>@​JoaoBrlt</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6307">#6307</a>:
chore(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/6308">#6308</a>:
chore(deps): update dependency lru-cache to v11 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6309">#6309</a>:
chore(deps): update dependency vite to v8 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6310">#6310</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/6311">#6311</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/6312">#6312</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</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.59.1</h2>
<p><em>2026-03-21</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Fix a crash when using lazy dynamic imports with
moduleSideEffects:false (<a
href="https://redirect.github.com/rollup/rollup/issues/6306">#6306</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6281">#6281</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/6282">#6282</a>:
chore(deps): update github artifact actions (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/6283">#6283</a>:
chore(deps): update dependency nyc to v18 (<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/6284">#6284</a>:
fix(deps): update swc monorepo (major) (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6285">#6285</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/6290">#6290</a>:
chore(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/6291">#6291</a>:
chore(deps): update dependency <code>@​shikijs/vitepress-twoslash</code>
to v4 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6292">#6292</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/6297">#6297</a>:
chore(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/6298">#6298</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/6299">#6299</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/6300">#6300</a>:
docs: update packagephobia link (<a
href="https://github.com/bluwy"><code>@​bluwy</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6301">#6301</a>:
chore(deps): update dependency lint-staged to ^16.3.3 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6306">#6306</a>:
fix: fix chunk assignment for deoptimized module with dynamic import (<a
href="https://github.com/JoaoBrlt"><code>@​JoaoBrlt</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6307">#6307</a>:
chore(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/6308">#6308</a>:
chore(deps): update dependency lru-cache to v11 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6309">#6309</a>:
chore(deps): update dependency vite to v8 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/6310">#6310</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/6311">#6311</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/6312">#6312</a>:
chore(deps): lock file maintenance (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rollup/rollup/commit/0cba9e079e1d6e56882558827b37557f36c52966"><code>0cba9e0</code></a>
4.59.1</li>
<li><a
href="https://github.com/rollup/rollup/commit/4eeea29bd42b6abf3dad53b760f53750cd698872"><code>4eeea29</code></a>
Pin Vite</li>
<li><a
href="https://github.com/rollup/rollup/commit/1cd49ae2a2a3de50627e2790b17e3c8704012626"><code>1cd49ae</code></a>
fix: fix chunk assignment for deoptimized module with dynamic import (<a
href="https://redirect.github.com/rollup/rollup/issues/6306">#6306</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/c9dabc3744b5316a1a08c85b65fce73d465e5453"><code>c9dabc3</code></a>
Downgrade Vite</li>
<li><a
href="https://github.com/rollup/rollup/commit/d46200fd92b083d0997c0216a21f5bcdc5e6efea"><code>d46200f</code></a>
chore(deps): update dependency vite to v8 (<a
href="https://redirect.github.com/rollup/rollup/issues/6309">#6309</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/aa6c853da554cd8b56b48e94fcfc21a5b027b271"><code>aa6c853</code></a>
chore(deps): update dependency lru-cache to v11 (<a
href="https://redirect.github.com/rollup/rollup/issues/6308">#6308</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/4208811aa6600f81d94a746a01bd0ff861718578"><code>4208811</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6312">#6312</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/5348a82cee5e07a39164fb78ce9d69bfc557d341"><code>5348a82</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6311">#6311</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/c942b8dc8d9c7e8ed666bb8a694e93a2f7100d63"><code>c942b8d</code></a>
chore(deps): update minor/patch updates (<a
href="https://redirect.github.com/rollup/rollup/issues/6307">#6307</a>)</li>
<li><a
href="https://github.com/rollup/rollup/commit/bf9d35c1de82328873302e2930a5388be6de5b96"><code>bf9d35c</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/rollup/rollup/issues/6310">#6310</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rollup/rollup/compare/v4.59.0...v4.59.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `sinon` from 21.0.2 to 21.0.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sinonjs/sinon/blob/main/docs/changelog.md">sinon's
changelog</a>.</em></p>
<blockquote>
<h2>21.0.3</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/0494251bc54c56e7e79258586238db88f0d191b3"><code>0494251b</code></a>
fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2678">#2678</a>):
upgrade samsam to fix buffer comparisons (Carl-Erik Kopseng)</li>
</ul>
<p><em>Released by <a href="https://github.com/fatso83">Carl-Erik
Kopseng</a> on 2026-03-16.</em></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/138148233c549cb7eeaa8e84d857912fd3a349d5"><code>1381482</code></a>
21.0.3</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/0494251bc54c56e7e79258586238db88f0d191b3"><code>0494251</code></a>
fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2678">#2678</a>):
upgrade samsam to fix buffer comparisons</li>
<li>See full diff in <a
href="https://github.com/sinonjs/sinon/compare/v21.0.2...v21.0.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `typescript-eslint` from 8.57.0 to 8.57.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.57.1</h2>
<h2>8.57.1 (2026-03-16)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] no report
for property on intersection type (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12126">#12126</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Newton Yuan <a
href="https://github.com/NewtonYuan"><code>@​NewtonYuan</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.1 (2026-03-16)</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.57.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/c7c38aa252d7bf6708a225aebedc57686ac33dcd"><code>c7c38aa</code></a>
chore(release): publish 8.57.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.1/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-03-25 13:34:58 +00:00
Nikolay Vitkov 8676b7216c docs: provide disclaimer about supported browsers (#1237)
We already provide Requirements section that states that Chrome is
required.
This should make it explicit what version we are targeting.
2026-03-25 11:22:10 +00:00
yulunz b2b5e3fef6 chore: handling more client name enums (#1228)
The openclaw client name is defined at
https://github.com/openclaw/openclaw/blob/ea476de1e488979a3e9e5bf32e4d4f20e563144f/src/browser/chrome-mcp.ts#L234C14-L234C29
2026-03-24 18:18:14 +00:00
Nikolay Vitkov 966b86f3aa fix: versioning for Claude Code plugin (#1233)
Currently we provide latest, but this means that Claude Code plugin
check if there was an update and skips updating.
2026-03-24 15:29:23 +00:00
Ewa d19a2350f9 feat: add a skill for detecting memory leaks using take_memory_snapshot tool (#1162)
This PR add a new skill for detecting and removing memory leaks using
take_memory_snapshot tool.

Skill was based on authoritative material from own sources:
* https://developer.chrome.com/docs/devtools/memory-problems
* https://web.dev/articles/effectivemanagement
as well as examples of memory leaks from public domain.

It can be tested with https://github.com/devnook/mem-leak-example.
Example prompt
* A page running at localhost:3000 has memory issues when you click from
home to contact tab and back. Can you fix it?

The skill prefers using comparison tools like memlab instead of custom
evaluate_script snippets to avoid directly reading of .heapsnpashot
files to save context space and tokens.

Fixes #1056

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Yusheng <113574546+yshngg@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2026-03-24 13:03:05 +00:00
yulunz 9a47b657d7 feat: record client name in telemetry. (#1208)
The changes in the PR intercepts the name of the MCP client right after
server initialization, coverts it into one of the existing enum values,
and append it with the telemetry request.

Note that the client name is unset if there is no client connected yet.
This means the server_start event won't have a client name.

Tested with gemini-cli.

---------

Co-authored-by: Yulun Zeng <yulunz@chromium.org>
2026-03-21 00:09:14 +00:00
dependabot[bot] 25bbfd5244 chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 (#1212)
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to
3.4.2.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/WebReflection/flatted/commit/3bf09091c3562e17a0647bc06710dd6097079cf7"><code>3bf0909</code></a>
3.4.2</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/885ddcc33cf9657caf38c57c7be45ae1c5272802"><code>885ddcc</code></a>
fix CWE-1321</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/0bdba705d130f00892b1b8fcc80cf4cdea0631e3"><code>0bdba70</code></a>
added flatted-view to the benchmark</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/2a02dce7c641dec31194c67663f9b0b12e62da20"><code>2a02dce</code></a>
3.4.1</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/fba4e8f2e113665da275b19cd0f695f3d98e9416"><code>fba4e8f</code></a>
Merge pull request <a
href="https://redirect.github.com/WebReflection/flatted/issues/89">#89</a>
from WebReflection/python-fix</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/5fe86485e6df7f7f34a07a2a85498bd3e17384e7"><code>5fe8648</code></a>
added &quot;when in Rome&quot; also a test for PHP</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/53517adbefe724fe472b2f9ebcdb01910d0ae3f0"><code>53517ad</code></a>
some minor improvement</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/b3e2a0c387bf446435fec45ad7f05299f012346f"><code>b3e2a0c</code></a>
Fixing recursion issue in Python too</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/c4b46dbcbf782326e54ea1b65d3ebb1dc7a23fad"><code>c4b46db</code></a>
Add SECURITY.md for security policy and reporting</li>
<li><a
href="https://github.com/WebReflection/flatted/commit/f86d071e0f70de5a7d8200198824a3f07fc9c988"><code>f86d071</code></a>
Create dependabot.yml for version updates</li>
<li>Additional commits viewable in <a
href="https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flatted&package-manager=npm_and_yarn&previous-version=3.3.3&new-version=3.4.2)](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-03-20 17:21:19 +00:00
browser-automation-bot 350f7de66d chore(main): release chrome-devtools-mcp 0.20.3 (#1203)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.20.3](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.20.2...chrome-devtools-mcp-v0.20.3)
(2026-03-20)


### 🛠️ Fixes

* mark categoryExtensions flag mutually exclusive with autoConnect
([#1202](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1202))
([8c2a7fc](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8c2a7fc21ead6091567e85608f7916c001ccc7db)),
closes
[#1072](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1072)


###  Performance

* **memory:** release old navigation request in NetworkCollector
([#1200](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1200))
([1e6456c](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/1e6456ce222a8f392341a530b2340336c7a1ab02))
* use CDP to find open DevTools pages (reland)
([#1210](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1210))
([53483bc](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/53483bc637566658754d781d88f4353ad47f44a7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.20.3
2026-03-20 16:11:07 +00:00
Nikolay Vitkov e56d79393c chore: don't re-export internals (#1211) 2026-03-20 13:15:06 +00:00
Nikolay Vitkov 53483bc637 perf: use CDP to find open DevTools pages (reland) (#1210)
This should reduce the flakiness and issue with finding open DevTools
tabs for the corresponding pages.
Currently we do multiple loops over all the targets, so this should have
a nice performance improvement when multiple pages are opened.

With a fallback for older versions.
2026-03-20 11:50:27 +00:00
Flo 1e6456ce22 perf(memory): release old navigation request in NetworkCollector (#1200)
Issue #1192

## Problem
In `--autoConnect` mode, `chrome-devtools-mcp` experiences a severe
memory leak (~13 MB/min) when Chrome is actively used. This eventually
leads to OOM crashes or kernel panics.

The root cause is in `src/PageCollector.ts`:
1. `NetworkCollector` overrides `splitAfterNavigation` but forgets to
call `navigations.splice(this.#maxNavigationSaved)`, causing the array
of navigations to grow infinitely.
2. Even within a single navigation (e.g., in long-lived SPA
applications), the `navigations[0]` array grows infinitely because there
is no limit on the number of items collected per navigation. Since
`HTTPRequest` objects are heavy, this quickly exhausts memory.

## Solution
1. Changed `#maxNavigationSaved` to `protected maxNavigationSaved` so
subclasses can access it.
2. Added `navigations.splice(this.maxNavigationSaved)` to
`NetworkCollector.splitAfterNavigation` to ensure old navigations are
properly discarded.
3. Introduced `protected maxItemsPerNavigation = 5000` to limit the
number of items stored per navigation. When the limit is reached, the
oldest item is removed (`shift()`), preventing unbounded memory growth
in SPAs.

Tested locally by running `npm run build` and verifying the fix.

---------

Co-authored-by: Wolfgang Beyer <woolfi.b@gmail.com>
2026-03-20 11:02:10 +00:00
Nikolay Vitkov 41ff9bfbc1 chore: use correct label (#1205) 2026-03-19 15:06:00 +00:00
dependabot[bot] d2cc01e16d chore(deps-dev): bump chrome-devtools-frontend from 1.0.1596260 to 1.0.1598808 in the bundled-devtools group (#1179)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1596260 to 1.0.1598808
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/c98dd4a717026307553c4abf9a226c5c980b29e3"><code>c98dd4a</code></a>
Use artifact folder when non is provided</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8a38b2b1d9769f6f4d793887f5b0d40b4be43c90"><code>8a38b2b</code></a>
Roll puppeteer-core</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/9b7af4bc01415528a6d2faf9cae52443f7f634d9"><code>9b7af4b</code></a>
AI: add ConversationSummaryAgent</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d85131af6a77c8ada5f0b3fd19cebedddfffe0ec"><code>d85131a</code></a>
Introduce AbortController to Widget update cycle.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/2086971d3a959ba7de0f5b2d4f9fe27eacf02d95"><code>2086971</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/915059c2ce26f572ea07d1c9534e528f983e2550"><code>915059c</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/0e6b4cc51b4f5fd381bd66554ea3c59c98a8dc03"><code>0e6b4cc</code></a>
Collapse non-contributing style sections by default</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/114c64579022140303e372b489ad7dfc3e483d5a"><code>114c645</code></a>
Revert &quot;Prevent resource exhaustion when import
recording&quot;</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/dadf98e7f75ad6486cd0e0d7f1d04cbe24bafae4"><code>dadf98e</code></a>
[sdk] Use MockCDPConnection in CPUThrottlingManager.test.ts</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/60dc180f9c65aa4edb4b387ee4b0b21506e57ecc"><code>60dc180</code></a>
Use element-mode <code>widget</code> directive in rest of the code</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1596260...v1.0.1598808">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.1596260&new-version=1.0.1598808)](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: Wolfgang Beyer <wolfi@chromium.org>
2026-03-19 14:11:28 +00:00
Nicholas Roscino 8c2a7fc21e fix: mark categoryExtensions flag mutually exclusive with autoConnect (#1202)
Fixes #1072
2026-03-18 16:57:30 +00:00