remove-debug
1019 次代码提交
| 作者 | SHA1 | 备注 | 提交日期 | |
|---|---|---|---|---|
|
|
d842de167b | chore: cleanup unused enum (#1998) | ||
|
|
0d1de9d343 |
chore(main): release chrome-devtools-mcp 0.25.0 (#1990)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop* --- ## [0.25.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.24.0...chrome-devtools-mcp-v0.25.0) (2026-05-06) ### 🎉 Features * support third-party developer tools ([#1982](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1982)) ([chrome-devtools-mcp-v0.25.0 |
||
|
|
7548c97663 |
feat: support third-party developer tools (#1982)
Enables "third-party developer tools" feature. This allows the inspected web page to expose tools which provide debugging information to Chrome DevTools for Agents. Third-party developer tools enable web applications to expose internal state, component hierarchies, or specific debug data that cannot be deduced through static analysis. This allows Chrome DevTools for Agents to provide richer, more actionable context to AI agents during debugging sessions. 2 additional tools are enabled in Chrome DevTools for Agents for interacting with third-party developer tools: `list_3p_developer_tools()` and `execute_3p_developer_tool`. Code changes in this PR: - Rename "in-page tools" to "third-party developer tools" - Unhide - Make available in CLI - Add documentation |
||
|
|
14938acd08 |
docs: remove token estimates (#2003)
since we include conditional tools in the reference, we cannot give exact estimates since they depend on the configuration. |
||
|
|
0f0e79e434 |
chore(deps-dev): bump chrome-devtools-frontend from 1.0.1618066 to 1.0.1625079 in the bundled-devtools group across 1 directory (#1988)
Bumps the bundled-devtools group with 1 update in the / directory: [chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend). Updates `chrome-devtools-frontend` from 1.0.1618066 to 1.0.1625079 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/51757eaaa9e7c7fd85f26f8b899b5b44e4cdc84f"><code>51757ea</code></a> Insights: fix broken re-rendering of Insights</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/72a6070fd5364d881b6287cbd17967e6a5d1a941"><code>72a6070</code></a> Use lit to render the main toolbar in the DeviceModeToolbar</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/5208485cba0f564be495d3b6d7377ddcc05a5686"><code>5208485</code></a> Roll browser-protocol and CfT</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/a3910557ada4cb82ae595813a5e807eaedb1f4e7"><code>a391055</code></a> Update DevTools DEPS (trusted)</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/f462767f0bacffaacf983b23ab0fb7e01e10db30"><code>f462767</code></a> [object_ui] Add an expand controller for ObjectTree</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/d47ac4d6a67ee512704a107b8ddecd6bbff07ca5"><code>d47ac4d</code></a> AI: improve blocked network condition reason</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/9ca216cad10c06f8780f90dd1d243d12149ba345"><code>9ca216c</code></a> Attempt to deflake memory test</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/b1a45099c131223b8c0c1d163e2ba5b00f9a1627"><code>b1a4509</code></a> [stack_trace] Add complex parser test from V8 output</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/a949383cb947bc3034d35871cfb84382135201ff"><code>a949383</code></a> [testing] Use new 'set*Handler' of MockCDPConnection</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/6bf0c331c518b8439f58ea8442294b1f647694af"><code>6bf0c33</code></a> Add 'setSuccessHandler' and 'setFailureHandler' convenience methods</li> <li>Additional commits viewable in <a href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1618066...v1.0.1625079">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
99ccc3f970 |
chore(deps-dev): bump puppeteer from 24.42.0 to 24.43.0 in the bundled group (#2001)
Bumps the bundled group with 1 update: [puppeteer](https://github.com/puppeteer/puppeteer). Updates `puppeteer` from 24.42.0 to 24.43.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/puppeteer/puppeteer/releases">puppeteer's releases</a>.</em></p> <blockquote> <h2>puppeteer-core: v24.43.0</h2> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.42.0...puppeteer-core-v24.43.0">24.43.0</a> (2026-05-06)</h2> <h3>🎉 Features</h3> <ul> <li>Implement allowlist (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14897">#14897</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/e7e31f8a33b95bb79958ca6077f418c21ea6c88d">e7e31f8</a>)</li> <li>roll to Chrome 148.0.7778.56 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14918">#14918</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/65890b7fe735d6706ea614ba04613f7132b1e08f">65890b7</a>)</li> <li>roll to Firefox 150.0 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14900">#14900</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/beab61bdb011679a00e7a0719632f7d09f00431a">beab61b</a>)</li> <li>support checkboxes and radios in locator.fill (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14939">#14939</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/fec05a099b1b762b997c5d0bbb210900f4790e1c">fec05a0</a>)</li> <li><strong>webmcp:</strong> Add support for untrustedContent WebMCPAnnotation (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14901">#14901</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/0314942d5a1997c34afb8bb8660f8263c4975921">0314942</a>)</li> </ul> <h3>🛠️ Fixes</h3> <ul> <li>Disable WebUIReloadButton experiment (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14925">#14925</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/d9639e9dfec81ddd0631bf88c0e673d0056f0632">d9639e9</a>)</li> <li>do not open DevTools if it is already open (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14922">#14922</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/84c9d34b687c2ba7af13d0e484450edd285c4cd2">84c9d34</a>)</li> <li>do not set global offline flag for allowlist (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14931">#14931</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/d6a1003384b9fe9810a9b109ef649fbf0f44dd1f">d6a1003</a>)</li> <li>roll to Chrome 148.0.7778.97 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14929">#14929</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/536eb11c6787be43a3fdbafa153080619b4eaeec">536eb11</a>)</li> <li>roll to Firefox 150.0.1 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14923">#14923</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/50438cff577f8f27d34aefeb2af84658b62d7db5">50438cf</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>The following workspace dependencies were updated <ul> <li>dependencies <ul> <li><code>@puppeteer/browsers</code> bumped from 2.13.0 to 2.13.1</li> </ul> </li> </ul> </li> </ul> <h2>puppeteer: v24.43.0</h2> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.42.0...puppeteer-v24.43.0">24.43.0</a> (2026-05-06)</h2> <h3>🎉 Features</h3> <ul> <li>roll to Chrome 148.0.7778.56 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14918">#14918</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/65890b7fe735d6706ea614ba04613f7132b1e08f">65890b7</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>The following workspace dependencies were updated <ul> <li>dependencies <ul> <li><code>@puppeteer/browsers</code> bumped from 2.13.0 to 2.13.1</li> <li>puppeteer-core bumped from 24.42.0 to 24.43.0</li> </ul> </li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.42.0...puppeteer-v24.43.0">24.43.0</a> (2026-05-06)</h2> <h3>🎉 Features</h3> <ul> <li>Implement allowlist (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14897">#14897</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/e7e31f8a33b95bb79958ca6077f418c21ea6c88d">e7e31f8</a>)</li> <li>roll to Chrome 148.0.7778.56 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14918">#14918</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/65890b7fe735d6706ea614ba04613f7132b1e08f">65890b7</a>)</li> <li>roll to Firefox 150.0 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14900">#14900</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/beab61bdb011679a00e7a0719632f7d09f00431a">beab61b</a>)</li> <li>support checkboxes and radios in locator.fill (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14939">#14939</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/fec05a099b1b762b997c5d0bbb210900f4790e1c">fec05a0</a>)</li> <li><strong>webmcp:</strong> Add support for untrustedContent WebMCPAnnotation (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14901">#14901</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/0314942d5a1997c34afb8bb8660f8263c4975921">0314942</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>The following workspace dependencies were updated <ul> <li>dependencies <ul> <li><code>@puppeteer/browsers</code> bumped from 2.13.0 to 2.13.1</li> </ul> </li> </ul> </li> </ul> <h3>🛠️ Fixes</h3> <ul> <li>Disable WebUIReloadButton experiment (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14925">#14925</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/d9639e9dfec81ddd0631bf88c0e673d0056f0632">d9639e9</a>)</li> <li>do not open DevTools if it is already open (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14922">#14922</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/84c9d34b687c2ba7af13d0e484450edd285c4cd2">84c9d34</a>)</li> <li>do not set global offline flag for allowlist (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14931">#14931</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/d6a1003384b9fe9810a9b109ef649fbf0f44dd1f">d6a1003</a>)</li> <li>roll to Chrome 148.0.7778.97 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14929">#14929</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/536eb11c6787be43a3fdbafa153080619b4eaeec">536eb11</a>)</li> <li>roll to Firefox 150.0.1 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14923">#14923</a>) (<a href="https://github.com/puppeteer/puppeteer/commit/50438cff577f8f27d34aefeb2af84658b62d7db5">50438cf</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/puppeteer/puppeteer/commit/07e2a1d337f900085fd15b8f13379e757c81ec42"><code>07e2a1d</code></a> chore: release main (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14902">#14902</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/84511255e7bb7b4cd5281f33b690e3a45f940d45"><code>8451125</code></a> chore: Add a special treatment for EPERM error for windows test (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14943">#14943</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/924eb695c6d8ab31acec10b9aae46ecd31eab098"><code>924eb69</code></a> test: Add form node to an accessibility tree (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14942">#14942</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/e54b90a0b016f40fd60ecf82e3fa03e755e0922f"><code>e54b90a</code></a> chore: add iframe blocking tests (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14926">#14926</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/fec05a099b1b762b997c5d0bbb210900f4790e1c"><code>fec05a0</code></a> feat: support checkboxes and radios in locator.fill (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14939">#14939</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/d6a1003384b9fe9810a9b109ef649fbf0f44dd1f"><code>d6a1003</code></a> fix: do not set global offline flag for allowlist (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14931">#14931</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/2ee0f1085dcc95b02d79f9acf8a0d12e580d04b1"><code>2ee0f10</code></a> chore(deps-dev): bump the dev-dependencies group with 5 updates (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14935">#14935</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/7e577298a81e341ba5b0eaeaefcbf917c3b1bf68"><code>7e57729</code></a> chore(deps): bump the all group in /website with 11 updates (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14936">#14936</a>)</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/e51242d41fd55b223f491a10cd9e4589b8da493a"><code>e51242d</code></a> chore(deps): bump github/codeql-action from 4.35.2 to 4.35.3 in the all group...</li> <li><a href="https://github.com/puppeteer/puppeteer/commit/50438cff577f8f27d34aefeb2af84658b62d7db5"><code>50438cf</code></a> fix: roll to Firefox 150.0.1 (<a href="https://redirect.github.com/puppeteer/puppeteer/issues/14923">#14923</a>)</li> <li>Additional commits viewable in <a href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.42.0...puppeteer-v24.43.0">compare view</a></li> </ul> </details> <br /> [](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> |
||
|
|
f45f0681a2 |
fix: make sure env variables are consistently applied when parsing args (#1994)
This PR moves the checks for CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS and CI env vars to parseArguments making sure it is correctly applied by the daemon and in tests. It also updates the tests to set explicit CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS as it might not always be inherited. This change is likely to affect the metrics collected and might explain some fluctuations we observed. |
||
|
|
da0441d425 |
docs: extract WebMCP into its own category (#1993)
Extracting WebMCP tools into a separate category for better grouping in the docs. This changes `--experimentalWebmcp` to `--categoryExperimentalWebmcp` to align with other experimental categories. Debugging category was not a good fit since the tools provided by WebMCP are not necessarily used for debugging. cc @beaufortfrancois |
||
|
|
895fc65a1f |
docs: update generate-docs.ts tools output order (#1991)
Closes: #1932 |
||
|
|
510ec0f48b |
fix(input): stop native select option clicks from timing out (#1960)
## Summary Teach the `click` tool to handle accessibility snapshot targets that point at an `option` inside a native, single-select `<select>` element. When the target is a native select option, `click` now selects that option through the owning `<select>` element instead of asking Puppeteer to click an option node that has no clickable box while the dropdown is collapsed. Other option-like targets, including custom ARIA options, continue through the normal click path. ## Motivation Fixes #1941. The text snapshot can expose native `<option>` nodes with stable uids. This makes it natural for an agent to call `click` on an option uid after seeing the desired option in the snapshot. However, a collapsed native `<select>` does not expose its child `<option>` nodes as directly clickable page boxes. In that state, the option can exist in the DOM and accessibility tree while still having no clickable geometry. Puppeteer therefore waits for the option to become interactive and eventually times out. The existing `fill` tool already handles selecting native `<select>` options. This change keeps that guidance explicit in the `click` tool description, while also making `click(option_uid)` robust for the native select case that appears in the snapshot. ## Changes - Added a constrained native select fallback in `click`: - Only runs for single-click requests. - Only runs when the snapshot node role is `option`. - Only handles real `HTMLOptionElement` nodes owned by a native `<select>`. - Does not handle disabled selects, disabled options, disabled optgroups, or multi-selects. - Falls back to the existing locator click behavior for all other targets. - Dispatches `input` and `change` events when selecting a different native option. - Updated the `click` tool description to steer agents toward `fill` for native `<select>` option selection. - Regenerated CLI/tool reference docs with `npm run gen`. - Added regression coverage for: - Clicking an option uid in a collapsed native `<select>`. - Clicking an option uid inside a native `<optgroup>`. - Clicking a custom ARIA `role="option"` element through the normal click path. ## Test Plan Passed: ```bash npm run test -- tests/tools/input.test.ts npm run check-format ``` Also attempted: ```bash npm run test ``` The full suite hit unrelated local failures outside this change area: - `tests/tools/network.test.ts`: snapshot ordering difference for redirected requests. - `tests/tools/screenshot.test.ts`: `Page.captureScreenshot` failed for the large full-page screenshot case with `Page is too large`. The changed input tool tests pass locally. ## Risk Low. The fallback is intentionally narrow: - It is gated by the accessibility role being `option`. - It verifies the DOM node is an actual `HTMLOptionElement`. - It only applies to native, non-disabled, single-select `<select>` controls. - It does not reinterpret custom combobox/listbox implementations. - It preserves the existing locator click path for non-native option targets. The main behavior change is that `click(option_uid)` can now succeed for native collapsed dropdowns that previously timed out. ## Related Issue Closes #1941. ## Maintainer Context This targets a small but high-impact mismatch between the snapshot representation and browser interaction semantics. The snapshot correctly exposes native options because they exist in the accessibility tree. The click implementation previously treated that uid like any other clickable element, but collapsed native options do not have normal clickable layout boxes. This PR makes the native select case explicit without expanding `click` into a general custom dropdown heuristic. The tool description still recommends `fill` for native `<select>` selection so agents are guided toward the more direct tool. The code fallback exists for the common case where an agent already selected an option uid from the snapshot. |
||
|
|
2dcd641ff5 |
chore(main): release chrome-devtools-mcp 0.24.0 (#1944)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop* --- ## [0.24.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.23.0...chrome-devtools-mcp-v0.24.0) (2026-05-02) ### 🎉 Features * agentic browsing in lighthouse ([#1931](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1931)) ([chrome-devtools-mcp-v0.24.0 |
||
|
|
5fa2750456 |
feat: agentic browsing in lighthouse (#1931)
pending https://github.com/GoogleChrome/lighthouse/pull/16980 --------- Co-authored-by: Lusa Zhan <lusazhan@chromium.org> Co-authored-by: Alex Rudenko <alexrudenko@chromium.org> |
||
|
|
a90378adf3 |
fix: always allow tmpdir access with client roots (#1984)
This PR changes the implementation to allow access to tmpdir even if the client is not configured it explicitly because several tools default to the tmpdir for outputs. Many clients like gemini-cli/claude do not configure the tmp dir as a root by default. |
||
|
|
b2b3e99d67 |
feat(cli): generate commands for conditional tools (#1962)
This PR adds all tools in the CLI interface. When a tool is not enabled the server responds with an error guiding the user on how to enable the category or the experiment. Closes: https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1933 |
||
|
|
7ee5e867ef |
chore(deps): bump the all group with 2 updates (#1959)
Bumps the all group with 2 updates: [actions/setup-node](https://github.com/actions/setup-node) and [googleapis/release-please-action](https://github.com/googleapis/release-please-action). Updates `actions/setup-node` from 6.3.0 to 6.4.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-node/releases">actions/setup-node's releases</a>.</em></p> <blockquote> <h2>v6.4.0</h2> <h2>What's Changed</h2> <h3>Dependency updates:</h3> <ul> <li>Upgrade <a href="https://github.com/actions"><code>@actions</code></a> dependencies by <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li> <li>Update Node.js versions in versions.yml and bump package to v6.4.0 by <a href="https://github.com/priya-kinthali"><code>@priya-kinthali</code></a> in <a href="https://redirect.github.com/actions/setup-node/pull/1533">actions/setup-node#1533</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Copilot"><code>@Copilot</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-node/compare/v6...v6.4.0">https://github.com/actions/setup-node/compare/v6...v6.4.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-node/commit/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"><code>48b55a0</code></a> Update Node.js versions in versions.yml and bump package to v6.4.0 (<a href="https://redirect.github.com/actions/setup-node/issues/1533">#1533</a>)</li> <li><a href="https://github.com/actions/setup-node/commit/ab72c7e7eba0eaa11f8cab0f5679243900c2cac9"><code>ab72c7e</code></a> Upgrade <a href="https://github.com/actions"><code>@actions</code></a> dependencies (<a href="https://redirect.github.com/actions/setup-node/issues/1525">#1525</a>)</li> <li>See full diff in <a href="https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e">compare view</a></li> </ul> </details> <br /> Updates `googleapis/release-please-action` from 4 to 5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/googleapis/release-please-action/releases">googleapis/release-please-action's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.4.1...v5.0.0">5.0.0</a> (2026-04-22)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>upgrade to node24 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1188">#1188</a>)</li> </ul> <h3>Features</h3> <ul> <li>upgrade to node24 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1188">#1188</a>) (<a href="https://github.com/googleapis/release-please-action/commit/46dfc01594fc6ec99626bc73e479c52bdf554f88">46dfc01</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>bump release-please from 17.3.0 to 17.6.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1199">#1199</a>) (<a href="https://github.com/googleapis/release-please-action/commit/f533c26b74c2778db7edc90c96b63a7d08035765">f533c26</a>)</li> </ul> <h2>v4.4.1</h2> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.4.0...v4.4.1">4.4.1</a> (2026-02-20)</h2> <h3>Bug Fixes</h3> <ul> <li>bump release-please from 17.1.3 to 17.3.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1183">#1183</a>) (<a href="https://github.com/googleapis/release-please-action/commit/ef9c2745dbfb629d38ebfafa3347a81ab2d51409">ef9c274</a>)</li> </ul> <h2>v4.4.0</h2> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.3.0...v4.4.0">4.4.0</a> (2025-10-09)</h2> <h3>Features</h3> <ul> <li>add ability to select versioning-strategy and release-as (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1121">#1121</a>) (<a href="https://github.com/googleapis/release-please-action/commit/ee0f5bae453367755be0c4340193531b3f538374">ee0f5ba</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><code>changelog-host</code> parameter ignored when using manifest configuration (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1151">#1151</a>) (<a href="https://github.com/googleapis/release-please-action/commit/535c4130c1030110bdacd1b3076f98c046c3a227">535c413</a>)</li> <li>bump mocha from 11.7.1 to 11.7.2 in the npm_and_yarn group across 1 directory (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1149">#1149</a>) (<a href="https://github.com/googleapis/release-please-action/commit/3612a99d75bd7a010bb03d6e2ee3e2392b7392fb">3612a99</a>)</li> <li>bump release-please from 17.1.2 to 17.1.3 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1158">#1158</a>) (<a href="https://github.com/googleapis/release-please-action/commit/66fbfe9439cb7a3660ecdc00d42573ef0bd00764">66fbfe9</a>)</li> </ul> <h2>v4.3.0</h2> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.2.0...v4.3.0">4.3.0</a> (2025-08-20)</h2> <h3>Features</h3> <ul> <li><strong>deps:</strong> update release-please to 17.1.2 (<a href="https://github.com/googleapis/release-please-action/commit/f07192c046b10acd083f4665a3d8b6350526f9df">f07192c</a>)</li> </ul> <h2>v4.2.0</h2> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.1.5...v4.2.0">4.2.0</a> (2025-03-07)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/googleapis/release-please-action/blob/main/CHANGELOG.md">googleapis/release-please-action's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.1.0...v4.1.1">4.1.1</a> (2024-05-14)</h2> <h3>Bug Fixes</h3> <ul> <li>bump release-please from 16.10.0 to 16.10.2 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/969">#969</a>) (<a href="https://github.com/googleapis/release-please-action/commit/aa764e0b5db70af7b607fa690b4d1799ceb802d6">aa764e0</a>)</li> <li>bump the npm_and_yarn group with 1 update (<a href="https://redirect.github.com/googleapis/release-please-action/issues/967">#967</a>) (<a href="https://github.com/googleapis/release-please-action/commit/ce529d4a4014c4760ec75d3ba6482e3b80d58862">ce529d4</a>)</li> </ul> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.0.3...v4.1.0">4.1.0</a> (2024-03-11)</h2> <h3>Features</h3> <ul> <li>add <code>changelog-host</code> input to <code>action.yml</code> (<a href="https://redirect.github.com/googleapis/release-please-action/issues/948">#948</a>) (<a href="https://github.com/googleapis/release-please-action/commit/863b06fd1cd7f36c1d74d697ddebe3cf5be4c6b0">863b06f</a>)</li> </ul> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.0.2...v4.0.3">4.0.3</a> (2024-03-11)</h2> <h3>Bug Fixes</h3> <ul> <li>bump release-please from 16.5.0 to 16.10.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/953">#953</a>) (<a href="https://github.com/googleapis/release-please-action/commit/d7e88e0fd9e1a56d1075f610183d571f8347ff9b">d7e88e0</a>)</li> </ul> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.0.1...v4.0.2">4.0.2</a> (2023-12-18)</h2> <h3>Bug Fixes</h3> <ul> <li>bump release-please from 16.4.0 to 16.5.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/905">#905</a>) (<a href="https://github.com/googleapis/release-please-action/commit/df719633a752e335dfde3e62e037315a25ecf6fc">df71963</a>)</li> <li>log release-please version (<a href="https://redirect.github.com/googleapis/release-please-action/issues/910">#910</a>) (<a href="https://github.com/googleapis/release-please-action/commit/2a496d1db5f8860ae46f6066f5dcb73490a99d02">2a496d1</a>), closes <a href="https://redirect.github.com/googleapis/release-please-action/issues/325">#325</a></li> </ul> <h2><a href="https://github.com/googleapis/release-please-action/compare/v4.0.0...v4.0.1">4.0.1</a> (2023-12-07)</h2> <h3>Bug Fixes</h3> <ul> <li>bump release-please from 16.3.1 to 16.4.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/897">#897</a>) (<a href="https://github.com/googleapis/release-please-action/commit/2463dad9b20163a40708db720b9fde34c2a2ab0e">2463dad</a>)</li> </ul> <h2><a href="https://github.com/googleapis/release-please-action/compare/v3.7.13...v4.0.0">4.0.0</a> (2023-12-01)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>remove most configuration options in favor of manifest configuration to configure the release-please-action</li> <li>rewrite in typescript</li> <li>remove command option in favor of setting <code>release-type</code> and <code>skip-github-release</code>/<code>skip-github-pull-request</code></li> <li>run on node20</li> <li><strong>deps:</strong> upgrade release-please to v16</li> <li>v4 release</li> </ul> <h3>Features</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/googleapis/release-please-action/commit/45996ed1f6d02564a971a2fa1b5860e934307cf7"><code>45996ed</code></a> chore(main): release 5.0.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1200">#1200</a>)</li> <li><a href="https://github.com/googleapis/release-please-action/commit/a8121b99c9779b09ad890de46417b7cad74eb3a2"><code>a8121b9</code></a> chore: build dist (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1201">#1201</a>)</li> <li><a href="https://github.com/googleapis/release-please-action/commit/f533c26b74c2778db7edc90c96b63a7d08035765"><code>f533c26</code></a> fix: bump release-please from 17.3.0 to 17.6.0 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1199">#1199</a>)</li> <li><a href="https://github.com/googleapis/release-please-action/commit/46dfc01594fc6ec99626bc73e479c52bdf554f88"><code>46dfc01</code></a> feat!: upgrade to node24 (<a href="https://redirect.github.com/googleapis/release-please-action/issues/1188">#1188</a>)</li> <li>See full diff in <a href="https://github.com/googleapis/release-please-action/compare/v4...v5">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Wolfgang Beyer <wolfi@chromium.org> |
||
|
|
b328f6b997 |
chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#1958)
Bumps the dev-dependencies group with 3 updates in the / directory: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@typescript-eslint/eslint-plugin` from 8.58.2 to 8.59.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/eslint-plugin</code>'s releases</a>.</em></p> <blockquote> <h2>v8.59.1</h2> <h2>8.59.1 (2026-04-27)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix crash "TypeError: checker.getTypeArguments is not a function" (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve index signatures in undefined unions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments] handle instantiation expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>anasm266 <a href="https://github.com/anasm266"><code>@anasm266</code></a></li> <li>Anshika Jain <a href="https://github.com/Anshikakalpana"><code>@Anshikakalpana</code></a></li> <li>Ulrich Stark</li> <li>yugo innami <a href="https://github.com/nami8824"><code>@nami8824</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.59.0</h2> <h2>8.59.0 (2026-04-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] report more cases based on assignability (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Ulrich Stark</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@typescript-eslint/eslint-plugin</code>'s changelog</a>.</em></p> <blockquote> <h2>8.59.1 (2026-04-27)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments] handle instantiation expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve index signatures in undefined unions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix crash "TypeError: checker.getTypeArguments is not a function" (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>anasm266 <a href="https://github.com/anasm266"><code>@anasm266</code></a></li> <li>Anshika Jain <a href="https://github.com/Anshikakalpana"><code>@Anshikakalpana</code></a></li> <li>Ulrich Stark</li> <li>yugo innami <a href="https://github.com/nami8824"><code>@nami8824</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.0 (2026-04-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] report more cases based on assignability (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Ulrich Stark</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d"><code>5245793</code></a> chore(release): publish 8.59.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3cef12471659c42c9d4b179f4113a080b1fa2d66"><code>3cef124</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in dot...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/27c507b6e532abcd1efa51055f045b00f22055c3"><code>27c507b</code></a> test: make sort-type-constituents tests fully static (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12262">#12262</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a03b31d422be35d8ddc979f48f9317e3f33dd1ce"><code>a03b31d</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in no-...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a7099a789535b5c4cae0d6435ae9441e40da12b6"><code>a7099a7</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in no-...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/bfbd4a5433deaa82c2e2a8eb746ab5cd97eaecf8"><code>bfbd4a5</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in no-...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/b49d4b15cdd2e6fefcdaf7a50641b46c651231f2"><code>b49d4b1</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in no-...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3097e727474ef15a776071c07fb0752ab0e9d56d"><code>3097e72</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in nam...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/676191bbd7d0601492c536c88b24ca7cd3fe7d78"><code>676191b</code></a> chore(eslint-plugin): switch auto-generated test cases to hand-written in mem...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/e9dce8bdc6a7460d10654b3ec834982f96b5ea8a"><code>e9dce8b</code></a> fix(eslint-plugin): [no-unnecessary-condition] treat void as nullish in no-un...</li> <li>Additional commits viewable in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.58.2 to 8.59.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/parser</code>'s releases</a>.</em></p> <blockquote> <h2>v8.59.1</h2> <h2>8.59.1 (2026-04-27)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix crash "TypeError: checker.getTypeArguments is not a function" (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve index signatures in undefined unions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments] handle instantiation expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>anasm266 <a href="https://github.com/anasm266"><code>@anasm266</code></a></li> <li>Anshika Jain <a href="https://github.com/Anshikakalpana"><code>@Anshikakalpana</code></a></li> <li>Ulrich Stark</li> <li>yugo innami <a href="https://github.com/nami8824"><code>@nami8824</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.59.0</h2> <h2>8.59.0 (2026-04-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] report more cases based on assignability (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Ulrich Stark</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@typescript-eslint/parser</code>'s changelog</a>.</em></p> <blockquote> <h2>8.59.1 (2026-04-27)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.0 (2026-04-20)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d"><code>5245793</code></a> chore(release): publish 8.59.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1"><code>ea9ae4f</code></a> chore(release): publish 8.59.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `typescript-eslint` from 8.58.2 to 8.59.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's releases</a>.</em></p> <blockquote> <h2>v8.59.1</h2> <h2>8.59.1 (2026-04-27)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] fix crash "TypeError: checker.getTypeArguments is not a function" (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246">#12246</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve index signatures in undefined unions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257">#12257</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269">#12269</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278">#12278</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-arguments] handle instantiation expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220">#12220</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241">#12241</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>anasm266 <a href="https://github.com/anasm266"><code>@anasm266</code></a></li> <li>Anshika Jain <a href="https://github.com/Anshikakalpana"><code>@Anshikakalpana</code></a></li> <li>Ulrich Stark</li> <li>yugo innami <a href="https://github.com/nami8824"><code>@nami8824</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.59.0</h2> <h2>8.59.0 (2026-04-20)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-assertion] report more cases based on assignability (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789">#11789</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Ulrich Stark</li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's changelog</a>.</em></p> <blockquote> <h2>8.59.1 (2026-04-27)</h2> <p>This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.59.0 (2026-04-20)</h2> <p>This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d"><code>5245793</code></a> chore(release): publish 8.59.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1"><code>ea9ae4f</code></a> chore(release): publish 8.59.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/typescript-eslint">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Wolfgang Beyer <wolfi@chromium.org> |
||
|
|
6ce254e541 |
fix: add proactive tool rejection when dialog is open (#1978)
Adding proactive rejection of tool execution for tools which currently get blocked due to open dialogs (related to #1069 ) |
||
|
|
38d736a129 | build: fix npm start (#1980) | ||
|
|
f1afe842ae |
test: add tests for checking behavior when dialog is open (#1977)
This is the first part of adding tests for checking tool behavior when a dialog is already open (related to #1069) In future CL, I will be focusing on tools which currently get blocked due to open dialogs. As part of those CLs, proactive rejection of tool execution will be implemented. |
||
|
|
bf3cb58d27 |
fix(telemetry): bucketize string length (#1972)
Only the string length needs to be bucketized. We can log the array size as-is. |
||
|
|
06b331f403 |
fix: handle errors due to open dialogs during tool calls (#1953)
This change is part of the fix for #1069 - Errors during tool calls are now consumed and handled as part of McpResponse format |
||
|
|
66dacb83fd |
chore(memory): sort all by retainer size (#1963)
This is a better measurement as if object self size is X and the retainerSize Y. X will always be smaller then Y, there Y will be the actual size on the Heap. |
||
|
|
8cbdb8d494 |
fix(cli): re-generate cli correctly (#1969)
Regressed in https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/1120 |
||
|
|
21bc5b4476 |
test: add eval targeting fill_form use with select and checkbox elements (#1968)
This eval represents minimal reproduction scenario for #1942. Currently fill_form is used in around 25% of the attempts. It can also be used to reproduce #1941 with about 1:10 chance. --------- Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org> |
||
|
|
6ac30dcb8b |
chore: re-arrange ordering in flag usage metrics. (#1965)
Just re-arranging the order to match what is already defined on the server side. The new ones that haven't been sync'ed yet are listed at the very end. |
||
|
|
cb6b724fdc |
chore: combine the update metrics scripts. (#1964)
This is a cleanup to merge the update metrics script together into one. There is behavior change. |
||
|
|
7b3b4d306e |
chore: make json file for flag usage metrics append only (#1882)
This makes the flag_usage_metrics.json file append only. Parent: #1881 |
||
|
|
def53ddf1d |
feat: support MCP client roots feature (#1945)
This PR implements https://modelcontextprotocol.io/specification/2025-11-25/client/roots If client specifies roots, all reads and writes to the file system originating in tool calls will denied (including tmp files). The client specified empty list of roots, all filesystem access will be restricted. Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1860 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org> |
||
|
|
c9c1683b67 |
chore(deps-dev): bump chrome-devtools-frontend from 1.0.1613625 to 1.0.1616061 (#1952)
Closes #1908 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org> |
||
|
|
5aa6437e91 |
chore: Refactor adding extra nodes to snapshot (#1951)
Get all info about the TextSnapshot first, and only then modify it. Previously these steps were interleaved. |
||
|
|
80bee1e6cd |
fix: note about missing elements should not show in verbose mode (#1950)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1947 |
||
|
|
136da6a350 |
build: add dev source maps (#1948)
This allows setting up a debugger script with either enabled debugging port or tools like VS Code or Antigravity. |
||
|
|
dbddb2e4ef |
feat: group identical consecutive console messages in list_console_messages (#1939)
## Summary Group consecutive identical console messages in `list_console_messages`, similar to Chrome DevTools' console grouping behavior. Fixes #904 ## Changes - Introduce `GroupedConsoleFormatter` subclass that extends `ConsoleFormatter` and overrides `toString()` / `toJSON()` for count-aware formatting - Add `ConsoleFormatter.groupConsecutive()` static method that groups consecutive messages with the same type, text, and argument count - Apply grouping **before pagination** so grouped counts are accurate and page sizes reflect the collapsed view - Add unit tests for grouping logic, string formatting, and JSON output ## Key design decisions - **`GroupedConsoleFormatter` subclass**: Keeps the existing formatter interface clean — no new methods added to `ConsoleFormatter`. `ConsoleFormatter` and `GroupedConsoleFormatter` are interchangeable via the same interface. - **Grouping before pagination** (not at format time): This was the feedback on #963 and #1025 — grouping at format time breaks pagination counts. This implementation groups in `McpResponse` before calling `paginate()`. - **No `lastId`**: Since grouped messages are truly identical, only the first message's ID is needed. - **`argCount` matching**: Prevents false grouping of messages with the same text but different argument counts. ## Output example ``` msgid=1 [log] hello world (1 args) [5 times] ``` ## Testing - Unit tests in `tests/formatters/ConsoleFormatterGrouping.test.ts` - Manual verification: identical messages (×5), mixed pattern (A,A,B,A,A → A×2, B×1, A×2) |
||
|
|
9f5dd6229c |
chore(memory): expose way to get the nodes (#1916)
The next step for the memory debugging is to provide the nodes that the aggregates have, from which you can get the retainers of the object. |
||
|
|
1277c19ed5 |
chore(main): release chrome-devtools-mcp 0.23.0 (#1928)
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.23.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.22.0...chrome-devtools-mcp-v0.23.0) (2026-04-22) ### 🎉 Features * add an option to customize ffmpeg path ([#1937](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1937)) ([chrome-devtools-mcp-v0.23.0 |
||
|
|
e046c23563 |
chore: in-page tool output: stash DOM elements and preprocess for serialization (#1877)
Improvements for handling in-page tool responses. In order to successfully pass an in-page tool response from the page context to the MCP server, the response needs to be serializable. The code walks the response object an performs the following changes: - DOM elements are stashed onto the window object and replaced with an ID. On the MCP server side this ID is used to map back to the corresponding UID in the page snapshot generated from the accessibility tree. - Circular references are replaced with a string. - Class instances (which can be complex or non-serializable) are replaced with a string. - Functions are replaced with a string. If the in-page tool response contains DOM elements which are not part of the page snapshot, a new snapshot is created add the missing elements are added explicitly. |
||
|
|
85b89931ed |
feat: support webm format in screencast (#1934)
Modifies the experimental screencast command to support `.webm` in addition to `.mp4`. Renamed `path` to `filePath` to align with other tools. |
||
|
|
b377454b1b |
feat: add an option to customize ffmpeg path (#1937)
This PR adds experimental flag to customize `experimentalScreencast` that allows specifying a different path to the ffmpeg binary. |
||
|
|
d50255778a |
feat: support experimental allowlist for navigate tool calls (#1935)
This PR adds an experimental allowlist for the page navigate tool call (requires `--experimentalNavigationAllowlist`, off by default). The feature uses a list of URLPatterns to decline navigations that land on disallowed URLs. If that happens, the client can update the allowlist and re-try. The purpose of the this feature is to offer additional guardrails on top of the MCP server. It does not restrict subresources or JS/iframe navigations in any way. The performance impact is minimized by turning off interception as soon as the navigation request is done. |
||
|
|
7bb1ca50ef | chore: move agent rules to AGENTS.md (#1936) | ||
|
|
82b67b07d3 |
refactor: add support for CLI sessionIds in tests (#1919)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1119 |
||
|
|
a1612be8e0 | test: refactor tests to reduce duplication (#1926) | ||
|
|
42be7c3227 | docs: clarify resource limitations around the number of tabs (#1927) | ||
|
|
b53752d244 |
chore: move resolveCdpElementId (#1923)
This is a refactoring, a follow-up to the introduction of `McpPage.ts`. |
||
|
|
f0da776c63 |
chore(main): release chrome-devtools-mcp 0.22.0 (#1884)
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.22.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.21.0...chrome-devtools-mcp-v0.22.0) (2026-04-21) ### 🎉 Features * add update notification to both binaries ([#1783](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1783)) ([chrome-devtools-mcp-v0.22.0 |
||
|
|
76ab9fa564 | docs: clarify tools included into CLI (#1925) | ||
|
|
3ff21cf30d |
feat: support Chrome extensions debugging (#1922)
Adds ability to install, uninstall and reload extensions, trigger extension actions and inspect extension pages, service workers and content scripts. Specify `--categoryExtensions` to enable. Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1173 Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/96 --------- Co-authored-by: Mathias Bynens <mathias@qiwi.be> Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com> Co-authored-by: Alex Rudenko <alexrudenko@chromium.org> |
||
|
|
86ffd58c2f |
test: add test for console log from content script (#1920)
This PR adds a test to prove extension content script can be captured in logs for pages |
||
|
|
57648b7ab0 |
chore(deps): update lh (#1913)
Updated to https://github.com/GoogleChrome/lighthouse/commit/b328482638078735ec3bd74cf31355f1a758eb27 |
||
|
|
9211c6b52d |
chore(memory): expose a tool for getting the inital data. (#1909)
This refactors the code to extract the Id logic from the PageCollector and provide it in the heapsnapshot. We need to use an UID as we need the internal ClassKey to query the heapsnapshot, but that is a strange string (usually looking like `,ClassName`) which may get the LLM confused as we use comma separated output. |