You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project began as a fork because I wanted a plugin that would not move side-effect imports around and mess with my CSS cascade. So its first and most distinguishing feature is that side-effect imports do not move, and other imports are not sorted across them.
This works fine in most cases, but some people have side-effect imports that they know can be sorted safely. For those, there is now an "escape hatch" option named importOrderSafeSideEffects. It is an array of glob pattern strings (similar to importOrder) which, when they match against a side-effect import, allow that import to be sorted as if it were a standard import.
Suggestions for safe use:
Use ^ at the start of your pattern and $ at the end, to avoid accidentally matching part of an import name. For example, "^server-only$", to avoid matching against import "not-server-only".
Use extreme caution if matching against relative files or CSS files. If you decide to sort CSS imports and a file ever imports more than one CSS file, your cascade may change.
You can still use // prettier-ignore to stop sorting a particular import that would otherwise be sorted.
tracing.startHar() / tracing.stopHar() expose HAR recording as a first-class tracing API, with the same content, mode and urlFilter options as recordHar. The returned Disposable makes it easy to scope a recording with await using:
awaitusinghar=awaitcontext.tracing.startHar('trace.har');constpage=awaitcontext.newPage();awaitpage.goto('https://playwright.dev');// HAR is finalized when `har` goes out of scope.
🪝 Drop API
New locator.drop() simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches dragenter, dragover, and drop with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:
New test.abort() aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:
test('does not publish to the shared page',async({ page })=>{awaitpage.route('**/publish',route=>{test.abort('Tests must not publish to the shared page. Use the `clone` option.');returnroute.abort();});// ...});
New option noDefaults in browserType.connectOverCDP() disables Playwright's default overrides on the default context (download behavior, focus emulation, media emulation), so attaching to a user's daily-driver browser doesn't disturb its state.
consoleMessage.location() now exposes line / column properties (lineNumber / columnNumber are deprecated).
New testInfoError.errorContext surfaces additional diagnostic context, such as the aria snapshot of the receiver at the time of an expect(...) matcher failure.
reporter.onError() now receives a workerInfo argument with details about the worker for fixture teardown errors.
#37871 chore: allow local-network-access permission in chromium #37891 fix(agents): remove workspaceFolder ref from vscode mcp #37759 chore: rename agents to test agents #37757 chore(mcp): fallback to cwd when resolving test config
Introducing Playwright Agents, three custom agent definitions designed to guide LLMs through the core process of building a Playwright test:
🎭 planner explores the app and produces a Markdown test plan
🎭 generator transforms the Markdown plan into the Playwright Test files
🎭 healer executes the test suite and automatically repairs failing tests
Run npx playwright init-agents with your client of choice to generate the latest agent definitions:
### Generate agent files for each agentic loop### Visual Studio Code
npx playwright init-agents --loop=vscode
### Claude Code
npx playwright init-agents --loop=claude
### opencode
npx playwright init-agents --loop=opencode
[!NOTE]
VS Code v1.105 (currently on the VS Code Insiders channel) is needed for the agentic experience in VS Code. It will become stable shortly, we are a bit ahead of times with this functionality!
#37479 - [Bug]: Upgrade Chromium to 140.0.7339.186. #37147 - [Regression]: Internal error: step id not found. #37146 - [Regression]: HTML reporter displays a broken chip link when there are no projects. #37137 - Revert "fix(a11y): track inert elements as hidden". #37532 - chore: do not use -k option
Browser Versions
Chromium 140.0.7339.186
Mozilla Firefox 141.0
WebKit 26.0
This version was also tested against the following stable channels:
New Property testStepInfo.titlePath Returns the full title path starting from the test file, including test and step titles.
Codegen
Automatic toBeVisible() assertions: Codegen can now generate automatic toBeVisible() assertions for common UI interactions. This feature can be enabled in the Codegen settings UI.
Breaking Changes
⚠️ Dropped support for Chromium extension manifest v2.
Miscellaneous
Added support for Debian 13 "Trixie".
Browser Versions
Chromium 140.0.7339.16
Mozilla Firefox 141.0
WebKit 26.0
This version was also tested against the following stable channels:
#36714 - [Regression]: Codegen is not able to launch in Administrator Terminal on Windows (ProtocolError: Protocol error) #36828 - [Regression]: Playwright Codegen keeps spamming with selected option #36810 - [Regression]: Starting Codegen with target language doesn't work anymore
Browser Versions
Chromium 139.0.7258.5
Mozilla Firefox 140.0.2
WebKit 26.0
This version was also tested against the following stable channels:
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.9.0→3.10.04.3.1→4.7.11.49.1→1.60.01.2.0→1.2.121.1.1→1.1.151.1.0→1.1.81.1.0→1.1.111.1.1→1.3.31.1.0→1.1.122.2.1→2.2.161.1.6→1.1.152.1.1→2.1.161.1.1→1.1.152.1.0→2.1.81.1.1→1.1.161.2.0→1.2.141.1.1→1.1.151.1.0→1.1.81.2.0→1.3.81.1.0→1.2.102.1.1→2.2.61.1.2→1.1.81.2.0→1.3.61.1.2→1.2.41.1.0→1.2.61.1.0→1.1.131.2.1→1.2.151.1.0→1.1.101.1.0→1.1.111.1.8→1.2.81.6.0→1.6.320.14.15→20.19.411.1.0→1.3.1^33.2.1→^33.3.2^10.4.21→^10.5.01.0.0→1.1.18.1.8→8.6.08.57.0→8.57.114.2.5→14.2.359.1.0→9.1.25.2.1→5.5.55.5.67.35.0→7.37.53.17.4→3.18.31.3.1→1.7.11.2.4→1.4.2^0.476.0→^0.577.0^15.3.0-canary.14→^15.3.0-canary.170.3.0→0.4.620.14.0→20.20.222.11.0-bookworm→22.22.3-bookworm19.0.0→19.2.68.10.1→8.10.219.0.0→19.2.67.52.2→7.76.12.0.23→2.1.9=1.0.208→=1.0.228=1.0.125→=1.0.1501.5.0→1.7.42.5.2→2.6.13.4.17→3.4.19=1.7.1→=1.8.3=1.5.3→=1.5.65.5.3→5.9.30.9.1→0.9.93.23.8→3.25.76Release Notes
react-hook-form/resolvers (@hookform/resolvers)
v3.10.0Compare Source
Features
v3.9.1Compare Source
Bug Fixes
ianvs/prettier-plugin-sort-imports (@ianvs/prettier-plugin-sort-imports)
v4.7.1Compare Source
What's Changed
Fixes
Dependencies
Docs
New Contributors
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.7.0...v4.7.1
v4.7.0Compare Source
What's Changed
This project began as a fork because I wanted a plugin that would not move side-effect imports around and mess with my CSS cascade. So its first and most distinguishing feature is that side-effect imports do not move, and other imports are not sorted across them.
This works fine in most cases, but some people have side-effect imports that they know can be sorted safely. For those, there is now an "escape hatch" option named
importOrderSafeSideEffects. It is an array of glob pattern strings (similar toimportOrder) which, when they match against a side-effect import, allow that import to be sorted as if it were a standard import.Suggestions for safe use:
^at the start of your pattern and$at the end, to avoid accidentally matching part of an import name. For example,"^server-only$", to avoid matching againstimport "not-server-only".// prettier-ignoreto stop sorting a particular import that would otherwise be sorted.Feedback on this feature is welcome.
Features
importOrderSafeSideEffectsoption by @IanVS in IanVS#240Internal
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.6.3...v4.7.0
v4.6.3Compare Source
What's Changed
Full Changelog: IanVS/prettier-plugin-sort-imports@4.6.2...v4.6.3
v4.6.2Compare Source
What's Changed
New Contributors
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.6.1...4.6.2
v4.6.1Compare Source
What's Changed
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.6.0...v4.6.1
v4.6.0Compare Source
What's Changed
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.5.1...v4.6.0
v4.5.1Compare Source
What's Changed
Fixes
Internal
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.5.0...v4.5.1
v4.5.0Compare Source
What's Changed
New Contributors
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.4.2...v4.5.0
v4.4.2Compare Source
What's Changed
New Contributors
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.4.1...v4.4.2
v4.4.1Compare Source
What's Changed
New Contributors
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.4.0...v4.4.1
v4.4.0Compare Source
What's Changed
Enhancements
importOrderCaseSensitiveoption for case-sensitive sorting by @acnebs in IanVS#184Maintenance
New Contributors
Full Changelog: IanVS/prettier-plugin-sort-imports@v4.3.1...v4.4.0
microsoft/playwright (@playwright/test)
v1.60.0Compare Source
🌐 HAR recording on Tracing
tracing.startHar() / tracing.stopHar() expose HAR recording as a first-class tracing API, with the same
content,modeandurlFilteroptions asrecordHar. The returned Disposable makes it easy to scope a recording withawait using:🪝 Drop API
New locator.drop() simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches
dragenter,dragover, anddropwith a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:🎯 Aria snapshots
page.locator('body').boxesoption on locator.ariaSnapshot() / page.ariaSnapshot() appends each element's bounding box as[box=x,y,width,height], useful for AI consumption.🛑 test.abort()
New test.abort() aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:
New APIs
Browser, Context and Page
Locators and Assertions
descriptionin page.getByRole() / locator.getByRole() / frame.getByRole() / frameLocator.getByRole() for matching the accessible description.pseudoin expect(locator).toHaveCSS() reads computed styles from::beforeor::after.stylein locator.highlight() applies extra inline CSS to the highlight overlay, plus new page.hideHighlight() to clear all highlights.Network
noDefaultsin browserType.connectOverCDP() disables Playwright's default overrides on the default context (download behavior, focus emulation, media emulation), so attaching to a user's daily-driver browser doesn't disturb its state.Errors and Reporting
line/columnproperties (lineNumber/columnNumberare deprecated).expect(...)matcher failure.workerInfoargument with details about the worker for fixture teardown errors.Test runner
{testFileBaseName}token in testProject.snapshotPathTemplate — file name without extension.workers: 0or negative values.🛠️ Other improvements
npx playwright show-reportaccepts.zipfiles directly — no need to unzip first.repeatEachIndexis shown in the test header when non-zero.Breaking Changes⚠️
Locator.ariaRef()— use the standard locator.ariaSnapshot() pipeline.handleoption onBrowserContext.exposeBindingandPage.exposeBinding.loggeroption onBrowserType.connectandBrowserType.connectOverCDP— use tracing instead.videosPath/videoSize— userecordVideoinstead.Browser Versions
This version was also tested against the following stable channels:
v1.59.1Compare Source
v1.59.0Compare Source
v1.58.2Compare Source
v1.58.1Compare Source
Highlights
#39036 fix(msedge): fix local network permissions
#39037 chore: update cft download location
#38995 chore(webkit): disable frame sessions on fronzen builds
Browser Versions
v1.58.0Compare Source
v1.57.0Compare Source
v1.56.1Compare Source
Highlights
#37871 chore: allow local-network-access permission in chromium
#37891 fix(agents): remove workspaceFolder ref from vscode mcp
#37759 chore: rename agents to test agents
#37757 chore(mcp): fallback to cwd when resolving test config
Browser Versions
v1.56.0Compare Source
Playwright Agents
Introducing Playwright Agents, three custom agent definitions designed to guide LLMs through the core process of building a Playwright test:
Run
npx playwright init-agentswith your client of choice to generate the latest agent definitions:Learn more about Playwright Agents
New APIs
--test-listand--test-list-invertto allow manual specification of specific tests from a fileUI Mode and HTML Reporter
'html'reporter to disable the "Copy prompt" button'html'reporter and UI Mode to merge files, collapsing test and describe blocks into a single unified list--update-snapshotsoptionsBreaking Changes
Miscellaneous
inputplaceholderPLAYWRIGHT_TESTto Playwright worker processes to allow discriminating on testing statusBrowser Versions
v1.55.1Compare Source
Highlights
#37479 - [Bug]: Upgrade Chromium to 140.0.7339.186.
#37147 - [Regression]: Internal error: step id not found.
#37146 - [Regression]: HTML reporter displays a broken chip link when there are no projects.
#37137 - Revert "fix(a11y): track inert elements as hidden".
#37532 - chore: do not use -k option
Browser Versions
This version was also tested against the following stable channels:
v1.55.0Compare Source
New APIs
Codegen
toBeVisible()assertions: Codegen can now generate automatictoBeVisible()assertions for common UI interactions. This feature can be enabled in the Codegen settings UI.Breaking Changes
Miscellaneous
Browser Versions
This version was also tested against the following stable channels:
v1.54.2Compare Source
Highlights
#36714 - [Regression]: Codegen is not able to launch in Administrator Terminal on Windows (ProtocolError: Protocol error)
#36828 - [Regression]: Playwright Codegen keeps spamming with selected option
#36810 - [Regression]: Starting Codegen with target language doesn't work anymore
Browser Versions
This version was also tested against the following stable channels:
v1.54.1Compare Source
Highlights
#36650 - [Regression]: 1.54.0 breaks downloading browsers when an HTTP(S) proxy is used
Browser Versions
This version was also tested against the following stable channels:
v1.54.0[Compare Source](https://redirect.github.com/microsoft/playwright/compa
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.