# What changed in playwright

> 97 changes in playwright 1 from its official release notes, upgrade guides and advisories: 17 breaking, 4 deprecations, 39 new APIs and options. Each one cited. Sources checked 2026-10-17. HTML: https://unstale.sh/npm/playwright/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## playwright 1

### Breaking changes

- Elements inside invisible iframes are now considered hidden by actions and visibility checks. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)
- JSX in test files now follows tsconfig JSX settings and defaults to the automatic React runtime. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)
- Ubuntu 20.04 is no longer supported. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- Debian 11 is no longer a supported operating system for this release. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- Removes the long-deprecated videoSize context option; use recordVideo instead. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Removes the long-deprecated videosPath context option; use recordVideo instead. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Removes the long-deprecated handle option. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- The test runner now errors when configuration attempts to override a non-option fixture. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Removes the long-deprecated handle option. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- The test runner rejects workers values of zero or negative numbers. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- The JUnit reporter now distinguishes error types, causing some previous failure elements to be reported as error elements. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- WebKit no longer supports macOS 14. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- The experimental Svelte component testing package was removed. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Starts screencast recording and can write the recording to a specified path. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- The :light selector engine suffix has been removed; standard CSS selectors should be used instead. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)
- WebKit no longer supports macOS 13; developers should upgrade macOS or remain on an older Playwright version. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)
- The deprecated Page#accessibility API was removed; use other libraries such as Axe for page accessibility testing. (1.57.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.57.0)

### Deprecations

- The fontSize option is deprecated and replaced by style. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)
- The experimental React component testing package will no longer be updated; users should migrate to the stories model. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- The experimental React 17 component testing package will no longer be updated; users should migrate to the stories model. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- The experimental Vue component testing package will no longer be updated; users should migrate to the stories model. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)

### New APIs and options

- Schedules tests in random order, with an optional seed to reproduce the order. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)
- Appends a reporter to configured reporters instead of replacing them. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- Tests and test groups can declare named locks to prevent concurrent execution across files, workers and projects. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- Codegen can record against pages protected by HTTP authentication. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- Keeps browsers belonging to other Playwright installations during browser installation. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- Reporter configuration can suppress tags automatically appended to test titles. (1.63.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.63.0)
- Actions can opt out of Playwright's automatic scroll-into-view behavior with the scroll option. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- The HTML report's Merge files grouping can now be enabled from reporter configuration. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- Tear down a mounted component story within a test. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- Re-render a mounted component story with updated props during a test. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- Adds support for soft polling assertions. (1.61.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0)
- Adds a command-line shorthand for grep-invert. (1.61.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0)
- Adds frame-attached lifecycle events directly on BrowserContext. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Adds frame-detached lifecycle events directly on BrowserContext. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Adds frame-navigation lifecycle events directly on BrowserContext. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Adds page-close lifecycle events directly on BrowserContext. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Adds page-load lifecycle events directly on BrowserContext. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Adds a pretty-print toggle for JSON and form request and response bodies in network details. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Allows binding over WebSocket using a specified host. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Allows binding over WebSocket using a specified port. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Attaches and debugs tests over playwright-cli for agentic test-fixing workflows. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Attaches playwright-cli to a browser session created by browser.bind. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Opens a Dashboard listing bound browsers, their statuses, and interaction controls. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Enables dashboard visibility for all @playwright/test browsers. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Disables navigator.platform emulation to work around Ctrl or Meta dispatching errors. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Controls the duration of each action annotation in milliseconds. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Controls the font size of action annotations in pixels. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Enables visual annotations for interacted elements and action titles, with configurable placement. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Adds chapter titles and descriptions to screencast recordings. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Adds custom HTML overlays on top of the page during recording. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Streams JPEG-encoded frames for custom processing such as thumbnails, live previews, and AI vision. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Configures the dimensions of real-time screencast frames. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Stops an active screencast recording. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Records a trace for each test run and retains all traces when an attempt fails. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- Enables action annotations in test fixtures through the video configuration. (1.59.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0)
- UI Mode adds a system theme option that follows the operating system's dark or light mode preference. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)
- This environment variable opts out of Service Worker console message dispatch. (1.57.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.57.0)
- This environment variable opts out of Service Worker network request reporting and routing. (1.57.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.57.0)
- The HTML reporter adds a Speedboard tab that sorts executed tests by slowness to help identify slow test-suite areas. (1.57.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.57.0)

### Performance

- Videos use VP9 instead of VP8, reducing CPU usage and file sizes at the same or better quality. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)

### Behavior and default changes

- The cursor remains at the last action point, survives navigations, and follows a natural eased path. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)
- Matchers with the same name as default matchers now override the default implementation in the same expect instance. (1.61.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.1)
- HAR and trace recordings now include WebSocket requests. (1.61.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0)
- Accepts report ZIP files directly without requiring manual extraction. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- JSON responses in the relevant UI are now automatically formatted for readability. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)
- The Network details panel has been reorganized to improve usability. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)
- Locator.toString() now uses the locator description when one is available. (1.57.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.57.0)
- Named capture groups in the webServer wait expression are provided through environment variables. (1.57.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.57.0)
- Chromium now allows the local-network-access permission. (1.56.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.56.1)

### Tooling

- Code editors in UI Mode now support Cmd/Ctrl+F search. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)
- Playwright adds a token-efficient, SKILL-focused CLI mode designed to be more coding-agent-friendly. (1.58.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.0)

### Fixes and other changes

- Intermittently losing a packaged app's first window since 1.64.0 is fixed. (1.64.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.1)
- Chromium 155+ no longer aborts a preflighted cross-origin redirect when any route is registered. (1.64.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.1)
- The missing mode now passes runs that only create missing snapshots; the unspecified mode is called default. (1.64.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.64.0)
- Button names are preserved when text is nested inside spans with aria-hidden SVG. (1.62.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.1)
- Image-type actionable elements are represented in the accessibility snapshot. (1.62.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.1)
- Branded primitive arguments such as string & { brand } type-check correctly again. (1.62.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.1)
- Bare-specifier tsconfig extends entries resolve through the node_modules walk-up like tsc. (1.62.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.1)
- Directory-form tsconfig project references resolve correctly. (1.62.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.1)
- The bundled Chromium browser version changed in this release. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- The bundled WebKit browser version changed in this release. (1.62.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0)
- Extensionless .ts subpath imports now resolve across pnpm workspace symlinks. (1.61.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.1)
- The sync loader no longer throws when context conditions are not an array on Node 22.15. (1.61.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.1)
- WebSocket message times are no longer downscaled by 1000 in Trace viewer. (1.61.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.1)
- Updates the Chromium version bundled and tested with this release. (1.61.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0)
- Playwright now supports Ubuntu 26.04. (1.61.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0)
- The bundled Chromium version changes to 148.0.7778.96. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- The bundled Mozilla Firefox browser version changed in this release. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.62.0), [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0), [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- Updates the WebKit version bundled and tested with this release. (1.60.0) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.61.0), [release notes](https://github.com/microsoft/playwright/releases/tag/v1.60.0)
- On Windows, console windows are no longer hidden when spawning browser processes, restoring codegen, --ui, and show commands. (1.59.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.1)
- Playwright no longer forces swiftshader when running Chromium on macOS. (1.58.2) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.2)
- Paths supplied via stdin now work in the trace viewer. (1.58.2) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.2)
- The bundled Chromium browser version is 145.0.7632.6. (1.58.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.1)
- Fixed local network permissions for Microsoft Edge. (1.58.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.1)
- The bundled Mozilla Firefox browser version is 146.0.1. (1.58.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.1)
- The bundled WebKit browser version is 26.0. (1.58.1) — [release notes](https://github.com/microsoft/playwright/releases/tag/v1.58.1)
