文件历史

提交图

34 次代码提交

作者 SHA1 备注 提交日期
Alex Rudenko c2d8009ff7 refactor: move main files (#1120)
- `chrome-devtools-mcp.js` is the `npx chrome-devtools-mcp`
- `chrome-devtools.js` is the new CLI
- `-cli-options.js` is the corresponding options
- all these files are in the bin folder to indicate they are executable
2026-03-05 21:51:37 +00:00
Nicholas Roscino e5973fd021 chore: implement trigger extension action (#1049)
This PR implements the ability to trigger an extension action by passing
it an extension id.
It uses puppeteer internals and the canary chrome version in tests since
the TriggerAction CDP command is still not available in the current
stable release.
2026-03-02 16:21:58 +00:00
Alex Rudenko 40c241bbfc refactor: move dialog handling to McpPage (#1059)
- renamed getSelectedPage to getSelectedPptrPage
- removes getSelectedPptrPage from tool interfaces
- moves dialog handling to McpPage
- makes responses to be optionally McpPage-scoped
2026-02-27 11:49:43 +01:00
Nicholas Roscino 1a4eaba95b chore: list service workers (#1035)
This PR adds the extension service workers to the output of listPages.
This is available only behind "--category-extensions" flag
2026-02-25 13:49:37 +00:00
Paul Irish b747f9d74a feat: Integrate CrUX data into performance trace summaries (#733)
We upgrade the performance trace tools to include real-user experience
data from the Chrome User Experience Report (CrUX).

https://developer.chrome.com/docs/crux
https://developer.chrome.com/docs/crux/methodology

### Deets

* When a trace is stopped, the server now extracts the primary
navigation URLs from the trace (determined by insightSets).
* It calls the public CrUX API to fetch field metrics (LCP, INP, CLS)
for each unique URL/Origin.
* The formatting of crux data is handled by upstream TraceFormatter, but
it looks like this:

```md
Metrics (field / real users):
  - LCP: 2595 ms (scope: url)
  - LCP breakdown:
    - TTFB: 1273 ms (scope: url)
    - Load delay: 86 ms (scope: url)
    - Load duration: 451 ms (scope: url)
    - Render delay: 786 ms (scope: url)
  - INP: 140 ms (scope: url)
  - CLS: 0.06 (scope: url)
  - The above data is from CrUX–Chrome User Experience Report. It's how the page performs for real users.
  - The values shown above are the p75 measure of all real Chrome users
  - The scope indicates if the data came from the entire origin, or a specific url
  - Lab metrics describe how this specific page load performed, while field metrics are an aggregation of results from real-world users. Best practice is to prioritize metrics that are bad in field data. Lab metrics may be better or worse than fields metrics depending on the developer's machine, network, or the actions performed while tracing.
 ```
 
**Privacy Considerations:**

*   Updates the server README to inform users that performance analysis tools may send trace URLs to the Google CrUX API.
*   Adds a notification message to the server startup logs regarding the CrUX API interaction.


Doc: go/crux-in-bifrost 
Fixes b/446630695

---------

Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2026-02-05 07:27:15 +00:00
Simon Zünd b5369a6c13 chore: include target ID in UncaughtError (#873) 2026-02-03 10:03:06 +00:00
Natasha Gorshunova 1e0ee69d3a chore: Implement install_extension command (#764)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
2026-01-19 07:57:25 +00:00
Alex Rudenko 755eeef3af chore: support structured network (#774)
This PR adds a structured variant of the network responses and refactors
the code accordingly.
2026-01-15 11:59:00 +00:00
Lakshan Perera 4d9ac227dd fix: support resize_page when browser window is maximized/fullscreenwindow state (#748)
Related Issue -
[465](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/465)

### Description

This change make sure that the browser window is restored to a `normal`
state before resizing the page. When the window is in `fullscreen` mode
we have to set the state twice to match how Chrome CDP behaves.

Tests cover window resizing for every available window states `type
WindowState = 'normal' | 'minimized' | 'maximized' | 'fullscreen';`

---------

Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2026-01-13 16:25:22 +00:00
Alex Rudenko 3fcca026cb chore: support structured content (#744)
The idea is to turn formatters into instances and support both text and
JSON formatting. The structured content is output if the experimental
structured content flag is passed. For now, only the snapshots are
returned in a structured way.

Refs https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/689
2026-01-12 13:53:12 +00:00
Ergün Erdoğmuş 8e252ddbc6 test: fix flaky network test by normalizing accept-language header (#743) 2026-01-08 16:41:12 +01:00
Alex Rudenko 657b996733 build: namespace devtools exports (#662) 2025-12-11 13:12:01 +01:00
Alex Rudenko 94b899c205 build: bundle devtools frontend (#656) 2025-12-11 11:51:04 +01:00
dependabot[bot] 4e69ed4bca chore(deps-dev): bump the bundled group with 2 updates (#641)
Bumps the bundled group with 2 updates:
[@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)
and [puppeteer](https://github.com/puppeteer/puppeteer).

Updates `@modelcontextprotocol/sdk` from 1.21.1 to 1.24.1
<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.24.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(streamableHttp): fix infinite retries when maxRetries is set to
0 by <a href="https://github.com/mrorigo"><code>@​mrorigo</code></a> in
<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1216">modelcontextprotocol/typescript-sdk#1216</a></li>
<li>chore: update protocol version to 2025-11-25 by <a
href="https://github.com/dsp-ant"><code>@​dsp-ant</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1218">modelcontextprotocol/typescript-sdk#1218</a></li>
<li>chore: bump version for release by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1219">modelcontextprotocol/typescript-sdk#1219</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mrorigo"><code>@​mrorigo</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1216">modelcontextprotocol/typescript-sdk#1216</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.0...1.24.1">https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.0...1.24.1</a></p>
<h2>1.24.0</h2>
<h2>Summary</h2>
<p>This release brings us up to speed with the latest MCP spec
<code>2025-11-25</code>. Take a look at the <a
href="https://modelcontextprotocol.io/specification/2025-11-25">latest
spec</a> as well as the release <a
href="https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/">blog
post.</a></p>
<h2>What's Changed</h2>
<ul>
<li>fix: update spec links from latest to draft by <a
href="https://github.com/domdomegg"><code>@​domdomegg</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1171">modelcontextprotocol/typescript-sdk#1171</a></li>
<li>Make sure to consume HTTP error response bodies by <a
href="https://github.com/GreenStage"><code>@​GreenStage</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1173">modelcontextprotocol/typescript-sdk#1173</a></li>
<li>docs: add GET request handling for streamableHttp stateless mode by
<a href="https://github.com/saharis9988"><code>@​saharis9988</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1161">modelcontextprotocol/typescript-sdk#1161</a></li>
<li>SEP-1686: Tasks by <a
href="https://github.com/LucaButBoring"><code>@​LucaButBoring</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1041">modelcontextprotocol/typescript-sdk#1041</a></li>
<li>Fix JSON parse error on SSE events with empty data by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1184">modelcontextprotocol/typescript-sdk#1184</a></li>
<li>Fix StreamableHTTPClientTransport instantiation by <a
href="https://github.com/yuwzho"><code>@​yuwzho</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/944">modelcontextprotocol/typescript-sdk#944</a></li>
<li>feat: eslint rule to prefer node protocols by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1187">modelcontextprotocol/typescript-sdk#1187</a></li>
<li>fix: call tasks/result to deliver side-channel messages by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1185">modelcontextprotocol/typescript-sdk#1185</a></li>
<li>Add invalid_target oauth error (rfc 8707) by <a
href="https://github.com/GreenStage"><code>@​GreenStage</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1183">modelcontextprotocol/typescript-sdk#1183</a></li>
<li>fix(client): use StreamableHTTPError instead of plain Error in
send() by <a
href="https://github.com/yamadashy"><code>@​yamadashy</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1178">modelcontextprotocol/typescript-sdk#1178</a></li>
<li>coerce 'expires_in' to be a number by <a
href="https://github.com/adam-kuhn"><code>@​adam-kuhn</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1111">modelcontextprotocol/typescript-sdk#1111</a></li>
<li>Allow HTTP issuer URLs when MCP_DEV_MODE is enabled by <a
href="https://github.com/jerome3o-anthropic"><code>@​jerome3o-anthropic</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1189">modelcontextprotocol/typescript-sdk#1189</a></li>
<li>fix: update registerTool signature for proper typed ToolCallback by
<a href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in
<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1188">modelcontextprotocol/typescript-sdk#1188</a></li>
<li>SEP-1046: Client credentials flow for M2M without user interaction
by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1157">modelcontextprotocol/typescript-sdk#1157</a></li>
<li>adds the transitive <code>@​types/express-serve-static-core</code>
dependency as a direct devDependency by <a
href="https://github.com/mgyarmathy"><code>@​mgyarmathy</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1078">modelcontextprotocol/typescript-sdk#1078</a></li>
<li>Fix optional argument handling in prompts for Zod V4 by <a
href="https://github.com/filip-bartuska-ipf"><code>@​filip-bartuska-ipf</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1199">modelcontextprotocol/typescript-sdk#1199</a></li>
<li>fix hanging stdio servers by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1200">modelcontextprotocol/typescript-sdk#1200</a></li>
<li>README refactor by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1197">modelcontextprotocol/typescript-sdk#1197</a></li>
<li>[Docs] Fix typo by <a
href="https://github.com/koic"><code>@​koic</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1067">modelcontextprotocol/typescript-sdk#1067</a></li>
<li>feat: add closeSSEStream callback to RequestHandlerExtra by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1166">modelcontextprotocol/typescript-sdk#1166</a></li>
<li>fix: improve SSE reconnection behavior by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1191">modelcontextprotocol/typescript-sdk#1191</a></li>
<li>fix: normalize headers in sse transport by <a
href="https://github.com/marcrasi"><code>@​marcrasi</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/856">modelcontextprotocol/typescript-sdk#856</a></li>
<li>feat: add closeStandaloneSSEStream for GET stream polling by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1203">modelcontextprotocol/typescript-sdk#1203</a></li>
<li>fix: normalize null to undefined in ElicitResultSchema content field
by <a href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1204">modelcontextprotocol/typescript-sdk#1204</a></li>
<li>Modify Origin header validation in validateRequestHeaders
(streamableHttp.ts and sse.ts) to allow requests without an Origin, as
they are not relevant to server DNS rebinding protection. by <a
href="https://github.com/jacopoc"><code>@​jacopoc</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1205">modelcontextprotocol/typescript-sdk#1205</a></li>
<li>fix: allow zod 4 transformations by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1213">modelcontextprotocol/typescript-sdk#1213</a></li>
<li>feat: backwards-compatible createMessage overloads for SEP-1577 by
<a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1212">modelcontextprotocol/typescript-sdk#1212</a></li>
<li>chore: bump version for release by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1215">modelcontextprotocol/typescript-sdk#1215</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/GreenStage"><code>@​GreenStage</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1173">modelcontextprotocol/typescript-sdk#1173</a></li>
<li><a
href="https://github.com/saharis9988"><code>@​saharis9988</code></a>
made their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1161">modelcontextprotocol/typescript-sdk#1161</a></li>
<li><a href="https://github.com/yuwzho"><code>@​yuwzho</code></a> made
their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/944">modelcontextprotocol/typescript-sdk#944</a></li>
<li><a href="https://github.com/yamadashy"><code>@​yamadashy</code></a>
made their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1178">modelcontextprotocol/typescript-sdk#1178</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/6dd7cd4e16cf7ece373dff4138e9a065aa1c6ae7"><code>6dd7cd4</code></a>
chore: bump version for release (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1219">#1219</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/600859f10586e5d49910a04ed877901bfec171b3"><code>600859f</code></a>
chore: update protocol version to 2025-11-25 (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1218">#1218</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/bfad917cad8d84c40047ae352b7611b61377ef59"><code>bfad917</code></a>
fix(streamableHttp): fix infinite retries when maxRetries is set to 0
(<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1216">#1216</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/356b7e61c83af723a0b7ad67d8193de70a5f03ca"><code>356b7e6</code></a>
chore: bump version for release (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1215">#1215</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/09623e2aa5044f9e9da62c73d820a8250b9d97ed"><code>09623e2</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/cf51343cc12fc83db34d07b7d7269b73d413cc06"><code>cf51343</code></a>
feat: backwards-compatible createMessage overloads for SEP-1577 (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1212">#1212</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/82041262dc9cee1c27b787edeee828a0ed51e122"><code>8204126</code></a>
fix: allow zod 4 transformations (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1213">#1213</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/608360047dc6899f1cf4f0226eb62fe7b11b3898"><code>6083600</code></a>
Modify Origin header validation in validateRequestHeaders
(streamableHttp.ts ...</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/a6ee2cb3c234960b6c448eb9ffb4e442233e6c10"><code>a6ee2cb</code></a>
fix: normalize null to undefined in ElicitResultSchema content field (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1204">#1204</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/4b651b8fe17a567c8563b98c8fd677d9df688c0a"><code>4b651b8</code></a>
feat: add closeStandaloneSSEStream for GET stream polling (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1203">#1203</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.21.1...1.24.1">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~pcarleton">pcarleton</a>, a new releaser
for <code>@​modelcontextprotocol/sdk</code> since your current
version.</p>
</details>
<br />

Updates `puppeteer` from 24.31.0 to 24.32.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.32.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.31.0...puppeteer-core-v24.32.0">24.32.0</a>
(2025-12-03)</h2>
<h3>🎉 Features</h3>
<ul>
<li>add browser.screens, .addScreen and .removeScreen methods (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14445">#14445</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/98ae5e75fda3d01c067dac6926370dba05cd720c">98ae5e7</a>)</li>
<li>bluetooth emulation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14448">#14448</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e181c1befaebadfa74ec4e1b6742f26187bd3a2a">e181c1b</a>)</li>
<li>roll to Chrome 143.0.7499.40 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14476">#14476</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b0e15aff5143b1c08d0ad66555cfc5c9a369d5dd">b0e15af</a>)</li>
<li>support channel in puppeteer.connect (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14466">#14466</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/bc3a52185d43618756c491e9cc930ca9340f9776">bc3a521</a>)</li>
<li>support new page window positioning (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14446">#14446</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/20881f8a52b8a29abaf6e5353dc8642474348fa0">20881f8</a>)</li>
<li><strong>webdriver:</strong> bluetooth emulation via WebDriver BiDi
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14455">#14455</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e17263c815cb6638c035d0d91934ab8536f03b7b">e17263c</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>ignore non-page DevTools targets when handleDevToolsAsPage=true (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14472">#14472</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/11bf1d205707e02c874cb6e3c5ee6f12b1e27f70">11bf1d2</a>)</li>
<li>prevent accessibility nodes attributes with false from being ignored
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14475">#14475</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/086a8ab650c424192ec8edf489fce90bad318bb2">086a8ab</a>)</li>
<li>roll to Firefox 145.0.2 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14462">#14462</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/97ca8944d5fb5f169804f230d431a62cb600bbfc">97ca894</a>)</li>
<li><strong>webdriver:</strong> allow for scripts to throw platform
objects (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14456">#14456</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/7c0d3d977b2c3370516c42218977bd4338421b28">7c0d3d9</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.10.13 to 2.11.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer: v24.32.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.31.0...puppeteer-v24.32.0">24.32.0</a>
(2025-12-03)</h2>
<h3>🎉 Features</h3>
<ul>
<li>roll to Chrome 143.0.7499.40 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14476">#14476</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b0e15aff5143b1c08d0ad66555cfc5c9a369d5dd">b0e15af</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.10.13 to 2.11.0</li>
<li>puppeteer-core bumped from 24.31.0 to 24.32.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.31.0...puppeteer-v24.32.0">24.32.0</a>
(2025-12-03)</h2>
<h3>🎉 Features</h3>
<ul>
<li>add browser.screens, .addScreen and .removeScreen methods (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14445">#14445</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/98ae5e75fda3d01c067dac6926370dba05cd720c">98ae5e7</a>)</li>
<li>bluetooth emulation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14448">#14448</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e181c1befaebadfa74ec4e1b6742f26187bd3a2a">e181c1b</a>)</li>
<li>roll to Chrome 143.0.7499.40 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14476">#14476</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b0e15aff5143b1c08d0ad66555cfc5c9a369d5dd">b0e15af</a>)</li>
<li>support channel in puppeteer.connect (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14466">#14466</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/bc3a52185d43618756c491e9cc930ca9340f9776">bc3a521</a>)</li>
<li>support new page window positioning (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14446">#14446</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/20881f8a52b8a29abaf6e5353dc8642474348fa0">20881f8</a>)</li>
<li><strong>webdriver:</strong> bluetooth emulation via WebDriver BiDi
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14455">#14455</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e17263c815cb6638c035d0d91934ab8536f03b7b">e17263c</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li><code>@​puppeteer/browsers</code> bumped from 2.10.13 to 2.11.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>ignore non-page DevTools targets when handleDevToolsAsPage=true (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14472">#14472</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/11bf1d205707e02c874cb6e3c5ee6f12b1e27f70">11bf1d2</a>)</li>
<li>prevent accessibility nodes attributes with false from being ignored
(<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14475">#14475</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/086a8ab650c424192ec8edf489fce90bad318bb2">086a8ab</a>)</li>
<li>roll to Firefox 145.0.2 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14462">#14462</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/97ca8944d5fb5f169804f230d431a62cb600bbfc">97ca894</a>)</li>
<li><strong>webdriver:</strong> allow for scripts to throw platform
objects (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14456">#14456</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/7c0d3d977b2c3370516c42218977bd4338421b28">7c0d3d9</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/c324e1bb5b1a33e793324669d402fd2e32e28707"><code>c324e1b</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14454">#14454</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/b0e15aff5143b1c08d0ad66555cfc5c9a369d5dd"><code>b0e15af</code></a>
feat: roll to Chrome 143.0.7499.40 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14476">#14476</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/086a8ab650c424192ec8edf489fce90bad318bb2"><code>086a8ab</code></a>
fix: prevent accessibility nodes attributes with false from being
ignored (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/1">#1</a>...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/11bf1d205707e02c874cb6e3c5ee6f12b1e27f70"><code>11bf1d2</code></a>
fix: ignore non-page DevTools targets when handleDevToolsAsPage=true (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14472">#14472</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/bc3a52185d43618756c491e9cc930ca9340f9776"><code>bc3a521</code></a>
feat: support channel in puppeteer.connect (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14466">#14466</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/4913b9bdf966889bb7ffc48703fc9ab8e8271ff1"><code>4913b9b</code></a>
test: update canary expectations (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14467">#14467</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/45f82aff4343d0bb00871a084f734f87934b2f65"><code>45f82af</code></a>
test: fix more path related issues in tests (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14465">#14465</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/372b2806cee3893c6935afa98cc9b836b7c1cce1"><code>372b280</code></a>
fix: avoid hard-coded separators in chrome.ts (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14464">#14464</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/e17263c815cb6638c035d0d91934ab8536f03b7b"><code>e17263c</code></a>
feat(webdriver): bluetooth emulation via WebDriver BiDi (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14455">#14455</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/97ca8944d5fb5f169804f230d431a62cb600bbfc"><code>97ca894</code></a>
fix: roll to Firefox 145.0.2 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14462">#14462</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.31.0...puppeteer-v24.32.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2025-12-03 09:05:24 +00:00
Alex Rudenko 7114bb1bf3 chore: integrate issues and fix up checks (#628) 2025-11-28 09:16:32 +00:00
Simon Zünd 8e90a92780 chore: split withBrowser into withBrowser and withMcpContext (#620)
I split this PR off from my "create one DevTools universe per page" PR
in preparation. This allows tests to re-use browser instances without
creating an `McpContext`.

Drive-by: Move mocked browser/page into utils.ts.
2025-11-28 07:52:52 +01:00
Natasha Gorshunova 63b826cfe0 chore: report issues in details in get_console_mesasge (#611)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
2025-11-27 08:08:47 +01:00
zyzyzyryxy 94752ffade fix: prevent dropping license notices on some files when publishing (#604)
This PR prevents license notices being dropped when creating package for
publication.

This can happen when first import in the file is type-only import that
gets removed during build. When there is no empty line between the
license block comment and such import, the comment is treated as related
to the import and gets removed alongside it.
Adding an empty line between copyright notice and the import fixes the
issue.

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2025-11-24 12:38:30 +00:00
Alex Rudenko c3784d1990 refactor: clear issue aggregator on page navigation (#565)
- fixes a memory leak introduced previously (I could not pinpoint it but
McpContext was retained for subsequent tests).
- adds a test that issue continue being aggregated on reload.
- moves page-specific logic to a class.
2025-11-17 15:52:37 +01:00
dependabot[bot] d2c1f3e62d chore(deps-dev): bump puppeteer from 24.29.1 to 24.30.0 in the bundled group (#550)
Bumps the bundled group with 1 update:
[puppeteer](https://github.com/puppeteer/puppeteer).

Updates `puppeteer` from 24.29.1 to 24.30.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.30.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.29.1...puppeteer-core-v24.30.0">24.30.0</a>
(2025-11-12)</h2>
<h3>🎉 Features</h3>
<ul>
<li>roll to Firefox 145.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14418">#14418</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/1d9881c323dad546dd2d4ceb24f0f83ecda5c8a3">1d9881c</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li><strong>cdp:</strong> update request with ExtraInfo if available (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14410">#14410</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b923eecf7f2ceac686fc464e28ff65676dff983f">b923eec</a>)</li>
<li>roll to Chrome 142.0.7444.162 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14415">#14415</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/be07e5d2bacce69db96f43f268cf9ab50d6401bc">be07e5d</a>)</li>
</ul>
<h2>puppeteer: v24.30.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.29.1...puppeteer-v24.30.0">24.30.0</a>
(2025-11-12)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.29.1 to 24.30.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.29.1...puppeteer-v24.30.0">24.30.0</a>
(2025-11-12)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.29.1 to 24.30.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>roll to Firefox 145.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14418">#14418</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/1d9881c323dad546dd2d4ceb24f0f83ecda5c8a3">1d9881c</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li><strong>cdp:</strong> update request with ExtraInfo if available (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14410">#14410</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/b923eecf7f2ceac686fc464e28ff65676dff983f">b923eec</a>)</li>
<li>roll to Chrome 142.0.7444.162 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14415">#14415</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/be07e5d2bacce69db96f43f268cf9ab50d6401bc">be07e5d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/1afcd1605bd49775cfc8c16ddfc76aae6dacbd8b"><code>1afcd16</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14413">#14413</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/1d9881c323dad546dd2d4ceb24f0f83ecda5c8a3"><code>1d9881c</code></a>
feat: roll to Firefox 145.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14418">#14418</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/be07e5d2bacce69db96f43f268cf9ab50d6401bc"><code>be07e5d</code></a>
fix: roll to Chrome 142.0.7444.162 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14415">#14415</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/e2c071c6e0758552c32c7cf50a00f018daee16ab"><code>e2c071c</code></a>
chore: disable flaky tests (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14414">#14414</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/66bf224fcd66319636afc6566dfe69bec8f53efc"><code>66bf224</code></a>
chore(deps-dev): bump the dev-dependencies group with 8 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14406">#14406</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/b923eecf7f2ceac686fc464e28ff65676dff983f"><code>b923eec</code></a>
fix(cdp): update request with ExtraInfo if available (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14410">#14410</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/3131b24b2519e253e0893c0fecfbcfa6c7680d91"><code>3131b24</code></a>
chore: remove workaround for disabling Firefox Backup (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14411">#14411</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/53d0a66a0761d51bb824000a009803f9176136c7"><code>53d0a66</code></a>
chore(deps): bump docker/metadata-action from 5.8.0 to 5.9.0 in the all
group...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/804d0ce34f5c0807aaa7ec8080a0d61082d72d3f"><code>804d0ce</code></a>
chore(deps): bump node from <code>22ab967</code> to <code>dcf0610</code>
in /docker in the all grou...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/bec92441dd8401e70150282e1065f283a5e11a14"><code>bec9244</code></a>
chore: bump chromium-bidi to 11.0.0 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14404">#14404</a>)</li>
<li>See full diff in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.29.1...puppeteer-v24.30.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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>
Co-authored-by: Nikolay Vitkov <nvitkov@chromium.org>
2025-11-13 14:08:45 +00:00
dependabot[bot] e8394ab113 chore(deps-dev): bump the bundled group with 2 updates (#481)
Bumps the bundled group with 2 updates:
[@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)
and [puppeteer](https://github.com/puppeteer/puppeteer).

Updates `@modelcontextprotocol/sdk` from 1.20.1 to 1.20.2
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/7098bff073d78cfaee40869897d84a5929c29570"><code>7098bff</code></a>
chore: bump version for weekly release (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1042">#1042</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/c54309598505007c4467f78fa7dfb3e7c763679c"><code>c543095</code></a>
fix: Zod to JSONSchema pipe strategies (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/962">#962</a>)</li>
<li>See full diff in <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.20.1...1.20.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `puppeteer` from 24.26.0 to 24.26.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.26.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.26.0...puppeteer-core-v24.26.1">24.26.1</a>
(2025-10-22)</h2>
<h3>🛠️ Fixes</h3>
<ul>
<li><strong>a11y:</strong> expose the url property for links (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14357">#14357</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/93d098b060771dbd1e6875f4664273604022f3bd">93d098b</a>)</li>
<li>roll to Chrome 141.0.7390.122 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14360">#14360</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/f2fef816f234bd30a13bb86dfc654f29f5cb2f6b">f2fef81</a>)</li>
</ul>
<h2>puppeteer: v24.26.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.0...puppeteer-v24.26.1">24.26.1</a>
(2025-10-22)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.26.0 to 24.26.1</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.0...puppeteer-v24.26.1">24.26.1</a>
(2025-10-22)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.26.0 to 24.26.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li><strong>a11y:</strong> expose the url property for links (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14357">#14357</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/93d098b060771dbd1e6875f4664273604022f3bd">93d098b</a>)</li>
<li>roll to Chrome 141.0.7390.122 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14360">#14360</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/f2fef816f234bd30a13bb86dfc654f29f5cb2f6b">f2fef81</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/6e2348c27e3493e53b609122888e0950d342e4d2"><code>6e2348c</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14359">#14359</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/21f309239909548b390b7e851d481ff832899e35"><code>21f3092</code></a>
test: fix move to ESM (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14362">#14362</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/5fe1333769dd7bf28b239db308d67f3402633da2"><code>5fe1333</code></a>
test: move to ESM (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14358">#14358</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/f2fef816f234bd30a13bb86dfc654f29f5cb2f6b"><code>f2fef81</code></a>
fix: roll to Chrome 141.0.7390.122 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14360">#14360</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/93d098b060771dbd1e6875f4664273604022f3bd"><code>93d098b</code></a>
fix(a11y): expose the url property for links (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14357">#14357</a>)</li>
<li>See full diff in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.0...puppeteer-v24.26.1">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>
Co-authored-by: Nikolay Vitkov <nvitkov@chromium.org>
2025-10-27 14:08:01 +00:00
Nikolay Vitkov 43897afd1d test: switch to pipes (#482) 2025-10-27 14:04:35 +01:00
Nikolay Vitkov 73be1b4424 build: extract bundled in a separate config (#474) 2025-10-27 12:30:33 +01:00
Alex Rudenko 1560ff23ca refactor: detect DevTools page for each page (#467) 2025-10-27 09:53:34 +00:00
Alex Rudenko a41e440799 refactor: connect to DevTools targets by default (#466)
in preparation for integration with DevTools, this PR moves the pages
filtering to the MCP context.

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-24 14:30:31 +02:00
Nikolay Vitkov 165cf9c70b feat: expose previous navigations to the MCP (#419)
We should consider changing the order of element shown in the from the
collectors to be show newest first rather then the current oldest first
approach.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/88
2025-10-21 12:25:08 +00:00
zyzyzyryxy b443033000 refactor: bundle puppeteer-core (#417)
Continue speeding up boot time.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2025-10-21 09:31:06 +00:00
Nikolay Vitkov b8738221d8 refactor: store the last 3 navigations in PageCollector (#411)
Refactors the code to support
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/88

We keep each navigation in a separate array, that we can then expose to
the user.
2025-10-17 16:20:38 +02:00
Nikolay Vitkov f4d7b49bb1 feat: support stable id for network requests (#375)
This is part 1, we just expose the uid here, in a follow up PR we will
be used for finding the request.
2025-10-14 12:45:16 +02:00
Nicholas Roscino dd3c14336e feat: add request and response body (#267)
This PR adds the request and response bodies into the context if they
are available and in a readable format.

---------

Co-authored-by: Nicholas Roscino <nroscino@chromium.org>
Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-08 11:22:10 +02: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
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
Nikolay Vitkov 15277541d8 chore: add additional EsLint rule (#147) 2025-09-25 17:20:01 +02:00
Alex Rudenko 31a0bdce26 feat: initial version 2025-09-11 12:46:05 +02:00