playwright

playwright breaking-changes badge

playwright (latest known version: 1.62.0) has 12 known breaking changes on record, each backed by a source URL.

Actively maintainedLatest known version: 1.62.0npm ↗

Security advisories

GHSA-7mvr-c777-76hpHIGH<1.55.1

Playwright downloads and installs browsers without verifying the authenticity of the SSL certificate

source ↗

Recent changes

v1.57.0Breaking

After 3 years of being deprecated, we removed `Page#accessibility` from our API. Please use other libraries such as [Axe](https://www.deque.com/axe/) if you need to test page accessibility. See our Node.js [guide](https://playwright.dev/docs/accessibility-testing) for integration with Axe.

source ↗

v1.56.0Breaking

- Event [browserContext.on('backgroundpage')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-background-page) has been deprecated and will not be emitted. Method [browserContext.backgroundPages()](https://playwright.dev/docs/api/class-browsercontext#browser-context-background-pages) will return an empty list

source ↗

v1.55.0Breaking

- ⚠️ Dropped support for Chromium extension manifest v2.

source ↗

v1.52.0Breaking

- Changes to glob URL patterns in methods like [page.route()](https://playwright.dev/docs/api/class-page#page-route): - `?` wildcard is not supported any more, it will always match question mark `?` character. - Ranges/sets `[]` are not supported anymore. We recommend using regular expressions instead. - Method [route.continue()](https://playwright.dev/docs/api/class-route#route-continue) does not allow to override the `Cookie` header anymore. If a `Cookie` header is provided, it will be ignored, and the cookie will be loaded from the browser's cookie store. To set custom cookies, use [browserContext.addCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-cookies). - macOS 13 is now deprecated and will no longer receive WebKit updates. Please upgrade to a more recent macOS version to continue benefiting from the latest WebKit improvements.

source ↗

v1.49.0Breaking

- There will be no more updates for WebKit on Ubuntu 20.04 and Debian 11. We recommend updating your OS to a later version. - Package `@playwright/experimental-ct-vue2` will no longer be updated. - Package `@playwright/experimental-ct-solid` will no longer be updated.

source ↗

v1.46.0Breaking

Fixture values that are array of objects, when specified in the `test.use()` block, may require being wrapped into a fixture tuple. This is best seen on the example: ```ts import { test as base } from '@playwright/test'; // Define an option fixture that has an "array of objects" value type User = { name: string, password: string }; const test = base.extend<{ users: User[] }>({ users: [ [], { option: true } ], }); // Specify option value in the test.use block. test.use({ // WRONG: this syntax may not work for you users: [ { name: 'John Doe', password: 'secret' }, { name: 'John Smith', password: 's3cr3t' }, ], // CORRECT: this syntax will work. Note extra [] around the value, and the "scope" property. users: [[ { name: 'John Doe', password: 'secret' }, { name: 'John Smith', password: 's3cr3t' }, ], { scope: 'test' }], }); test('example test', async () => { // ... }); ```

source ↗

v1.42.0Breaking

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard. ```js const test = baseTest.extend({ item: async ({}, use) => {} }); baseTest.describe('Admin user', () => { test('1', async ({ page, item }) => {}); test('2', async ({ page, item }) => {}); }); ```

source ↗

v1.35.0Breaking

* `playwright-core` binary got renamed from `playwright` to `playwright-core`. So if you use `playwright-core` CLI, make sure to update the name: ```bash $ npx playwright-core install # the new way to install browsers when using playwright-core ``` This change **does not** affect `@playwright/test` and `playwright` package users.

source ↗

v1.34.0Breaking

* `npx playwright test` no longer works if you install both `playwright` and `@playwright/test`. There's no need to install both, since you can always import browser automation APIs from `@playwright/test` directly: ```js // automation.ts import { chromium, firefox, webkit } from '@playwright/test'; /* ... */ ``` * Node.js 14 is no longer supported since it [reached its end-of-life](https://nodejs.dev/en/about/releases/) on April 30, 2023.

source ↗

v1.33.0Breaking

* The `mcr.microsoft.com/playwright:v1.33.0` now serves a Playwright image based on Ubuntu Jammy. To use the focal-based image, please use `mcr.microsoft.com/playwright:v1.33.0-focal` instead.

source ↗

v1.5.0Breaking

- Chromium sandboxing is now opt-in. This is to simplify running Playwright tests in CI environments. Learn how to [enable sandboxing](https://playwright.dev/#path=docs%2Fdocker%2FREADME.md&q=run-the-image). - The Docker image adds `pwuser` as an optional user for non-root user environments.

source ↗

v1.0.0Breaking

Version 1.0.0 is a semver-major release over 0.18.0, but no breaking change was detected in the release notes text - flagged for manual review.

source ↗

Check what changed for playwright since your installed version, live.

Open the playground →