Skip to content

chore(deps): update dependency microsoft.playwright to 1.59.0#5473

Merged
thomhurst merged 1 commit intomainfrom
renovate/microsoft.playwright-1.x
Apr 9, 2026
Merged

chore(deps): update dependency microsoft.playwright to 1.59.0#5473
thomhurst merged 1 commit intomainfrom
renovate/microsoft.playwright-1.x

Conversation

@thomhurst
Copy link
Copy Markdown
Owner

This PR contains the following updates:

Package Type Update Change
Microsoft.Playwright nuget minor 1.58.01.59.0

Release Notes

microsoft/playwright-dotnet (Microsoft.Playwright)

v1.59.0

🎬 Screencast

New Page.Screencast API provides a unified interface for capturing page content with:

  • Screencast recordings
  • Action annotations
  • Visual overlays
  • Real-time frame capture
  • Agentic video receipts
Demo

Screencast recording — record video with precise start/stop control, as an alternative to the recordVideoDir option:

await page.Screencast.StartAsync(new() { Path = "video.webm" });
// ... perform actions ...
await page.Screencast.StopAsync();

Action annotations — enable built-in visual annotations that highlight interacted elements and display action titles during recording:

await page.Screencast.ShowActionsAsync(new() { Position = "top-right" });

ShowActionsAsync accepts Position ("top-left", "top", "top-right", "bottom-left", "bottom", "bottom-right"), Duration (ms per annotation), and FontSize (px). Returns a disposable to stop showing actions.

Visual overlays — add chapter titles and custom HTML overlays on top of the page for richer narration:

await page.Screencast.ShowChapterAsync("Adding TODOs", new() {
    Description = "Type and press enter for each TODO",
    Duration = 1000,
});

await page.Screencast.ShowOverlayAsync("<div style=\"color: red\">Recording</div>");

Real-time frame capture — stream JPEG-encoded frames for custom processing like thumbnails, live previews, AI vision, and more:

await page.Screencast.StartAsync(new() {
    OnFrame = frame => SendToVisionModel(frame.Data),
});

Agentic video receipts — coding agents can produce video evidence of their work. After completing a task, an agent can record a walkthrough video with rich annotations for human review:

await page.Screencast.StartAsync(new() { Path = "receipt.webm" });
await page.Screencast.ShowActionsAsync(new() { Position = "top-right" });

await page.Screencast.ShowChapterAsync("Verifying checkout flow", new() {
    Description = "Added coupon code support per ticket #&#8203;1234",
});

// Agent performs the verification steps...
await page.Locator("#coupon").FillAsync("SAVE20");
await page.Locator("#apply-coupon").ClickAsync();
await Expect(page.Locator(".discount")).ToContainTextAsync("20%");

await page.Screencast.ShowChapterAsync("Done", new() {
    Description = "Coupon applied, discount reflected in total",
});

await page.Screencast.StopAsync();

The resulting video serves as a receipt: chapter titles provide context, action annotations highlight each interaction, and the visual walkthrough is faster to review than text logs.

🔍 Snapshots and Locators

New APIs

Screencast
Storage, Console and Errors
Miscellaneous

🔗 Interoperability

New Browser.BindAsync() API makes a launched browser available for playwright-cli, @playwright/mcp, and other clients to connect to.

Bind a browser — start a browser and bind it so others can connect:

var serverInfo = await browser.BindAsync("my-session", new() {
    WorkspaceDir = "/my/project",
});

Connect from playwright-cli — connect to the running browser from your favorite coding agent.

playwright-cli attach my-session
playwright-cli -s my-session snapshot

Connect from @​playwright/mcp — or point your MCP server to the running browser.

@&#8203;playwright/mcp --endpoint=my-session

Connect from a Playwright client — use API to connect to the browser. Multiple clients at a time are supported!

var browser = await chromium.ConnectAsync(serverInfo.Endpoint);

Pass Host and Port options to bind over WebSocket instead of a named pipe:

var serverInfo = await browser.BindAsync("my-session", new() {
    Host = "localhost",
    Port = 0,
});
// serverInfo.Endpoint is a ws:// URL

Call Browser.UnbindAsync() to stop accepting new connections.

Run npx playwright-cli show to open the Dashboard that lists all the bound browsers, their statuses, and allows interacting with them:

  • See what your agent is doing on the background browsers
  • Click into the sessions for manual interventions
  • Open DevTools to inspect pages from the background browsers.
Demo

Breaking Changes ⚠️

  • Removed macOS 14 support for WebKit. We recommend upgrading your macOS version, or keeping an older Playwright version.

Browser Versions

  • Chromium 147.0.7727.15
  • Mozilla Firefox 148.0.2
  • WebKit 26.4

This version was also tested against the following stable channels:

  • Google Chrome 146
  • Microsoft Edge 146

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@thomhurst thomhurst added dependencies Pull requests that update a dependency file MINOR renovate-bot labels Apr 9, 2026
@thomhurst thomhurst enabled auto-merge (squash) April 9, 2026 17:32
Copy link
Copy Markdown
Contributor

@claude claude bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This is a routine Renovate dependency bump for Microsoft.Playwright from 1.58.01.59.0.

Change

Single line in Directory.Packages.props:

-    <PackageVersion Include="Microsoft.Playwright" Version="1.58.0" />
+    <PackageVersion Include="Microsoft.Playwright" Version="1.59.0" />

Assessment: ✅ Approved

This is a clean, minimal dependency update. The change is exactly what it should be — a version bump in the centralized package management file, with no other modifications.

Notable in v1.59.0: The release introduces a new Page.Screencast API for video capture, action annotations, and real-time frame capture. This is additive-only and won't impact existing tests.

No concerns: Playwright is used as a test dependency in TUnit's integration test suite. Since auto-merge is enabled with squash strategy, this is appropriate for a minor version bump that introduces only new features without breaking changes.

No action required — good to merge.

@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

TIP This summary will be updated as you push new changes. Give us feedback

@thomhurst thomhurst merged commit f7efa40 into main Apr 9, 2026
15 checks passed
@thomhurst thomhurst deleted the renovate/microsoft.playwright-1.x branch April 9, 2026 18:04
intellitect-bot pushed a commit to IntelliTect/EssentialCSharp.Web that referenced this pull request Apr 10, 2026
Updated [TUnit](https://github.com/thomhurst/TUnit) from 1.30.0 to
1.30.8.

<details>
<summary>Release notes</summary>

_Sourced from [TUnit's
releases](https://github.com/thomhurst/TUnit/releases)._

## 1.30.8

<!-- Release notes generated using configuration in .github/release.yml
at v1.30.8 -->

## What's Changed
### Other Changes
* feat(mocks): migrate to T.Mock() extension syntax by @​thomhurst in
thomhurst/TUnit#5472
* feat: split TUnit.AspNetCore into Core + meta package by @​thomhurst
in thomhurst/TUnit#5474
* feat: add async Member() overloads for Task-returning member selectors
by @​thomhurst in thomhurst/TUnit#5475
### Dependencies
* chore(deps): update aspire to 13.2.2 by @​thomhurst in
thomhurst/TUnit#5464
* chore(deps): update dependency polyfill to 10.1.1 by @​thomhurst in
thomhurst/TUnit#5468
* chore(deps): update dependency polyfill to 10.1.1 by @​thomhurst in
thomhurst/TUnit#5467
* chore(deps): update tunit to 1.30.0 by @​thomhurst in
thomhurst/TUnit#5469
* chore(deps): update dependency microsoft.playwright to 1.59.0 by
@​thomhurst in thomhurst/TUnit#5473


**Full Changelog**:
thomhurst/TUnit@v1.30.0...v1.30.8

Commits viewable in [compare
view](thomhurst/TUnit@v1.30.0...v1.30.8).
</details>

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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file MINOR renovate-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants