testingExtraFunctions
152 次代码提交
| 作者 | SHA1 | 备注 | 提交日期 | |
|---|---|---|---|---|
|
|
c694ec7b30 | Fix experiment look-up and add instructions. | ||
|
|
d2604d041a |
(do not merge): exposing additional performance functions
This PR is so we have a branch that has the bigger set of performance functions available to it that are equivalent to the ones the DevTools Performance Agent has. If we decide we want to expose these functions, we will do so via reusing the implementation from upstream, not via the copy/paste of this PR, but this is the quickest way to get them available to test. |
||
|
|
2714158eb3 |
docs: fix typos (#260)
This also implements the suggestion from https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/244 but that includes other parts that I am not sure we would want for now. |
||
|
|
1de509eb87 |
docs: add instructions for Warp (#253)
Adds instructions on how to add Chrome DevTools MCP to Warp. <img width="797" height="485" alt="Screenshot 2025-10-02 at 12 34 28" src="https://github.com/user-attachments/assets/a62aa05d-512c-468e-86f8-41ce56357600" /> Co-authored-by: Sebastian Benz <sbenz@google.com> |
||
|
|
1100dbea0d | chore: update ci job names (#258) | ||
|
|
574ff4efc2 |
refactor: remove onRelease functionality from Mutex (#252)
This PR Fixes #249 The `onRelease` functionality in the `Mutex` class was unused. This change removes the `onRelease` callback from the `acquire` method and the `Guard` class, simplifying the implementation. |
||
|
|
1b226b8c0e |
ci: require conventional commit title (#257)
This is needed to Release please can function properly |
||
|
|
9af943176e | refactor: extract the pagination logic (#242) | ||
|
|
74c6d6d649 |
refactor: use context agnostic write to file (#250)
Similar to the write to temporary file we should hide the implementation behind the Context |
||
|
|
639d57d682 | docs: update README.md typo (#251) | ||
|
|
8ed08215a2 |
chore(main): release chrome-devtools-mcp 0.6.0 (#219)
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.6.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.5.1...chrome-devtools-mcp-v0.6.0) (2025-10-01) ### Features * **screenshot:** add WebP format support with quality parameter ([#220](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/220)) ([chrome-devtools-mcp-v0.6.0 |
||
|
|
0412878bf5 |
fix: PageCollector subscribing multiple times (#241)
We were setting the storage inside the first collect callback which mean that we double subscribed to the events. This affected Network request and Console messages |
||
|
|
d61e151dd2 | chore: miscellaneous fixes (#234) | ||
|
|
73f0aecd8a | fix(network): show only selected request (#236) | ||
|
|
36e64d5ae2 |
feat: support timeouts in wait_for and navigations (#228)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/223 Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/116 |
||
|
|
efb106dc94 |
feat: support --accept-insecure-certs CLI (#231)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/155 Exposes the Puppeteer option only for the instances launched by the MCP to avoid changing behavior for instances started by other means. |
||
|
|
dfacc75ee9 |
feat: support --proxy-server CLI (#230)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/155 |
||
|
|
ef61a08707 |
feat: support initial viewport in the CLI (#229)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/165 This PR uses page_resize logic to set the initial viewport size. Not using the emulation because it looks buggy in headful which is our default mode. |
||
|
|
03e02a2d76 |
feat(screenshot): add WebP format support with quality parameter (#220)
## Summary This PR adds WebP format support to the screenshot tool, providing superior compression compared to JPEG while maintaining image quality. ## Problem Currently, the Chrome DevTools MCP only supports PNG and JPEG formats for screenshots. This leads to: - Missing out on WebP's superior compression (25-34% better than JPEG at equivalent quality) - Larger file sizes than necessary for AI assistants with image size limits - No access to a modern format that offers both better compression and transparency support - Bug: `saveTemporaryFile` always saved files with `.png` extension regardless of the specified format ## Solution Added WebP as a supported format in the screenshot tool schema and extended the quality parameter to work with WebP (0-100 range, same as JPEG). Also fixed the file extension bug in `saveTemporaryFile`. ## Changes - ✅ Added `webp` to screenshot format enum alongside `png` and `jpeg` - ✅ Extended quality parameter description to include WebP support - ✅ Updated `saveTemporaryFile` to properly handle WebP MIME type and file extension - ✅ Fixed bug where all screenshots were saved as `.png` regardless of format - ✅ Updated type definitions in `ToolDefinition.ts` for WebP support - ✅ Updated documentation via `npm run docs` ## Testing Puppeteer 24.22.3 (used by this project) has full WebP support including quality parameter. Expected compression improvements based on WebP benchmarks: - **PNG (baseline):** 128 KB - **JPEG quality 50:** 84 KB (34% reduction vs PNG) - **WebP quality 50:** ~60 KB (53% reduction vs PNG, 29% better than JPEG) - **WebP quality 75:** ~90 KB (optimal quality/size balance) All existing tests pass (131/131). ## Impact This change is **backward compatible** - WebP is an optional format that doesn't affect existing PNG/JPEG usage. It particularly helps with: - AI assistants that have image size limits - Reducing bandwidth when capturing many screenshots - Providing transparency support with better compression than PNG - Offering a modern, universally-supported image format (Chrome, Firefox, Safari, Edge) ## Example Usage ```javascript // High quality WebP await take_screenshot({ format: 'webp', quality: 85, fullPage: false }) // Optimized for size await take_screenshot({ format: 'webp', quality: 50, // ~29% smaller than JPEG quality 50 fullPage: true }) ``` ## Checklist - [x] Code follows conventional commits - [x] Documentation updated with `npm run docs` - [x] All tests passing (131/131) - [x] Backward compatible - [x] Bug fix included (file extension handling) - [ ] CLA signed (will complete if needed) Fixes #[issue-number] (if applicable) --------- Co-authored-by: aberemia24 <aberemia@gmail.com> Co-authored-by: Alex Rudenko <alexrudenko@chromium.org> |
||
|
|
a9fc8636fc |
docs: add troubleshooting.md (#226)
starting a doc with troubleshooting tips --------- Co-authored-by: Sebastian Benz <sbenz@google.com> |
||
|
|
164933670d |
docs: Add instructions for Copilot CLI (#227)
Fixes #180 |
||
|
|
f03072698d |
feat(screenshot): adds ability to output screenshot to a specific pat… (#172)
…h. Closes #152. Closes #153 |
||
|
|
6947581760 |
docs(getting-started): add npx -y to mcpServers args to auto-confirm install (#215)
Avoids the "Need to install ... Ok to proceed?" interaction so the setup is non-interactive for CI and first-time runs. (`-y` == `--yes`) --------- Co-authored-by: Sebastian Benz <sebastian.benz@gmail.com> |
||
|
|
81cfa8c069 |
chore(deps-dev): bump the dev-dependencies group with 7 updates (#188)
Bumps the dev-dependencies group with 7 updates: | Package | From | To | | --- | --- | --- | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.35.0` | `9.36.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.3.3` | `24.5.2` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.43.0` | `8.44.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.43.0` | `8.44.1` | | [chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend) | `1.0.1520535` | `1.0.1521223` | | [eslint](https://github.com/eslint/eslint) | `9.35.0` | `9.36.0` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.43.0` | `8.44.1` | Updates `@eslint/js` from 9.35.0 to 9.36.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases"><code>@eslint/js</code>'s releases</a>.</em></p> <blockquote> <h2>v9.36.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076"><code>47afcf6</code></a> feat: correct <code>preserve-caught-error</code> edge cases (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20109">#20109</a>) (Francesco Trotta)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e"><code>75b74d8</code></a> fix: add missing rule option types (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20127">#20127</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff"><code>1c0d850</code></a> fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code> for <code>rules</code> object (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20116">#20116</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/7d61b7fadc9c5c6f2b131e37e8a3cffa5aae8ee6"><code>7d61b7f</code></a> fix: add missing scope types to <code>Scope.type</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20110">#20110</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/7a670c301b58609017ce8cfda99ee81f95de3898"><code>7a670c3</code></a> fix: correct rule option typings in <code>rules.d.ts</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20084">#20084</a>) (Pixel998)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6"><code>b73ab12</code></a> docs: update examples to use <code>defineConfig</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20131">#20131</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/31d93926990fba536846ec727d7a2625fc844649"><code>31d9392</code></a> docs: fix typos (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20118">#20118</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/c7f861b3f8c1ac961b4cd4f22483798f3324c62b"><code>c7f861b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/6b0c08b106aa66f2e9fa484282f0eb63c64a1215"><code>6b0c08b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/91f97c50468fbdc089c91e99c2ea0fe821911df2"><code>91f97c5</code></a> docs: Update README (GitHub Actions Bot)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8"><code>12411e8</code></a> chore: upgrade <code>@eslint/js</code><a href="https://github.com/9"><code>@9</code></a>.36.0 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20139">#20139</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e"><code>488cba6</code></a> chore: package.json update for <code>@eslint/js</code> release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09"><code>bac82a2</code></a> ci: simplify renovate configuration (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/19907">#19907</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1"><code>c00bb37</code></a> ci: bump actions/labeler from 5 to 6 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20090">#20090</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/fee751dc8aeab54547af4538332ea5c069ef28b6"><code>fee751d</code></a> refactor: use <code>defaultOptions</code> in rules (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20121">#20121</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/1ace67d9f7903adc3d3f09868aa05b673e7d3f3b"><code>1ace67d</code></a> chore: update example to use <code>defineConfig</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20111">#20111</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/4821963bf765532069c49e9da9ecbe9485b073fc"><code>4821963</code></a> test: add missing loc information to error objects in rule tests (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20112">#20112</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/b42c42e7cd3ac9ee1b5a15f16ff25b325d0482e4"><code>b42c42e</code></a> chore: disallow use of deprecated <code>type</code> property in core rule tests (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20094">#20094</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/7bb498d720dcd054cc042ca4b60b138d8485f07c"><code>7bb498d</code></a> test: remove deprecated <code>type</code> property from core rule tests (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20093">#20093</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/e10cf2ab42fe5b481d980dc652f7504414747733"><code>e10cf2a</code></a> ci: bump actions/setup-node from 4 to 5 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20089">#20089</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/5cb0ce48ef6cfbbe6d09131c33a53f9d66fe9bd4"><code>5cb0ce4</code></a> refactor: use <code>meta.defaultOptions</code> in <code>preserve-caught-error</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20080">#20080</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f9f7cb578dced3c14f635e17c75aa6744d291f4d"><code>f9f7cb5</code></a> chore: package.json update for eslint-config-eslint release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/81764b298065a328038cd067bc8fedef97e57500"><code>81764b2</code></a> chore: update <code>eslint</code> peer dependency in <code>eslint-config-eslint</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20079">#20079</a>) (Milos Djermanovic)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md"><code>@eslint/js</code>'s changelog</a>.</em></p> <blockquote> <p>v9.36.0 - September 19, 2025</p> <ul> <li><a href="https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8"><code>12411e8</code></a> chore: upgrade <code>@eslint/js</code><a href="https://github.com/9"><code>@9</code></a>.36.0 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20139">#20139</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e"><code>488cba6</code></a> chore: package.json update for <code>@eslint/js</code> release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6"><code>b73ab12</code></a> docs: update examples to use <code>defineConfig</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20131">#20131</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076"><code>47afcf6</code></a> feat: correct <code>preserve-caught-error</code> edge cases (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20109">#20109</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e"><code>75b74d8</code></a> fix: add missing rule option types (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20127">#20127</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09"><code>bac82a2</code></a> ci: simplify renovate configuration (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/19907">#19907</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff"><code>1c0d850</code></a> fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code> for <code>rules</code> object (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20116">#20116</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1"><code>c00bb37</code></a> ci: bump actions/labeler from 5 to 6 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20090">#20090</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/fee751dc8aeab54547af4538332ea5c069ef28b6"><code>fee751d</code></a> refactor: use <code>defaultOptions</code> in rules (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20121">#20121</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/31d93926990fba536846ec727d7a2625fc844649"><code>31d9392</code></a> docs: fix typos (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20118">#20118</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/7d61b7fadc9c5c6f2b131e37e8a3cffa5aae8ee6"><code>7d61b7f</code></a> fix: add missing scope types to <code>Scope.type</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20110">#20110</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/1ace67d9f7903adc3d3f09868aa05b673e7d3f3b"><code>1ace67d</code></a> chore: update example to use <code>defineConfig</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20111">#20111</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/4821963bf765532069c49e9da9ecbe9485b073fc"><code>4821963</code></a> test: add missing loc information to error objects in rule tests (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20112">#20112</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c7f861b3f8c1ac961b4cd4f22483798f3324c62b"><code>c7f861b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/6b0c08b106aa66f2e9fa484282f0eb63c64a1215"><code>6b0c08b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/7a670c301b58609017ce8cfda99ee81f95de3898"><code>7a670c3</code></a> fix: correct rule option typings in <code>rules.d.ts</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20084">#20084</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/b42c42e7cd3ac9ee1b5a15f16ff25b325d0482e4"><code>b42c42e</code></a> chore: disallow use of deprecated <code>type</code> property in core rule tests (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20094">#20094</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/7bb498d720dcd054cc042ca4b60b138d8485f07c"><code>7bb498d</code></a> test: remove deprecated <code>type</code> property from core rule tests (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20093">#20093</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/91f97c50468fbdc089c91e99c2ea0fe821911df2"><code>91f97c5</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/e10cf2ab42fe5b481d980dc652f7504414747733"><code>e10cf2a</code></a> ci: bump actions/setup-node from 4 to 5 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20089">#20089</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/5cb0ce48ef6cfbbe6d09131c33a53f9d66fe9bd4"><code>5cb0ce4</code></a> refactor: use <code>meta.defaultOptions</code> in <code>preserve-caught-error</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20080">#20080</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f9f7cb578dced3c14f635e17c75aa6744d291f4d"><code>f9f7cb5</code></a> chore: package.json update for eslint-config-eslint release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/81764b298065a328038cd067bc8fedef97e57500"><code>81764b2</code></a> chore: update <code>eslint</code> peer dependency in <code>eslint-config-eslint</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20079">#20079</a>) (Milos Djermanovic)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e"><code>488cba6</code></a> chore: package.json update for <code>@eslint/js</code> release</li> <li><a href="https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff"><code>1c0d850</code></a> fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code> for <code>rules</code> object (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20116">#20116</a>)</li> <li>See full diff in <a href="https://github.com/eslint/eslint/commits/v9.36.0/packages/js">compare view</a></li> </ul> </details> <br /> Updates `@types/node` from 24.3.3 to 24.5.2 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.43.0 to 8.44.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.44.1</h2> <h2>8.44.1 (2025-09-22)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-base-to-string] make ignoredTypeNames match type names without generics (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11597">#11597</a>)</li> <li><strong>eslint-plugin:</strong> [no-unsafe-enum-comparison] support unions of literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11599">#11599</a>)</li> <li><strong>eslint-plugin:</strong> [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11611">#11611</a>)</li> <li><strong>typescript-estree:</strong> forbid class property with name <code>constructor</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11590">#11590</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>fisker Cheung <a href="https://github.com/fisker"><code>@fisker</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>mdm317</li> <li>Ronen Amiel</li> </ul> <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.44.0</h2> <h2>8.44.0 (2025-09-15)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [await-thenable] report invalid (non-promise) values passed to promise aggregator methods (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11267">#11267</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>deps:</strong> update dependency <code>@eslint-community/eslint-utils</code> to v4.8.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11589">#11589</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-conversion] ignore enum members (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11490">#11490</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Moses Odutusin <a href="https://github.com/thebolarin"><code>@thebolarin</code></a></li> <li>Ronen Amiel</li> </ul> <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.44.1 (2025-09-22)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11611">#11611</a>)</li> <li><strong>eslint-plugin:</strong> [no-unsafe-enum-comparison] support unions of literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11599">#11599</a>)</li> <li><strong>eslint-plugin:</strong> [no-base-to-string] make ignoredTypeNames match type names without generics (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11597">#11597</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>mdm317</li> <li>Ronen Amiel</li> </ul> <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.44.0 (2025-09-15)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [await-thenable] report invalid (non-promise) values passed to promise aggregator methods (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11267">#11267</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-conversion] ignore enum members (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11490">#11490</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Moses Odutusin <a href="https://github.com/thebolarin"><code>@thebolarin</code></a></li> <li>Ronen Amiel</li> </ul> <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/c1980522cd11f2de1a49ff6a30b4be7765a843ff"><code>c198052</code></a> chore(release): publish 8.44.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/c392a0de2dba95ff24bc1f1730a8a85793d4d837"><code>c392a0d</code></a> fix(eslint-plugin): [await-thenable] should not report passing values to prom...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/20c3d97235956d7a5ea34c3e0c0be5e56d603575"><code>20c3d97</code></a> fix(eslint-plugin): [no-unsafe-enum-comparison] support unions of literals (#...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/4fde781fdfeb38ac80256d20ac3d776479217b2d"><code>4fde781</code></a> fix(eslint-plugin): [no-base-to-string] make ignoredTypeNames match type name...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/77056f77e6fdca54b66ec692e5cefbd9f7a626dd"><code>77056f7</code></a> chore(release): publish 8.44.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/684e63f2c60696cc0dddca9c7cbce927edaa263f"><code>684e63f</code></a> chore(deps): update eslint monorepo to v9.35.0 (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11600">#11600</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2ed685770129c6c5465c01aa4fe784a88debf58c"><code>2ed6857</code></a> fix(eslint-plugin): [no-unnecessary-type-conversion] ignore enum members (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11">#11</a>...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/85d8dea3e1ed04c6c885d8c6cc6c3caeeaca0ec6"><code>85d8dea</code></a> feat(eslint-plugin): [await-thenable] report invalid (non-promise) values pas...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/42527dfe3ca7e0e10b306849251db57b92e3e545"><code>42527df</code></a> chore: remove unnecessary nullThrows() (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11580">#11580</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.1/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.43.0 to 8.44.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.44.1</h2> <h2>8.44.1 (2025-09-22)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-base-to-string] make ignoredTypeNames match type names without generics (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11597">#11597</a>)</li> <li><strong>eslint-plugin:</strong> [no-unsafe-enum-comparison] support unions of literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11599">#11599</a>)</li> <li><strong>eslint-plugin:</strong> [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11611">#11611</a>)</li> <li><strong>typescript-estree:</strong> forbid class property with name <code>constructor</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11590">#11590</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>fisker Cheung <a href="https://github.com/fisker"><code>@fisker</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>mdm317</li> <li>Ronen Amiel</li> </ul> <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.44.0</h2> <h2>8.44.0 (2025-09-15)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [await-thenable] report invalid (non-promise) values passed to promise aggregator methods (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11267">#11267</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>deps:</strong> update dependency <code>@eslint-community/eslint-utils</code> to v4.8.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11589">#11589</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-conversion] ignore enum members (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11490">#11490</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Moses Odutusin <a href="https://github.com/thebolarin"><code>@thebolarin</code></a></li> <li>Ronen Amiel</li> </ul> <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.44.1 (2025-09-22)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</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.44.0 (2025-09-15)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</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/c1980522cd11f2de1a49ff6a30b4be7765a843ff"><code>c198052</code></a> chore(release): publish 8.44.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/77056f77e6fdca54b66ec692e5cefbd9f7a626dd"><code>77056f7</code></a> chore(release): publish 8.44.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.1/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `chrome-devtools-frontend` from 1.0.1520535 to 1.0.1521223 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/79e8742273d10f89df5ff1ec45db3e40bb3c16e7"><code>79e8742</code></a> Update DevTools DEPS (trusted)</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/e13c80d2c9b3f5db408674562825a9aa674a8053"><code>e13c80d</code></a> Update Chrome (for Testing) PIN</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/77804ac0072e8c287727e6d393eafb49374c46e3"><code>77804ac</code></a> RPP: Fix maximum call stack when loading enhanced trace</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/89f191f0650b14770e7258bad0c375494d68b329"><code>89f191f</code></a> [RPP] Prevent wrongly excluding scripts from legacy/dupe JS insights</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/243723cb0d1b858a67d5b0d2609bb95fa511f476"><code>243723c</code></a> [InspectorView] Fix setting jslog context for toggle orientation button</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/d65aeaf606961938b7dfc27c54d571a5e3c46333"><code>d65aeaf</code></a> [e2e] Enable test that was disabled</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/fd438ecc3740cee04f8476483e8a08fd5b8af5ca"><code>fd438ec</code></a> Update DevTools DEPS (trusted)</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/8f8436b774f55b2b7b06a9595bcd7d8d1daaea06"><code>8f8436b</code></a> Update Chrome (for Testing) PIN</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/0ef5b0631522c714639536c36dabf98a1802bf1f"><code>0ef5b06</code></a> [e2e] Fix flaky user-metrics test</li> <li><a href="https://github.com/ChromeDevTools/devtools-frontend/commit/b4e88d86be867fa31a55dad68fc8a578230768f5"><code>b4e88d8</code></a> Add screenshot tests to BlockedURLsPane</li> <li>Additional commits viewable in <a href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1520535...v1.0.1521223">compare view</a></li> </ul> </details> <br /> Updates `eslint` from 9.35.0 to 9.36.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v9.36.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076"><code>47afcf6</code></a> feat: correct <code>preserve-caught-error</code> edge cases (<a href="https://redirect.github.com/eslint/eslint/issues/20109">#20109</a>) (Francesco Trotta)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e"><code>75b74d8</code></a> fix: add missing rule option types (<a href="https://redirect.github.com/eslint/eslint/issues/20127">#20127</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff"><code>1c0d850</code></a> fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code> for <code>rules</code> object (<a href="https://redirect.github.com/eslint/eslint/issues/20116">#20116</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/7d61b7fadc9c5c6f2b131e37e8a3cffa5aae8ee6"><code>7d61b7f</code></a> fix: add missing scope types to <code>Scope.type</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20110">#20110</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/7a670c301b58609017ce8cfda99ee81f95de3898"><code>7a670c3</code></a> fix: correct rule option typings in <code>rules.d.ts</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20084">#20084</a>) (Pixel998)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6"><code>b73ab12</code></a> docs: update examples to use <code>defineConfig</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20131">#20131</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/31d93926990fba536846ec727d7a2625fc844649"><code>31d9392</code></a> docs: fix typos (<a href="https://redirect.github.com/eslint/eslint/issues/20118">#20118</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/c7f861b3f8c1ac961b4cd4f22483798f3324c62b"><code>c7f861b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/6b0c08b106aa66f2e9fa484282f0eb63c64a1215"><code>6b0c08b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/91f97c50468fbdc089c91e99c2ea0fe821911df2"><code>91f97c5</code></a> docs: Update README (GitHub Actions Bot)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8"><code>12411e8</code></a> chore: upgrade <code>@eslint/js</code><a href="https://github.com/9"><code>@9</code></a>.36.0 (<a href="https://redirect.github.com/eslint/eslint/issues/20139">#20139</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e"><code>488cba6</code></a> chore: package.json update for <code>@eslint/js</code> release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09"><code>bac82a2</code></a> ci: simplify renovate configuration (<a href="https://redirect.github.com/eslint/eslint/issues/19907">#19907</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1"><code>c00bb37</code></a> ci: bump actions/labeler from 5 to 6 (<a href="https://redirect.github.com/eslint/eslint/issues/20090">#20090</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/fee751dc8aeab54547af4538332ea5c069ef28b6"><code>fee751d</code></a> refactor: use <code>defaultOptions</code> in rules (<a href="https://redirect.github.com/eslint/eslint/issues/20121">#20121</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/1ace67d9f7903adc3d3f09868aa05b673e7d3f3b"><code>1ace67d</code></a> chore: update example to use <code>defineConfig</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20111">#20111</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/4821963bf765532069c49e9da9ecbe9485b073fc"><code>4821963</code></a> test: add missing loc information to error objects in rule tests (<a href="https://redirect.github.com/eslint/eslint/issues/20112">#20112</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/b42c42e7cd3ac9ee1b5a15f16ff25b325d0482e4"><code>b42c42e</code></a> chore: disallow use of deprecated <code>type</code> property in core rule tests (<a href="https://redirect.github.com/eslint/eslint/issues/20094">#20094</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/7bb498d720dcd054cc042ca4b60b138d8485f07c"><code>7bb498d</code></a> test: remove deprecated <code>type</code> property from core rule tests (<a href="https://redirect.github.com/eslint/eslint/issues/20093">#20093</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/e10cf2ab42fe5b481d980dc652f7504414747733"><code>e10cf2a</code></a> ci: bump actions/setup-node from 4 to 5 (<a href="https://redirect.github.com/eslint/eslint/issues/20089">#20089</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/5cb0ce48ef6cfbbe6d09131c33a53f9d66fe9bd4"><code>5cb0ce4</code></a> refactor: use <code>meta.defaultOptions</code> in <code>preserve-caught-error</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20080">#20080</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f9f7cb578dced3c14f635e17c75aa6744d291f4d"><code>f9f7cb5</code></a> chore: package.json update for eslint-config-eslint release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/81764b298065a328038cd067bc8fedef97e57500"><code>81764b2</code></a> chore: update <code>eslint</code> peer dependency in <code>eslint-config-eslint</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20079">#20079</a>) (Milos Djermanovic)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's changelog</a>.</em></p> <blockquote> <p>v9.36.0 - September 19, 2025</p> <ul> <li><a href="https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8"><code>12411e8</code></a> chore: upgrade <code>@eslint/js</code><a href="https://github.com/9"><code>@9</code></a>.36.0 (<a href="https://redirect.github.com/eslint/eslint/issues/20139">#20139</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e"><code>488cba6</code></a> chore: package.json update for <code>@eslint/js</code> release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6"><code>b73ab12</code></a> docs: update examples to use <code>defineConfig</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20131">#20131</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076"><code>47afcf6</code></a> feat: correct <code>preserve-caught-error</code> edge cases (<a href="https://redirect.github.com/eslint/eslint/issues/20109">#20109</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e"><code>75b74d8</code></a> fix: add missing rule option types (<a href="https://redirect.github.com/eslint/eslint/issues/20127">#20127</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09"><code>bac82a2</code></a> ci: simplify renovate configuration (<a href="https://redirect.github.com/eslint/eslint/issues/19907">#19907</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff"><code>1c0d850</code></a> fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code> for <code>rules</code> object (<a href="https://redirect.github.com/eslint/eslint/issues/20116">#20116</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1"><code>c00bb37</code></a> ci: bump actions/labeler from 5 to 6 (<a href="https://redirect.github.com/eslint/eslint/issues/20090">#20090</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/fee751dc8aeab54547af4538332ea5c069ef28b6"><code>fee751d</code></a> refactor: use <code>defaultOptions</code> in rules (<a href="https://redirect.github.com/eslint/eslint/issues/20121">#20121</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/31d93926990fba536846ec727d7a2625fc844649"><code>31d9392</code></a> docs: fix typos (<a href="https://redirect.github.com/eslint/eslint/issues/20118">#20118</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/7d61b7fadc9c5c6f2b131e37e8a3cffa5aae8ee6"><code>7d61b7f</code></a> fix: add missing scope types to <code>Scope.type</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20110">#20110</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/1ace67d9f7903adc3d3f09868aa05b673e7d3f3b"><code>1ace67d</code></a> chore: update example to use <code>defineConfig</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20111">#20111</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/4821963bf765532069c49e9da9ecbe9485b073fc"><code>4821963</code></a> test: add missing loc information to error objects in rule tests (<a href="https://redirect.github.com/eslint/eslint/issues/20112">#20112</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c7f861b3f8c1ac961b4cd4f22483798f3324c62b"><code>c7f861b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/6b0c08b106aa66f2e9fa484282f0eb63c64a1215"><code>6b0c08b</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/7a670c301b58609017ce8cfda99ee81f95de3898"><code>7a670c3</code></a> fix: correct rule option typings in <code>rules.d.ts</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20084">#20084</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/b42c42e7cd3ac9ee1b5a15f16ff25b325d0482e4"><code>b42c42e</code></a> chore: disallow use of deprecated <code>type</code> property in core rule tests (<a href="https://redirect.github.com/eslint/eslint/issues/20094">#20094</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/7bb498d720dcd054cc042ca4b60b138d8485f07c"><code>7bb498d</code></a> test: remove deprecated <code>type</code> property from core rule tests (<a href="https://redirect.github.com/eslint/eslint/issues/20093">#20093</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/91f97c50468fbdc089c91e99c2ea0fe821911df2"><code>91f97c5</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/e10cf2ab42fe5b481d980dc652f7504414747733"><code>e10cf2a</code></a> ci: bump actions/setup-node from 4 to 5 (<a href="https://redirect.github.com/eslint/eslint/issues/20089">#20089</a>) (dependabot[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/5cb0ce48ef6cfbbe6d09131c33a53f9d66fe9bd4"><code>5cb0ce4</code></a> refactor: use <code>meta.defaultOptions</code> in <code>preserve-caught-error</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20080">#20080</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f9f7cb578dced3c14f635e17c75aa6744d291f4d"><code>f9f7cb5</code></a> chore: package.json update for eslint-config-eslint release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/81764b298065a328038cd067bc8fedef97e57500"><code>81764b2</code></a> chore: update <code>eslint</code> peer dependency in <code>eslint-config-eslint</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20079">#20079</a>) (Milos Djermanovic)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/b4857e54e54b5dba96d156cd8d8b4d42dc5a3bf4"><code>b4857e5</code></a> 9.36.0</li> <li><a href="https://github.com/eslint/eslint/commit/5878a4243f623b46b476eb81043d06244eae5877"><code>5878a42</code></a> Build: changelog update for 9.36.0</li> <li><a href="https://github.com/eslint/eslint/commit/12411e8d450ed26a5f7cca6a78ec05323c9323e8"><code>12411e8</code></a> chore: upgrade <code>@eslint/js</code><a href="https://github.com/9"><code>@9</code></a>.36.0 (<a href="https://redirect.github.com/eslint/eslint/issues/20139">#20139</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/488cba6b391b97b2cfc74bbb46fdeacb1361949e"><code>488cba6</code></a> chore: package.json update for <code>@eslint/js</code> release</li> <li><a href="https://github.com/eslint/eslint/commit/b73ab12acd3e87f8d8173cda03499f6cd1f26db6"><code>b73ab12</code></a> docs: update examples to use <code>defineConfig</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20131">#20131</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/47afcf668df65eac68d7b04145d037037010a076"><code>47afcf6</code></a> feat: correct <code>preserve-caught-error</code> edge cases (<a href="https://redirect.github.com/eslint/eslint/issues/20109">#20109</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/75b74d865d3b8e7fa3bcf5ad29f4bf6d18d1310e"><code>75b74d8</code></a> fix: add missing rule option types (<a href="https://redirect.github.com/eslint/eslint/issues/20127">#20127</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/bac82a2a9c80a3f69087852758d7737aea371f09"><code>bac82a2</code></a> ci: simplify renovate configuration (<a href="https://redirect.github.com/eslint/eslint/issues/19907">#19907</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/1c0d85049e3f30a8809340c1abc881c63b7812ff"><code>1c0d850</code></a> fix: update <code>eslint-all.js</code> to use <code>Object.freeze</code> for <code>rules</code> object (<a href="https://redirect.github.com/eslint/eslint/issues/20116">#20116</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/c00bb37d62c1bcc0a37f094371be9c40064009f1"><code>c00bb37</code></a> ci: bump actions/labeler from 5 to 6 (<a href="https://redirect.github.com/eslint/eslint/issues/20090">#20090</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v9.35.0...v9.36.0">compare view</a></li> </ul> </details> <br /> Updates `typescript-eslint` from 8.43.0 to 8.44.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.44.1</h2> <h2>8.44.1 (2025-09-22)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-base-to-string] make ignoredTypeNames match type names without generics (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11597">#11597</a>)</li> <li><strong>eslint-plugin:</strong> [no-unsafe-enum-comparison] support unions of literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11599">#11599</a>)</li> <li><strong>eslint-plugin:</strong> [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11611">#11611</a>)</li> <li><strong>typescript-estree:</strong> forbid class property with name <code>constructor</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11590">#11590</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>fisker Cheung <a href="https://github.com/fisker"><code>@fisker</code></a></li> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> <li>mdm317</li> <li>Ronen Amiel</li> </ul> <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.44.0</h2> <h2>8.44.0 (2025-09-15)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [await-thenable] report invalid (non-promise) values passed to promise aggregator methods (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11267">#11267</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>deps:</strong> update dependency <code>@eslint-community/eslint-utils</code> to v4.8.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11589">#11589</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-conversion] ignore enum members (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11490">#11490</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Moses Odutusin <a href="https://github.com/thebolarin"><code>@thebolarin</code></a></li> <li>Ronen Amiel</li> </ul> <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.44.1 (2025-09-22)</h2> <p>This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.</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.44.0 (2025-09-15)</h2> <p>This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.</p> <p>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/c1980522cd11f2de1a49ff6a30b4be7765a843ff"><code>c198052</code></a> chore(release): publish 8.44.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/77056f77e6fdca54b66ec692e5cefbd9f7a626dd"><code>77056f7</code></a> chore(release): publish 8.44.0</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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> |
||
|
|
ce356f2565 |
fix: snapshot does not capture Iframe content (#217)
Closes: #186 |
||
|
|
760f6f1a9f |
docs: add Visual Studio installation instructions (#173)
Added installation instructions for Visual Studio. > Note, I'm a PM on the Visual Studio team and this way of installing MCP servers into VS is the recommended way |
||
|
|
1de725ab99 |
chore(main): release chrome-devtools-mcp 0.5.1 (#211)
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.5.1](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.5.0...chrome-devtools-mcp-v0.5.1)
(2025-09-29)
### Bug Fixes
* update package.json engines to reflect node20 support
([#210](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/210))
([
chrome-devtools-mcp-v0.5.1
|
||
|
|
b31e64713e | fix: update package.json engines to reflect node20 support (#210) | ||
|
|
4f3ae2af77 |
chore(main): release chrome-devtools-mcp 0.5.0 (#206)
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.5.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.4.0...chrome-devtools-mcp-v0.5.0) (2025-09-29) ### Features * **screenshot:** add JPEG quality parameter support ([#184](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/184)) ([chrome-devtools-mcp-v0.5.0 |
||
|
|
205eef5cdf | fix: reference to handle_dialog tool (#209) | ||
|
|
4cf92cb54b | docs: add instructions for codex on windows (#207) | ||
|
|
139cfd135c |
feat(screenshot): add JPEG quality parameter support (#184)
## Summary This PR adds support for the `quality` parameter when taking JPEG screenshots, allowing users to control compression levels and significantly reduce file sizes. ## Problem Currently, the Chrome DevTools MCP doesn't expose the `quality` parameter that Puppeteer natively supports. This leads to: - Large screenshot file sizes (especially problematic for AI assistants with image size limits) - No control over JPEG compression - Inability to optimize screenshots for different use cases ## Solution Added the `quality` parameter (0-100) to the screenshot tool schema and passed it through to Puppeteer's screenshot method. ## Changes - ✅ Added `quality` parameter to screenshot schema with proper validation (0-100 range) - ✅ Pass quality parameter to Puppeteer's `screenshot()` method - ✅ Added `optimizeForSpeed` flag for improved encoding performance - ✅ Updated documentation via `npm run docs` ## Testing Tested locally with various quality settings: - **PNG (baseline):** 128 KB - **JPEG quality 100:** 245 KB - **JPEG quality 50:** 84 KB (35% reduction) - **JPEG quality 30:** 66 KB (49% reduction) ## Impact This change is **backward compatible** - the quality parameter is optional and doesn't affect existing usage. It particularly helps with: - AI assistants that have image size limits (e.g., 8000px max dimension errors) - Reducing bandwidth when capturing many screenshots - Optimizing storage for screenshot-heavy workflows ## Example Usage ```javascript // New capability - control JPEG quality await take_screenshot({ format: 'jpeg', quality: 50, // New parameter! fullPage: false }) ``` ## Checklist - [x] Code follows conventional commits - [x] Documentation updated with `npm run docs` - [x] Tested locally - [x] Backward compatible - [ ] CLA signed (will complete if needed) Fixes #[issue-number] (if applicable) Co-authored-by: aberemia24 <aberemia@gmail.com> |
||
|
|
d9f77f8509 |
fix: do not error if the dialog was already handled (#208)
users report that the MCP client gets stuck if the dialog was closed manually as the MCP state never updates. |
||
|
|
13613b4a33 |
fix: support node20 (#52)
Initially, we started with the support of Node22+ but since Node20 is an LTS that is still in the maintenance mode it makes sense to support it. |
||
|
|
7765bb381a |
fix: update tool reference in an error (#205)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/170 Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/169 |
||
|
|
1f4007ed90 |
chore(deps): bump @modelcontextprotocol/sdk from 1.18.1 to 1.18.2 in the dependencies group (#187)
Bumps the dependencies group with 1 update: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk). Updates `@modelcontextprotocol/sdk` from 1.18.1 to 1.18.2 <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>1.18.2</h2> <h2>What's Changed</h2> <ul> <li>Updates the sampling code example in the README by <a href="https://github.com/viniciuscsouza"><code>@viniciuscsouza</code></a> in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/958">modelcontextprotocol/typescript-sdk#958</a></li> <li>Use redirect Uri passed in in <code>demoInMemoryOAuthProvider</code> by <a href="https://github.com/TylerLeonhardt"><code>@TylerLeonhardt</code></a> in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/931">modelcontextprotocol/typescript-sdk#931</a></li> <li>fix(auth-router): correct Protected Resource Metadata for pathful RS and add explicit resourceServerUrl (RFC 9728) by <a href="https://github.com/blustAI"><code>@blustAI</code></a> in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/858">modelcontextprotocol/typescript-sdk#858</a></li> <li>chore: update version to 1.18.2 for weekly release by <a href="https://github.com/felixweinberger"><code>@felixweinberger</code></a> in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/970">modelcontextprotocol/typescript-sdk#970</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/viniciuscsouza"><code>@viniciuscsouza</code></a> made their first contribution in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/958">modelcontextprotocol/typescript-sdk#958</a></li> <li><a href="https://github.com/TylerLeonhardt"><code>@TylerLeonhardt</code></a> made their first contribution in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/931">modelcontextprotocol/typescript-sdk#931</a></li> <li><a href="https://github.com/blustAI"><code>@blustAI</code></a> made their first contribution in <a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/858">modelcontextprotocol/typescript-sdk#858</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.18.1...1.18.2">https://github.com/modelcontextprotocol/typescript-sdk/compare/1.18.1...1.18.2</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/058b87c163996b31d5cda744085ecf3c13c5c56a"><code>058b87c</code></a> chore: update version to 1.18.2 for weekly release (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/970">#970</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/1d475bb3f75674a46d81dba881ea743a763cbc12"><code>1d475bb</code></a> fix(auth-router): correct Protected Resource Metadata for pathful RS and add ...</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/9841a6cf2959d0f361ac5eee6e1a2e0f3515b943"><code>9841a6c</code></a> Use redirect Uri passed in in <code>demoInMemoryOAuthProvider</code> (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/931">#931</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/c342dacb5ed55a0366fd2512bb642d1ceaa2ed87"><code>c342dac</code></a> Updates the sampling code example in the README (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/958">#958</a>)</li> <li>See full diff in <a href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.18.1...1.18.2">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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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> |
||
|
|
420251383e |
chore(main): release chrome-devtools-mcp 0.4.0 (#157)
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.4.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.3.0...chrome-devtools-mcp-v0.4.0) (2025-09-26) ### Features * add network request filtering by resource type ([#162](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/162)) ([chrome-devtools-mcp-v0.4.0 |
||
|
|
eaecc2448c |
docs: improved instructions for Gemini CLI MCP server (#161)
Added CLI installation instructions for Chrome DevTools MCP server using Gemini CLI. --------- Co-authored-by: Alex Rudenko <alexrudenko@chromium.org> |
||
|
|
59d81a3325 |
feat: add network request filtering by resource type (#162)
### Summary This PR build upon #145 to also adds filtering by resource type to `list_network_requests` (Also see: #137 and #107). ### Motivation Agents often need specific request types (e.g., scripts, stylesheets, images). Filtering reduces noise and improves performance. ### Changes - **New parameter**: `resourceType` (array) to filter by resource types - **Supported types**: all resource types supported by Puppeteer - **Backward compatible**: when omitted, returns all requests Filtering runs before pagination, so pagination applies to the filtered results. |
||
|
|
6cfc9774f4 |
fix: add core web vitals to performance_start_trace description (#168)
Fixes #124 and #159. People have reported that when asked for CWV metrics, the AI will use `evaluate_script` to inject some code into the page to gather them. But, we want to encourage it to record a trace instead and use those values. After some testing locally, adding CWV explicitly to the description makes it much more reliable that the AI will reach for trace recording when asked about CWVs. |
||
|
|
869dd4273e |
fix: add data format information to trace summary (#166)
This CL adds the descriptions of the call frame format and the network request format to the summary so that as the AI sees these responses it can fully parse them. |
||
|
|
22ec7ee45c | fix: expose --debug-file argument (#164) | ||
|
|
2dbdd2de4f |
chore: roll latest chrome-devtools-frontend (#163)
This includes a better fix for the circular dependency problem and makes the changes in the MCP server based on the upstream DevTools implementation changes. |
||
|
|
6d9cd17714 |
chore: unblock uses with Deno and Bun (#151)
I wanna test more NodeJS versions to see that this does not cause other issues. Deno test command: ```sh npx @modelcontextprotocol/inspector deno --allow-env --allow-read ./build/src/index.js ``` Bun test command: ```sh npx @modelcontextprotocol/inspector bun ./build/src/index.js ``` |
||
|
|
90f686e5df | fix: typo in the disclaimers (#156) | ||
|
|
347768d11c |
chore(main): release chrome-devtools-mcp 0.3.0 (#138)
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.3.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.2.7...chrome-devtools-mcp-v0.3.0) (2025-09-25) ### Features * Add pagination list_network_requests ([#145](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/145)) ([chrome-devtools-mcp-v0.3.0 |
||
|
|
03b59f0bca |
fix: do not set channel if executablePath is provided (#150)
Fixes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/148 |
||
|
|
b2e1e3944c |
fix: roll latest DevTools to handle Insight errors (#149)
This commit updates DevTools to the latest release. This most importantly includes a fix for #124 and other reported issues where Insights that were actually errors were not handled correctly. They are now formatted correctly on the DevTools side and now will not break performance traces in the MCP server. |
||
|
|
15277541d8 | chore: add additional EsLint rule (#147) | ||
|
|
4c909bb8d7 |
feat: Add pagination list_network_requests (#145)
## Summary This PR enhances the `list_network_requests` tool with pagination support to handle large numbers of network requests efficiently. See [this issue](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/136). ## Motivation In my experience, the `list_network_requests` tool frequently hits LLM token limits on pages with many requests, making it unusable for modern web applications. I wanted to add pagination to allow agents to be more flexible and manage token limits on their own. ## Changes ### Pagination Support - Added `pageSize` parameter to limit requests per call - Added `pageToken` parameter for navigation between pages - Added pagination metadata in responses (nextPageToken, previousPageToken, startIndex, endIndex, total) ### Implementation Details - **New utility**: `src/utils/pagination.ts` - generic pagination function - **Enhanced McpResponse**: Added pagination options to `setIncludeNetworkRequests()` - **Updated network tool**: Added pagination parameters to schema - **Offset-based pagination**: Uses numeric tokens, handles invalid tokens gracefully ## Testing - Comprehensive test coverage for pagination scenarios - Tests for first page, subsequent pages, invalid tokens, and edge cases - All existing tests continue to pass ## Backward Compatibility - If no pagination parameters are provided, the MCP will return all requests (same as before) |