Repository navigation
chore(deps): update development dependencies - #71
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #71 +/- ##
=======================================
Coverage 99.36% 99.36%
=======================================
Files 12 12
Lines 1107 1107
Branches 292 292
=======================================
Hits 1100 1100
Misses 7 7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
from
June 6, 2026 05:25
9e16469 to
e720576
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
4 times, most recently
from
June 12, 2026 23:33
518a9ad to
67af5e0
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
6 times, most recently
from
June 22, 2026 21:29
0a26662 to
00ba28e
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
3 times, most recently
from
June 30, 2026 21:58
b62685d to
cae21f4
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
9 times, most recently
from
July 9, 2026 19:43
74d86cf to
8f37852
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
5 times, most recently
from
July 17, 2026 08:45
912c875 to
7ae3fa8
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
9 times, most recently
from
August 18, 2026 21:33
5565005 to
e65af00
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
2 times, most recently
from
August 25, 2026 20:41
ceecc10 to
21562d7
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
3 times, most recently
from
August 31, 2026 21:52
ef0f626 to
5411d75
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
4 times, most recently
from
September 11, 2026 00:44
8993e76 to
d8a1c1a
Compare
Contributor
Author
|
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
4 times, most recently
from
September 16, 2026 18:59
e261a41 to
aa85dd8
Compare
renovate
Bot
force-pushed
the
renovate/deps-dev
branch
6 times, most recently
from
September 27, 2026 09:28
1ff67a3 to
d76cde7
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
1.60.0→1.64.025.9.1→25.9.94.1.7→4.1.116.20.0→6.23.010.4.0→10.12.017.6.0→17.13.03.8.3→3.9.1020.0.1→20.2.14.22.3→4.23.158.60.0→8.71.2Release Notes
microsoft/playwright (@playwright/test)
v1.64.0Compare Source
🧰 WebMCP
New page.webmcp and frame.webmcp give access to the tools that a page registers through the experimental WebMCP browser API, so you can test them like any other part of your app:
Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as
webmcp_<tool>. Pass--no-webmcpto opt out.playwright-cliexposes them as well:playwright-cli webmcp-list playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'🎬 Better videos
Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS:
fpsoption in testOptions.video,recordVideoandscreencast.start(). Firefox and WebKit currently capture up to 25 frames per second.
styleoption takes CSS declarations for thepointmarker, the targethighlightand the actiontitle. It replaces thefontSizeoption, which is now deprecated.quality.
playwright-cli.🎯 Test runner
New testProject.default option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain
npx playwright testrun just your favourite one:New
--shufflecommand line option schedules tests in a random order, which helps to find tests that accidentally depend on each other.New
lockoption in test.describe.configure() adds test locks to all tests in a file or a group:New
typeoption oftoHaveScreenshotin testConfig.expect stores all unnamed screenshots as WebP:🪆 Locator.within()
New locator.within() combines two locators that you already have, reading in the natural order —
"this button, within that dialog":
Relative locators such as locator.nth() or locator.first() are resolved inside each parent
separately, which makes column-like queries straightforward:
New APIs
New page.getByRef() locates an element by its aria ref, such as
e2, reported by page.ariaSnapshot() in the'ai'mode.New option
includeShadowin page.content() and frame.content() serializes open shadow roots as declarative shadow DOM.New option
signCountsets the initial signature counter of a virtual credential. credentials.create() and credentials.get() return the currentsignCount, and it is saved and restored together with the credentials in the storage state.New fullConfig.filteredProjects lists the projects that were selected to run after applying the
--projectfilter. It is available in global setup and reporters.New apiRequestContext.addCookies(), apiRequestContext.cookies() and apiRequestContext.clearCookies() manage cookies of a request context, mirroring the BrowserContext methods:
Breaking changes⚠️
screenproperty is now forwarded from the device descriptors. If you use...devices['Desktop Chrome']and alike,window.screenand media queries now see the emulated screen size. You can opt-out by explicitly settingscreentoundefined:JSX in your test files now follows your
tsconfig.json. Playwright compiles JSX in test files according to thejsx,jsxFactory,jsxFragmentFactoryandjsxImportSourcetsconfig options, and defaults to the automatic runtime fromreact/jsx-runtime.--update-snapshots=missingnow passes the test run. Tests that only create missing snapshots now pass in the'missing'mode of testConfig.updateSnapshots, so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now called'default'and behaves as before: missing snapshots are written and the test fails.Elements inside hidden iframes are considered hidden. Elements inside an iframe that is not visible, for example with
visibility: hidden, are now considered hidden by actions, locator.isVisible() and expect(locator).toBeVisible().Browser Versions
This version was also tested against the following stable channels:
v1.63.0Compare Source
🔒 Test locks
Tests that access a shared resource — an external service, a global account setting — can now declare a named
lock.Tests that share a lock name never run concurrently, across files, workers and projects, while
everything else keeps running in parallel:
A test can hold multiple locks, and test.describe() accepts a
lockfor the whole group.Learn more about test locks.
🪟 Locate across frames
page.frameLocator() and frame.frameLocator() called without a selector search in any frame of the
subtree, so you no longer need to locate the iframe first:
The rest of the locator resolves inside a single frame, just like a regular locator, and an error is thrown when it
matches elements in several frames.
👁️ Visible-only locators
New locator.visible() returns a locator that matches only visible elements. It is the recommended
replacement for the
:visibleCSS pseudo-class:🧾 Step params and subtitles
Steps now carry structured data for reporters. Playwright API steps report the target locator and call arguments,
and test.step() accepts
subtitleandparamsoptions for your own steps:Reporters receive them via testStep.subtitle and testStep.params. For Playwright API
steps, the subtitle is the locator or the navigation url — for example,
Clickwith subtitlegetByRole('button').Both are rendered next to the step title in the trace viewer and the HTML report.
🖼️ Aria and screen snapshots in traces
The
snapshotsoption of tracing.start() and the testOptions.trace fixture option now accept anobject selecting what to capture on every action:
With aria and screen snapshots recorded, the new Display Aria mode in the trace viewer shows the action screenshot
side by side with the aria snapshot, and hovering an aria node highlights it on the screenshot.
New APIs
Browser and Context
httpCredentialsnow also accepts an array of credentials. The first entry matching the request origin is used, and entries without an origin match any request.opfsincludes the origin private file system in the storage state, so it can be persisted and restored into later contexts.Locators
mode,depthandboxesoptions.json():Test runner
--add-reportercommand line option appends a reporter on top of the ones configured inplaywright.config, instead of replacing them like--reporterdoes.omitTagsoption for thelist,line,dot,githubandjunitreporters suppresses the tags that are automatically appended to test titles.Command line
npx playwright install --no-removekeeps the browsers of other Playwright installations instead of removing them.npx playwright codegen --http-credentialsrecords against pages behind HTTP authentication.Miscellaneous
perfettoreporter writes a Trace Event Format file for the Perfetto UI orchrome://tracing, rendering the test run as a timeline with a lane per worker.Announcements
@playwright/experimental-ct-react,@playwright/experimental-ct-react17and@playwright/experimental-ct-vuepackages will no longer be updated. Follow the migration guide to move to the stories model introduced in 1.62. Story ids passed to fixtures.mount() can now be typed through the generatedStoriesregistry.Browser Versions
This version was also tested against the following stable channels:
v1.62.1Compare Source
Bug Fixes
v1.62.0Compare Source
🧱 New component testing model
Component testing moves to a stories and galleries model.
A story wraps your component in one specific scenario — hard-coded props, mock data, providers — and a gallery page that you serve renders stories on demand.
The new fixtures.mount() fixture navigates to the gallery, mounts a story by id, and returns a Locator scoped to the story's root element:
Pass a story type as a template argument to type-check its props, and use
update(props)/unmount()on the returned locator to re-render or tear down within a test.🛑 Cancel operations with AbortSignal
Most operations and web-first assertions now accept a
signaloption that takes anAbortSignal, letting you cancel long-running actions, navigations, waits, and assertions:Providing a signal does not disable the default timeout; pass
timeout: 0to disable it.🖼️ WebP screenshots
expect(page).toHaveScreenshot() and expect(locator).toHaveScreenshot() can now store snapshots in the WebP format — just give the snapshot a
.webpname:page.screenshot() and [locator.screenshot() (https://playwright.dev/docs/api/class-locator#locator-screenshot) also accept
webpas atype, where quality100(the default) is lossless and lower values use lossy compression.🧩 Custom test filtering with Reporter.preprocess()
New reporter.preprocess() hook runs after the configuration is resolved and before reporter.onBegin(), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a TestRun object:
🔁 Isolated retries
New testConfig.retryStrategy controls when failed tests are retried.
The default
'immediate'retries as soon as a worker is free;'isolated'runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite:New APIs
Browser and Context
credentialsincludes the context's virtual WebAuthn Credentials (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts.Actions
scrolloption ("auto"|"none") on actions to opt out of Playwright's automatic scroll-into-view.Network
Evaluation
Command line & MCP
playwright-cli, runnable vianpx playwright mcpandnpx playwright cli.Reporters
mergeFilesreporter option:Announcements
Browser Versions
This version was also tested against the following stable channels:
v1.61.1Compare Source
Bug Fixes
v1.61.0Compare Source
🔑 WebAuthn passkeys
New Credentials virtual authenticator, available via browserContext.credentials, lets tests register passkeys and answer
navigator.credentials.create()/navigator.credentials.get()ceremonies in the page — no real hardware key required, works in all browsers:You can also let the app register a passkey once in a setup test, read it back with credentials.get(), and seed it into later tests — see Credentials for details.
🗃️ Web Storage
New WebStorage API, available via page.localStorage and page.sessionStorage, reads and writes the page's storage for the current origin:
New APIs
Network
Browser and Screencast
artifactsDirin browserType.connectOverCDP() controls where artifacts such as traces and downloads are stored when attached to an existing browser.cursorin screencast.showActions() controls the cursor decoration rendered for pointer actions.onFramecallback in screencast.start() now receives atimestampof when the frame was presented by the browser.Test runner
trace: new'on-all-retries','retain-on-first-failure'and'retain-on-failure-and-retries'values. See the video modes table for which runs are recorded and kept in each mode.expect.soft.poll(...).process.argvfrom the runner process, handy for reading custom arguments passed after the--separator.AggregateErroras a separate entry.-Gcommand line shorthand for--grep-invert.🛠️ Other improvements
Browser Versions
This version was also tested against the following stable channels:
vitest-dev/vitest (@vitest/coverage-v8)
v4.1.11Compare Source
🐞 Bug Fixes
View changes on GitHub
v4.1.10Compare Source
🐞 Bug Fixes
View changes on GitHub
v4.1.9Compare Source
🐞 Bug Fixes
importOriginalwith optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #10546 (a5180)View changes on GitHub
v4.1.8Compare Source
🐞 Bug Fixes
cdpAPI whenallowWrite/allowExec: false[backport to v4] - by @hi-ogawa and Codex in #10450 (e4067)View changes on GitHub
yao-pkg/pkg (@yao-pkg/pkg)
v6.23.0Compare Source
Features
Bug Fixes
Test added
v6.22.0Compare Source
Features
Bug Fixes
Chores
v6.21.0Compare Source
Features
Bug Fixes
Test added
Chores
eslint/eslint (eslint)
v10.12.0Compare Source
Features
4618052feat: handle astral letters innew-cap(#21357) (sary)4ec5168feat: allowSourceCode#getText()to accept tokens and comments (#21340) (electrohyun)Bug Fixes
bc51eeefix:prefer-arrow-callbackfalse positive in conditional test (#21373) (Daniel Pinto)bbff86cfix: skip lines with multiple comments inmax-lines-per-function(#21332) (xbinaryx)efc4d6bfix: astral letters inconsistent-return,no-eval,no-invalid-this(#21360) (lumir)93de066fix: prefer-exponentiation-operator autofix for async function base (#21322) (Vladimir Babin)02e34fffix: add missing space afterelseincurlyautofix (#21355) (Pixel)b14b8bcfix: correctid-lengthmessage for long private names (#21348) (Pixel)69aac01fix: supportTSFunctionTypeingetFunctionHeadLoc(#21335) (xbinaryx)686630efix:no-loss-of-precisionfalse positive with0.e5(#21337) (sethamus)Documentation
67eb586docs: Update README (GitHub Actions Bot)5370d7edocs: clarifyone-varseparateRequiresmatches anyrequire()call (#21192) (sethamus)8816c1ddocs: Update README (GitHub Actions Bot)3d2e7cedocs: fix typo in no-unused-expressions documentation (#21346) (bytedoe)Chores
152067fchore: update ecosystem plugins (#21362) (ESLint Bot)b56d58echore: update github/codeql-action action to v4.38.2 (#21376) (renovate[bot])bfaea12perf: cache normalized config globals per languageOptions (#21364) (James Ross)322209eci: avoid Nx cache in ecosystem tests and disable failing test (#21369) (Francesco Trotta)d166567chore: update dependency prettier to v3.9.9 (#21371) (renovate[bot])29585cechore: update dependency eslint-plugin-expect-type to ^0.7.0 (#21359) (renovate[bot])39d79bachore: update github/codeql-action action to v4.38.1 (#21354) (renovate[bot])182a6e9chore: update dependency prettier to v3.9.8 (#21352) (renovate[bot])f995127chore: remove CLAUDE.md in favor of AGENTS.md (#21339) (Jarren)b95fb6cchore: update dependency prettier to v3.9.7 (#21347) (renovate[bot])3782dd4chore: update ecosystem plugins (#21342) (ESLint Bot)v10.11.0Compare Source
Features
d136fa4feat: object-shorthand handle quoted properties forignoreConstructors(#21271) (Pavel)397b3b8feat: report unsafe labeledcontinueinno-unsafe-finallyrule (#21316) (electrohyun)d3dd47ffeat: only exemptnew-capbuilt-ins that reference the global (#21290) (sethamus)Bug Fixes
22b09f5fix: ignore__proto__properties inprefer-object-spread(#21311) (xbinaryx)b684bb1fix: make TimePass.parse optional in types and docs (#21313) (ntnyq)26d11bcfix: don't report__proto__properties inobject-shorthand(#21310) (xbinaryx)Documentation
9ecfdc5docs: note that --cache can serve stale results for cross-file rules (#21312) (bytedoe)6c789ffdocs: Update README (GitHub Actions Bot)5997825docs: clarify preserve-caught-error known limitation (#21294) (Akinyemi Toluwalase)Chores
520dd77perf: Implement fast paths in critical areas (#21210) (Nicholas C. Zakas)92086c8test: updateEMFILEerror generation for Node.js 26.9.0 compatibility (#21330) (Francesco Trotta)9ac7eb6chore: update github/codeql-action action to v4.38.0 (#21331) (renovate[bot])24310e3chore: update ecosystem plugins (#21324) (ESLint Bot)45ad79eci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (#21318) (dependabot[bot])ac74e37chore: Add AGENTS.md with AI disclosure requirements (#21221) (Nicholas C. Zakas)c832660chore: Upgrade Stylelint to the latest version in docs (#21245) (Jung Hyeon Jun)f9f88fcchore: update ecosystem plugins (#21308) (ESLint Bot)fc81076ci: add more types integration tests (#20395) (Nitin Kumar)v10.10.0Compare Source
Features
264b434feat: adddandvflags tono-unexpected-multiline(#21305) (Gihyeon Jeong / 정기현)c6cc6c5feat: checkObject.prototypeproperty names innew-cap(#21269) (crimsonjay0)5661fa6feat: no-extra-bind false negatives with class fields and static blocks (#21260) (synthex-byte)Bug Fixes
bb47dc6fix: update dependency file-entry-cache to v11 (#20801) (Milos Djermanovic)427ac0afix: use format strings in debug calls (#21247) (Francesco Trotta)9d81532fix: support__proto__in/* exported */comments ([#21261](hConfiguration
📅 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.