Sourced from @playwright/test
's\nreleases.
\n\nv1.44.0
\nNew APIs
\nAccessibility assertions
\n\n
\n- \n
\nexpect(locator).toHaveAccessibleName()\nchecks if the element has the specified accessible name:
\n\nconst locator = page.getByRole('button');\nawait expect(locator).toHaveAccessibleName('Submit');\n
- \n
\nexpect(locator).toHaveAccessibleDescription()\nchecks if the element has the specified accessible description:
\n\nconst locator = page.getByRole('button');\nawait expect(locator).toHaveAccessibleDescription('Upload a photo');\n
- \n
\nexpect(locator).toHaveRole()\nchecks if the element has the specified ARIA role:
\n\nconst locator = page.getByTestId('save-button');\nawait expect(locator).toHaveRole('button');\n
Locator handler
\n\n
\n- After executing the handler added with page.addLocatorHandler(),\nPlaywright will now wait until the overlay that triggered the handler is\nnot visible anymore. You can opt-out of this behavior with the new\n
\nnoWaitAfter
option.- You can use new
\ntimes
option in page.addLocatorHandler()\nto specify maximum number of times the handler should be run.- The handler in page.addLocatorHandler()\nnow accepts the locator as argument.
\n- New page.removeLocatorHandler()\nmethod for removing previously added locator handlers.
\n\nconst locator = page.getByText('This interstitial\ncovers the button');\nawait page.addLocatorHandler(locator, async overlay => {\n await overlay.locator('#close').click();\n}, { times: 3, noWaitAfter: true });\n// Run your tests that can be interrupted by the overlay.\n// ...\nawait page.removeLocatorHandler(locator);\n
Miscellaneous options
\n\n
\n\n- \n
\n\n
multipart
\noption inapiRequestContext.fetch()
now acceptsFormData
\nand supports repeating fields with the same name.\nconst formData = new FormData();\nformData.append('file', new File(['let x = 2024;'], 'f1.js', { type:\n'text/javascript' }));\nformData.append('file', new File(['hello'], 'f2.txt', { type:\n'text/plain' }));\ncontext.request.post('https://example.com/uploadFiles', {\n multipart: formData\n
... (truncated)
\na6aa50b
\nchore: set version to 1.44.0 (#30680)54c157d
\ncherry-pick(#30677):\nchore: print resolved host in the http server te… (#30679)2d437e8
\ncherry-pick(#30646):\nfeat(chromium): roll to r1117 (#30652)7637399
\ncherry-pick(#30636):\nfix(role): extract tagName safely (#30639)9e091e7
\ncherry-pick(#30611):\nchore: add common env vars for junit and json re… (#30624)154694b
\nchore: update playwright-browsers to Mar 19 (#30599)fa7d4e5
\ndocs: releae notes 1.44 for js (#30596)b9f70f4
\ndocs(junit): document existing options and env (#30595)fb90797
\nfix(last-run): remove globalOutputDir (#30571)96f3d19
\nfeat(ctrl_or_meta): add a universal ctrl-meta modifier (#30572)Sourced from @argos-ci/playwright
's\nreleases.
\n\n\n
@argos-ci/playwright
@3
.0.23.0.2\n(2024-05-04)
\nNote: Version bump only for package\n
\n@argos-ci/playwright
Sourced from @argos-ci/playwright
's\nchangelog.
\n\n3.0.2\n(2024-05-04)
\nNote: Version bump only for package\n
\n@argos-ci/playwright
5b18339
\nPublishSourced from @octokit/webhooks
's\nreleases.
\n\nv13.2.7
\n13.2.7\n(2024-05-06)
\nBug Fixes
\n\n
c9b988d
\nfix: explicitly check that request.body
is a string (#1010)4e778f9
\nbuild(deps): lock file maintenance (#1011)Sourced from @octokit/graphql-schema
's\nreleases.
\n\nv15.15.0
\n15.15.0\n(2024-05-02)
\nFeatures
\n\n
df869bd
\nfeat: codeScanning
for repository rules (#940)7ca35c6
\nbuild(deps): lock file maintenanceSourced from eslint's\nreleases.
\n\n\nv9.2.0
\nFeatures
\n\n
\n- \n
8485d76
\nfeat:no-case-declarations
add suggestions (#18388)\n(Josh Goldberg ✨)- \n
a498f35
\nfeat: update Unicode letter detection in capitalized-comments rule (#18375)\n(Francesco Trotta)Bug Fixes
\n\nDocumentation
\n\n
\n- \n
0f5df50
\ndocs: Update README (GitHub Actions Bot)- \n
1579ce0
\ndocs: update wording regarding indirect eval (#18394)\n(Kirk Waiblinger)- \n
f12a02c
\ndocs: update to eslint v9 in custom-rule-tutorial (#18383)\n(唯然)Chores
\n\n
\n- \n
b346605
\nchore: upgrade@eslint/js
@9
.2.0 (#18413)\n(Milos Djermanovic)- \n
c4c18e0
\nchore: package.json update for@eslint/js
release\n(Jenkins)- \n
284722c
\nchore: package.json update for eslint-config-eslint release\n(Jenkins)- \n
347d44f
\nchore: remove eslintrc export from eslint-config-eslint (#18400)\n(Milos Djermanovic)- \n
f316e20
\nci: run tests in Node.js 22 (#18393)\n(Francesco Trotta)
Sourced from eslint's\nchangelog.
\n\n\nv9.2.0 - May 3, 2024
\n\n
\n- \n
b346605
\nchore: upgrade@eslint/js
@9
.2.0 (#18413)\n(Milos Djermanovic)- \n
c4c18e0
\nchore: package.json update for@eslint/js
release\n(Jenkins)- \n
284722c
\nchore: package.json update for eslint-config-eslint release\n(Jenkins)- \n
0f5df50
\ndocs: Update README (GitHub Actions Bot)- \n
347d44f
\nchore: remove eslintrc export from eslint-config-eslint (#18400)\n(Milos Djermanovic)- \n
8485d76
\nfeat:no-case-declarations
add suggestions (#18388)\n(Josh Goldberg ✨)- \n
a498f35
\nfeat: update Unicode letter detection in capitalized-comments rule (#18375)\n(Francesco Trotta)- \n
1579ce0
\ndocs: update wording regarding indirect eval (#18394)\n(Kirk Waiblinger)- \n
f316e20
\nci: run tests in Node.js 22 (#18393)\n(Francesco Trotta)- \n
eeec413
\nfix: do not throw when defining a global named\ndefineSetter (#18364)\n(唯然)- \n
f12a02c
\ndocs: update to eslint v9 in custom-rule-tutorial (#18383)\n(唯然)
271e7ab
\n9.2.0989ac9d
\nBuild: changelog update for 9.2.0b346605
\nchore: upgrade @eslint/js
@9
.2.0 (#18413)c4c18e0
\nchore: package.json update for @eslint/js
release284722c
\nchore: package.json update for eslint-config-eslint release0f5df50
\ndocs: Update README347d44f
\nchore: remove eslintrc export from eslint-config-eslint (#18400)8485d76
\nfeat: no-case-declarations
add suggestions (#18388)a498f35
\nfeat: update Unicode letter detection in capitalized-comments rule (#18375)1579ce0
\ndocs: update wording regarding indirect eval (#18394)