npm / playwright
playwright
What changed in playwright 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.
17 breaking4 deprecations39 new APIs and options1 performance9 behavior and defaults2 tooling25 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initplaywright 197 changes
Breaking changes 17
Elements inside invisible iframes are now considered hidden by actions and visibility checks.
JSX in test files now follows tsconfig JSX settings and defaults to the automatic React runtime.
Ubuntu 20.04 is no longer supported.
Debian 11 is no longer a supported operating system for this release.
Removes the long-deprecated videoSize context option; use recordVideo instead.
Removes the long-deprecated videosPath context option; use recordVideo instead.
Removes the long-deprecated handle option.
The test runner now errors when configuration attempts to override a non-option fixture.
Removes the long-deprecated handle option.
The test runner rejects workers values of zero or negative numbers.
The JUnit reporter now distinguishes error types, causing some previous failure elements to be reported as error elements.
WebKit no longer supports macOS 14.
The experimental Svelte component testing package was removed.
Starts screencast recording and can write the recording to a specified path.
The :light selector engine suffix has been removed; standard CSS selectors should be used instead.
WebKit no longer supports macOS 13; developers should upgrade macOS or remain on an older Playwright version.
The deprecated Page#accessibility API was removed; use other libraries such as Axe for page accessibility testing.
Deprecations 4
The fontSize option is deprecated and replaced by style.
The experimental React component testing package will no longer be updated; users should migrate to the stories model.
The experimental React 17 component testing package will no longer be updated; users should migrate to the stories model.
The experimental Vue component testing package will no longer be updated; users should migrate to the stories model.
New APIs and options 39
Schedules tests in random order, with an optional seed to reproduce the order.
Appends a reporter to configured reporters instead of replacing them.
Tests and test groups can declare named locks to prevent concurrent execution across files, workers and projects.
Codegen can record against pages protected by HTTP authentication.
Keeps browsers belonging to other Playwright installations during browser installation.
Reporter configuration can suppress tags automatically appended to test titles.
Actions can opt out of Playwright's automatic scroll-into-view behavior with the scroll option.
The HTML report's Merge files grouping can now be enabled from reporter configuration.
Tear down a mounted component story within a test.
Re-render a mounted component story with updated props during a test.
Adds support for soft polling assertions.
Adds a command-line shorthand for grep-invert.
Adds frame-attached lifecycle events directly on BrowserContext.
Adds frame-detached lifecycle events directly on BrowserContext.
Adds frame-navigation lifecycle events directly on BrowserContext.
Adds page-close lifecycle events directly on BrowserContext.
Adds page-load lifecycle events directly on BrowserContext.
Adds a pretty-print toggle for JSON and form request and response bodies in network details.
Allows binding over WebSocket using a specified host.
Allows binding over WebSocket using a specified port.
Attaches and debugs tests over playwright-cli for agentic test-fixing workflows.
Attaches playwright-cli to a browser session created by browser.bind.
Opens a Dashboard listing bound browsers, their statuses, and interaction controls.
Enables dashboard visibility for all @playwright/test browsers.
Disables navigator.platform emulation to work around Ctrl or Meta dispatching errors.
Controls the duration of each action annotation in milliseconds.
Controls the font size of action annotations in pixels.
Enables visual annotations for interacted elements and action titles, with configurable placement.
Adds chapter titles and descriptions to screencast recordings.
Adds custom HTML overlays on top of the page during recording.
Streams JPEG-encoded frames for custom processing such as thumbnails, live previews, and AI vision.
Configures the dimensions of real-time screencast frames.
Stops an active screencast recording.
Records a trace for each test run and retains all traces when an attempt fails.
Enables action annotations in test fixtures through the video configuration.
UI Mode adds a system theme option that follows the operating system's dark or light mode preference.
This environment variable opts out of Service Worker console message dispatch.
This environment variable opts out of Service Worker network request reporting and routing.
The HTML reporter adds a Speedboard tab that sorts executed tests by slowness to help identify slow test-suite areas.
Performance 1
Videos use VP9 instead of VP8, reducing CPU usage and file sizes at the same or better quality.
Behavior and default changes 9
The cursor remains at the last action point, survives navigations, and follows a natural eased path.
Matchers with the same name as default matchers now override the default implementation in the same expect instance.
HAR and trace recordings now include WebSocket requests.
Accepts report ZIP files directly without requiring manual extraction.
JSON responses in the relevant UI are now automatically formatted for readability.
The Network details panel has been reorganized to improve usability.
Locator.toString() now uses the locator description when one is available.
Named capture groups in the webServer wait expression are provided through environment variables.
Chromium now allows the local-network-access permission.
Tooling 2
Code editors in UI Mode now support Cmd/Ctrl+F search.
Playwright adds a token-efficient, SKILL-focused CLI mode designed to be more coding-agent-friendly.
Fixes and other changes 25
Intermittently losing a packaged app's first window since 1.64.0 is fixed.
Chromium 155+ no longer aborts a preflighted cross-origin redirect when any route is registered.
The missing mode now passes runs that only create missing snapshots; the unspecified mode is called default.
Button names are preserved when text is nested inside spans with aria-hidden SVG.
Image-type actionable elements are represented in the accessibility snapshot.
Branded primitive arguments such as string & { brand } type-check correctly again.
Bare-specifier tsconfig extends entries resolve through the node_modules walk-up like tsc.
Directory-form tsconfig project references resolve correctly.
The bundled Chromium browser version changed in this release.
The bundled WebKit browser version changed in this release.
Extensionless .ts subpath imports now resolve across pnpm workspace symlinks.
The sync loader no longer throws when context conditions are not an array on Node 22.15.
WebSocket message times are no longer downscaled by 1000 in Trace viewer.
Updates the Chromium version bundled and tested with this release.
Playwright now supports Ubuntu 26.04.
The bundled Chromium version changes to 148.0.7778.96.
The bundled Mozilla Firefox browser version changed in this release.
Updates the WebKit version bundled and tested with this release.
On Windows, console windows are no longer hidden when spawning browser processes, restoring codegen, --ui, and show commands.
Playwright no longer forces swiftshader when running Chromium on macOS.
Paths supplied via stdin now work in the trace viewer.
The bundled Chromium browser version is 145.0.7632.6.
Fixed local network permissions for Microsoft Edge.
The bundled Mozilla Firefox browser version is 146.0.1.
The bundled WebKit browser version is 26.0.