renovate[bot]
8ef79cf4fb
chore(deps): update playwright ( #30367 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev )
([source](https://redirect.github.com/microsoft/playwright )) |
[`^1.51.1` ->
`^1.52.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.1/1.52.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| mcr.microsoft.com/playwright | `v1.51.1` -> `v1.52.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| final | minor |
---
### Release Notes
<details>
<summary>microsoft/playwright (@​playwright/test)</summary>
###
[`v1.52.0`](https://redirect.github.com/microsoft/playwright/compare/v1.51.1...471930b1ceae03c9e66e0eb80c1364a1a788e7db )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.51.1...v1.52.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com >
2025-04-29 17:25:36 +00:00
renovate[bot]
c63ec2e98d
chore(deps): update playwright ( #29840 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[@axe-core/playwright](https://redirect.github.com/dequelabs/axe-core-npm )
| [`^4.10.0` ->
`^4.10.1`](https://renovatebot.com/diffs/npm/@axe-core%2fplaywright/4.10.0/4.10.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@playwright/test](https://playwright.dev )
([source](https://redirect.github.com/microsoft/playwright )) |
[`^1.46.1` ->
`^1.51.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.46.1/1.51.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| mcr.microsoft.com/playwright | `v1.46.1` -> `v1.51.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| final | minor |
---
### Release Notes
<details>
<summary>dequelabs/axe-core-npm (@​axe-core/playwright)</summary>
###
[`v4.10.1`](https://redirect.github.com/dequelabs/axe-core-npm/blob/HEAD/CHANGELOG.md#4101-2024-10-29 )
[Compare
Source](https://redirect.github.com/dequelabs/axe-core-npm/compare/v4.10.0...v4.10.1 )
##### Bug Fixes
- Update axe-core to v4.10.1
([#​1124](https://redirect.github.com/dequelabs/axe-core-npm/issues/1124 ))
([099818b](099818bcef ))
- Update axe-core to v4.10.2
([#​1128](https://redirect.github.com/dequelabs/axe-core-npm/issues/1128 ))
([aaaa34e](aaaa34e7c3 ))
</details>
<details>
<summary>microsoft/playwright (@​playwright/test)</summary>
###
[`v1.51.0`](https://redirect.github.com/microsoft/playwright/compare/v1.50.1...3707a93754368ec1e0e2876767e8a9209f036f8a )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.50.1...v1.51.0 )
###
[`v1.50.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.50.1 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.50.0...v1.50.1 )
##### Highlights
[https://github.com/microsoft/playwright/issues/34483 ](https://redirect.github.com/microsoft/playwright/issues/34483 )
- \[Feature]: single aria snapshot for different
engines/browsers[https://github.com/microsoft/playwright/issues/34497 ](https://redirect.github.com/microsoft/playwright/issues/34497 )7
- \[Bug]: Firefox not handling keepalive: true fetch
request[https://github.com/microsoft/playwright/issues/34504 ](https://redirect.github.com/microsoft/playwright/issues/34504 )04
- \[Bug]: update snapshots not creating good
dif[https://github.com/microsoft/playwright/issues/34507 ](https://redirect.github.com/microsoft/playwright/issues/34507 )507
- \[Bug]: snapshotPathTemplate doesnt work when multiple
proje[https://github.com/microsoft/playwright/issues/34462 ](https://redirect.github.com/microsoft/playwright/issues/34462 )4462
- \[Bug]: updateSnapshots "changed" throws an error
#### Browser Versions
- Chromium 133.0.6943.16
- Mozilla Firefox 134.0
- WebKit 18.2
This version was also tested against the following stable channels:
- Google Chrome 132
- Microsoft Edge 132
###
[`v1.50.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.50.0 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.49.1...v1.50.0 )
#### Test runner
- New option
[`timeout`](https://playwright.dev/docs/api/class-test#test-step-option-timeout )
allows specifying a maximum run time for an individual test step. A
timed-out step will fail the execution of the test.
```js
test('some test', async ({ page }) => {
await test.step('a step', async () => {
// This step can time out separately from the test
}, { timeout: 1000 });
});
```
- New method
[test.step.skip()](https://playwright.dev/docs/api/class-test#test-step-skip )
to disable execution of a test step.
```js
test('some test', async ({ page }) => {
await test.step('before running step', async () => {
// Normal step
});
await test.step.skip('not yet ready', async () => {
// This step is skipped
});
await test.step('after running step', async () => {
// This step still runs even though the previous one was skipped
});
});
```
- Expanded
[expect(locator).toMatchAriaSnapshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot-2 )
to allow storing of aria snapshots in separate YAML files.
- Added method
[expect(locator).toHaveAccessibleErrorMessage()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-error-message )
to assert the Locator points to an element with a given [aria
errormessage](https://w3c.github.io/aria/#aria-errormessage ).
- Option
[testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots )
added the configuration enum `changed`. `changed` updates only the
snapshots that have changed, whereas `all` now updates all snapshots,
regardless of whether there are any differences.
- New option
[testConfig.updateSourceMethod](https://playwright.dev/docs/api/class-testconfig#test-config-update-source-method )
defines the way source code is updated when
[testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots )
is configured. Added `overwrite` and `3-way` modes that write the
changes into source code, on top of existing `patch` mode that creates a
patch file.
```bash
npx playwright test --update-snapshots=changed
--update-source-method=3way
```
- Option
[testConfig.webServer](https://playwright.dev/docs/api/class-testconfig#test-config-web-server )
added a `gracefulShutdown` field for specifying a process kill signal
other than the default `SIGKILL`.
- Exposed
[testStep.attachments](https://playwright.dev/docs/api/class-teststep#test-step-attachments )
from the reporter API to allow retrieval of all attachments created by
that step.
- New option `pathTemplate` for `toHaveScreenshot` and
`toMatchAriaSnapshot` assertions in the
[testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect )
configuration.
#### UI updates
- Updated default HTML reporter to improve display of attachments.
- New button for picking elements to produce aria snapshots.
- Additional details (such as keys pressed) are now displayed alongside
action API calls in traces.
- Display of `canvas` content in traces is error-prone. Display is now
disabled by default, and can be enabled via the `Display canvas content`
UI setting.
- `Call` and `Network` panels now display additional time information.
#### Breaking
-
[expect(locator).toBeEditable()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-editable )
and
[locator.isEditable()](https://playwright.dev/docs/api/class-locator#locator-is-editable )
now throw if the target element is not `<input>`, `<select>`, or a
number of other editable elements.
- Option
[testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots )
now updates all snapshots when set to `all`, rather than only the
failed/changed snapshots. Use the new enum `changed` to keep the old
functionality of only updating the changed snapshots.
#### Browser Versions
- Chromium 133.0.6943.16
- Mozilla Firefox 134.0
- WebKit 18.2
This version was also tested against the following stable channels:
- Google Chrome 132
- Microsoft Edge 132
###
[`v1.49.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.49.1 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.49.0...v1.49.1 )
##### Highlights
[https://github.com/microsoft/playwright/issues/33802 ](https://redirect.github.com/microsoft/playwright/issues/33802 )
- \[Bug]: Codegen's Clear button doesn't work if not
recording[https://github.com/microsoft/playwright/issues/33806 ](https://redirect.github.com/microsoft/playwright/issues/33806 )6
- \[Bug]: playwright hangs while waiting for pending
navigation[https://github.com/microsoft/playwright/issues/33787 ](https://redirect.github.com/microsoft/playwright/issues/33787 )87
- \[Bug]: VSC extension isn't capturing all entered
te[https://github.com/microsoft/playwright/issues/33788 ](https://redirect.github.com/microsoft/playwright/issues/33788 )788
- \[Regression]: Double clicking the steps in trace viewer doesn't
filter
acti[https://github.com/microsoft/playwright/issues/33772 ](https://redirect.github.com/microsoft/playwright/issues/33772 )3772
- \[Bug]: aria_snapshot generates invalid yaml when combined with an
aria-label
attr[https://github.com/microsoft/playwright/issues/33791 ](https://redirect.github.com/microsoft/playwright/issues/33791 )33791
- \[Bug]: text input with number value raises "container is not
iterable" with
to_match_aria_sna[https://github.com/microsoft/playwright/issues/33644 ](https://redirect.github.com/microsoft/playwright/issues/33644 )/33644
- \[Bug]: getByRole can't find element with the accessible name from
label element when aria-labelledby is
not[https://github.com/microsoft/playwright/issues/33660 ](https://redirect.github.com/microsoft/playwright/issues/33660 )s/33660
- \[Regression]: Unable to open Playwright UI in Dark Mode
#### Browser Versions
- Chromium 131.0.6778.33
- Mozilla Firefox 132.0
- WebKit 18.2
This version was also tested against the following stable channels:
- Google Chrome 130
- Microsoft Edge 130
###
[`v1.49.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.49.0 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.48.2...v1.49.0 )
#### Aria snapshots
New assertion
[expect(locator).toMatchAriaSnapshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot )
verifies page structure by comparing to an expected accessibility tree,
represented as YAML.
```js
await page.goto('https://playwright.dev ');
await expect(page.locator('body')).toMatchAriaSnapshot(`
- banner:
- heading /Playwright enables reliable/ [level=1]
- link "Get started"
- link "Star microsoft/playwright on GitHub"
- main:
- img "Browsers (Chromium, Firefox, WebKit)"
- heading "Any browser • Any platform • One API"
`);
```
You can generate this assertion with [Test
Generator](https://playwright.dev/docs/codegen ) and update the expected
snapshot with `--update-snapshots` command line flag.
Learn more in the [aria snapshots
guide](https://playwright.dev/docs/aria-snapshots ).
#### Test runner
- New option
[testConfig.tsconfig](https://playwright.dev/docs/api/class-testconfig#test-config-tsconfig )
allows to specify a single `tsconfig` to be used for all tests.
- New method
[test.fail.only()](https://playwright.dev/docs/api/class-test#test-fail-only )
to focus on a failing test.
- Options
[testConfig.globalSetup](https://playwright.dev/docs/api/class-testconfig#test-config-global-setup )
and
[testConfig.globalTeardown](https://playwright.dev/docs/api/class-testconfig#test-config-global-teardown )
now support multiple setups/teardowns.
- New value `'on-first-failure'` for
[testOptions.screenshot](https://playwright.dev/docs/api/class-testoptions#test-options-screenshot ).
- Added "previous" and "next" buttons to the HTML report to quickly
switch between test cases.
- New properties
[testInfoError.cause](https://playwright.dev/docs/api/class-testinfoerror#test-info-error-cause )
and
[testError.cause](https://playwright.dev/docs/api/class-testerror#test-error-cause )
mirroring
[`Error.cause`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause ).
#### Breaking: channels `chrome`, `msedge` and similar switch to new
headless
This change affects you if you're using one of the following channels in
your `playwright.config.ts`:
- `chrome`, `chrome-dev`, `chrome-beta`, or `chrome-canary`
- `msedge`, `msedge-dev`, `msedge-beta`, or `msedge-canary`
##### What do I need to do?
After updating to Playwright v1.49, run your test suite. If it still
passes, you're good to go. If not, you will probably need to update your
snapshots, and adapt some of your test code around PDF viewers and
extensions. See [issue
#​33566](https://redirect.github.com/microsoft/playwright/issues/33566 )
for more details.
#### Other breaking changes
- There will be no more updates for WebKit on Ubuntu 20.04 and Debian
11. We recommend updating your OS to a later version.
- Package `@playwright/experimental-ct-vue2` will no longer be updated.
- Package `@playwright/experimental-ct-solid` will no longer be updated.
#### Try new Chromium headless
You can opt into the new headless mode by using `'chromium'` channel. As
[official Chrome documentation puts
it](https://developer.chrome.com/blog/chrome-headless-shell ):
> New Headless on the other hand is the real Chrome browser, and is thus
more authentic, reliable, and offers more features. This makes it more
suitable for high-accuracy end-to-end web app testing or browser
extension testing.
See [issue
#​33566](https://redirect.github.com/microsoft/playwright/issues/33566 )
for the list of possible breakages you could encounter and more details
on Chromium headless. Please file an issue if you see any problems after
opting in.
```js
import { defineConfig, devices } from '@​playwright/test';
export default defineConfig({
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'], channel: 'chromium' },
},
],
});
```
#### Miscellaneous
- `<canvas>` elements inside a snapshot now draw a preview.
- New method
[tracing.group()](https://playwright.dev/docs/api/class-tracing#tracing-group )
to visually group actions in the trace.
- Playwright docker images switched from Node.js v20 to Node.js v22 LTS.
#### Browser Versions
- Chromium 131.0.6778.33
- Mozilla Firefox 132.0
- WebKit 18.2
This version was also tested against the following stable channels:
- Google Chrome 130
- Microsoft Edge 130
###
[`v1.48.2`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.48.2 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.48.1...v1.48.2 )
##### Highlights
[https://github.com/microsoft/playwright/issues/33141 ](https://redirect.github.com/microsoft/playwright/issues/33141 )
- \[Bug]: UI Mode
crashed[https://github.com/microsoft/playwright/issues/33219 ](https://redirect.github.com/microsoft/playwright/issues/33219 )9
- \[BUG] Trace Viewer PWA crashes with "Aw,
Snap86
- \[Bug]: UI Mode Memory
probl[https://github.com/microsoft/playwright/issues/33000 ](https://redirect.github.com/microsoft/playwright/issues/33000 )000
- \[Regression]: Inspector and Browser doesn't close on
CTR[https://github.com/microsoft/playwright/issues/33204 ](https://redirect.github.com/microsoft/playwright/issues/33204 )3204
- \[Bug]: Chrome tab and inspector not closing after terminating session
in terminal
#### Browser Versions
- Chromium 130.0.6723.19
- Mozilla Firefox 130.0
- WebKit 18.0
This version was also tested against the following stable channels:
- Google Chrome 129
- Microsoft Edge 129
###
[`v1.48.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.48.1 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.48.0...v1.48.1 )
##### Highlights
[https://github.com/microsoft/playwright/issues/33023 ](https://redirect.github.com/microsoft/playwright/issues/33023 )
- \[Bug]: command line flag --headed has no effect in ui
mode[https://github.com/microsoft/playwright/issues/33107 ](https://redirect.github.com/microsoft/playwright/issues/33107 )7
- \[REGRESSION]: page.waitForRequest does not get resolved since
1.48.[https://github.com/microsoft/playwright/issues/33085 ](https://redirect.github.com/microsoft/playwright/issues/33085 )85
- \[Bug]: WebSocket route does not handle full URLs in
Playwrig[https://github.com/microsoft/playwright/issues/33052 ](https://redirect.github.com/microsoft/playwright/issues/33052 )052
- \[Regression]: Inspector not showing recorded
st[https://github.com/microsoft/playwright/issues/33132 ](https://redirect.github.com/microsoft/playwright/issues/33132 )3132
- \[Bug]: Wrong Ubuntu release name in
Dockerfile.n[https://github.com/microsoft/playwright/pull/32996 ](https://redirect.github.com/microsoft/playwright/pull/32996 )32996
- \[BUG] Trace attachments have small unusable height
#### Browser Versions
- Chromium 130.0.6723.19
- Mozilla Firefox 130.0
- WebKit 18.0
This version was also tested against the following stable channels:
- Google Chrome 129
- Microsoft Edge 129
###
[`v1.48.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.48.0 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.2...v1.48.0 )
#### WebSocket routing
New methods
[page.routeWebSocket()](https://playwright.dev/docs/api/class-page#page-route-web-socket )
and
[browserContext.routeWebSocket()](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-web-socket )
allow to intercept, modify and mock WebSocket connections initiated in
the page. Below is a simple example that mocks WebSocket communication
by responding to a `"request"` with a `"response"`.
```js
await page.routeWebSocket('/ws', ws => {
ws.onMessage(message => {
if (message === 'request')
ws.send('response');
});
});
```
See
[WebSocketRoute](https://playwright.dev/docs/api/class-websocketroute )
for more details.
#### UI updates
- New "copy" buttons for annotations and test location in the HTML
report.
- Route method calls like
[route.fulfill()](https://playwright.dev/docs/api/class-route#route-fulfill )
are not shown in the report and trace viewer anymore. You can see which
network requests were routed in the network tab instead.
- New "Copy as cURL" and "Copy as fetch" buttons for requests in the
network tab.
#### Miscellaneous
- Option
[`form`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-form )
and similar ones now accept
[FormData](https://playwright.dev/docs/api/class-formdata ).
- New method
[page.requestGC()](https://playwright.dev/docs/api/class-page#page-request-gc )
may help detect memory leaks.
- New option
[`location`](https://playwright.dev/docs/api/class-test#test-step-option-location )
to pass custom step location.
- Requests made by
[APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext )
now record detailed timing and security information in the HAR.
#### Browser Versions
- Chromium 130.0.6723.19
- Mozilla Firefox 130.0
- WebKit 18.0
This version was also tested against the following stable channels:
- Google Chrome 129
- Microsoft Edge 129
###
[`v1.47.2`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.47.2 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.1...v1.47.2 )
##### Highlights
[https://github.com/microsoft/playwright/pull/32699 ](https://redirect.github.com/microsoft/playwright/pull/32699 )-
\[REGRESSION]: fix(codegen): use content_frame property in
python/.NET[https://github.com/microsoft/playwright/issues/32706 ](https://redirect.github.com/microsoft/playwright/issues/32706 )6-
\[REGRESSION]: page.pause() does not pause test timeout after
1.4[https://github.com/microsoft/playwright/pull/32661 ](https://redirect.github.com/microsoft/playwright/pull/32661 )61
- fix(trace-viewer): time delta between local and remote actions
#### Browser Versions
- Chromium 129.0.6668.29
- Mozilla Firefox 130.0
- WebKit 18.0
This version was also tested against the following stable channels:
- Google Chrome 128
- Microsoft Edge 128
###
[`v1.47.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.47.1 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.47.0...v1.47.1 )
##### Highlights
[https://github.com/microsoft/playwright/issues/32480 ](https://redirect.github.com/microsoft/playwright/issues/32480 )
- \[REGRESSION]: tsconfig.json's compilerOptions.paths no longer working
in
1.47[https://github.com/microsoft/playwright/issues/32552 ](https://redirect.github.com/microsoft/playwright/issues/32552 )2
- \[REGRESSION]: broken UI in Trace Viewer while showing network
response body
#### Browser Versions
- Chromium 129.0.6668.29
- Mozilla Firefox 130.0
- WebKit 18.0
This version was also tested against the following stable channels:
- Google Chrome 128
- Microsoft Edge 128
###
[`v1.47.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.47.0 )
[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...v1.47.0 )
#### Network Tab improvements
The Network tab in the UI mode and trace viewer has several nice
improvements:
- filtering by asset type and URL
- better display of query string parameters
- preview of font assets

Credit to [@​kubajanik](https://redirect.github.com/kubajanik ) for
these wonderful improvements!
#### `--tsconfig` CLI option
By default, Playwright will look up the closest tsconfig for each
imported file using a heuristic. You can now specify a single tsconfig
file in the command line, and Playwright will use it for all imported
files, not only test files:
```sh
### Pass a specific tsconfig
npx playwright test --tsconfig tsconfig.test.json
```
####
[APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext )
now accepts
[`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams )
and `string` as query parameters
You can now pass
[`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams )
and `string` as query parameters to
[APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext ):
```ts
test('query params', async ({ request }) => {
const searchParams = new URLSearchParams();
searchParams.set('userId', 1);
const response = await request.get(
'https://jsonplaceholder.typicode.com/posts ',
{
params: searchParams // or as a string: 'userId=1'
}
);
// ...
});
```
#### Miscellaneous
- The `mcr.microsoft.com/playwright:v1.47.0` now serves a Playwright
image based on Ubuntu 24.04 Noble.
To use the 22.04 jammy-based image, please use
`mcr.microsoft.com/playwright:v1.47.0-jammy` instead.
- The `:latest`/`:focal`/`:jammy` tag for Playwright Docker images is no
longer being published. Pin to a specific version for better stability
and reproducibility.
- New option `behavior` in
[page.removeAllListeners()](https://playwright.dev/docs/api/class-page#page-remove-all-listeners ),
[browser.removeAllListeners()](https://playwright.dev/docs/api/class-browser#browser-remove-all-listeners )
and
[browserContext.removeAllListeners()](https://playwright.dev/docs/api/class-browsercontext#browser-context-remove-all-listeners )
to wait for ongoing listeners to complete.
- TLS client certificates can now be passed from memory by passing
`cert` and `key` as buffers instead of file paths.
- Attachments with a `text/html` content type can now be opened in a new
tab in the HTML report. This is useful for including third-party reports
or other HTML content in the Playwright test report and distributing it
to your team.
- `noWaitAfter` in
[locator.selectOption()](https://playwright.dev/docs/api/class-locator#locator-select-option )
was deprecated.
- We've seen reports of WebGL in Webkit misbehaving on GitHub Actions
`macos-13`. We recommend upgrading GitHub Actions to `macos-14`.
#### Browser Versions
- Chromium 129.0.6668.29
- Mozilla Firefox 130.0
- WebKit 18.0
This version was also tested against the following stable channels:
- Google Chrome 128
- Microsoft Edge 128
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzkuMjAwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com >
2025-03-14 16:54:45 +00:00
Liam DeBeasi
15e368c378
feat(theme): improved color contrast with color palette ( #28791 )
...
Issue number: Internal
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
The team would like to ensure that Ionic Framework components that use
an Ionic color (primary, secondary, etc) on top of a contrast color pass
minimum contrast ratios as defined in the WCAG.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- Introduces a revised set of Ionic colors that pass AA color contrast
guidelines when with the appropriate contrast.
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!--
If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer
for more information.
-->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
---------
Co-authored-by: Sean Perkins <13732623+sean-perkins@users.noreply.github.com >
Co-authored-by: Brandy Carney <brandy@ionic.io >
Co-authored-by: Sean Perkins <sean@ionic.io >
Co-authored-by: Shawn Taylor <shawn@ionic.io >
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com >
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com >
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com >
Co-authored-by: ionitron <hi@ionicframework.com >
2024-01-08 15:30:35 -05:00
Liam DeBeasi
fe47594dc0
feat(title): large title transition supports dynamic font scaling ( #28290 )
...
Issue number: resolves #28351
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
The collapsible large title transition does not support Dynamic Font
Scaling as the position values are all hardcoded. Additionally, I
noticed that the title and the text do not align very well even at the
default font scale.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
I made a few changes to support Dynamic Font Scaling, fix the default
scale alignment, and generally make this code easier to maintain (or at
least I hope it will):
1. Removed most hardcoded values in favor of bounding box calculations.
The hardcoded values that remain have comments explaining what they are.
2. Modified the back button animation so the container handles the
translation and have the back button text animation handle its scale.
Having the back button text handle the translation and the scale at the
same time made it hard to figure out what the correct values should be.
3. Added a lot of comments explaining what we are doing/why
**When the Large Title and Back Button Texts Do Not Match**
| `FW-4146` (default) | branch (default) | `FW-4146` (scaled) | branch
(scale) |
| - | - | - | - |
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/a6261499-c5ca-4ee3-af62-fa124718ca46 "></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/0648c0b1-e1f8-43c1-9e7e-91489cc8ec4a "></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/0def6d88-22d0-48b9-98b3-0ed2bbb407aa "></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/3650ceb1-f4cb-4530-b7c6-17194f4ccd66 "></video>
|
**When the Large Title and Back Button Texts Do Match**
| `FW-4146` (default) | branch (default) | `FW-4146` (scaled) | branch
(scale) |
| - | - | - | - |
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/2b8035a4-81aa-4901-99e1-fd49db1fd0d7 "></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/e3c66978-2015-484e-b337-73ac1c4c02a1 "></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/437483a8-2495-4c54-9c27-47c91af4c562 "></video>
| <video
src="https://github.com/ionic-team/ionic-framework/assets/2721089/05ef08b0-cf0d-469d-8834-533071a8c583 "></video>
|
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
Note that the alignment of the title/button will not exactly match
native iOS. The goal of this PR is to get something that is pretty close
(similar to how it was when we originally implemented this)
---------
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com >
2023-10-13 15:33:42 +00:00
Liam DeBeasi
f8067819ee
feat(a11y): add dynamic font scaling ( #28314 )
...
Issue number: resolves #24638 , resolves #18592
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
Developers have requested that Ionic Framework support the dynamic type
feature on iOS for accessibility purposes. Ionic applications do not
respond to font scaling on iOS which can create inaccessible
applications particularly for users with low vision. Ionic apps on
Android devices currently support the Android equivalent due to
functionality in the Chromium webview.
Developers have also requested a way of adjusting the fonts in their
Ionic UI components consistently.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- Ionic components now use `rem` instead of `px` where appropriate. This
means devs can change the font size on `html` and the text in supported
Ionic components will scale up/down appropriately
- Add support for Dynamic Type on iOS (the iOS version of Dynamic Font
Scaling)
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
---------
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com >
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com >
Co-authored-by: Shawn Taylor <shawn@ionic.io >
Co-authored-by: ionitron <hi@ionicframework.com >
Co-authored-by: Sean Perkins <sean@ionic.io >
Co-authored-by: Sean Perkins <13732623+sean-perkins@users.noreply.github.com >
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com >
2023-10-10 17:38:09 -04:00
Liam DeBeasi
71a7af0f52
fix(title): large title uses custom font on transition ( #28231 )
...
Issue number: N/A
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
When testing Dynamic Font Scaling with a custom font I noticed that the
large title does not respect `--ion-font-family` on transition.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- The cloned large title now respect `--ion-font-family`
Note: This happens in `main` too which is why I am merging into there
instead of the Dynamic Font Scaling branch.
| `main` | branch |
| - | - |
|

|

|
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-09-26 16:12:04 +00:00
Liam DeBeasi
8fa12fc888
fix(title): large title aligns with ios spec ( #27969 )
...
Issue number: resolves #27966
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
The large title on iOS added bottom padding to create space between the
title and the main content. However, this caused tall text to be cut off
on the top.
During development I also noticed that the padding value we were using
does not match the iOS spec.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- The padding is now applied to the toolbar that contains the large
title. The title itself is positioned absolutely so adding
padding/margin to it never actually had the desired effect. What we want
is space between the title and any content in sibling toolbars. All the
padding on the title did was shift content within the title up to give
the impression of space between the title and other content.
- Adjusted the actual padding values to align with the iOS spec
Note: The screenshot diffs here are correct. By adding padding to the
toolbar we are increasing the height of the toolbar by 6px. As noted
above, we never truly had spacing between the large title and the
content since the text inside of the title was just being shifted by 6px
to give the impression of spacing.
Additionally, the padding values were further adjusted to match the iOS
spec:
| native | ionic | diff |
| - | - | - |
|

|

|

|
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
Dev build: `7.2.4-dev.11691683954.1b6ed4bb`
---------
Co-authored-by: ionitron <hi@ionicframework.com >
2023-08-14 13:17:59 +00:00
amandaesmith3
6c68c56a7f
Merge remote-tracking branch 'origin/main' into chore/sync-with-main-6
2023-05-05 13:30:21 -05:00
Liam DeBeasi
c50c43a5a9
test(title): migrate to generators ( #27382 )
...
Issue number: N/A
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
Title tests are using legacy syntax
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- Title tests are using modern syntax
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-05-04 00:05:42 +00:00
Sean Perkins
10d2c75f8d
Merge remote-tracking branch 'origin/main' into chore/sync-with-main-5-3
2023-05-03 13:38:03 -04:00
Liam DeBeasi
4826a3d9f5
test(config): introduce legacy and modern playwright projects ( #27228 )
...
Issue number: N/A
---------
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->
<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
This is the first PR to introduce the infrastructure required to add
test generators to the Ionic Framework project. This PR introduces the
file name changes necessary to support two playwright configs, so I
recommend reviewing the PR by commit:
1e5012cea1
- Created a `playwright.config-legacy.ts` file and updates
`package.json`.
- Running `npm run test.e2e` will run the generator tests, and running
`npm run test.e2e.legacy` will run the legacy tests.
4fe8de7df7
- Updates the GitHub Action scripts to run both the modern and legacy
E2E tests. I added command modifiers to avoid collisions with output
directories.
e8bcfaf926
- Updates `*.e2e.ts` files to have the legacy format name:
`*.e2e-legacy.ts`. This naming scheme is required for the two Playwright
configs to pull in the correct files. When migrating tests to
generators, team members will rename the file to remove the `-legacy`
part.
5bf196c36d
(warning: lots of files!)
- Updates the `*.e2e.ts-snapshots` directories to have the legacy format
name: `*.e2e-legacy.ts-snapshots`. The screenshot directory in
Playwright is generated based on the test file name which is why we are
updating the screenshot directory. When migrating tests to generators,
team members will rename the directory to remove the `-legacy` part.
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-26 18:27:17 +00:00
Maria Hutt
0a0345a84a
refactor(many): use utils import ( #27160 )
2023-04-12 13:25:14 -07:00
ionitron
c3b619f76f
chore(): add updated snapshots
2023-02-22 15:40:01 +00:00
Liam DeBeasi
799871e95d
chore(): sync with main
2023-02-22 10:00:56 -05:00
Liam DeBeasi
804e54e5ca
test(many): migrate to new toHaveScreenshot API ( #26797 )
2023-02-16 11:37:29 -05:00
Liam DeBeasi
b78b454e08
revert(): revert base components feature ( #26692 )
...
The Ionic Framework team would like to re-evaluate our approach to improving customization options when building mobile applications. We are looking at other solutions that a) make customizing an app UI easier and b) are applicable to a broader set of developers.
2023-01-30 11:52:36 -05:00
Liam DeBeasi
18f109c7da
feat(base-components): add ability to remove ios and md theme ( #26669 )
2023-01-24 16:18:35 -05:00
ionitron
20829f54cd
chore(): add updated snapshots
2022-12-20 16:03:24 +00:00
Liam DeBeasi
bd05fccf58
test(config): update to playwright 1.29.0 ( #26388 )
2022-12-20 09:26:51 -05:00
ionitron
839a16f9eb
chore(): add updated snapshots
2022-12-05 16:50:39 +00:00
Amanda Johnston
e344d99426
test(title): migrate to Playwright ( #26286 )
2022-11-15 10:33:22 -06:00
Sean Perkins
15c169043f
chore(docs): remove manual documentation ( #24984 )
2022-04-21 12:31:51 -04:00
Liam DeBeasi
5676bab316
lint(eslint): migrate to eslint and prettier ( #25046 )
2022-04-04 11:12:53 -04:00
amandaesmith3
53d64c1eb8
docs(title): fix typo in usage CSS example ( #23957 )
2021-09-21 08:18:31 -05:00
Brandy Carney
82cfa55653
fix(title): inherit padding for iOS title in a toolbar ( #23343 )
...
resolves #23072
2021-06-03 11:28:57 -04:00
Liam DeBeasi
3d474ec67f
fix(title): large title scale animation is now correct in rtl mode ( #23372 )
...
resolves #23371
2021-05-26 13:40:44 -04:00
Liam DeBeasi
dc430af906
fix(all): reflect color property as an attribute for vue ( #23345 )
...
resolves #23323
2021-05-21 19:26:53 -04:00
Brandy Carney
a9b2260100
test(core): add lang attr to html tag to resolve axe errors ( #22410 )
2020-11-02 17:08:03 -05:00
Liam DeBeasi
db2cac20fb
docs(vue): update component usage examples for vue 3 ( #22050 )
2020-09-11 13:48:21 -04:00
Adam Bradley
753fd2f910
chore(colorClass): update createColorClasses() for ts4 ( #21896 )
...
Change the createColorClasses() fn so the returned type and jsx class property work well with typescript 4
2020-08-10 09:18:41 -05:00
Liam DeBeasi
dbe6853884
fix(title): allow overriding of large title transform origin ( #21770 )
...
resolves #21761
2020-07-20 13:40:27 -04:00
Liam DeBeasi
60be68ca6d
docs(title): clarify background-color styling with collapsible large title ( #21348 )
2020-05-20 12:58:24 -04:00
Brandy Carney
687122127c
docs(stencil): add stencil usage to components ( #21261 )
2020-05-12 20:35:48 -04:00
Liam DeBeasi
794c3d4e96
fix(title): large title now inherits global color styling during nav transition ( #20862 )
2020-03-25 12:14:26 -04:00
Liam DeBeasi
dbccf8dd77
docs(title): update button example with large title ( #20222 )
...
fixes #20217
2020-01-17 10:04:37 -05:00
Liam DeBeasi
7734d27bc2
docs(title): update large title docs to mention translucent and fullscreen requirements ( #19956 )
...
fixes #19483
2019-11-20 15:34:54 -05:00
Liam DeBeasi
f0e4215f41
docs(header): add collapse header styling details ( #19669 )
...
* update large title styles
* add missing space
2019-10-17 14:19:33 -04:00
Brandy Carney
3dd5f05760
feat(components): cascade mode from parent to child components ( #19369 )
...
fixes #18285
2019-10-10 14:34:16 -04:00
Liam DeBeasi
e90e960294
chore(header): finalize collapse API ( #19276 )
...
* make requested changes
* add e2e
* add RTL support
* fix typo
* add info on how to make collapsable title
* add usage examples
* fix typo
* fix another typo
* fix typos
* update usage
* fix alpha order
* update api
* add class to collapse buttons
* merge
* update
* change back to collapse
* remove platform specific class
* update docs
* run build
* update api again
* run build
2019-09-24 18:00:03 +01:00
Brandy Carney
e27962dcaf
feat(title): add support for small title ( #19215 )
...
Updates title to include `small` size and updates searchbar and UI to match native.
closes #18898
2019-09-05 17:32:19 -04:00
Liam DeBeasi
923312ecd5
feat(title): add large iOS toolbar title ( #19268 )
...
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com >
2019-09-04 11:38:48 -04:00
Manu MA
e82648bda2
refactor(all): update to one (part 3) ( #18874 )
2019-07-25 20:22:44 +02:00
Manu MA
34dfc3ce98
refactor(all): updating to newest stencil apis ( #18578 )
...
* chore(): update ionicons
* refactor(all): updating to newest stencil apis
* fix lint issues
* more changes
* moreee
* fix treeshaking
* fix config
* fix checkbox
* fix stuff
* chore(): update ionicons
* fix linting errors
2019-06-23 11:26:42 +02:00
Manu MA
b40f7d36d5
fix(): update to Stencil One 🎉 🎊
2019-06-19 21:33:50 +02:00
Brandy Carney
fa87e35a05
fix(toolbar): update md toolbar button spacing and padding to match spec ( #17537 )
...
- Removes the padding from the main toolbar and individually style the components inside of it
- Adds a `has-icon-only` class to button, this is used to switch between `unbounded` and `bounded` ripples on buttons in a toolbar. If the button is clear and only has an icon, we use the unbounded "circular" ripple effect, otherwise still use the bounded one. This matches the MD spec, without making the other buttons look off.
- Using the class above, style the button differently to match the MD spec
- Updates the back button and menu button to use the proper size / icon size
- Removes the opacity on an activated back button, it should use the ripple for activated
- Moves the margin to the slots in a toolbar by grabbing the "first" and "last" slot and applying a class to them
- Makes the segment in a toolbar use the min height from the toolbar
- Updates the back button so that it matches the MD spec
- Updates the header box shadow to use the old v3 datauri
fixes #16950 fixes #14444
2019-05-17 14:54:21 -04:00
Brandy Carney
e5c8c10029
fix(components): include mode classes on components for use in shadow ( #17838 )
...
- removes mode-less component classes from the internal CSS, use element instead
- adds mode specific classes `md` or `ios` for styling inside of shadow components
- adds e2e test that verifies mode classes exist on all ionic components, plus checks for specific classes that the components need for internal styling
fixes #17608
2019-04-16 17:28:21 -04:00
Manu MA
6b7f8ae201
chore(): update stencil ( #16506 )
2018-11-29 18:54:51 +01:00
Manu MA
ecc2c55370
docs(all): possible values are extracted by stencil ( #16190 )
...
* docs(all): possible values are extracted by stencil
* add defaults
* remove all hardcoded defaults
* update stencil
2018-11-02 00:06:40 +01:00
Manu MA
fce30ebc06
fix(color): edge currentColor bug ( #16177 )
...
fixes #16168
2018-11-01 12:14:31 -05:00
Manu Mtz.-Almeida
3a4b21457f
chore(): update stencil
2018-10-12 11:44:43 -05:00