NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1294 most downloaded on npm
A high-level API to automate web browsers
Last release today
06 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
5717 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This patch release includes the following bug fixes:
This patch release includes the following bug fixes:
https://github.com/microsoft/playwright/pull/18010 - fix(generator): generate nice locators for arbitrary selectors https://github.com/microsoft/playwright/pull/17999 - chore: don't fail on undefined video/trace https://github.com/microsoft/playwright/issues/17955 - [Question] Github Actions test compatibility check failed mitigation? https://github.com/microsoft/playwright/issues/17960 - [BUG] Codegen 1.27 creates NUnit code that does not compile https://github.com/microsoft/playwright/pull/17952 - fix: fix typo in treeitem role typing
This version was also tested against the following stable channels:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
With these new APIs, inspired by Testing Library, writing locators is a joy:
With these new APIs, inspired by Testing Library, writing locators is a joy:
page.getByText(text, options) to locate by text content.page.getByRole(role, options) to locate by ARIA role, ARIA attributes and accessible name.page.getByLabel(label, options) to locate a form control by associated label's text.page.getByPlaceholder(placeholder, options) to locate an input by placeholder.page.getByAltText(altText, options) to locate an element, usually image, by its text alternative.page.getByTitle(title, options) to locate an element by its title.await page.getByLabel('User Name').fill('John');
await page.getByLabel('Password').fill('secret-password');
await page.getByRole('button', { name: 'Sign in' }).click();
await expect(page.getByText('Welcome, John!')).toBeVisible();
All the same methods are also available on Locator, FrameLocator and Frame classes.
workers option in the playwright.config.ts now accepts a percentage string to use some of the available CPUs. You can also pass it in the command line:
npx playwright test --workers=20%
New options host and port for the html reporter.
reporters: [['html', { host: 'localhost', port: '9223' }]]
New field FullConfig.configFile is available to test reporters, specifying the path to the config file if any.
As announced in v1.25, Ubuntu 18 will not be supported as of Dec 2022. In addition to that, there will be no WebKit updates on Ubuntu 18 starting from the next Playwright release.
expect(locator).toHaveAttribute(name, value, options) with an empty value does not match missing attribute anymore. For example, the following snippet will succeed when button does not have a disabled attribute.
await expect(page.getByRole('button')).toHaveAttribute('disabled', '');
Command line options --grep and --grep-invert previously incorrectly ignored grep and grepInvert options specified in the config. Now all of them are applied together.
JSON reporter path resolution is performed relative to the config directory instead of the current working directory:
["json", { outputFile: "./test-results/results.json" }]]
This version was also tested against the following stable channels:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →