Title: Bump @playwright/test from 1.60.0 to 1.61.1 in /js by dependabot[bot] · Pull Request #50 · python-project-templates/python-template-cppjswasm · GitHub
Open Graph Title: Bump @playwright/test from 1.60.0 to 1.61.1 in /js by dependabot[bot] · Pull Request #50 · python-project-templates/python-template-cppjswasm
X Title: Bump @playwright/test from 1.60.0 to 1.61.1 in /js by dependabot[bot] · Pull Request #50 · python-project-templates/python-template-cppjswasm
Description: Bumps @playwright/test from 1.60.0 to 1.61.1.
Release notes
Sourced from @playwright/test's releases.
v1.61.1
Bug Fixes
#41365 [Bug]: Expect.Extend matcher with same name as default matcher in same expect instance overrides default matchers implementation to custom matcher
#41351 [Bug]: Playwright UI mode: apiRequestContext._wrapApiCall reports unexpected number of bytes (same test passes in headed mode)
#41360 [Bug]: Trace viewer: message times in websockets are downscaled by 1000
#41311 [Bug]: [Regression]: Sync loader throws "context.conditions?.includes is not a function" on Node 22.15
#41371 [Regression]: Sync ESM loader (registerHooks) fails to resolve extensionless .ts subpath imports across pnpm workspace symlinks
v1.61.0
🔑 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:
const context = await browser.newContext();
// Seed a passkey your backend provisioned for a test user.
await context.credentials.create('example.com', {
id: credentialId,
userHandle,
privateKey,
publicKey,
});
await context.credentials.install();
const page = await context.newPage();
await page.goto('https://example.com/login');
// The page's navigator.credentials.get() is answered with the seeded passkey.
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:
await page.localStorage.setItem('token', 'abc');
const token = await page.localStorage.getItem('token');
const items = await page.sessionStorage.items();
New APIs
Network
apiResponse.securityDetails() and apiResponse.serverAddr() mirror the browser-side response.securityDetails() and response.serverAddr().
Browser and Screencast
... (truncated)
Commits
39e3553 cherry-pick(#41399): fix(test): load require-reached files as commonjs in syn...
4328122 chore: mark v1.61.1 (#41404)
2c29a94 fix(tracing): stop recording websocket frames outside of chunks (#41398)
4324b19 cherry-pick(#41367): fix(test): keep builtin expect matchers on base extend
041e7e3 cherry-pick(#41364): fix(har): WebSocket message timestamps should be in mi...
b8a0fc3 cherry-pick(#41309, #43149): Revert "fix(firefox): treat `navigationCommitted...
b5a3175 cherry-pick(#41319): fix(loader): support other node versions
d4724a9 cherry-pick(#41290): feat(docker): add Ubuntu 26.04 (Resolute Raccoon) image
1cc5a90 cherry-pick(#41295): chore: PLAYWRIGHT_TRACING_NO_WEBSOCKET_FRAMES and PLAYWR...
a6772bd cherry-pick(#41280): Revert "fix(trace-viewer): add keyboard navigation to `N...
Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show
Open Graph Description: Bumps @playwright/test from 1.60.0 to 1.61.1. Release notes Sourced from @playwright/test's releases. v1.61.1 Bug Fixes #41365 [Bug]: Expect.Extend matcher with same name as default matcher...
X Description: Bumps @playwright/test from 1.60.0 to 1.61.1. Release notes Sourced from @playwright/test's releases. v1.61.1 Bug Fixes #41365 [Bug]: Expect.Extend matcher with same name as default mat...
Opengraph URL: https://github.com/python-project-templates/python-template-cppjswasm/pull/50
X: @github
Domain: www.github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:5570539e-4245-b99d-0cb5-cb0af0dc58fe |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 94A0:315C2A:3614502:4AF7BA1:6A6336B1 |
| html-safe-nonce | 9948cdd8b10c6291003827645817aa42c2c60106991192b146662c4586fd681b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NEEwOjMxNUMyQTozNjE0NTAyOjRBRjdCQTE6NkE2MzM2QjEiLCJ2aXNpdG9yX2lkIjoiODUxNjAzNTI4NzcwNTY2MzE1MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | f8a36938597f3a3d42575ee9fc273327367c3210bc822be6a9ac8a31b6fd0d7a |
| hovercard-subject-tag | pull_request:3967261140 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python-project-templates/python-template-cppjswasm/pull/50/files |
| twitter:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| og:image:alt | Bumps @playwright/test from 1.60.0 to 1.61.1. Release notes Sourced from @playwright/test's releases. v1.61.1 Bug Fixes #41365 [Bug]: Expect.Extend matcher with same name as default matcher... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 59e55daad7174ca59d63c6974d58276ccb5477442e550bebb3c035e1bef11c94 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/python-project-templates/python-template-cppjswasm git https://github.com/python-project-templates/python-template-cppjswasm.git |
| octolytics-dimension-user_id | 137446063 |
| octolytics-dimension-user_login | python-project-templates |
| octolytics-dimension-repository_id | 1157315076 |
| octolytics-dimension-repository_nwo | python-project-templates/python-template-cppjswasm |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1157315076 |
| octolytics-dimension-repository_network_root_nwo | python-project-templates/python-template-cppjswasm |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 990295d92a4cc7b63fbbd83a046217cd7d77d49c |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width