提交

提交图

152 次代码提交

作者 SHA1 备注 提交日期
Jack Franklin c694ec7b30 Fix experiment look-up and add instructions. 2025-10-03 16:14:48 +01:00
Jack Franklin 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.
2025-10-03 11:57:35 +01:00
Nikolay Vitkov 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.
2025-10-02 16:59:09 +02:00
Kim Hallberg 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>
2025-10-02 14:36:11 +00:00
Nikolay Vitkov 1100dbea0d chore: update ci job names (#258) 2025-10-02 16:12:44 +02:00
Mithun Gowda B 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.
2025-10-02 15:26:49 +02:00
Nikolay Vitkov 1b226b8c0e ci: require conventional commit title (#257)
This is needed to Release please can function properly
2025-10-02 14:58:22 +02:00
Nikolay Vitkov 9af943176e refactor: extract the pagination logic (#242) 2025-10-02 10:01:49 +00:00
Nikolay Vitkov 74c6d6d649 refactor: use context agnostic write to file (#250)
Similar to the write to temporary file we should hide the implementation
behind the Context
2025-10-02 09:50:47 +00:00
shiomiyan 639d57d682 docs: update README.md typo (#251) 2025-10-02 11:35:18 +02:00
browser-automation-bot 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))
([03e02a2](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/03e02a2d769fbfc0c98599444dfed5413d15ae6e))
* **screenshot:** adds ability to output screenshot to a specific pat…
([#172](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/172))
([f030726](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/f03072698ddda8587ce23229d733405f88b7c89e))
* support --accept-insecure-certs CLI
([#231](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/231))
([efb106d](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/efb106dc94af0057f88c89f810beb65114eeaa4b))
* support --proxy-server CLI
([#230](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/230))
([dfacc75](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/dfacc75ee9f46137b5194e35fc604b89a00ff53f))
* support initial viewport in the CLI
([#229](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/229))
([ef61a08](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/ef61a08707056c5078d268a83a2c95d10e224f31))
* support timeouts in wait_for and navigations
([#228](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/228))
([36e64d5](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/36e64d5ae21e8bb244a18201a23a16932947e938))


### Bug Fixes

* **network:** show only selected request
([#236](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/236))
([73f0aec](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/73f0aecd8a48b9d1ee354897fe14d785c80e863e))
* PageCollector subscribing multiple times
([#241](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/241))
([0412878](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/0412878bf51ae46e48a171183bb38cfbbee1038a))
* snapshot does not capture Iframe content
([#217](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/217))
([ce356f2](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/ce356f256545e805db74664797de5f42e7b92bed)),
closes
[#186](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/186)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.6.0
2025-10-01 16:45:29 +02:00
Nikolay Vitkov 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
2025-10-01 16:33:55 +02:00
Nikolay Vitkov d61e151dd2 chore: miscellaneous fixes (#234) 2025-10-01 16:31:56 +02:00
Nikolay Vitkov 73f0aecd8a fix(network): show only selected request (#236) 2025-10-01 14:12:41 +02:00
Alex Rudenko 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
2025-10-01 10:48:53 +02:00
Alex Rudenko 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.
2025-10-01 10:21:05 +02:00
Alex Rudenko dfacc75ee9 feat: support --proxy-server CLI (#230)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/155
2025-10-01 10:15:32 +02:00
Alex Rudenko 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.
2025-10-01 10:11:35 +02:00
Coquinate 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>
2025-10-01 10:11:04 +02:00
Alex Rudenko a9fc8636fc docs: add troubleshooting.md (#226)
starting a doc with troubleshooting tips

---------

Co-authored-by: Sebastian Benz <sbenz@google.com>
2025-10-01 09:52:09 +02:00
Sebastian Benz 164933670d docs: Add instructions for Copilot CLI (#227)
Fixes #180
2025-09-30 18:33:19 +00:00
James Doyle f03072698d feat(screenshot): adds ability to output screenshot to a specific pat… (#172)
…h. Closes #152. Closes #153
2025-09-30 19:56:46 +02:00
Wu Changming 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>
2025-09-30 15:17:38 +02:00
dependabot[bot] 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>
2025-09-30 12:10:16 +00:00
Alina Varkki ce356f2565 fix: snapshot does not capture Iframe content (#217)
Closes: #186
2025-09-30 09:38:08 +02:00
Mads Kristensen 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
2025-09-29 18:56:40 +02:00
browser-automation-bot 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))
([b31e647](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b31e64713e0524f28cbf760fad27b25829ec419d))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.5.1
2025-09-29 16:54:22 +02:00
Alex Rudenko b31e64713e fix: update package.json engines to reflect node20 support (#210) 2025-09-29 14:34:03 +00:00
browser-automation-bot 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))
([139cfd1](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/139cfd135cdb07573fe87d824631fcdb6153186e))


### Bug Fixes

* do not error if the dialog was already handled
([#208](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/208))
([d9f77f8](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d9f77f85098ffe851308c5de05effb03ac21237b))
* reference to handle_dialog tool
([#209](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/209))
([205eef5](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/205eef5cdff19ccb7ddbd113bb1450cb87e8f398))
* support node20
([#52](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/52))
([13613b4](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/13613b4a33ab7cf2d4fb1f4849bfa6b82f546945))
* update tool reference in an error
([#205](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/205))
([7765bb3](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/7765bb381ad9d01219547faf879a74978188754a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.5.0
2025-09-29 16:17:53 +02:00
Alex Rudenko 205eef5cdf fix: reference to handle_dialog tool (#209) 2025-09-29 14:12:05 +00:00
Sebastian Benz 4cf92cb54b docs: add instructions for codex on windows (#207) 2025-09-29 16:03:16 +02:00
Coquinate 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>
2025-09-29 14:00:36 +00:00
Alex Rudenko 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.
2025-09-29 13:53:25 +00:00
Alex Rudenko 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.
2025-09-29 13:43:35 +00:00
Alex Rudenko 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
2025-09-29 13:11:17 +00:00
dependabot[bot] 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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@modelcontextprotocol/sdk&package-manager=npm_and_yarn&previous-version=1.18.1&new-version=1.18.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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>
2025-09-29 15:08:56 +02:00
browser-automation-bot 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))
([59d81a3](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/59d81a33258a199a3f993c9e02a415f62ef05ce4))


### Bug Fixes

* add core web vitals to performance_start_trace description
([#168](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/168))
([6cfc977](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/6cfc9774f4ec7944c70842999506b2bc2018a667))
* add data format information to trace summary
([#166](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/166))
([869dd42](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/869dd4273e42309c1bb57d44e0e5a6a9506ffad7))
* expose --debug-file argument
([#164](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/164))
([22ec7ee](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/22ec7ee45cc04892000cf6dc32f3fe58d33855c1))
* typo in the disclaimers
([#156](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/156))
([90f686e](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/90f686e5df3d880c35ec566c837ee5a98824be28))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.4.0
2025-09-26 16:03:54 +02:00
Julien 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>
2025-09-26 13:24:18 +00:00
Oz Tamir 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.
2025-09-26 13:17:58 +00:00
Jack Franklin 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.
2025-09-26 13:14:27 +00:00
Jack Franklin 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.
2025-09-26 14:12:00 +01:00
Alex Rudenko 22ec7ee45c fix: expose --debug-file argument (#164) 2025-09-26 09:00:04 +00:00
Jack Franklin 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.
2025-09-26 09:44:03 +01:00
Nikolay Vitkov 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 
```
2025-09-26 08:31:41 +02:00
Alex Rudenko 90f686e5df fix: typo in the disclaimers (#156) 2025-09-25 21:32:11 +02:00
browser-automation-bot 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))
([4c909bb](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/4c909bb8d7c4a420cb8e3219ec98abf28f5cc664))


### Bug Fixes

* avoid reporting page close errors as errors
([#127](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/127))
([44cfc8f](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/44cfc8f945edf9370efe26247f322a59a4a4a7be))
* clarify the node version message
([#135](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/135))
([0cc907a](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/0cc907a9ad79289a6785e9690c3c6940f0a5de52))
* do not set channel if executablePath is provided
([#150](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/150))
([03b59f0](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/03b59f0bca024173ad45d7a617994e919d9cbbad))
* **performance:** ImageDelivery insight errors
([#144](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/144))
([d64ba0d](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d64ba0d9027540eb707381e2577ae3c1fe014346))
* roll latest DevTools to handle Insight errors
([#149](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/149))
([b2e1e39](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b2e1e3944c7fa170584ce36c7b8923b0e6d6c6cb))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
chrome-devtools-mcp-v0.3.0
2025-09-25 18:51:31 +02:00
Alex Rudenko 03b59f0bca fix: do not set channel if executablePath is provided (#150)
Fixes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/148
2025-09-25 18:44:31 +02:00
Jack Franklin 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.
2025-09-25 18:25:35 +02:00
Nikolay Vitkov 15277541d8 chore: add additional EsLint rule (#147) 2025-09-25 17:20:01 +02:00
Oz Tamir 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)
2025-09-25 16:26:43 +02:00