Last 7 days
0
Features: 0
Changes: 0
Fixes: 0
Deprecations: 0
Cross-browser end-to-end testing and browser automation framework.
Latest Playwright changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Playwright release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
0
2
4
14
Fix regression where tsconfig "extends" bare specifiers weren’t resolved via node_modules walk-up, breaking builds since 1.62
Component testing shifts to a story/gallery model with a new fixtures.mount() API for scoped locators and type‑checked props.
Fixed Expect.Extend matcher overriding default implementation when the same name is used within an expect instance.
Added virtual WebAuthn passkey support and a new WebStorage API for page storage access
Adds first‑class HAR recording via tracing.startHar()/tracing.stopHar() and a new drop() API for simulating file/clipboard drag‑and‑drop.
Fixed Windows regression where hiding the console window when spawning browser processes broke codegen, UI, and show commands.
Added page.screencast API for video recording, real‑time frames, overlays and action annotations.
Fixed trace viewer to correctly handle file paths provided via stdin.
Fixed local network permissions issue in Microsoft Edge
Introduced a new token‑efficient, skill‑focused Playwright CLI mode
HTML reporter gains a Speedboard tab that lists tests by slowness for performance insight.
Added support for local network access permission in Chromium builds
Introduced Playwright Agents (planner, generator, healer) for LLM‑guided test creation (requires VS Code v1.105 Insiders).
Upgraded Chromium to version 140.0.7339.186.
Added testStepInfo.titlePath property to return the full title path from the test file.
Fix regression where Codegen fails to launch in Administrator Terminal on Windows
Fix regression causing browser downloads to fail when using an HTTP(S) proxy
Introduced partitionKey cookie property, noSnippets report option, location annotation field, and userDataDir CLI option for state reuse.
Fixed regression where merging pre‑1.53 blob reports omitted attachments
Regression: click may fail when scrolling is required
Added ability to set a custom title per test run in the HTML reporter and introduced new trace viewer steps.
Added expect(locator).toContainClass() and new Aria Snapshot properties (/children, /url).
Fixed TimeoutOverflowWarning overflow error due to 32‑bit integer limit
Added indexedDB option to browserContext.storageState() for saving/restoring IndexedDB data and a new “Copy prompt” button in HTML reports to copy LLM prompts with error context.
Added support for a single ARIA snapshot across different browsers/engines.
Added test runner options (timeout, test.step.skip) and new expect methods for ARIA snapshots and accessible error messages; introduced updateSourceMethod modes and pathTemplate for screenshot/assertion configs.
Fixes Codegen Clear button, pending navigation hangs, and VSC extension text capture bugs
Added Aria snapshot assertion expect(locator).toMatchAriaSnapshot() with YAML accessibility tree generation (feature, docs).
Fixed UI Mode crashes and memory consumption issues.
Fixed multiple bugs: CLI flag 'headed' ignored in UI mode, page.waitForRequest regression, WebSocket route URL handling, Inspector not showing recorded steps, incorrect Ubuntu release name in Dockerfile.noble, and trace attachment height...
Introduce page.routeWebSocket() and browserContext.routeWebSocket() to intercept, modify, and mock WebSocket connections.
Fixed codegen to correctly use the content frame property for Python and .NET.
Fixed regression where tsconfig.json compilerOptions.paths stopped working in v1.47
Network tab enhancements: filter by asset type and URL, improved query string display, and font asset preview.
Fix regressions where client certificates fail on Microsoft IIS and cause TLS handshake stalls.
Added TLS client certificate support via a proxy, with new options for browsers, API contexts, and projects, enhancing security and enabling server verification.
Fixed missing actions in trace files for certain operations
Fixed trace regressions where screenshots and test names were missing
Fixed multiple regressions: Electron ENOENT error, hidden‑element locator hangs, and NewTab failures when web security is disabled
Added a new Clock API for deterministic time control in tests, with accompanying documentation.
Fix regression where using video:"on" with VSCode extension closed the browser
Added new accessibility assertion APIs (toHaveAccessibleName/Description/Role) and enhanced locator handler API with noWaitAfter, times, locator argument, and removeLocatorHandler methods.
Fix regression where UI mode restarts when keeping storage state
Added filter support to browserContext.clearCookies() and introduced testInfo.tags property for accessing test tags during execution.
Fixed regression of HEAD requests to webServer.url introduced in v1.42.0
Added new test tagging syntax, grep filter, and annotation support, plus experimental page.addLocatorHandler() for element‑visibility callbacks.
Regression causing `route.continue` to throw a "Invalid InterceptionId" protocol error
Fix regression where Codegen/Recorder fails to action or record some click events.
Added page.unrouteAll and browserContext.unrouteAll methods to clear all route handlers with optional wait or error handling.
Fixed regression that produced corrupted traces in v1.40.0
Added test‑generator tools for common assertions (visibility, value, text) generating Playwright expect calls.
Added support for custom expect matchers and merging them across files
Deprecate the expect(value).toMatchSnapshot() API in v1.38
Added UI enhancements (time‑range zoom, redesigned network panel) and new APIs: browserContext.on('weberror'), locator.pressSequentially(), and reporter.onEnd now provides startTime and total duration.
Fix regression where webServer stdout is always printed
Added a new `merge reports` CLI tool to combine shard reports into a single HTML or other format
Regression: character classes in glob patterns are broken in Playwright 1.36.2
Regression: snapshot names include random string when tests run in a container
Summer maintenance release updating bundled browsers to Chromium 115.0.5790.75, Firefox 115.0, and WebKit 17.0.
Added documentation for correctly using expect.configure with the poll parameter.
Added UI mode and trace viewer integration in VSCode extension, including a “Show trace viewer” button and ability to open them in a browser tab with network request highlighting for route handlers.
Fix error prompting to install @playwright/test after upgrading from 1.34.0 to 1.34.1
Fixed VSCode extension breakage introduced in Playwright 1.34.1.
Fixed container image missing WebKit library in v1.34.0
UI Mode now displays steps, fixtures, and attachments; added testProject.teardown and expect.configure for custom teardown and pre‑configured expect instances.
Added `locator.or()` for combining locators, new `hasNot`/`hasNotText` options in `locator.filter()`, and `locatorAssertions.toBeAttached()` for DOM‑presence checks.
Fix WebServer startup timeout bug
Fix browser crash when using Playwright VS Code extension with trace viewer enabled in config
Fixed trace opening failure on specific broken locators.
Preview UI Mode with built‑in watch mode and ui flag for exploring, running, and debugging tests.
Fixed ECONNREFUSED error on GitHub Actions with Node 18.
Fixed regression where headless Windows showed cascading CMD windows.
Added TestProject.dependencies, expect(locator).toBeInViewport() assertion, defineConfig method, maxRedirects option for Route.fetch, and ability to open DOM snapshots in a separate window.
Updated supported browser versions to Chromium 110, Firefox 108, and WebKit 16.4 (tested on Chrome/Edge 109).
Fixed bug where page.goto on a browser server resulted in net::ERR_SOCKS_CONNECTION_FAILED.
Fixed Electron firstWindow timeout issues introduced in 1.28.0/1.28.1.
Added route.fetch() method and json option for route.fulfill(); introduced locator.all() and enhanced selectOption matching by value or label.
Fix Electron firstWindow timeout after upgrading to 1.28.0
Added VSCode tooling: record‑at‑cursor, live locators, dark theme support, and locator explorer in CodeGen.
Fixed generator to produce accurate locators for arbitrary selectors.
Added Testing Library‑style locator methods (getByText, getByRole, getByLabel, getByPlaceholder, getByAltText, getByTitle) across Page, Locator, FrameLocator, and Frame objects.
Fixed bug where Playwright test explorer failed to discover tests (issue #17500).
Added new options to expect locator assertions (enabled, editable, visible) and enabled toHaveText to pierce shadow roots.
Fixed regression causing session storage failures in Firefox (regressed in 1.25.0).
Fixed webServer.command esbuild failures with ESM and Yarn
Added new VSCode extension UI with an actions view, live selector picker, “Record new test” feature, and browser reuse capability.
Fixed regression in test.use storage state handling.
Fixed TypeScript typing for the webServer config property (TestConfigWebServer)
Add support for launching multiple web servers, databases, or processes via an array in playwright.config.ts.
Fixes regression in experimentalLoader.js:load that prevented the next hook from being called and failed to signal a short circuit.
Fix regression where event listeners weren’t removed when the same handler was attached to multiple events
Fix: LaunchOptions config no longer ignored after v1.23.0 update
Fixed regression causing TypeError [ERR_INVALID_ARG_TYPE] in Playwright core 1.23.0
Add network replay support with page.routeFromHAR() and browserContext.routeFromHAR(), including zip and minimal HAR modes
Fix focus() function that incorrectly closed non‑select dropdowns.
Fixed argument error in expect.toHaveScreenshot()
Added preview component testing for React, Vue.js, and Svelte, with full Playwright Test capabilities in real browsers.
Fixed fullyParallel bug that spawned excessive workers, improving test run performance.
Add experimental role selectors (ARIA role, attributes, name) behind PLAYWRIGHT_EXPERIMENTAL_FEATURES=1 flag.
Fixed bug where importing other files with type="module" required an explicit extension.
Fixed several regressions and bugs: screenshot hangs, cookie assignment timing, click interception, locator count with Vue, ES‑module test detection, and Chromium crashes on macOS.
Added screenshot options (animations, mask) and maxDiffPixels/maxDiffPixelRatio for expect().toMatchSnapshot, plus support for anonymous snapshots
Fixes generation of multiple trace files per test in Playwright 1.19.0.
Fixed Firefox launch failures introduced in v1.19.0.
Added soft assertions and custom error messages to Playwright Test, allowing failures without aborting test execution.
Improved TypeScript support.
Added locator enhancements: dragTo, toBeChecked, and optional text filtering
Fix pin colors regression to version 1.4.0 (issue #11274)
Fix Locator.click subtree intercepting pointer events introduced in 1.17.0
Added Frame Locators for easy iframe element selection via page.frameLocator() or locator.frameLocator()
Fix toHaveCount serialization error when elements are missing
Fix deduplication of snapshot CSS images and resolve snapshot updating failures
Fixed regression where `toHaveCount` failed with zero elements.
Add API testing support with page.request and request fixture, enabling server‑side API calls from Playwright tests.
Fix npm init playwright failing on paths with spaces (issue #9261)
- Fixed multiple WebKit browser issues: disabled COOP support, corrected text padding, and restored the slowmo connect option.
Added mouse wheel scrolling, a new Headers API for retrieving multiple header values, and forced-colors CSS media emulation.
Fixed intermittent WebKit crash caused by mismatched file data stream bytes (issue 8287).
Introduced "strict" mode and Locator API that default to strict element selection, reducing selector ambiguity
Fix empty screen when opening trace.zip
Added Reporter API for custom reporters and a new baseURL fixture to support relative paths in tests.
Fixed numerous bugs across the test runner, traceviewer, viewport handling, snapshot capture, and missing types for the expect library
Fixed multiple bugs: undefined toJSON property in Firefox, test runner module resolution error, dialogs not dismissible during tracing, and missing video frames on mobile Chrome.
Fix slowMo type error in Fixtures (issue 6984)
Introduced Playwright Test, a native test runner with parallel execution, fixtures, and built‑in trace/video capture.
Fixed inability to retrieve browser context pages when connecting via CDP (Python).
Introduced async predicate support across the API, new waitForURL method, and a trial "dry‑run" option for interaction commands.
Playwright for Java 1.10 is now stable and introduces a new `channel` option for launching Chrome and Edge stable builds.
Fixed regressions in text selector behavior and click handling, preventing label retargeting and restoring proper text node matching
Fixed Electron type import errors and removed dynamic import usage.
Introduced Playwright Inspector GUI for line‑by‑line debugging, recording actions, selector generation and pause support (PWDEBUG=1, page.pause).
Fix page.isVisible() to not wait for selector resolution
Added layout-based selectors (:left‑of(), :right‑of(), :above(), :below()) and new element state APIs (isChecked, isDisabled, isEditable, isEnabled, isHidden, isVisible) plus page.is* helpers and an "editable" option for waitForElementSt...
Fixed selector engine regressions: chained CSS/XPath queries now work correctly.
Added a first‑class Java SDK and new browser storageState API for persisting cookies and local storage across contexts.
Rolled Chromium to revision r827102 and registered frameless listeners separately.
Reverted lifecycle refactoring to fix setContent breakage (issue #4420).
Added native touch automation with `page.tap()`, `elementHandle.tap()` and a `Touchscreen` namespace.
Update supported browsers to Chromium 88, Firefox 82, and WebKit 14
Added page.video() method and Video class for retrieving ongoing page video recordings.
Added stable video screencast API with videosPath/videoSize options, new page.video() method, Video class, and browserContext.browser().
Fix WebKit errors on macOS 10.13
- Fixed ffmpeg dependency checks on Linux to prevent failures and crashes when screencast is unused.
Playwright CLI is now public, enabling page opening, recording, device emulation, screenshots/PDFs, and experimental video capture across Chromium, Firefox, and WebKit.
Added official Playwright for Python preview with pytest plugin support
Fixed default WebKit user agent string
Introduced a new debug mode with Playwright DevTools panel support for inspecting selectors.
Reverted the atomic install feature due to problems in certain environments.
Added first‑class proxy support with a new `proxy` option for launch, launchPersistentContext, and launchServer, plus new `firefoxUserPrefs` and `downloadsPath` options.
Fix abort logic to return an error when a disconnect occurs while waiting
Fix Firefox installation by disabling automatic launch during install
Release v1.0.0 marked; no functional changes.
Updated WebKit to r1219 and added support for JPEG frames in screencast
Added new Playwright documentation site with API search
Consolidated browser installations to a shared folder and introduced page.waitForTimeout API (feature).
Add page, frame, and elementHandle.dispatchEvent APIs
Expanded documentation covering common actions and added shadow‑DOM selector support.
Introduce a new Downloads API and related context options (acceptDownloads, colorScheme, contentScript, waitUntil/timeout for setInputFiles);
Fixed regression affecting npm install of playwright@0.12.0
Added auto‑wait for actions, changed default viewport to 1280×720, published CI recipes and bundled index.d.ts with inline API documentation
Fixed regressions: Firefox keyboard input, WebKit test failures on Travis, and Windows context leaks.
Added new launch modes (launch, launchPersistent, launchServer) and removed userDataDir from browserType.launch, breaking existing API usage.
Introduced several new API features: Page.opener(), page.target(), BrowserType.name(), selectors.register, default pipe connection with webSocket launch option, and added ability to repeat test suites.