Bumps the driver to 1.59.1 and ports the public-API changes that landed
upstream during the 1.58 → 1.59 cycle.
New public APIs:
- Request.existing_response (property)
- Response.http_version()
- ConsoleMessage.timestamp (property)
- BrowserContext.is_closed()
- BrowserContext.set_storage_state(state | path)
- BrowserContext.debugger (property) + new Debugger class
(request_pause, resume, next, run_to, paused_details + pausedstatechanged event)
- Page.aria_snapshot(timeout=, depth=, mode=)
- Page.console_messages(filter=) / Page.page_errors(filter=)
- Page.clear_console_messages() / Page.clear_page_errors()
- Page.pick_locator() / Page.cancel_pick_locator()
- Page.screencast (property) + new Screencast class
(start/stop with onFrame callback, show_actions/hide_actions,
show_overlay, show_chapter, show_overlays/hide_overlays)
- Locator.normalize()
- Locator.aria_snapshot(depth=, mode=)
- Browser.bind(title, ...) / Browser.unbind()
- BrowserType.launch(artifacts_dir=) / launch_persistent_context(artifacts_dir=)
- Tracing.start(live=)
- CDPSession emits 'close' and forwards 'event' for raw CDP events
- Dialog.dismiss() swallows TargetClosedError
Renames matching upstream:
- BrowserType.connect(ws_endpoint=) -> connect(endpoint=)
(positional; the wire field also renamed to "endpoint")
Generator/codegen:
- documentation_provider: emit Promise-without-templates as Any, void as None
- documentation_provider: emit @typing.overload + generic fallback for
single-event classes (CDPSession needed this once it gained 'close')
- New TypedDicts in _api_structures.py:
DebuggerLocation, DebuggerPausedDetails, ScreencastFrame, BrowserBindResult
- Register Debugger in _object_factory; register Debugger and Screencast
in scripts/generate_api.py
Tests added (async + sync mirrors where applicable) for every PORT.
expected_api_mismatch.txt is now down to legitimate divergences only.
Tooling:
- New CLAUDE.md with project orientation
- Expanded .claude/skills/playwright-roll/SKILL.md with the operational
playbook learned over this roll (langs-verification, audit loop, common
doclint quirks, channel-owner wiring checklist).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bumps the driver to 1.59.1 and ports the public-API changes that landed upstream during the 1.58 → 1.59 cycle.
New public APIs:
Renames matching upstream:
Generator/codegen:
Tests added (async + sync mirrors where applicable) for every PORT. expected_api_mismatch.txt is now down to legitimate divergences only.
Tooling: