Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] tags API #23180

Closed
vitalets opened this issue May 20, 2023 · 7 comments · Fixed by #29248
Closed

[Feature] tags API #23180

vitalets opened this issue May 20, 2023 · 7 comments · Fixed by #29248
Assignees
Labels
feature-test-runner Playwright test specific issues v1.42

Comments

@vitalets
Copy link
Contributor

Currently adding tags is only possible by inserting them into test title, e.g.:

test('Test login page @fast @mobile', async ({ page }) => {
  // ...
});

It may have some downsides for reporting when you get very long titles, see #17375

Suggestion is to introduce test.tags() method that will add tags to current test without altering the title:

test.tags('@fast', '@mobile');
test('Test login page', async ({ page }) => {
  // ...
});
@gskierk
Copy link

gskierk commented May 20, 2023

I'm posting how this is solved in Cypress for a quick reference.

// ...
it('works as an array', { tags: ['config', 'some-other-tag'] }, () => {
  expect(true).to.be.true
})
// ...

Source: https://github.com/cypress-io/cypress/tree/develop/npm/grep

@dgozman dgozman added the feature-test-runner Playwright test specific issues label May 23, 2023
@Kranael
Copy link

Kranael commented May 31, 2023

I would also prefer:

test.tags('@fast', '@mobile');
test('Test login page', async ({ page }) => {
  // ...
});

instead of:

// ...
it('works as an array', { tags: ['config', 'some-other-tag'] }, () => {
  expect(true).to.be.true
})
// ...

because in cypress solution its again in the "testtitle" or lets say the same line ofc you can break the line here but you would have just have a ugly looking async function instead.

also test.tags is really great to reminding instead of a object passed in the testfunction as argument

@gskierk
Copy link

gskierk commented May 31, 2023

If anyone is in a rush with separating tags and the title in spec files, tests could also be decorated in this way with a bit of custom code.

tags(['@describe']).describe('describe', async () => {
  tags(['@test']).test('test', async () => {})
})

I wonder if it's even possible to code this feature exactly as suggested.

@Kranael
Copy link

Kranael commented May 31, 2023

If anyone is in a rush with separating tags and the title in spec files, tests could also be decorated in this way with a bit of custom code.

tags(['@describe']).describe('describe', async () => {
  tags(['@test']).test('test', async () => {})
})

I wonder if it's even possible to code this feature exactly as suggested.

Thats really wierd. I thought evertime for now that "tags" are under the suite coded. but here "tags" are a class above "describe"? But really hope here for native solution like described above.

@brunojbarros
Copy link

I estimate that the new tag syntax will not break the existing tags, but will be weird to find some tests using:

test.tags('@fast', '@mobile');
test('Test login page', async ({ page }) => {
  // ...
});

And others with:

test('Test login page @fast @mobile', async ({ page }) => {
  // ...
});

Is there going to be a way to update old tests to use the new syntax via some command? For instance, --update-tags

@MindaugasMateika
Copy link
Contributor

The way Playwright works, this solution will require putting all tests in describe blocks if multiple tests will have different tags in the spec file. It will be a bit annoying.

test.tags('@fast', '@mobile');
test('Test login page', async ({ page }) => {
  // ...
});

@vitalets
Copy link
Contributor Author

The way Playwright works, this solution will require putting all tests in describe blocks if multiple tests will have different tags in the spec file. It will be a bit annoying.

test.tags('@fast', '@mobile');
test('Test login page', async ({ page }) => {
  // ...
});

@dgozman could you open some details how tags API will look like, if you already agreed on that? :)

@mxschmitt mxschmitt added v1.42 and removed v1.41 labels Dec 12, 2023
@mxschmitt mxschmitt assigned dgozman and unassigned mxschmitt Jan 22, 2024
@dgozman dgozman closed this as completed in 3331a40 Feb 8, 2024
renovate bot added a commit to fwouts/previewjs that referenced this issue Feb 27, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`^1.41.2` ->
`^1.42.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [playwright](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`^1.41.2` ->
`^1.42.0`](https://renovatebot.com/diffs/npm/playwright/1.41.2/1.42.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

- New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears:

```js
// Setup the handler.
await page.addLocatorHandler(
    page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
    async () => {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white' }).click();
await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
```

- `expect(callback).toPass()` timeout can now be configured by
`expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)
-
[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

```js
electronApp.on('console', async msg => {
  const values = [];
  for (const arg of msg.args())
    values.push(await arg.jsonValue());
  console.log(...values);
});
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
```

- [New syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported):

```js
test('test customer login', {
  tag: ['@&#8203;fast', '@&#8203;login'],
}, async ({ page }) => {
  // ...
});
```

Use `--grep` command line option to run only tests with certain tags.

```sh
npx playwright test --grep @&#8203;fast
```

- `--project` command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard:

```sh
npx playwright test --project='*mobile*'
```

- [New
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations:

```js
test('test full report', {
  annotation: [
    { type: 'issue', description: 'microsoft/playwright#23180' },
    { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) => {
  // ...
});
```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/fwouts/previewjs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to ariakit/ariakit that referenced this issue Feb 28, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

- New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears:

```js
// Setup the handler.
await page.addLocatorHandler(
    page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
    async () => {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white' }).click();
await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
```

- `expect(callback).toPass()` timeout can now be configured by
`expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)
-
[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

```js
electronApp.on('console', async msg => {
  const values = [];
  for (const arg of msg.args())
    values.push(await arg.jsonValue());
  console.log(...values);
});
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
```

- [New syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported):

```js
test('test customer login', {
  tag: ['@&#8203;fast', '@&#8203;login'],
}, async ({ page }) => {
  // ...
});
```

Use `--grep` command line option to run only tests with certain tags.

```sh
npx playwright test --grep @&#8203;fast
```

- `--project` command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard:

```sh
npx playwright test --project='*mobile*'
```

- [New
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations:

```js
test('test full report', {
  annotation: [
    { type: 'issue', description: 'microsoft/playwright#23180' },
    { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) => {
  // ...
});
```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ariakit/ariakit).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to AmadeusITGroup/otter that referenced this issue Feb 28, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`~1.41.0` ->
`~1.42.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

- New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears:

```js
// Setup the handler.
await page.addLocatorHandler(
    page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
    async () => {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white' }).click();
await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
```

- `expect(callback).toPass()` timeout can now be configured by
`expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)
-
[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

```js
electronApp.on('console', async msg => {
  const values = [];
  for (const arg of msg.args())
    values.push(await arg.jsonValue());
  console.log(...values);
});
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
```

- [New syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported):

```js
test('test customer login', {
  tag: ['@&#8203;fast', '@&#8203;login'],
}, async ({ page }) => {
  // ...
});
```

Use `--grep` command line option to run only tests with certain tags.

```sh
npx playwright test --grep @&#8203;fast
```

- `--project` command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard:

```sh
npx playwright test --project='*mobile*'
```

- [New
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations:

```js
test('test full report', {
  annotation: [
    { type: 'issue', description: 'microsoft/playwright#23180' },
    { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) => {
  // ...
});
```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,before 5am
every weekday,every weekend" in timezone Europe/Paris, Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/AmadeusITGroup/otter).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
ckomop0x pushed a commit to ckomop0x/currency-exchange that referenced this issue Feb 28, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

- New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears:

```js
// Setup the handler.
await page.addLocatorHandler(
    page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
    async () => {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white' }).click();
await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
```

- `expect(callback).toPass()` timeout can now be configured by
`expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)
-
[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

```js
electronApp.on('console', async msg => {
  const values = [];
  for (const arg of msg.args())
    values.push(await arg.jsonValue());
  console.log(...values);
});
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
```

- [New syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported):

```js
test('test customer login', {
  tag: ['@&#8203;fast', '@&#8203;login'],
}, async ({ page }) => {
  // ...
});
```

Use `--grep` command line option to run only tests with certain tags.

```sh
npx playwright test --grep @&#8203;fast
```

- `--project` command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard:

```sh
npx playwright test --project='*mobile*'
```

- [New
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations:

```js
test('test full report', {
  annotation: [
    { type: 'issue', description: 'microsoft/playwright#23180' },
    { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) => {
  // ...
});
```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ckomop0x/currency-exchange).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
smaye81 pushed a commit to connectrpc/connect-playwright-es that referenced this issue Mar 1, 2024
Bumps the playwright group with 1 update:
[@playwright/test](https://github.com/microsoft/playwright).

Updates `@playwright/test` from 1.41.1 to 1.42.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
<li>
<p><strong>page.addLocatorHandler()</strong></p>
<p>New method <a
href="https://playwright.dev/docs/api/class-page#page-add-locator-handler">page.addLocatorHandler()</a>
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.</p>
<pre lang="js"><code>// Setup the handler.
await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
    async () =&gt; {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/e7f0635c17ac5c178b0960cb35f849edd3cf69ef"><code>e7f0635</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29692">#29692</a>):
docs: better addLocatorHandler example in release notes ...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/8709a3a24b22304a2be67ac5688a998e71a32c5e"><code>8709a3a</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29687">#29687</a>):
chore: fix docs roll for functions without args follow-u...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/aa9f6fb71872b8bf066209ff229a0fe9c43fe91e"><code>aa9f6fb</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29669">#29669</a>):
chore: strengthen linting (<a
href="https://redirect.github.com/microsoft/playwright/issues/29674">#29674</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/f5899c155647da3c358b5a1e152b619518fb55e2"><code>f5899c1</code></a>
chore: set version to 1.42.0 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29671">#29671</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/77e1b025521912c4930f5dcac9a7ee492e0c3549"><code>77e1b02</code></a>
docs: 1.42 release notes (<a
href="https://redirect.github.com/microsoft/playwright/issues/29666">#29666</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/c1421bc9f2be2388b0b3d5fd5c601977689fa897"><code>c1421bc</code></a>
docs: typescript compiler invocation before tests (<a
href="https://redirect.github.com/microsoft/playwright/issues/29667">#29667</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/bd8d04443350212b95451f800d75148712bb99f9"><code>bd8d044</code></a>
feat(uimode) uses relative paths to establish websocket connection (<a
href="https://redirect.github.com/microsoft/playwright/issues/29617">#29617</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56028269bb9364f5870daa7f054dad5bb401135e"><code>5602826</code></a>
devops: add a hint how to create a repro (<a
href="https://redirect.github.com/microsoft/playwright/issues/29665">#29665</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/015a1bcc1c0bdcc17409266ccc448b2def320914"><code>015a1bc</code></a>
feat(ct): double unmounting component throws error (<a
href="https://redirect.github.com/microsoft/playwright/issues/29650">#29650</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/303d7fdac9971312d7314a151c7e33329b06b660"><code>303d7fd</code></a>
chore(ct): vue resolve internal type errors (<a
href="https://redirect.github.com/microsoft/playwright/issues/29649">#29649</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.1...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@playwright/test&package-manager=npm_and_yarn&previous-version=1.41.1&new-version=1.42.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
khassel pushed a commit to MagicMirrorOrg/MagicMirror that referenced this issue Mar 1, 2024
Bumps [playwright](https://github.com/microsoft/playwright) from 1.41.2
to 1.42.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases">playwright's
releases</a>.</em></p>
<blockquote>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
<li>
<p><strong>page.addLocatorHandler()</strong></p>
<p>New method <a
href="https://playwright.dev/docs/api/class-page#page-add-locator-handler">page.addLocatorHandler()</a>
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.</p>
<pre lang="js"><code>// Setup the handler.
await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
    async () =&gt; {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/e7f0635c17ac5c178b0960cb35f849edd3cf69ef"><code>e7f0635</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29692">#29692</a>):
docs: better addLocatorHandler example in release notes ...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/8709a3a24b22304a2be67ac5688a998e71a32c5e"><code>8709a3a</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29687">#29687</a>):
chore: fix docs roll for functions without args follow-u...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/aa9f6fb71872b8bf066209ff229a0fe9c43fe91e"><code>aa9f6fb</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29669">#29669</a>):
chore: strengthen linting (<a
href="https://redirect.github.com/microsoft/playwright/issues/29674">#29674</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/f5899c155647da3c358b5a1e152b619518fb55e2"><code>f5899c1</code></a>
chore: set version to 1.42.0 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29671">#29671</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/77e1b025521912c4930f5dcac9a7ee492e0c3549"><code>77e1b02</code></a>
docs: 1.42 release notes (<a
href="https://redirect.github.com/microsoft/playwright/issues/29666">#29666</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/c1421bc9f2be2388b0b3d5fd5c601977689fa897"><code>c1421bc</code></a>
docs: typescript compiler invocation before tests (<a
href="https://redirect.github.com/microsoft/playwright/issues/29667">#29667</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/bd8d04443350212b95451f800d75148712bb99f9"><code>bd8d044</code></a>
feat(uimode) uses relative paths to establish websocket connection (<a
href="https://redirect.github.com/microsoft/playwright/issues/29617">#29617</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56028269bb9364f5870daa7f054dad5bb401135e"><code>5602826</code></a>
devops: add a hint how to create a repro (<a
href="https://redirect.github.com/microsoft/playwright/issues/29665">#29665</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/015a1bcc1c0bdcc17409266ccc448b2def320914"><code>015a1bc</code></a>
feat(ct): double unmounting component throws error (<a
href="https://redirect.github.com/microsoft/playwright/issues/29650">#29650</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/303d7fdac9971312d7314a151c7e33329b06b660"><code>303d7fd</code></a>
chore(ct): vue resolve internal type errors (<a
href="https://redirect.github.com/microsoft/playwright/issues/29649">#29649</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.2...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=playwright&package-manager=npm_and_yarn&previous-version=1.41.2&new-version=1.42.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ckomop0x pushed a commit to ckomop0x/f1-seasons that referenced this issue Mar 1, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

- New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears:

```js
// Setup the handler.
await page.addLocatorHandler(
    page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
    async () => {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white' }).click();
await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
```

- `expect(callback).toPass()` timeout can now be configured by
`expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)
-
[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

```js
electronApp.on('console', async msg => {
  const values = [];
  for (const arg of msg.args())
    values.push(await arg.jsonValue());
  console.log(...values);
});
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
```

- [New syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported):

```js
test('test customer login', {
  tag: ['@&#8203;fast', '@&#8203;login'],
}, async ({ page }) => {
  // ...
});
```

Use `--grep` command line option to run only tests with certain tags.

```sh
npx playwright test --grep @&#8203;fast
```

- `--project` command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard:

```sh
npx playwright test --project='*mobile*'
```

- [New
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations:

```js
test('test full report', {
  annotation: [
    { type: 'issue', description: 'microsoft/playwright#23180' },
    { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) => {
  // ...
});
```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ckomop0x/f1-seasons).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to slipmatio/logger that referenced this issue Mar 4, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.20` ->
`20.11.24`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.20/20.11.24)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.20/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.20/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`13.5.0` ->
`13.6.2`](https://renovatebot.com/diffs/npm/happy-dom/13.5.0/13.6.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/13.5.0/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/13.5.0/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://togithub.com/vuejs/core)) | [`3.4.19` ->
`3.4.21`](https://renovatebot.com/diffs/npm/vue/3.4.19/3.4.21) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.19/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.19/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue-tsc](https://togithub.com/vuejs/language-tools)
([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`1.8.27` ->
`2.0.1`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.27/2.0.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.27/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.27/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

###
[`v13.6.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.1...v13.6.2)

##### 🎨 Features

- Add support for the ":target" pseudo query selector - By
**[@&#8203;Schleuse](https://togithub.com/Schleuse)** in task
[#&#8203;1221](https://togithub.com/capricorn86/happy-dom/issues/1221)

##### 👷‍♂️ Patch fixes

- The Event listener method `handleEvent()` should be called within the
listener scope - By
**[@&#8203;titouanmathis](https://togithub.com/titouanmathis)** in task
[#&#8203;1182](https://togithub.com/capricorn86/happy-dom/issues/1182)

###
[`v13.6.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.0...v13.6.1)

##### 👷‍♂️ Patch fixes

- Improves validation for the options argument in
`MutationsObserver.observe()` - By
**[@&#8203;romansp](https://togithub.com/romansp)** in task
[#&#8203;1223](https://togithub.com/capricorn86/happy-dom/issues/1223)

###
[`v13.6.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.0)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.3...v13.6.0)

##### 🎨 Features

- Adds support for `Node.isEqualNode()` - By
**[@&#8203;aralroca](https://togithub.com/aralroca)** in task
[#&#8203;1263](https://togithub.com/capricorn86/happy-dom/issues/1263)

##### 👷‍♂️ Patch fixes

- Adds support for the property `Document.forms` - By
**[@&#8203;juandiegombr](https://togithub.com/juandiegombr)** in task
[#&#8203;1260](https://togithub.com/capricorn86/happy-dom/issues/1260)
- Adds check for if `MutationObserver` options are null, which most
likely happens for code that is executed after the Window instance has
been closed - By
**[@&#8203;zachlankton](https://togithub.com/zachlankton)** in task
[#&#8203;1217](https://togithub.com/capricorn86/happy-dom/issues/1217)

###
[`v13.5.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.3)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.2...v13.5.3)

##### 👷‍♂️ Patch fixes

- Improves check for invalid query selectors - By
**[@&#8203;btea](https://togithub.com/btea)** in task #&#8203;0

###
[`v13.5.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.1...v13.5.2)

##### 👷‍♂️ Patch fixes

- Adds unit test for Vue component with SVG - By
**[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task
[#&#8203;1271](https://togithub.com/capricorn86/happy-dom/issues/1271)

###
[`v13.5.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.0...v13.5.1)

##### 👷‍♂️ Patch fixes

- Fixes problem with query selectors not finding SVG elements after the
v13.4.0 release - By
**[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task
[#&#8203;1274](https://togithub.com/capricorn86/happy-dom/issues/1274)

</details>

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.4.21`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3421-2024-02-28)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.4.20...v3.4.21)

##### Bug Fixes

- **runtime-dom:** avoid unset option's value
([#&#8203;10416](https://togithub.com/vuejs/core/issues/10416))
([b3f8b5a](https://togithub.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb)),
closes [#&#8203;10412](https://togithub.com/vuejs/core/issues/10412)
[#&#8203;10396](https://togithub.com/vuejs/core/issues/10396)
- **suspense:** ensure nested suspense patching if in fallback state
([#&#8203;10417](https://togithub.com/vuejs/core/issues/10417))
([7c97778](https://togithub.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106)),
closes [#&#8203;10415](https://togithub.com/vuejs/core/issues/10415)
- **warning:** stringify args in warn handler
([#&#8203;10414](https://togithub.com/vuejs/core/issues/10414))
([bc37258](https://togithub.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124)),
closes [#&#8203;10409](https://togithub.com/vuejs/core/issues/10409)

###
[`v3.4.20`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3420-2024-02-26)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.4.19...v3.4.20)

##### Bug Fixes

- **parser:** should not treat uppercase components as special tags
([e0e0253](https://togithub.com/vuejs/core/commit/e0e02535cdea1aeb1cfaff0d61d4b2555e555c36)),
closes [#&#8203;10395](https://togithub.com/vuejs/core/issues/10395)
- **runtime-dom:** avoid always resetting nullish option value
([ff130c4](https://togithub.com/vuejs/core/commit/ff130c470204086edaa093fb8fdc1247c69cba69)),
closes [#&#8203;10396](https://togithub.com/vuejs/core/issues/10396)
- **runtime-dom:** fix nested v-show priority regression
([364f890](https://togithub.com/vuejs/core/commit/364f8902c8657faec7c3a4d70a5b2c856567e92d)),
closes [#&#8203;10338](https://togithub.com/vuejs/core/issues/10338)
- **runtime-dom:** v-bind style should clear previous css string value
([#&#8203;10373](https://togithub.com/vuejs/core/issues/10373))
([e2d3235](https://togithub.com/vuejs/core/commit/e2d323538e71d404e729148fd19a08bbc2e3da9b)),
closes [#&#8203;10352](https://togithub.com/vuejs/core/issues/10352)
- **suspense:** handle suspense switching with nested suspense
([#&#8203;10184](https://togithub.com/vuejs/core/issues/10184))
([0f3da05](https://togithub.com/vuejs/core/commit/0f3da05ea201761529bb95594df1e2cee20b7107)),
closes [#&#8203;10098](https://togithub.com/vuejs/core/issues/10098)
- **types:** better typing for direct setup signature of defineComponent
([#&#8203;10357](https://togithub.com/vuejs/core/issues/10357))
([eadce5b](https://togithub.com/vuejs/core/commit/eadce5b75356656fd2209ebdb406d34823c961b7)),
closes [#&#8203;8604](https://togithub.com/vuejs/core/issues/8604)
[#&#8203;8855](https://togithub.com/vuejs/core/issues/8855)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.1`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#201-202332)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v2.0.0...v2.0.1)

##### Fixes

- npm release does not include files
([#&#8203;3919](https://togithub.com/vuejs/language-tools/issues/3919))

###
[`v2.0.0`](https://togithub.com/vuejs/language-tools/compare/v1.8.27...aa47e5a7d8a6dae62cc80dbdb5db6a9bfa4f8715)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v1.8.27...v2.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
Europe/Helsinki, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/slipmatio/logger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to slipmatio/ui that referenced this issue Mar 4, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.20` ->
`20.11.24`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.20/20.11.24)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.20/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.20/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [autoprefixer](https://togithub.com/postcss/autoprefixer) | [`10.4.17`
->
`10.4.18`](https://renovatebot.com/diffs/npm/autoprefixer/10.4.17/10.4.18)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/autoprefixer/10.4.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/autoprefixer/10.4.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/autoprefixer/10.4.17/10.4.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/autoprefixer/10.4.17/10.4.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`13.5.0` ->
`13.6.2`](https://renovatebot.com/diffs/npm/happy-dom/13.5.0/13.6.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/13.5.0/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/13.5.0/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://togithub.com/vuejs/core)) | [`3.4.19` ->
`3.4.21`](https://renovatebot.com/diffs/npm/vue/3.4.19/3.4.21) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.19/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.19/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue-tsc](https://togithub.com/vuejs/language-tools)
([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`1.8.27` ->
`2.0.1`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.27/2.0.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.27/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.27/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

<details>
<summary>postcss/autoprefixer (autoprefixer)</summary>

###
[`v10.4.18`](https://togithub.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#10418)

[Compare
Source](https://togithub.com/postcss/autoprefixer/compare/10.4.17...10.4.18)

- Fixed removing `-webkit-box-orient` on `-webkit-line-clamp`
([@&#8203;Goodwine](https://togithub.com/Goodwine)).

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

###
[`v13.6.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.1...v13.6.2)

##### 🎨 Features

- Add support for the ":target" pseudo query selector - By
**[@&#8203;Schleuse](https://togithub.com/Schleuse)** in task
[#&#8203;1221](https://togithub.com/capricorn86/happy-dom/issues/1221)

##### 👷‍♂️ Patch fixes

- The Event listener method `handleEvent()` should be called within the
listener scope - By
**[@&#8203;titouanmathis](https://togithub.com/titouanmathis)** in task
[#&#8203;1182](https://togithub.com/capricorn86/happy-dom/issues/1182)

###
[`v13.6.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.0...v13.6.1)

##### 👷‍♂️ Patch fixes

- Improves validation for the options argument in
`MutationsObserver.observe()` - By
**[@&#8203;romansp](https://togithub.com/romansp)** in task
[#&#8203;1223](https://togithub.com/capricorn86/happy-dom/issues/1223)

###
[`v13.6.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.0)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.3...v13.6.0)

##### 🎨 Features

- Adds support for `Node.isEqualNode()` - By
**[@&#8203;aralroca](https://togithub.com/aralroca)** in task
[#&#8203;1263](https://togithub.com/capricorn86/happy-dom/issues/1263)

##### 👷‍♂️ Patch fixes

- Adds support for the property `Document.forms` - By
**[@&#8203;juandiegombr](https://togithub.com/juandiegombr)** in task
[#&#8203;1260](https://togithub.com/capricorn86/happy-dom/issues/1260)
- Adds check for if `MutationObserver` options are null, which most
likely happens for code that is executed after the Window instance has
been closed - By
**[@&#8203;zachlankton](https://togithub.com/zachlankton)** in task
[#&#8203;1217](https://togithub.com/capricorn86/happy-dom/issues/1217)

###
[`v13.5.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.3)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.2...v13.5.3)

##### 👷‍♂️ Patch fixes

- Improves check for invalid query selectors - By
**[@&#8203;btea](https://togithub.com/btea)** in task #&#8203;0

###
[`v13.5.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.1...v13.5.2)

##### 👷‍♂️ Patch fixes

- Adds unit test for Vue component with SVG - By
**[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task
[#&#8203;1271](https://togithub.com/capricorn86/happy-dom/issues/1271)

###
[`v13.5.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.0...v13.5.1)

##### 👷‍♂️ Patch fixes

- Fixes problem with query selectors not finding SVG elements after the
v13.4.0 release - By
**[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task
[#&#8203;1274](https://togithub.com/capricorn86/happy-dom/issues/1274)

</details>

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.4.21`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3421-2024-02-28)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.4.20...v3.4.21)

##### Bug Fixes

- **runtime-dom:** avoid unset option's value
([#&#8203;10416](https://togithub.com/vuejs/core/issues/10416))
([b3f8b5a](https://togithub.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb)),
closes [#&#8203;10412](https://togithub.com/vuejs/core/issues/10412)
[#&#8203;10396](https://togithub.com/vuejs/core/issues/10396)
- **suspense:** ensure nested suspense patching if in fallback state
([#&#8203;10417](https://togithub.com/vuejs/core/issues/10417))
([7c97778](https://togithub.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106)),
closes [#&#8203;10415](https://togithub.com/vuejs/core/issues/10415)
- **warning:** stringify args in warn handler
([#&#8203;10414](https://togithub.com/vuejs/core/issues/10414))
([bc37258](https://togithub.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124)),
closes [#&#8203;10409](https://togithub.com/vuejs/core/issues/10409)

###
[`v3.4.20`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3420-2024-02-26)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.4.19...v3.4.20)

##### Bug Fixes

- **parser:** should not treat uppercase components as special tags
([e0e0253](https://togithub.com/vuejs/core/commit/e0e02535cdea1aeb1cfaff0d61d4b2555e555c36)),
closes [#&#8203;10395](https://togithub.com/vuejs/core/issues/10395)
- **runtime-dom:** avoid always resetting nullish option value
([ff130c4](https://togithub.com/vuejs/core/commit/ff130c470204086edaa093fb8fdc1247c69cba69)),
closes [#&#8203;10396](https://togithub.com/vuejs/core/issues/10396)
- **runtime-dom:** fix nested v-show priority regression
([364f890](https://togithub.com/vuejs/core/commit/364f8902c8657faec7c3a4d70a5b2c856567e92d)),
closes [#&#8203;10338](https://togithub.com/vuejs/core/issues/10338)
- **runtime-dom:** v-bind style should clear previous css string value
([#&#8203;10373](https://togithub.com/vuejs/core/issues/10373))
([e2d3235](https://togithub.com/vuejs/core/commit/e2d323538e71d404e729148fd19a08bbc2e3da9b)),
closes [#&#8203;10352](https://togithub.com/vuejs/core/issues/10352)
- **suspense:** handle suspense switching with nested suspense
([#&#8203;10184](https://togithub.com/vuejs/core/issues/10184))
([0f3da05](https://togithub.com/vuejs/core/commit/0f3da05ea201761529bb95594df1e2cee20b7107)),
closes [#&#8203;10098](https://togithub.com/vuejs/core/issues/10098)
- **types:** better typing for direct setup signature of defineComponent
([#&#8203;10357](https://togithub.com/vuejs/core/issues/10357))
([eadce5b](https://togithub.com/vuejs/core/commit/eadce5b75356656fd2209ebdb406d34823c961b7)),
closes [#&#8203;8604](https://togithub.com/vuejs/core/issues/8604)
[#&#8203;8855](https://togithub.com/vuejs/core/issues/8855)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.1`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#201-202332)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v2.0.0...v2.0.1)

##### Fixes

- npm release does not include files
([#&#8203;3919](https://togithub.com/vuejs/language-tools/issues/3919))

###
[`v2.0.0`](https://togithub.com/vuejs/language-tools/compare/v1.8.27...aa47e5a7d8a6dae62cc80dbdb5db6a9bfa4f8715)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v1.8.27...v2.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
Europe/Helsinki, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/slipmatio/ui).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue Mar 4, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.42.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.42.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` -> `1.42.1`](https://renovatebot.com/diffs/npm/playwright-chromium/1.41.2/1.42.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` -> `1.42.1`](https://renovatebot.com/diffs/npm/playwright-core/1.41.2/1.42.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
renovate bot added a commit to slipmatio/toolbelt that referenced this issue Mar 4, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.20` ->
`20.11.24`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.20/20.11.24)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.20/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.20/20.11.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`13.5.0` ->
`13.6.2`](https://renovatebot.com/diffs/npm/happy-dom/13.5.0/13.6.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/13.5.0/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/13.5.0/13.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://togithub.com/vuejs/core)) | [`3.4.19` ->
`3.4.21`](https://renovatebot.com/diffs/npm/vue/3.4.19/3.4.21) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.19/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.19/3.4.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue-tsc](https://togithub.com/vuejs/language-tools)
([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`1.8.27` ->
`2.0.1`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.27/2.0.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.27/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.27/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

###
[`v13.6.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.1...v13.6.2)

##### 🎨 Features

- Add support for the ":target" pseudo query selector - By
**[@&#8203;Schleuse](https://togithub.com/Schleuse)** in task
[#&#8203;1221](https://togithub.com/capricorn86/happy-dom/issues/1221)

##### 👷‍♂️ Patch fixes

- The Event listener method `handleEvent()` should be called within the
listener scope - By
**[@&#8203;titouanmathis](https://togithub.com/titouanmathis)** in task
[#&#8203;1182](https://togithub.com/capricorn86/happy-dom/issues/1182)

###
[`v13.6.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.6.0...v13.6.1)

##### 👷‍♂️ Patch fixes

- Improves validation for the options argument in
`MutationsObserver.observe()` - By
**[@&#8203;romansp](https://togithub.com/romansp)** in task
[#&#8203;1223](https://togithub.com/capricorn86/happy-dom/issues/1223)

###
[`v13.6.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.6.0)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.3...v13.6.0)

##### 🎨 Features

- Adds support for `Node.isEqualNode()` - By
**[@&#8203;aralroca](https://togithub.com/aralroca)** in task
[#&#8203;1263](https://togithub.com/capricorn86/happy-dom/issues/1263)

##### 👷‍♂️ Patch fixes

- Adds support for the property `Document.forms` - By
**[@&#8203;juandiegombr](https://togithub.com/juandiegombr)** in task
[#&#8203;1260](https://togithub.com/capricorn86/happy-dom/issues/1260)
- Adds check for if `MutationObserver` options are null, which most
likely happens for code that is executed after the Window instance has
been closed - By
**[@&#8203;zachlankton](https://togithub.com/zachlankton)** in task
[#&#8203;1217](https://togithub.com/capricorn86/happy-dom/issues/1217)

###
[`v13.5.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.3)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.2...v13.5.3)

##### 👷‍♂️ Patch fixes

- Improves check for invalid query selectors - By
**[@&#8203;btea](https://togithub.com/btea)** in task #&#8203;0

###
[`v13.5.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.1...v13.5.2)

##### 👷‍♂️ Patch fixes

- Adds unit test for Vue component with SVG - By
**[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task
[#&#8203;1271](https://togithub.com/capricorn86/happy-dom/issues/1271)

###
[`v13.5.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v13.5.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v13.5.0...v13.5.1)

##### 👷‍♂️ Patch fixes

- Fixes problem with query selectors not finding SVG elements after the
v13.4.0 release - By
**[@&#8203;capricorn86](https://togithub.com/capricorn86)** in task
[#&#8203;1274](https://togithub.com/capricorn86/happy-dom/issues/1274)

</details>

<details>
<summary>vuejs/core (vue)</summary>

###
[`v3.4.21`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3421-2024-02-28)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.4.20...v3.4.21)

##### Bug Fixes

- **runtime-dom:** avoid unset option's value
([#&#8203;10416](https://togithub.com/vuejs/core/issues/10416))
([b3f8b5a](https://togithub.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb)),
closes [#&#8203;10412](https://togithub.com/vuejs/core/issues/10412)
[#&#8203;10396](https://togithub.com/vuejs/core/issues/10396)
- **suspense:** ensure nested suspense patching if in fallback state
([#&#8203;10417](https://togithub.com/vuejs/core/issues/10417))
([7c97778](https://togithub.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106)),
closes [#&#8203;10415](https://togithub.com/vuejs/core/issues/10415)
- **warning:** stringify args in warn handler
([#&#8203;10414](https://togithub.com/vuejs/core/issues/10414))
([bc37258](https://togithub.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124)),
closes [#&#8203;10409](https://togithub.com/vuejs/core/issues/10409)

###
[`v3.4.20`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3420-2024-02-26)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.4.19...v3.4.20)

##### Bug Fixes

- **parser:** should not treat uppercase components as special tags
([e0e0253](https://togithub.com/vuejs/core/commit/e0e02535cdea1aeb1cfaff0d61d4b2555e555c36)),
closes [#&#8203;10395](https://togithub.com/vuejs/core/issues/10395)
- **runtime-dom:** avoid always resetting nullish option value
([ff130c4](https://togithub.com/vuejs/core/commit/ff130c470204086edaa093fb8fdc1247c69cba69)),
closes [#&#8203;10396](https://togithub.com/vuejs/core/issues/10396)
- **runtime-dom:** fix nested v-show priority regression
([364f890](https://togithub.com/vuejs/core/commit/364f8902c8657faec7c3a4d70a5b2c856567e92d)),
closes [#&#8203;10338](https://togithub.com/vuejs/core/issues/10338)
- **runtime-dom:** v-bind style should clear previous css string value
([#&#8203;10373](https://togithub.com/vuejs/core/issues/10373))
([e2d3235](https://togithub.com/vuejs/core/commit/e2d323538e71d404e729148fd19a08bbc2e3da9b)),
closes [#&#8203;10352](https://togithub.com/vuejs/core/issues/10352)
- **suspense:** handle suspense switching with nested suspense
([#&#8203;10184](https://togithub.com/vuejs/core/issues/10184))
([0f3da05](https://togithub.com/vuejs/core/commit/0f3da05ea201761529bb95594df1e2cee20b7107)),
closes [#&#8203;10098](https://togithub.com/vuejs/core/issues/10098)
- **types:** better typing for direct setup signature of defineComponent
([#&#8203;10357](https://togithub.com/vuejs/core/issues/10357))
([eadce5b](https://togithub.com/vuejs/core/commit/eadce5b75356656fd2209ebdb406d34823c961b7)),
closes [#&#8203;8604](https://togithub.com/vuejs/core/issues/8604)
[#&#8203;8855](https://togithub.com/vuejs/core/issues/8855)

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.0.1`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#201-202332)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v2.0.0...v2.0.1)

##### Fixes

- npm release does not include files
([#&#8203;3919](https://togithub.com/vuejs/language-tools/issues/3919))

###
[`v2.0.0`](https://togithub.com/vuejs/language-tools/compare/v1.8.27...aa47e5a7d8a6dae62cc80dbdb5db6a9bfa4f8715)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v1.8.27...v2.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
Europe/Helsinki, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/slipmatio/toolbelt).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-actions bot pushed a commit to vercel/turbo that referenced this issue Mar 4, 2024
…ples/with-svelte with 15 updates (#7597)

Bumps the with-svelte-example-dependencies group in
/examples/with-svelte with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [eslint](https://github.com/eslint/eslint) | `8.56.0` | `8.57.0` |
| [prettier](https://github.com/prettier/prettier) | `3.1.1` | `3.2.5` |
|
[prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte)
| `3.1.2` | `3.2.2` |
| [turbo](https://github.com/vercel/turbo) | `1.12.1` | `1.12.4` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.40.1`
| `1.42.1` |
|
[@sveltejs/adapter-auto](https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-auto)
| `3.1.0` | `3.1.1` |
|
[@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit)
| `2.0.6` | `2.5.2` |
|
[@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte)
| `3.0.1` | `3.0.2` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `6.17.0` | `7.1.0` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `6.17.0` | `7.1.0` |
| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)
| `4.2.8` | `4.2.12` |
| [svelte-check](https://github.com/sveltejs/language-tools) | `3.6.2` |
`3.6.6` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) |
`5.0.10` | `5.1.4` |
|
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
| `1.1.2` | `1.3.1` |
|
[eslint-config-turbo](https://github.com/vercel/turbo/tree/HEAD/packages/eslint-config-turbo)
| `1.11.3` | `1.12.4` |

Updates `eslint` from 8.56.0 to 8.57.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases">eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.57.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/1120b9b7b97f10f059d8b7ede19de2572f892366"><code>1120b9b</code></a>
feat: Add loadESLint() API method for v8 (<a
href="https://redirect.github.com/eslint/eslint/issues/18098">#18098</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/dca7d0f1c262bc72310147bcefe1d04ecf60acbc"><code>dca7d0f</code></a>
feat: Enable <code>eslint.config.mjs</code> and
<code>eslint.config.cjs</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/18066">#18066</a>)
(Nitin Kumar)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/2196d97094ba94d6d750828879a29538d1600de5"><code>2196d97</code></a>
fix: handle absolute file paths in <code>FlatRuleTester</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/18064">#18064</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/69dd1d1387b7b53617548d1f9f2c149f179e6e17"><code>69dd1d1</code></a>
fix: Ensure config keys are printed for config errors (<a
href="https://redirect.github.com/eslint/eslint/issues/18067">#18067</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/9852a31edcf054bd5d15753ef18e2ad3216b1b71"><code>9852a31</code></a>
fix: deep merge behavior in flat config (<a
href="https://redirect.github.com/eslint/eslint/issues/18065">#18065</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/4c7e9b0b539ba879ac1799e81f3b6add2eed4b2f"><code>4c7e9b0</code></a>
fix: allow circular references in config (<a
href="https://redirect.github.com/eslint/eslint/issues/18056">#18056</a>)
(Milos Djermanovic)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/84922d0bfa10689a34a447ab8e55975ff1c1c708"><code>84922d0</code></a>
docs: Show prerelease version in dropdown (<a
href="https://redirect.github.com/eslint/eslint/issues/18139">#18139</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5b8c3636a3d7536535a6878eca0e5b773e4829d4"><code>5b8c363</code></a>
docs: Switch to Ethical Ads (<a
href="https://redirect.github.com/eslint/eslint/issues/18117">#18117</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/77dbfd9887b201a46fc68631cbde50c08e1a8dbf"><code>77dbfd9</code></a>
docs: show NEXT in version selectors (<a
href="https://redirect.github.com/eslint/eslint/issues/18052">#18052</a>)
(Milos Djermanovic)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/1813aecc4660582b0678cf32ba466eb9674266c4"><code>1813aec</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/8"><code>@​8</code></a>.57.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18143">#18143</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5c356bb0c6f53c570224f8e9f02c4baca8fc6d2f"><code>5c356bb</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/f4a1fe2e45aa1089fe775290bf530de82f34bf16"><code>f4a1fe2</code></a>
test: add more tests for ignoring files and directories (<a
href="https://redirect.github.com/eslint/eslint/issues/18068">#18068</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/42c0aefaf6ea8b998b1c6db61906a79c046d301a"><code>42c0aef</code></a>
ci: Enable CI for <code>v8.x</code> branch (<a
href="https://redirect.github.com/eslint/eslint/issues/18047">#18047</a>)
(Milos Djermanovic)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's
changelog</a>.</em></p>
<blockquote>
<p>v8.57.0 - February 23, 2024</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/1813aecc4660582b0678cf32ba466eb9674266c4"><code>1813aec</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/8"><code>@​8</code></a>.57.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18143">#18143</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5c356bb0c6f53c570224f8e9f02c4baca8fc6d2f"><code>5c356bb</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/84922d0bfa10689a34a447ab8e55975ff1c1c708"><code>84922d0</code></a>
docs: Show prerelease version in dropdown (<a
href="https://redirect.github.com/eslint/eslint/issues/18139">#18139</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1120b9b7b97f10f059d8b7ede19de2572f892366"><code>1120b9b</code></a>
feat: Add loadESLint() API method for v8 (<a
href="https://redirect.github.com/eslint/eslint/issues/18098">#18098</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5b8c3636a3d7536535a6878eca0e5b773e4829d4"><code>5b8c363</code></a>
docs: Switch to Ethical Ads (<a
href="https://redirect.github.com/eslint/eslint/issues/18117">#18117</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2196d97094ba94d6d750828879a29538d1600de5"><code>2196d97</code></a>
fix: handle absolute file paths in <code>FlatRuleTester</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/18064">#18064</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/f4a1fe2e45aa1089fe775290bf530de82f34bf16"><code>f4a1fe2</code></a>
test: add more tests for ignoring files and directories (<a
href="https://redirect.github.com/eslint/eslint/issues/18068">#18068</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/69dd1d1387b7b53617548d1f9f2c149f179e6e17"><code>69dd1d1</code></a>
fix: Ensure config keys are printed for config errors (<a
href="https://redirect.github.com/eslint/eslint/issues/18067">#18067</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/9852a31edcf054bd5d15753ef18e2ad3216b1b71"><code>9852a31</code></a>
fix: deep merge behavior in flat config (<a
href="https://redirect.github.com/eslint/eslint/issues/18065">#18065</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/dca7d0f1c262bc72310147bcefe1d04ecf60acbc"><code>dca7d0f</code></a>
feat: Enable <code>eslint.config.mjs</code> and
<code>eslint.config.cjs</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/18066">#18066</a>)
(Nitin Kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/4c7e9b0b539ba879ac1799e81f3b6add2eed4b2f"><code>4c7e9b0</code></a>
fix: allow circular references in config (<a
href="https://redirect.github.com/eslint/eslint/issues/18056">#18056</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/77dbfd9887b201a46fc68631cbde50c08e1a8dbf"><code>77dbfd9</code></a>
docs: show NEXT in version selectors (<a
href="https://redirect.github.com/eslint/eslint/issues/18052">#18052</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/42c0aefaf6ea8b998b1c6db61906a79c046d301a"><code>42c0aef</code></a>
ci: Enable CI for <code>v8.x</code> branch (<a
href="https://redirect.github.com/eslint/eslint/issues/18047">#18047</a>)
(Milos Djermanovic)</li>
</ul>
<p>v9.0.0-beta.0 - February 9, 2024</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/e40d1d74a5b9788cbec195f4e602b50249f26659"><code>e40d1d7</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/9"><code>@​9</code></a>.0.0-beta.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18108">#18108</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/9870f93e714edefb410fccae1e9924a3c1972a2e"><code>9870f93</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2c62e797a433e5fc298b976872a89c594f88bb19"><code>2c62e79</code></a>
chore: upgrade <code>@​eslint/eslintrc</code><a
href="https://github.com/3"><code>@​3</code></a>.0.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/18107">#18107</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/81f0294e651928b49eb49495b90b54376073a790"><code>81f0294</code></a>
chore: upgrade espree@10.0.1 (<a
href="https://redirect.github.com/eslint/eslint/issues/18106">#18106</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5e2b2922aa65bda54b0966d1bf71acda82b3047c"><code>5e2b292</code></a>
chore: upgrade eslint-visitor-keys@4.0.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18105">#18105</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/916364692bae6a93c10b5d48fc1e9de1677d0d09"><code>9163646</code></a>
feat!: Rule Tester checks for missing placeholder data in the message
(<a
href="https://redirect.github.com/eslint/eslint/issues/18073">#18073</a>)
(fnx)</li>
<li><a
href="https://github.com/eslint/eslint/commit/53f0f47badffa1b04ec2836f2ae599f4fc464da2"><code>53f0f47</code></a>
feat: Add loadESLint() API method for v9 (<a
href="https://redirect.github.com/eslint/eslint/issues/18097">#18097</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/f1c7e6fc8ea77fcdae4ad1f8fe1cd104a281d2e9"><code>f1c7e6f</code></a>
docs: Switch to Ethical Ads (<a
href="https://redirect.github.com/eslint/eslint/issues/18090">#18090</a>)
(Strek)</li>
<li><a
href="https://github.com/eslint/eslint/commit/15c143f96ef164943fd3d39b5ad79d9a4a40de8f"><code>15c143f</code></a>
docs: JS Foundation -&gt; OpenJS Foundation in PR template (<a
href="https://redirect.github.com/eslint/eslint/issues/18092">#18092</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/c4d26fd3d1f59c1c0f2266664887ad18692039f3"><code>c4d26fd</code></a>
fix: <code>use-isnan</code> doesn't report on
<code>SequenceExpression</code>s (<a
href="https://redirect.github.com/eslint/eslint/issues/18059">#18059</a>)
(StyleShit)</li>
<li><a
href="https://github.com/eslint/eslint/commit/6ea339e658d29791528ab26aabd86f1683cab6c3"><code>6ea339e</code></a>
docs: add stricter rule test validations to v9 migration guide (<a
href="https://redirect.github.com/eslint/eslint/issues/18085">#18085</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/ce838adc3b673e52a151f36da0eedf5876977514"><code>ce838ad</code></a>
chore: replace dependency npm-run-all with npm-run-all2 ^5.0.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18045">#18045</a>)
(renovate[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/3c816f193eecace5efc6166efa2852a829175ef8"><code>3c816f1</code></a>
docs: use relative link from CLI to core concepts (<a
href="https://redirect.github.com/eslint/eslint/issues/18083">#18083</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/54df731174d2528170560d1f765e1336eca0a8bd"><code>54df731</code></a>
chore: update dependency markdownlint-cli to ^0.39.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18084">#18084</a>)
(renovate[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/9458735381269d12b24f76e1b2b6fda1bc5a509b"><code>9458735</code></a>
docs: fix malformed <code>eslint</code> config comments in rule examples
(<a
href="https://redirect.github.com/eslint/eslint/issues/18078">#18078</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/07a1ada7166b76c7af6186f4c5e5de8b8532edba"><code>07a1ada</code></a>
docs: link from <code>--fix</code> CLI doc to the relevant core concept
(<a
href="https://redirect.github.com/eslint/eslint/issues/18080">#18080</a>)
(Bryan Mishkin)</li>
<li><a
href="https://github.com/eslint/eslint/commit/8f06a606845f40aaf0fea1fd83d5930747c5acec"><code>8f06a60</code></a>
chore: update dependency shelljs to ^0.8.5 (<a
href="https://redirect.github.com/eslint/eslint/issues/18079">#18079</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/b844324e4e8f511c9985a96c7aca063269df9570"><code>b844324</code></a>
docs: Update team responsibilities (<a
href="https://redirect.github.com/eslint/eslint/issues/18048">#18048</a>)
(Nicholas C. Zakas)</li>
<li><a
href="https://github.com/eslint/eslint/commit/aadfb609f1b847e492fc3b28ced62f830fe7f294"><code>aadfb60</code></a>
docs: document languageOptions and other v9 changes for context (<a
href="https://redirect.github.com/eslint/eslint/issues/18074">#18074</a>)
(fnx)</li>
<li><a
href="https://github.com/eslint/eslint/commit/3c4d51d55fa5435ab18b6bf46f6b97df0f480ae7"><code>3c4d51d</code></a>
feat!: default for <code>enforceForClassMembers</code> in
<code>no-useless-computed-key</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/18054">#18054</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/47e60f85e0c3f275207bb4be9b5947166a190477"><code>47e60f8</code></a>
feat!: Stricter rule test validations (<a
href="https://redirect.github.com/eslint/eslint/issues/17654">#17654</a>)
(fnx)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1a945890105d307541dcbff15f6438c19b476ade"><code>1a94589</code></a>
feat!: <code>no-unused-vars</code> default caughtErrors to 'all' (<a
href="https://redirect.github.com/eslint/eslint/issues/18043">#18043</a>)
(Josh Goldberg ✨)</li>
<li><a
href="https://github.com/eslint/eslint/commit/857e242584227181ecb8af79fc6bc236b9975228"><code>857e242</code></a>
docs: tweak explanation for meta.docs rule properties (<a
href="https://redirect.github.com/eslint/eslint/issues/18057">#18057</a>)
(Bryan Mishkin)</li>
<li><a
href="https://github.com/eslint/eslint/commit/10485e8b961d045514bc1e34227cf09867a6c4b7"><code>10485e8</code></a>
docs: recommend messageId over message for reporting rule violations (<a
href="https://redirect.github.com/eslint/eslint/issues/18050">#18050</a>)
(Bryan Mishkin)</li>
<li><a
href="https://github.com/eslint/eslint/commit/98b5ab406bac6279eadd84e8a5fd5a01fc586ff1"><code>98b5ab4</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/93ffe30da5e2127e336c1c22e69e09ec0558a8e6"><code>93ffe30</code></a>
chore: update dependency file-entry-cache to v8 (<a
href="https://redirect.github.com/eslint/eslint/issues/17903">#17903</a>)
(renovate[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/505fbf4b35c14332bffb0c838cce4843a00fad68"><code>505fbf4</code></a>
docs: update <code>no-restricted-imports</code> rule (<a
href="https://redirect.github.com/eslint/eslint/issues/18015">#18015</a>)
(Tanuj Kanti)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2d11d46e890a9f1b5f639b8ee034ffa9bd453e42"><code>2d11d46</code></a>
feat: add suggestions to <code>use-isnan</code> in binary expressions
(<a
href="https://redirect.github.com/eslint/eslint/issues/17996">#17996</a>)
(StyleShit)</li>
<li><a
href="https://github.com/eslint/eslint/commit/c25b4aff1fe35e5bd9d4fcdbb45b739b6d253828"><code>c25b4af</code></a>
docs: Update README (GitHub Actions Bot)</li>
</ul>
<p>v9.0.0-alpha.2 - January 26, 2024</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/abea3b6f399fde9e28cf6dc5d6c013938f163cdc"><code>abea3b6</code></a>
8.57.0</li>
<li><a
href="https://github.com/eslint/eslint/commit/1cd3f8c34d3f1614f16d602d660e7c9653311a47"><code>1cd3f8c</code></a>
Build: changelog update for 8.57.0</li>
<li><a
href="https://github.com/eslint/eslint/commit/1813aecc4660582b0678cf32ba466eb9674266c4"><code>1813aec</code></a>
chore: upgrade <code>@​eslint/js</code><a
href="https://github.com/8"><code>@​8</code></a>.57.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/18143">#18143</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5c356bb0c6f53c570224f8e9f02c4baca8fc6d2f"><code>5c356bb</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="https://github.com/eslint/eslint/commit/84922d0bfa10689a34a447ab8e55975ff1c1c708"><code>84922d0</code></a>
docs: Show prerelease version in dropdown (<a
href="https://redirect.github.com/eslint/eslint/issues/18139">#18139</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1120b9b7b97f10f059d8b7ede19de2572f892366"><code>1120b9b</code></a>
feat: Add loadESLint() API method for v8 (<a
href="https://redirect.github.com/eslint/eslint/issues/18098">#18098</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/5b8c3636a3d7536535a6878eca0e5b773e4829d4"><code>5b8c363</code></a>
docs: Switch to Ethical Ads (<a
href="https://redirect.github.com/eslint/eslint/issues/18117">#18117</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2196d97094ba94d6d750828879a29538d1600de5"><code>2196d97</code></a>
fix: handle absolute file paths in <code>FlatRuleTester</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/18064">#18064</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/f4a1fe2e45aa1089fe775290bf530de82f34bf16"><code>f4a1fe2</code></a>
test: add more tests for ignoring files and directories (<a
href="https://redirect.github.com/eslint/eslint/issues/18068">#18068</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/69dd1d1387b7b53617548d1f9f2c149f179e6e17"><code>69dd1d1</code></a>
fix: Ensure config keys are printed for config errors (<a
href="https://redirect.github.com/eslint/eslint/issues/18067">#18067</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier` from 3.1.1 to 3.2.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.2.5</h2>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#325">Changelog</a></p>
<h2>3.2.4</h2>
<ul>
<li>Fix <code>.eslintrc.json</code> format <a
href="https://redirect.github.com/prettier/prettier/issues/15947">#15947</a></li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#324">Changelog</a></p>
<h2>3.2.3</h2>
<ul>
<li>Format <code>tsconfig.json</code> file with <code>jsonc</code>
parser <a
href="https://redirect.github.com/prettier/prettier/issues/15927">#15927</a></li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#323">Changelog</a></p>
<h2>3.2.2</h2>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#322">Changelog</a></p>
<h2>3.2.1</h2>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#321">Changelog</a></p>
<h2>3.2.0</h2>
<p><a
href="https://github.com/prettier/prettier/compare/3.1.1...3.2.0">diff</a></p>
<p>🔗 <a href="https://prettier.io/blog/2024/01/12/3.2.0.html">Release
note</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.2.5</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.2.4...3.2.5">diff</a></p>
<h4>Support Angular inline styles as single template literal (<a
href="https://redirect.github.com/prettier/prettier/pull/15968">#15968</a>
by <a
href="https://github.com/sosukesuzuki"><code>@​sosukesuzuki</code></a>)</h4>
<p><a
href="https://blog.angular.io/introducing-angular-v17-4d7033312e4b">Angular
v17</a> supports single string inline styles.</p>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
@Component({
  template: `&lt;div&gt;...&lt;/div&gt;`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}
<p>// Prettier 3.2.4
<a href="https://github.com/Component"><code>@​Component</code></a>({
template: <code>&amp;lt;div&amp;gt;...&amp;lt;/div&amp;gt;</code>,
styles: <code>h1 { color: blue; }</code>,
})
export class AppComponent {}</p>
<p>// Prettier 3.2.5
<a href="https://github.com/Component"><code>@​Component</code></a>({
template: <code>&amp;lt;div&amp;gt;...&amp;lt;/div&amp;gt;</code>,
styles: <code>h1 { color: blue; }</code>,
})
export class AppComponent {}</p>
<p></code></pre></p>
<h4>Unexpected embedded formatting for Angular template (<a
href="https://redirect.github.com/prettier/prettier/pull/15969">#15969</a>
by <a href="https://github.com/JounQin"><code>@​JounQin</code></a>)</h4>
<p>Computed template should not be considered as Angular component
template</p>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
const template = &quot;foobar&quot;;
<p><a href="https://github.com/Component"><code>@​Component</code></a>({
[template]: <code>&amp;lt;h1&amp;gt;{{ hello
}}&amp;lt;/h1&amp;gt;</code>,
})
export class AppComponent {}
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/prettier/prettier/commit/7142cf354cce2558f41574f44b967baf11d5b603"><code>7142cf3</code></a>
Release 3.2.5</li>
<li><a
href="https://github.com/prettier/prettier/commit/8cbee2e217baad7acf4cb3947834e8c1b41ed647"><code>8cbee2e</code></a>
chore(deps): update glimmer to v0.88.1 (<a
href="https://redirect.github.com/prettier/prettier/issues/15991">#15991</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/45baee061cb982d9dd298fefa74f4c195a3e0709"><code>45baee0</code></a>
chore(deps): update dependency magic-string to v0.30.6 (<a
href="https://redirect.github.com/prettier/prettier/issues/16022">#16022</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/9fb32a1a6b10bfb6dae317492f10e5e42956cf23"><code>9fb32a1</code></a>
Minor refactor to property print (<a
href="https://redirect.github.com/prettier/prettier/issues/15924">#15924</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/08f19401e48ccfeddff4300827da4c8677cb2b79"><code>08f1940</code></a>
Update install script for husky v9 (<a
href="https://redirect.github.com/prettier/prettier/issues/16000">#16000</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/6d0b1d2a935d47e0517721a0d5e62eb79e972b0c"><code>6d0b1d2</code></a>
Update yarn to v4.1.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/16021">#16021</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/c8ba8dbca18858a7962184bbb3898502b9ec7cfb"><code>c8ba8db</code></a>
chore(deps): update dependency <code>@​angular/compiler</code> to
v17.1.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/16018">#16018</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/e2250ec6881222a1bb46ef55403067a259d8c7a3"><code>e2250ec</code></a>
chore(deps): update typescript-eslint to v6.20.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/16015">#16015</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/02865f6cc77858b3a4cbaf7d4e2e72a4e88fe175"><code>02865f6</code></a>
chore(deps): update dependency npm-run-all2 to v6.1.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/16017">#16017</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/014ee5d47445ae79233291d5b4846b28bedf3601"><code>014ee5d</code></a>
chore(deps): update dependency hermes-parser to v0.19.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/16014">#16014</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/prettier/prettier/compare/3.1.1...3.2.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier-plugin-svelte` from 3.1.2 to 3.2.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md">prettier-plugin-svelte's
changelog</a>.</em></p>
<blockquote>
<h2>3.2.2</h2>
<ul>
<li>(fix) handle updated <code>@render</code> tag AST shape</li>
</ul>
<h2>3.2.1</h2>
<ul>
<li>(fix) handle updated <code>@render</code> tag AST shape</li>
</ul>
<h2>3.2.0</h2>
<ul>
<li>(feat) format JSON script tags</li>
<li>(feat) introduce separate entry point using
<code>prettier/standalone</code></li>
<li>(fix) don't duplicate comments of nested script/style tags</li>
<li>(fix) handle updated <code>Snippet</code> block AST shape</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/601ee41a20311882bb9c046dcac21c868911b624"><code>601ee41</code></a>
chore: release 3.2.2</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/c968fef2c2de4092ccedc0f2f9ba7cb0f207669f"><code>c968fef</code></a>
fix: adjust render tag printing for Svelte 5 AST changes</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/08d7a8ba9978b5392d0adb4127da2cb7ed8aee6d"><code>08d7a8b</code></a>
chore: cross-test dirs test.only support</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/96049c64bef1849eea44ae7c7c581aed65b7c7a1"><code>96049c6</code></a>
fix: handle updated <code>@render</code> tag AST shape</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/c8317eb0a0fb00bc4c05d47d5918fe8506013eda"><code>c8317eb</code></a>
chore: release 3.2.0</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/d89241e11249b662394d1b356fc461d370c7441a"><code>d89241e</code></a>
feat: semi-standalone browser build (<a
href="https://redirect.github.com/sveltejs/prettier-plugin-svelte/issues/430">#430</a>)</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/288d91567ddb37095cb063490108b4594377a374"><code>288d915</code></a>
fix: handle updated <code>Snippet</code> block AST shape</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/99c885e5d695bd59f26f156e66fd3f333f181e31"><code>99c885e</code></a>
chore: remove Buffer usage for browser environments (<a
href="https://redirect.github.com/sveltejs/prettier-plugin-svelte/issues/423">#423</a>)</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/cc856a0e5dedd56b7edb0aa1be18adaf385a247a"><code>cc856a0</code></a>
fix: don't duplicate comments of nested script/style tags (<a
href="https://redirect.github.com/sveltejs/prettier-plugin-svelte/issues/425">#425</a>)</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/1884f2250b9d8458e395f153744f74b6117f0bb9"><code>1884f22</code></a>
feat: format JSON script tags (<a
href="https://redirect.github.com/sveltejs/prettier-plugin-svelte/issues/424">#424</a>)</li>
<li>See full diff in <a
href="https://github.com/sveltejs/prettier-plugin-svelte/compare/v3.1.2...v3.2.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `turbo` from 1.12.1 to 1.12.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/turbo/releases">turbo's
releases</a>.</em></p>
<blockquote>
<h2>Turborepo v1.12.4</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>Docs</h3>
<ul>
<li>feat(cache): bump default timeout and add docs by <a
href="https://github.com/tknickman"><code>@​tknickman</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7304">vercel/turbo#7304</a></li>
</ul>
<h3>create-turbo</h3>
<ul>
<li>release(turborepo): 1.12.3 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7296">vercel/turbo#7296</a></li>
<li>chore(create-turbo): update chalk to v4 by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7300">vercel/turbo#7300</a></li>
<li>release(turborepo): 1.12.4-canary.0 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7338">vercel/turbo#7338</a></li>
<li>release(turborepo): 1.12.4-canary.1 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7369">vercel/turbo#7369</a></li>
</ul>
<h3><code>@​turbo/repository</code> - ⚠️ <strong>Alpha - Expect Breaking
Changes</strong></h3>
<ul>
<li>fix(<code>@​turbo/repository</code>): fix breaking API changes from
turbo core by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7373">vercel/turbo#7373</a></li>
<li>chore(turbo): rename workspace -&gt; package in PackageGraph module
by <a href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in
<a
href="https://redirect.github.com/vercel/turbo/pull/7372">vercel/turbo#7372</a></li>
</ul>
<h3>Changelog</h3>
<ul>
<li>chore(Turborepo): Delete or feature-gate imports by <a
href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7295">vercel/turbo#7295</a></li>
<li>fix(Turborepo): Route through existing wait_for_filewatching call by
<a href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7237">vercel/turbo#7237</a></li>
<li>feat(async_cache): support cloning by <a
href="https://github.com/tknickman"><code>@​tknickman</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7293">vercel/turbo#7293</a></li>
<li>refactor: Error on absolute paths in turbo.json by <a
href="https://github.com/NicholasLYang"><code>@​NicholasLYang</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7292">vercel/turbo#7292</a></li>
<li>implement vercel auth token for SSO by <a
href="https://github.com/Zertsov"><code>@​Zertsov</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7192">vercel/turbo#7192</a></li>
<li>feat(<code>@​turbo/repository</code>): add method to return package
dependents by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7242">vercel/turbo#7242</a></li>
<li>chore(<code>@​turbo/repository</code>): bump version to
0.0.1-canary.5 by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7312">vercel/turbo#7312</a></li>
<li>fix(Turborepo): Don't block forever if we have already gotten a
parse error by <a
href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7203">vercel/turbo#7203</a></li>
<li>chore(Turborepo): Remove ExecutionState, we don't need it anymore by
<a href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7281">vercel/turbo#7281</a></li>
<li>feat(turbo): task access trace &amp; cached configs by <a
href="https://github.com/tknickman"><code>@​tknickman</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7074">vercel/turbo#7074</a></li>
<li>chore: fix clippy lints in <code>@​turbo/repository</code> by <a
href="https://github.com/chris-olszewski"><code>@​chris-olszewski</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7310">vercel/turbo#7310</a></li>
<li>chore: Clean up log files, add <code>daemon log</code> subcommand by
<a
href="https://github.com/NicholasLYang"><code>@​NicholasLYang</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7305">vercel/turbo#7305</a></li>
<li>chore: add shutdown method for async cache by <a
href="https://github.com/chris-olszewski"><code>@​chris-olszewski</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7309">vercel/turbo#7309</a></li>
<li>feat: vendor CI log groups by <a
href="https://github.com/cymruu"><code>@​cymruu</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/6314">vercel/turbo#6314</a></li>
<li>feat(turborepo): daemon UX improvements by <a
href="https://github.com/NicholasLYang"><code>@​NicholasLYang</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7307">vercel/turbo#7307</a></li>
<li>chore(turborepo): Ensure fresh builds by <a
href="https://github.com/NicholasLYang"><code>@​NicholasLYang</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7321">vercel/turbo#7321</a></li>
<li>chore: don't print debug info on successful login by <a
href="https://github.com/Zertsov"><code>@​Zertsov</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7323">vercel/turbo#7323</a></li>
<li>fix: check vercel token is still valid by <a
href="https://github.com/Zertsov"><code>@​Zertsov</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7325">vercel/turbo#7325</a></li>
<li>fix(Turborepo): Start moving cookie watching to downstream services
by <a href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7283">vercel/turbo#7283</a></li>
<li>chore(<code>@​turbo/repository</code>): add inline jsdocs for
findPackagesAndDependents method by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7331">vercel/turbo#7331</a></li>
<li>chore: modularize vercel api crate by <a
href="https://github.com/Zertsov"><code>@​Zertsov</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7329">vercel/turbo#7329</a></li>
<li>fix(Turborepo): Pass validated globs to daemon for watching by <a
href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7327">vercel/turbo#7327</a></li>
<li>feat(Turborepo): Add spaces_id to layered config by <a
href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7330">vercel/turbo#7330</a></li>
<li>feat(gitignore): break out gitignore util by <a
href="https://github.com/tknickman"><code>@​tknickman</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7319">vercel/turbo#7319</a></li>
<li>feat(turbo): update changemapper to return name and path of packages
by <a href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in
<a
href="https://redirect.github.com/vercel/turbo/pull/7336">vercel/turbo#7336</a></li>
<li>chore(turbo): rename WorkspaceNode to PackageNode by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7351">vercel/turbo#7351</a></li>
<li>chore(turbo): rename WorkspaceInfo struct to PackageInfo by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7353">vercel/turbo#7353</a></li>
<li>chore(Turborepo): Move daemon paths off of CommandBase by <a
href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7339">vercel/turbo#7339</a></li>
<li>fix: use system certs for tls by <a
href="https://github.com/chris-olszewski"><code>@​chris-olszewski</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7357">vercel/turbo#7357</a></li>
<li>chore(Turborepo): Remote CommandBase from Run by <a
href="https://github.com/gsoltis"><code>@​gsoltis</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7360">vercel/turbo#7360</a></li>
<li>feat(<code>@​turbo/repository</code>): add affectedPackages API by
<a href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7326">vercel/turbo#7326</a></li>
<li>feat(<code>@​turbo/repository</code>): bump for release by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7361">vercel/turbo#7361</a></li>
<li>chore(turbo): rename WorkspaceName to PackageName by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7355">vercel/turbo#7355</a></li>
<li>chore(turbo): delete unused fixture in cli directory by <a
href="https://github.com/mehulkar"><code>@​mehulkar</code></a> in <a
href="https://redirect.github.com/vercel/turbo/pull/7376">vercel/turbo#7376</a></li>
<li>fix: avoid grouping logs from tasks which ended in error by <a
href="https://github.com/chris-olszewski"><code>@​chris-olszewski</code></a>
in <a
href="https://redirect.github.com/vercel/turbo/pull/7335">vercel/turbo#7335</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vercel/turbo/commit/af256d18405f144d9e3122a678adde498417bda8"><code>af256d1</code></a>
publish 1.12.4 to registry</li>
<li><a
href="https://github.com/vercel/turbo/commit/5dbce384933a96f661bbf0a684fa254b851ff596"><code>5dbce38</code></a>
add support for dynamic requests in require() and import() (<a
href="https://redirect.github.com/vercel/turbo/issues/7153">#7153</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/253c785272768505758dff2d3e33ad34a5da2e9d"><code>253c785</code></a>
dedupe resolving independent on reference type (<a
href="https://redirect.github.com/vercel/turbo/issues/7349">#7349</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/ac236204d230636840d7e3f8129f0dbb4f6ae1df"><code>ac23620</code></a>
avoid resolving recursive main field (<a
href="https://redirect.github.com/vercel/turbo/issues/7347">#7347</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/d4ccb0b6bc6ff8e5efba7c776a58cbf19c8be381"><code>d4ccb0b</code></a>
fix: avoid grouping logs from tasks which ended in error (<a
href="https://redirect.github.com/vercel/turbo/issues/7335">#7335</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/c5182b398ff2e8e952a6dea18c6a6136377b3fd8"><code>c5182b3</code></a>
build: Update <code>swc_core</code> to <code>v0.90.8</code> (<a
href="https://redirect.github.com/vercel/turbo/issues/7362">#7362</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/737761073f7b73464b153f5f9e3443b0297a0e7e"><code>7377610</code></a>
chore(turbo): remove EXPERIMENTAL_RUST_CODEPATH env var (<a
href="https://redirect.github.com/vercel/turbo/issues/7375">#7375</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/3de0f283c1e8a0d5ed205178424a560203795d2a"><code>3de0f28</code></a>
chore(turbo): delete unused fixture in cli directory (<a
href="https://redirect.github.com/vercel/turbo/issues/7376">#7376</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/46cb4d267118fc73c7498b3d375a7014dfe83b2d"><code>46cb4d2</code></a>
chore(turbo): rename workspace -&gt; package in PackageGraph module (<a
href="https://redirect.github.com/vercel/turbo/issues/7372">#7372</a>)</li>
<li><a
href="https://github.com/vercel/turbo/commit/2e9eed4edb29ad233b0dc8fa8e9216f004399932"><code>2e9eed4</code></a>
fix(<code>@​turbo/repository</code>): fix breaking API changes from
turbo core (<a
href="https://redirect.github.com/vercel/turbo/issues/7373">#7373</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/turbo/compare/v1.12.1...v1.12.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `@playwright/test` from 1.40.1 to 1.42.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.1</h2>
<h3>Highlights</h3>
<p><a
href="https://redirect.github.com/microsoft/playwright/issues/29732">microsoft/playwright#29732</a>
- [Regression]: HEAD requests to webServer.url since v1.42.0
<a
href="https://redirect.github.com/microsoft/playwright/issues/29746">microsoft/playwright#29746</a>
- [Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin import
<a
href="https://redirect.github.com/microsoft/playwright/issues/29739">microsoft/playwright#29739</a>
- [Bug]: Component tests fails when imported a module with a dot in a
name
<a
href="https://redirect.github.com/microsoft/playwright/issues/29731">microsoft/playwright#29731</a>
- [Regression]: 1.42.0 breaks some import statements
<a
href="https://redirect.github.com/microsoft/playwright/issues/29760">microsoft/playwright#29760</a>
- [Bug]: Possible regression with chained locators in v1.42</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 123.0.6312.4</li>
<li>Mozilla Firefox 123.0</li>
<li>WebKit 17.4</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 122</li>
<li>Microsoft Edge 123</li>
</ul>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'https://github.com/microsoft/playwright/issues/23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/9749f7542676bce2d77f738b5fffcd7b0f46d67c"><code>9749f75</code></a>
chore: mark 1.42.1 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29774">#29774</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d4ac444f7d5e0a01a27e5c2c023962a38c4bce41"><code>d4ac444</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29770">#29770</a>):
docs: improve addLocatorHandler docs</li>
<li><a
href="https://github.com/microsoft/playwright/commit/a7025956c3d7161c16eb7054646d809249b29020"><code>a702595</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29765">#29765</a>):
Revert &quot;chore(role): cache element list by role (<a
href="https://redirect.github.com/microsoft/playwright/issues/29130">#29130</a>)&quot;</li>
<li><a
href="https://github.com/microsoft/playwright/commit/b67050638b65156c55798b60a0a75e15fe935d2d"><code>b670506</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29766">#29766</a>):
fix(tsload): fix tsconfig inheritance resolution</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3a4381303ccafdeb599f461d60bd55fa6425f57c"><code>3a43813</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29744">#29744</a>):
fix(ct): stop-gap for shared file import</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d23fb005d4cd171408aee90db3cde733c6179ed3"><code>d23fb00</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29754">#29754</a>):
chore: remove pw- binaries from ct</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56e50a7304b160b89979a239688a691f90bd1f51"><code>56e50a7</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29748">#29748</a>):
fix(ct): fix the non-react cli entry points</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3f6b6419c507ea8db01dcd0dd21284b47cf14fcb"><code>3f6b641</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29738">#29738</a>):
fix(HEAD): revert GET-&gt;HEAD migration, net-effect was ne...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/20db86da3e492e6b966e008dab11102bc03937e0"><code>20db86d</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29706">#29706</a>):
fit(ct): remove unused type import (<a
href="https://redirect.github.com/microsoft/playwright/issues/29709">#29709</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/84780b1b750d343cf6372c5965582f43e75cb8c9"><code>84780b1</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29715">#29715</a>):
fix: point to the right cli program export</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.40.1...v1.42.1">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~yurys">yurys</a>, a new releaser for
<code>@​playwright/test</code> since your current version.</p>
</details>
<br />

Updates `@sveltejs/adapter-auto` from 3.1.0 to 3.1.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/kit/releases"><code>@​sveltejs/adapter-auto</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​sveltejs/adapter-auto</code><a
href="https://github.com/3"><code>@​3</code></a>.1.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: better error message when using <code>read</code> (<a
href="https://redirect.github.com/sveltejs/kit/pull/11689">#11689</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/kit/blob/main/packages/adapter-auto/CHANGELOG.md"><code>@​sveltejs/adapter-auto</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>3.1.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: better error message when using <code>read</code> (<a
href="https://redirect.github.com/sveltejs/kit/pull/11689">#11689</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/kit/commit/043ad0fb7c9247313542253599cd06d6da00a6bf"><code>043ad0f</code></a>
Version Packages (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-auto/issues/11691">#11691</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/961ba2c3fb7b220b8738085092cb722b5f1b9913"><code>961ba2c</code></a>
fix: better error message when using <code>read</code> with
<code>adapter-auto</code> - closes <a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/adapter-auto/issues/116">#116</a>...</li>
<li>See full diff in <a
href="https://github.com/sveltejs/kit/commits/@sveltejs/adapter-auto@3.1.1/packages/adapter-auto">compare
view</a></li>
</ul>
</details>
<br />

Updates `@sveltejs/kit` from 2.0.6 to 2.5.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/kit/releases"><code>@​sveltejs/kit</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.5.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: tsconfig includes should cover svelte.config.js (<a
href="https://redirect.github.com/sveltejs/kit/pull/11886">#11886</a>)</li>
</ul>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.5.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: prevent stale values after invalidation (<a
href="https://redirect.github.com/sveltejs/kit/pull/11870">#11870</a>)</p>
</li>
<li>
<p>fix: prevent false positive <code>history.pushState</code> and
<code>history.replaceState</code> warnings (<a
href="https://redirect.github.com/sveltejs/kit/pull/11858">#11858</a>)</p>
</li>
<li>
<p>fix: relax status code types (<a
href="https://redirect.github.com/sveltejs/kit/pull/11781">#11781</a>)</p>
</li>
<li>
<p>fix: <code>popstate</code> navigations take <code>pushState</code>
navigations into account (<a
href="https://redirect.github.com/sveltejs/kit/pull/11765">#11765</a>)</p>
</li>
</ul>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.5.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>feat: dev/preview/prerender platform emulation (<a
href="https://redirect.github.com/sveltejs/kit/pull/11730">#11730</a>)</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>fix: strip <code>/@fs</code> prefix correctly on Windows when
invoking <code>read()</code> in dev mode (<a
href="https://redirect.github.com/sveltejs/kit/pull/11728">#11728</a>)</li>
</ul>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.4.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: only disallow body with GET/HEAD (<a
href="https://redirect.github.com/sveltejs/kit/pull/11710">#11710</a>)</li>
</ul>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.4.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: ignore bodies sent with non-PUT/PATCH/POST requests (<a
href="https://redirect.github.com/sveltejs/kit/pull/11708">#11708</a>)</li>
</ul>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.4.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: use Vite's default value for <code>build.target</code> and
respect override supplied by user (<a
href="https://redirect.github.com/sveltejs/kit/pull/11688">#11688</a>)</p>
</li>
<li>
<p>fix: properly decode base64 strings inside <code>read</code> (<a
href="https://redirect.github.com/sveltejs/kit/pull/11682">#11682</a>)</p>
</li>
<li>
<p>fix: default route config to <code>{}</code> for feature checking (<a
href="https://redirect.github.com/sveltejs/kit/pull/11685">#11685</a>)</p>
</li>
<li>
<p>fix: handle <code>onNavigate</code> callbacks correctly (<a
href="https://redirect.github.com/sveltejs/kit/pull/11678">#11678</a>)</p>
</li>
</ul>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.4.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>feat: add <code>$app/server</code> module with <code>read</code>
function for reading assets from filesystem (<a
href="https://redirect.github.com/sveltejs/kit/pull/11649">#11649</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md"><code>@​sveltejs/kit</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>2.5.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: tsconfig includes should cover svelte.config.js (<a
href="https://redirect.github.com/sveltejs/kit/pull/11886">#11886</a>)</li>
</ul>
<h2>2.5.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: prevent stale values after invalidation (<a
href="https://redirect.github.com/sveltejs/kit/pull/11870">#11870</a>)</p>
</li>
<li>
<p>fix: prevent false positive <code>history.pushState</code> and
<code>history.replaceState</code> warnings (<a
href="https://redirect.github.com/sveltejs/kit/pull/11858">#11858</a>)</p>
</li>
<li>
<p>fix: relax status code types (<a
href="https://redirect.github.com/sveltejs/kit/pull/11781">#11781</a>)</p>
</li>
<li>
<p>fix: <code>popstate</code> navigations take <code>pushState</code>
navigations into account (<a
href="https://redirect.github.com/sveltejs/kit/pull/11765">#11765</a>)</p>
</li>
</ul>
<h2>2.5.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>feat: dev/preview/prerender platform emulation (<a
href="https://redirect.github.com/sveltejs/kit/pull/11730">#11730</a>)</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>fix: strip <code>/@fs</code> prefix correctly on Windows when
invoking <code>read()</code> in dev mode (<a
href="https://redirect.github.com/sveltejs/kit/pull/11728">#11728</a>)</li>
</ul>
<h2>2.4.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: only disallow body with GET/HEAD (<a
href="https://redirect.github.com/sveltejs/kit/pull/11710">#11710</a>)</li>
</ul>
<h2>2.4.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: ignore bodies sent with non-PUT/PATCH/POST requests (<a
href="https://redirect.github.com/sveltejs/kit/pull/11708">#11708</a>)</li>
</ul>
<h2>2.4.1</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p>fix: use Vite's default value for <code>build.target</code> and
respect override supplied by user (<a
href="https://redirect.github.com/sveltejs/kit/pull/11688">#11688</a>)</p>
</li>
<li>
<p>fix: properly decode base64 strings inside <code>read</code> (<a
href="https://redirect.github.com/sveltejs/kit/pull/11682">#11682</a>)</p>
</li>
<li>
<p>fix: default route config to <code>{}</code> for feature checking (<a
href="https://redirect.github.com/sveltejs/kit/pull/11685">#11685</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/kit/commit/4d98369e19f99e239c4ee747a078b0abeb142c53"><code>4d98369</code></a>
Version Packages (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11903">#11903</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/f6f9e70097c721e76a2f42b0e4dee48f815bc160"><code>f6f9e70</code></a>
fix: tsconfig includes should cover svelte.config.js (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11886">#11886</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/4ae1cd152a60a22044ab3b8aa5572a2b79864583"><code>4ae1cd1</code></a>
Version Packages (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11767">#11767</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/75e1f5ff012ba95ee21ae151a8ede821dfb85fe5"><code>75e1f5f</code></a>
fix: prevent stale values after invalidation (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11870">#11870</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/511126b51d4aaa770704491ff0890a76fa116205"><code>511126b</code></a>
fix: prevent false positive <code>history.pushState</code> warnings (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11858">#11858</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/08cd13919b128d7ed484f8afdaddbd64f3e9164f"><code>08cd139</code></a>
chore: update chokidar to 3.6.0 (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11811">#11811</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/c749e85d2502d5eac03f739c8f18a2f3a4dcb13e"><code>c749e85</code></a>
chore(deps): update dependency marked to v12 (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11795">#11795</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/f7c4f36e833dce4ae0f79a6c1634810edd744fe3"><code>f7c4f36</code></a>
fix: relax status code types (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11781">#11781</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/311fe8f3c01c7216ae1317d026ba62636f6f660e"><code>311fe8f</code></a>
fix: <code>popstate</code> navigations take <code>pushState</code>
navigations into account (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11765">#11765</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/969e69fa0f0d2f631a64166a7f80035971056401"><code>969e69f</code></a>
Version Packages (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11735">#11735</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.5.2/packages/kit">compare
view</a></li>
</ul>
</details>
<br />

Updates `@sveltejs/vite-plugin-svelte` from 3.0.1 to 3.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/vite-plugin-svelte/releases"><code>@​sveltejs/vite-plugin-svelte</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​sveltejs/vite-plugin-svelte</code><a
href="https://github.com/3"><code>@​3</code></a>.0.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix(compile): correctly determine script lang in files where a
comment precedes the script tag (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/844">#844</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md"><code>@​sveltejs/vite-plugin-svelte</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>3.0.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix(compile): correctly determine script lang in files where a
comment precedes the script tag (<a
href="https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/844">#844</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/e04c9a86f6a8cbc8445139bf0ad04b04c9bda633"><code>e04c9a8</code></a>
Version Packages (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/845">#845</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/a0063554bf846977a7b87df1aee7094e5e85e7c1"><code>a006355</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/842">#842</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/e95d863cc06881770a89948180ac53692f911f20"><code>e95d863</code></a>
fix: correctly detect script language during compilation (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/844">#844</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/d5a6dad8da2da3e505433e1290e9f2aa9bb82d4e"><code>d5a6dad</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/833">#833</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/833d66cee57a0ec7cbfcf29b23796988dfdc7cf3"><code>833d66c</code></a>
chore: update to SvelteKit 2 (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/831">#831</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/4a8d590b540cb91dde34a7162de3933e46106f0b"><code>4a8d590</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/823">#823</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/ee0aa51e4a484f3b7e5e8b3563f6dc9cb6c89c8d"><code>ee0aa51</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/821">#821</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/aca75344e34b90dd7aff8cf7f42231702ea93a03"><code>aca7534</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/818">#818</a>)</li>
<li><a
href="https://github.com/sveltejs/vite-plugin-svelte/commit/2510174305a1d960d46b726a1b41f3be745348b0"><code>2510174</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/815">#815</a>)</li>
<li>See full diff in <a
href="https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@3.0.2/packages/vite-plugin-svelte">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/eslint-plugin` from 6.17.0 to 7.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.1.0</h2>
<h2>7.1.0 (2024-02-26)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add *-type-checked-only configs (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8367">#8367</a>)</li>
<li><strong>eslint-plugin:</strong> [naming-convention] support the
auto-accessor syntax (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8084">#8084</a>)</li>
<li><strong>eslint-plugin:</strong> [consistent-return] add new rule (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8289">#8289</a>)</li>
<li><strong>typescript-estree:</strong> add debug logs for
useProgramFromProjectService (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8426">#8426</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chan] allow typeof
for avoiding reference error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8472">#8472</a>)</li>
<li><strong>eslint-plugin:</strong> [no-misused-promises] improve check
union types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8534">#8534</a>)</li>
<li><strong>eslint-plugin:</strong> [no-use-before-define] fix false
positive type reference in as, satisfies (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8474">#8474</a>)</li>
<li><strong>typescript-estree:</strong> use simpler absolutify behavior
for project service client file paths (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8520">#8520</a>)</li>
</ul>
<h3>❤️  Thank You</h3>
<ul>
<li>Arka Pratim Chaudhuri <a
href="https://github.com/arka1002"><code>@​arka1002</code></a></li>
<li>Josh Goldberg ✨</li>
<li>YeonJuan <a
href="https://github.com/yeonjuan"><code>@​yeonjuan</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>v7.0.2</h2>
<h2>7.0.2 (2024-02-19)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li>fix tsconfig-less check errors, fix <code>@types/eslint</code>
incompatibilities, add tests (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8460">#8460</a>)</li>
<li><strong>utils:</strong> use mergeable interface for
<code>settings</code> property (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8485">#8485</a>)</li>
</ul>
<h3>❤️  Thank You</h3>
<ul>
<li>Brad Zacher <a
href="https://github.com/bradzacher"><code>@​bradzacher</code></a></li>
<li>Gareth Jones <a
href="https://github.com/G-Rath"><code>@​G-Rath</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
<h2>v7.0.1</h2>
<h2>7.0.1 (2024-02-12)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> update peer dep for parser (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8441">#8441</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>7.1.0 (2024-02-26)</h2>
<h3>🚀 Features</h3>
<ul>
<li>
<p><strong>eslint-plugin:</strong> add *-type-checked-only configs</p>
</li>
<li>
<p><strong>eslint-plugin:</strong> [naming-convention] support the
auto-acce…
bradenrayhorn added a commit to bradenrayhorn/ced that referenced this issue Mar 5, 2024
Bumps the all group in /ui with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.41.2`
| `1.42.1` |
| [@skeletonlabs/skeleton](https://github.com/skeletonlabs/skeleton) |
`2.8.0` | `2.9.0` |
|
[@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit)
| `2.5.1` | `2.5.2` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `18.19.18` | `18.19.21` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `7.0.2` | `7.1.0` |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
| `7.0.2` | `7.1.0` |
| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.17` |
`10.4.18` |
| [msw](https://github.com/mswjs/msw) | `2.2.1` | `2.2.2` |
|
[prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte)
| `3.2.1` | `3.2.2` |
| [svelte-check](https://github.com/sveltejs/language-tools) | `3.6.4` |
`3.6.6` |

Updates `@playwright/test` from 1.41.2 to 1.42.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.1</h2>
<h3>Highlights</h3>
<p><a
href="https://redirect.github.com/microsoft/playwright/issues/29732">microsoft/playwright#29732</a>
- [Regression]: HEAD requests to webServer.url since v1.42.0
<a
href="https://redirect.github.com/microsoft/playwright/issues/29746">microsoft/playwright#29746</a>
- [Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin import
<a
href="https://redirect.github.com/microsoft/playwright/issues/29739">microsoft/playwright#29739</a>
- [Bug]: Component tests fails when imported a module with a dot in a
name
<a
href="https://redirect.github.com/microsoft/playwright/issues/29731">microsoft/playwright#29731</a>
- [Regression]: 1.42.0 breaks some import statements
<a
href="https://redirect.github.com/microsoft/playwright/issues/29760">microsoft/playwright#29760</a>
- [Bug]: Possible regression with chained locators in v1.42</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 123.0.6312.4</li>
<li>Mozilla Firefox 123.0</li>
<li>WebKit 17.4</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 122</li>
<li>Microsoft Edge 123</li>
</ul>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/9749f7542676bce2d77f738b5fffcd7b0f46d67c"><code>9749f75</code></a>
chore: mark 1.42.1 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29774">#29774</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d4ac444f7d5e0a01a27e5c2c023962a38c4bce41"><code>d4ac444</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29770">#29770</a>):
docs: improve addLocatorHandler docs</li>
<li><a
href="https://github.com/microsoft/playwright/commit/a7025956c3d7161c16eb7054646d809249b29020"><code>a702595</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29765">#29765</a>):
Revert &quot;chore(role): cache element list by role (<a
href="https://redirect.github.com/microsoft/playwright/issues/29130">#29130</a>)&quot;</li>
<li><a
href="https://github.com/microsoft/playwright/commit/b67050638b65156c55798b60a0a75e15fe935d2d"><code>b670506</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29766">#29766</a>):
fix(tsload): fix tsconfig inheritance resolution</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3a4381303ccafdeb599f461d60bd55fa6425f57c"><code>3a43813</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29744">#29744</a>):
fix(ct): stop-gap for shared file import</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d23fb005d4cd171408aee90db3cde733c6179ed3"><code>d23fb00</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29754">#29754</a>):
chore: remove pw- binaries from ct</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56e50a7304b160b89979a239688a691f90bd1f51"><code>56e50a7</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29748">#29748</a>):
fix(ct): fix the non-react cli entry points</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3f6b6419c507ea8db01dcd0dd21284b47cf14fcb"><code>3f6b641</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29738">#29738</a>):
fix(HEAD): revert GET-&gt;HEAD migration, net-effect was ne...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/20db86da3e492e6b966e008dab11102bc03937e0"><code>20db86d</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29706">#29706</a>):
fit(ct): remove unused type import (<a
href="https://redirect.github.com/microsoft/playwright/issues/29709">#29709</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/84780b1b750d343cf6372c5965582f43e75cb8c9"><code>84780b1</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29715">#29715</a>):
fix: point to the right cli program export</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.2...v1.42.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@skeletonlabs/skeleton` from 2.8.0 to 2.9.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/skeletonlabs/skeleton/releases"><code>@​skeletonlabs/skeleton</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​skeletonlabs/skeleton</code><a
href="https://github.com/2"><code>@​2</code></a>.9.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>feat: Added <code>disabled</code> prop to ListBox and ListBoxItem
components. (<a
href="https://redirect.github.com/skeletonlabs/skeleton/pull/2485">#2485</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/0af33f41224c88753eb2c7d547e911b55a475110"><code>0af33f4</code></a>
Merge pull request <a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2520">#2520</a>
from skeletonlabs/changeset-release/master</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/18d246a2e082c124c11b8daa08015752451f6069"><code>18d246a</code></a>
chore(release): version package</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/7bc56a1a10f67bece05e5bad308f1c137b4e0462"><code>7bc56a1</code></a>
Merge pull request <a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2519">#2519</a>
from skeletonlabs/dev</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/b78a3b48fee48999b5e39325abd71a067e4a33db"><code>b78a3b4</code></a>
docs/fix typo in file path for Datatable.svelte within SSD docs (<a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2515">#2515</a>)</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/3a27212fe7d4e23a491902de1279780ee43ae6e7"><code>3a27212</code></a>
Feat/add disabled to listbox listboxitem (<a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2485">#2485</a>)</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/a5a588d8819f36bc369c097c0cc972996e820e06"><code>a5a588d</code></a>
remove store link from sidebar navigation (<a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2500">#2500</a>)</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/9314b1fb2b5070603ff561d99465a53a515014ba"><code>9314b1f</code></a>
Testing build isolation</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/2b72ae11ffc55bf2fb65c654d93f7d7050b870be"><code>2b72ae1</code></a>
Merge pull request <a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2478">#2478</a>
from kmalloy24/docs/ssd-typo</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/191526d9d2bbf3e943d62f098f12dd582f7fb939"><code>191526d</code></a>
typo</li>
<li><a
href="https://github.com/skeletonlabs/skeleton/commit/c6a4ddc02d2883e2ff0c350cc5f02f3b69d0d9ce"><code>c6a4ddc</code></a>
Merge pull request <a
href="https://redirect.github.com/skeletonlabs/skeleton/issues/2476">#2476</a>
from skeletonlabs/changeset-release/master</li>
<li>Additional commits viewable in <a
href="https://github.com/skeletonlabs/skeleton/compare/@skeletonlabs/skeleton@2.8.0...@skeletonlabs/skeleton@2.9.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@sveltejs/kit` from 2.5.1 to 2.5.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/kit/releases"><code>@​sveltejs/kit</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​sveltejs/kit</code><a
href="https://github.com/2"><code>@​2</code></a>.5.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: tsconfig includes should cover svelte.config.js (<a
href="https://redirect.github.com/sveltejs/kit/pull/11886">#11886</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md"><code>@​sveltejs/kit</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>2.5.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>fix: tsconfig includes should cover svelte.config.js (<a
href="https://redirect.github.com/sveltejs/kit/pull/11886">#11886</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/kit/commit/4d98369e19f99e239c4ee747a078b0abeb142c53"><code>4d98369</code></a>
Version Packages (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11903">#11903</a>)</li>
<li><a
href="https://github.com/sveltejs/kit/commit/f6f9e70097c721e76a2f42b0e4dee48f815bc160"><code>f6f9e70</code></a>
fix: tsconfig includes should cover svelte.config.js (<a
href="https://github.com/sveltejs/kit/tree/HEAD/packages/kit/issues/11886">#11886</a>)</li>
<li>See full diff in <a
href="https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.5.2/packages/kit">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 18.19.18 to 18.19.21
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/eslint-plugin` from 7.0.2 to 7.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/eslint-plugin</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.1.0</h2>
<h2>7.1.0 (2024-02-26)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add *-type-checked-only configs (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8367">#8367</a>)</li>
<li><strong>eslint-plugin:</strong> [naming-convention] support the
auto-accessor syntax (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8084">#8084</a>)</li>
<li><strong>eslint-plugin:</strong> [consistent-return] add new rule (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8289">#8289</a>)</li>
<li><strong>typescript-estree:</strong> add debug logs for
useProgramFromProjectService (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8426">#8426</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chan] allow typeof
for avoiding reference error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8472">#8472</a>)</li>
<li><strong>eslint-plugin:</strong> [no-misused-promises] improve check
union types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8534">#8534</a>)</li>
<li><strong>eslint-plugin:</strong> [no-use-before-define] fix false
positive type reference in as, satisfies (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8474">#8474</a>)</li>
<li><strong>typescript-estree:</strong> use simpler absolutify behavior
for project service client file paths (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8520">#8520</a>)</li>
</ul>
<h3>❤️  Thank You</h3>
<ul>
<li>Arka Pratim Chaudhuri <a
href="https://github.com/arka1002"><code>@​arka1002</code></a></li>
<li>Josh Goldberg ✨</li>
<li>YeonJuan <a
href="https://github.com/yeonjuan"><code>@​yeonjuan</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@​typescript-eslint/eslint-plugin</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>7.1.0 (2024-02-26)</h2>
<h3>🚀 Features</h3>
<ul>
<li>
<p><strong>eslint-plugin:</strong> add *-type-checked-only configs</p>
</li>
<li>
<p><strong>eslint-plugin:</strong> [naming-convention] support the
auto-accessor syntax</p>
</li>
<li>
<p><strong>eslint-plugin:</strong> [consistent-return] add new rule</p>
</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>
<p><strong>eslint-plugin:</strong> [prefer-optional-chan] allow typeof
for avoiding reference error</p>
</li>
<li>
<p><strong>eslint-plugin:</strong> [no-misused-promises] improve check
union types</p>
</li>
<li>
<p><strong>eslint-plugin:</strong> [no-use-before-define] fix false
positive type reference in as, satisfies</p>
</li>
</ul>
<h3>❤️  Thank You</h3>
<ul>
<li>Arka Pratim Chaudhuri</li>
<li>Josh Goldberg ✨</li>
<li>YeonJuan</li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/4bc6944f880570273d8486d07bbac63186c8dfe0"><code>4bc6944</code></a>
chore(release): publish 7.1.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/1807d555aeb99873c665b34b75a4e5bc89bc1f86"><code>1807d55</code></a>
docs: add tabs in no-unsafe-unary-minus.md (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8542">#8542</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f2f57de6d203f083a0573c132196f0777182793f"><code>f2f57de</code></a>
test(eslint-plugin): [no-misused-promises] add test cases for spread
args (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8">#8</a>...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/fa679550052f122c82bc4fd88d2e2c9138824bc3"><code>fa67955</code></a>
chore: drop T from internal types (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8521">#8521</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/60c1cd35dd057f0e6d836f1c38d255f275002c89"><code>60c1cd3</code></a>
fix(eslint-plugin): [no-use-before-define] fix false positive type
reference ...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/14589205e405d91605be84c0492c02458efe5f54"><code>1458920</code></a>
fix(eslint-plugin): [no-misused-promises] improve check union types (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8534">#8534</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/c1441c8f5bb0f980238c934af6e499baacdd41f2"><code>c1441c8</code></a>
fix(eslint-plugin): [prefer-optional-chan] allow typeof for avoiding
referenc...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/e7ec6f061f9ce77346906a0d865fd9c18281256d"><code>e7ec6f0</code></a>
docs: from option instead of source in prefer-readonly-parameter-types
(<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8461">#8461</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/46cef966fb861f341768815a6fcae974d7cd43ff"><code>46cef96</code></a>
feat(eslint-plugin): [consistent-return] add new rule (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8289">#8289</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f7198db67d881c9b288e8f0774c1ad0ea2a5d900"><code>f7198db</code></a>
feat(eslint-plugin): [naming-convention] support the auto-accessor
syntax (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/8">#8</a>...</li>
<li>Additional commits viewable in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v7.1.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 7.0.2 to 7.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@​typescript-eslint/parser</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.1.0</h2>
<h2>7.1.0 (2024-02-26)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> add *-type-checked-only configs (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8367">#8367</a>)</li>
<li><strong>eslint-plugin:</strong> [naming-convention] support the
auto-accessor syntax (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8084">#8084</a>)</li>
<li><strong>eslint-plugin:</strong> [consistent-return] add new rule (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8289">#8289</a>)</li>
<li><strong>typescript-estree:</strong> add debug logs for
useProgramFromProjectService (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8426">#8426</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [prefer-optional-chan] allow typeof
for avoiding reference error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8472">#8472</a>)</li>
<li><strong>eslint-plugin:</strong> [no-misused-promises] improve check
union types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8534">#8534</a>)</li>
<li><strong>eslint-plugin:</strong> [no-use-before-define] fix false
positive type reference in as, satisfies (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8474">#8474</a>)</li>
<li><strong>typescript-estree:</strong> use simpler absolutify behavior
for project service client file paths (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/8520">#8520</a>)</li>
</ul>
<h3>❤️  Thank You</h3>
<ul>
<li>Arka Pratim Chaudhuri <a
href="https://github.com/arka1002"><code>@​arka1002</code></a></li>
<li>Josh Goldberg ✨</li>
<li>YeonJuan <a
href="https://github.com/yeonjuan"><code>@​yeonjuan</code></a></li>
</ul>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@​typescript-eslint/parser</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>7.1.0 (2024-02-26)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>You can read about our <a
href="https://main--typescript-eslint.netlify.app/users/versioning">versioning
strategy</a> and <a
href="https://main--typescript-eslint.netlify.app/users/releases">releases</a>
on our website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/4bc6944f880570273d8486d07bbac63186c8dfe0"><code>4bc6944</code></a>
chore(release): publish 7.1.0</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v7.1.0/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `autoprefixer` from 10.4.17 to 10.4.18
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/postcss/autoprefixer/releases">autoprefixer's
releases</a>.</em></p>
<blockquote>
<h2>10.4.18</h2>
<ul>
<li>Fixed removing <code>-webkit-box-orient</code> on
<code>-webkit-line-clamp</code> (<a
href="https://github.com/Goodwine"><code>@​Goodwine</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md">autoprefixer's
changelog</a>.</em></p>
<blockquote>
<h2>10.4.18</h2>
<ul>
<li>Fixed removing <code>-webkit-box-orient</code> on
<code>-webkit-line-clamp</code> (<a
href="https://github.com/Goodwine"><code>@​Goodwine</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/postcss/autoprefixer/commit/90dc18d7201608ccf1a02aba476feec28f60257e"><code>90dc18d</code></a>
Release 10.4.18 version</li>
<li><a
href="https://github.com/postcss/autoprefixer/commit/0af1be8a7453d28701f99cfdeefe026548c690cf"><code>0af1be8</code></a>
Update dependencies</li>
<li><a
href="https://github.com/postcss/autoprefixer/commit/1efe165b9511049b72f4abdb537cf9494889e48e"><code>1efe165</code></a>
Update c8 config</li>
<li><a
href="https://github.com/postcss/autoprefixer/commit/80ff109c02e9ab40e4f8de57584309372f90ec5a"><code>80ff109</code></a>
Add Node.js 21 to CI</li>
<li><a
href="https://github.com/postcss/autoprefixer/commit/5e5d1935b81c41a5f9bbcc1b63377e32b8c6de59"><code>5e5d193</code></a>
Automate release creation</li>
<li><a
href="https://github.com/postcss/autoprefixer/commit/e72c36a761b07b8083c2d746f200e7d2e7fc7e47"><code>e72c36a</code></a>
Update actions</li>
<li><a
href="https://github.com/postcss/autoprefixer/commit/ec68b5212fee8d25354cd68566311a808dbe96d8"><code>ec68b52</code></a>
Preserve -webkit-box-orient when -webkit-line-clamp is present (<a
href="https://redirect.github.com/postcss/autoprefixer/issues/1511">#1511</a>)</li>
<li>See full diff in <a
href="https://github.com/postcss/autoprefixer/compare/10.4.17...10.4.18">compare
view</a></li>
</ul>
</details>
<br />

Updates `msw` from 2.2.1 to 2.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mswjs/msw/releases">msw's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.2 (2024-02-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>set correct &quot;Content-Length&quot; response header for special
characters (<a
href="https://redirect.github.com/mswjs/msw/issues/2045">#2045</a>) (<a
href="https://redirect.github.com/mswjs/msw/issues/2046">#2046</a>)
(eb3e284a3e27956987854d23878aa4ea11c56dde) <a
href="https://github.com/ZeroCho"><code>@​ZeroCho</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mswjs/msw/commit/b3e47f71d3a0333aaeab3da5839cb9068a30d7ef"><code>b3e47f7</code></a>
chore(release): v2.2.2</li>
<li><a
href="https://github.com/mswjs/msw/commit/eb3e284a3e27956987854d23878aa4ea11c56dde"><code>eb3e284</code></a>
fix: set correct &quot;Content-Length&quot; response header for special
characters (<a
href="https://redirect.github.com/mswjs/msw/issues/20">#20</a>...</li>
<li>See full diff in <a
href="https://github.com/mswjs/msw/compare/v2.2.1...v2.2.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier-plugin-svelte` from 3.2.1 to 3.2.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md">prettier-plugin-svelte's
changelog</a>.</em></p>
<blockquote>
<h2>3.2.2</h2>
<ul>
<li>(fix) handle updated <code>@render</code> tag AST shape</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/601ee41a20311882bb9c046dcac21c868911b624"><code>601ee41</code></a>
chore: release 3.2.2</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/c968fef2c2de4092ccedc0f2f9ba7cb0f207669f"><code>c968fef</code></a>
fix: adjust render tag printing for Svelte 5 AST changes</li>
<li><a
href="https://github.com/sveltejs/prettier-plugin-svelte/commit/08d7a8ba9978b5392d0adb4127da2cb7ed8aee6d"><code>08d7a8b</code></a>
chore: cross-test dirs test.only support</li>
<li>See full diff in <a
href="https://github.com/sveltejs/prettier-plugin-svelte/compare/v3.2.1...v3.2.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `svelte-check` from 3.6.4 to 3.6.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sveltejs/language-tools/releases">svelte-check's
releases</a>.</em></p>
<blockquote>
<h2>svelte-check-3.6.6</h2>
<ul>
<li>fix: adjust render tag for latest AST version</li>
</ul>
<h2>svelte-check-3.6.5</h2>
<ul>
<li>fix: adjust $props() comment type logic (<a
href="https://redirect.github.com/sveltejs/language-tools/issues/2294">#2294</a>)</li>
<li>fix: use Svelte 4 compiler from user when available</li>
<li>fix: adjust snippet helper type to new snippet API</li>
<li>fix: also take type argument into account when analyzing
$props()</li>
<li>fix: don't add form type to zero types when property is not typed
out</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sveltejs/language-tools/commit/4bd1424d80ab2c659644b7ce1346dfaaa640628e"><code>4bd1424</code></a>
chore: bump versions (<a
href="https://redirect.github.com/sveltejs/language-tools/issues/2304">#2304</a>)</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/ff2f10a1a80b146df51374060358dd34e63432df"><code>ff2f10a</code></a>
chore: update tests</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/c27a99b6570f91781e7321ee5d4c248bf535d9bd"><code>c27a99b</code></a>
fix: adjust render tag for latest AST version</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/259ff2c85d193681ace45dd681678ef25581b5c7"><code>259ff2c</code></a>
fix: don't add form types when not typed out</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/6badc2f2e8ed480c6cae41ef0ae2a913879b0cf7"><code>6badc2f</code></a>
fix: also take type argument into account when analyzing
<code>$props()</code></li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/8976bbe33d464dcefc7949870a5618c19e2206cf"><code>8976bbe</code></a>
fix: adjust snippet helper type to new snippet API</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/0b1cb0665046703f882cf08a99b1e2a880f6f88e"><code>0b1cb06</code></a>
fix: use Svelte 4 compiler from user when available</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/00e347e1b4e51410bfc346a8c81b4c885e47f821"><code>00e347e</code></a>
feat: completion for custom element tag name and event (<a
href="https://redirect.github.com/sveltejs/language-tools/issues/2300">#2300</a>)</li>
<li><a
href="https://github.com/sveltejs/language-tools/commit/1b5e9134d40b623c88490e14d3338af94f6b552c"><code>1b5e913</code></a>
fix: adjust <code>$props()</code> comment type logic (<a
href="https://redirect.github.com/sveltejs/language-tools/issues/2294">#2294</a>)</li>
<li>See full diff in <a
href="https://github.com/sveltejs/language-tools/compare/svelte-check-3.6.4...svelte-check-3.6.6">compare
view</a></li>
</ul>
</details>
<br />


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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>
larsrickert added a commit to SchwarzIT/onyx that referenced this issue Mar 5, 2024
Bumps the minor group with 9 updates:

| Package | From | To |
| --- | --- | --- |
|
[@playwright/experimental-ct-vue](https://github.com/microsoft/playwright)
| `1.41.2` | `1.42.1` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.41.2`
| `1.42.1` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `20.11.20` | `20.11.24` |
|
[@vue/compiler-dom](https://github.com/vuejs/core/tree/HEAD/packages/compiler-dom)
| `3.4.20` | `3.4.21` |
|
[eslint-plugin-playwright](https://github.com/playwright-community/eslint-plugin-playwright)
| `1.3.1` | `1.5.1` |
| [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks) |
`2.9.0` | `2.10.0` |
| [vue](https://github.com/vuejs/core) | `3.4.20` | `3.4.21` |
|
[vue-i18n](https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n)
| `9.9.1` | `9.10.1` |
|
[@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/eslint)
| `8.56.3` | `8.56.5` |

Updates `@playwright/experimental-ct-vue` from 1.41.2 to 1.42.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/experimental-ct-vue</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.1</h2>
<h3>Highlights</h3>
<p><a
href="https://redirect.github.com/microsoft/playwright/issues/29732">microsoft/playwright#29732</a>
- [Regression]: HEAD requests to webServer.url since v1.42.0
<a
href="https://redirect.github.com/microsoft/playwright/issues/29746">microsoft/playwright#29746</a>
- [Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin import
<a
href="https://redirect.github.com/microsoft/playwright/issues/29739">microsoft/playwright#29739</a>
- [Bug]: Component tests fails when imported a module with a dot in a
name
<a
href="https://redirect.github.com/microsoft/playwright/issues/29731">microsoft/playwright#29731</a>
- [Regression]: 1.42.0 breaks some import statements
<a
href="https://redirect.github.com/microsoft/playwright/issues/29760">microsoft/playwright#29760</a>
- [Bug]: Possible regression with chained locators in v1.42</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 123.0.6312.4</li>
<li>Mozilla Firefox 123.0</li>
<li>WebKit 17.4</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 122</li>
<li>Microsoft Edge 123</li>
</ul>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/9749f7542676bce2d77f738b5fffcd7b0f46d67c"><code>9749f75</code></a>
chore: mark 1.42.1 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29774">#29774</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d4ac444f7d5e0a01a27e5c2c023962a38c4bce41"><code>d4ac444</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29770">#29770</a>):
docs: improve addLocatorHandler docs</li>
<li><a
href="https://github.com/microsoft/playwright/commit/a7025956c3d7161c16eb7054646d809249b29020"><code>a702595</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29765">#29765</a>):
Revert &quot;chore(role): cache element list by role (<a
href="https://redirect.github.com/microsoft/playwright/issues/29130">#29130</a>)&quot;</li>
<li><a
href="https://github.com/microsoft/playwright/commit/b67050638b65156c55798b60a0a75e15fe935d2d"><code>b670506</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29766">#29766</a>):
fix(tsload): fix tsconfig inheritance resolution</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3a4381303ccafdeb599f461d60bd55fa6425f57c"><code>3a43813</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29744">#29744</a>):
fix(ct): stop-gap for shared file import</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d23fb005d4cd171408aee90db3cde733c6179ed3"><code>d23fb00</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29754">#29754</a>):
chore: remove pw- binaries from ct</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56e50a7304b160b89979a239688a691f90bd1f51"><code>56e50a7</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29748">#29748</a>):
fix(ct): fix the non-react cli entry points</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3f6b6419c507ea8db01dcd0dd21284b47cf14fcb"><code>3f6b641</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29738">#29738</a>):
fix(HEAD): revert GET-&gt;HEAD migration, net-effect was ne...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/20db86da3e492e6b966e008dab11102bc03937e0"><code>20db86d</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29706">#29706</a>):
fit(ct): remove unused type import (<a
href="https://redirect.github.com/microsoft/playwright/issues/29709">#29709</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/84780b1b750d343cf6372c5965582f43e75cb8c9"><code>84780b1</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29715">#29715</a>):
fix: point to the right cli program export</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.2...v1.42.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@playwright/test` from 1.41.2 to 1.42.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.1</h2>
<h3>Highlights</h3>
<p><a
href="https://redirect.github.com/microsoft/playwright/issues/29732">microsoft/playwright#29732</a>
- [Regression]: HEAD requests to webServer.url since v1.42.0
<a
href="https://redirect.github.com/microsoft/playwright/issues/29746">microsoft/playwright#29746</a>
- [Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin import
<a
href="https://redirect.github.com/microsoft/playwright/issues/29739">microsoft/playwright#29739</a>
- [Bug]: Component tests fails when imported a module with a dot in a
name
<a
href="https://redirect.github.com/microsoft/playwright/issues/29731">microsoft/playwright#29731</a>
- [Regression]: 1.42.0 breaks some import statements
<a
href="https://redirect.github.com/microsoft/playwright/issues/29760">microsoft/playwright#29760</a>
- [Bug]: Possible regression with chained locators in v1.42</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 123.0.6312.4</li>
<li>Mozilla Firefox 123.0</li>
<li>WebKit 17.4</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 122</li>
<li>Microsoft Edge 123</li>
</ul>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/9749f7542676bce2d77f738b5fffcd7b0f46d67c"><code>9749f75</code></a>
chore: mark 1.42.1 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29774">#29774</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d4ac444f7d5e0a01a27e5c2c023962a38c4bce41"><code>d4ac444</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29770">#29770</a>):
docs: improve addLocatorHandler docs</li>
<li><a
href="https://github.com/microsoft/playwright/commit/a7025956c3d7161c16eb7054646d809249b29020"><code>a702595</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29765">#29765</a>):
Revert &quot;chore(role): cache element list by role (<a
href="https://redirect.github.com/microsoft/playwright/issues/29130">#29130</a>)&quot;</li>
<li><a
href="https://github.com/microsoft/playwright/commit/b67050638b65156c55798b60a0a75e15fe935d2d"><code>b670506</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29766">#29766</a>):
fix(tsload): fix tsconfig inheritance resolution</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3a4381303ccafdeb599f461d60bd55fa6425f57c"><code>3a43813</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29744">#29744</a>):
fix(ct): stop-gap for shared file import</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d23fb005d4cd171408aee90db3cde733c6179ed3"><code>d23fb00</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29754">#29754</a>):
chore: remove pw- binaries from ct</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56e50a7304b160b89979a239688a691f90bd1f51"><code>56e50a7</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29748">#29748</a>):
fix(ct): fix the non-react cli entry points</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3f6b6419c507ea8db01dcd0dd21284b47cf14fcb"><code>3f6b641</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29738">#29738</a>):
fix(HEAD): revert GET-&gt;HEAD migration, net-effect was ne...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/20db86da3e492e6b966e008dab11102bc03937e0"><code>20db86d</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29706">#29706</a>):
fit(ct): remove unused type import (<a
href="https://redirect.github.com/microsoft/playwright/issues/29709">#29709</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/84780b1b750d343cf6372c5965582f43e75cb8c9"><code>84780b1</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29715">#29715</a>):
fix: point to the right cli program export</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.2...v1.42.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 20.11.20 to 20.11.24
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />

Updates `@vue/compiler-dom` from 3.4.20 to 3.4.21
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/releases"><code>@​vue/compiler-dom</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v3.4.21</h2>
<p>Please refer to <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md"><code>@​vue/compiler-dom</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/vuejs/core/compare/v3.4.20...v3.4.21">3.4.21</a>
(2024-02-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>runtime-dom:</strong> avoid unset option's value (<a
href="https://redirect.github.com/vuejs/core/issues/10416">#10416</a>)
(<a
href="https://github.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb">b3f8b5a</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/10412">#10412</a> <a
href="https://redirect.github.com/vuejs/core/issues/10396">#10396</a></li>
<li><strong>suspense:</strong> ensure nested suspense patching if in
fallback state (<a
href="https://redirect.github.com/vuejs/core/issues/10417">#10417</a>)
(<a
href="https://github.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106">7c97778</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/10415">#10415</a></li>
<li><strong>warning:</strong> stringify args in warn handler (<a
href="https://redirect.github.com/vuejs/core/issues/10414">#10414</a>)
(<a
href="https://github.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124">bc37258</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/10409">#10409</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vuejs/core/commit/f66a75ea75c8aece065b61e2126b4c5b2338aa6e"><code>f66a75e</code></a>
release: v3.4.21</li>
<li>See full diff in <a
href="https://github.com/vuejs/core/commits/v3.4.21/packages/compiler-dom">compare
view</a></li>
</ul>
</details>
<br />

Updates `eslint-plugin-playwright` from 1.3.1 to 1.5.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/playwright-community/eslint-plugin-playwright/releases">eslint-plugin-playwright's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.1</h2>
<h2><a
href="https://github.com/playwright-community/eslint-plugin-playwright/compare/v1.5.0...v1.5.1">1.5.1</a>
(2024-02-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>require-hook:</strong> False positive when using new options
argument (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/8a067481d65049c0129d69eb70576eb50767d55b">8a06748</a>)</li>
<li><strong>valid-describe-callback:</strong> False positive when using
new options argument (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/c25d200c43494b3a1265c173d81a8b6e98794468">c25d200</a>),
closes <a
href="https://redirect.github.com/playwright-community/eslint-plugin-playwright/issues/266">#266</a></li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add missing URLs to rules (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/26998b55eed6deee1895ffafdc954ecbd3dd8c23">26998b5</a>)</li>
</ul>
<h2>v1.5.0</h2>
<h2><a
href="https://github.com/playwright-community/eslint-plugin-playwright/compare/v1.4.2...v1.5.0">1.5.0</a>
(2024-02-28)</h2>
<h3>Features</h3>
<ul>
<li>Add support for new <a
href="https://playwright.dev/docs/test-annotations#tag-tests">test
option syntax</a> (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/e7155b64cc015767ca678ffb7a9c91d98ad649f3">e7155b6</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>no-useless-not:</strong> Add support for
<code>visible</code> and <code>enabled</code> options (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/e97a62baadf156a4e67ef4de75df3de6b4a78ba6">e97a62b</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>no-standalone-expect:</strong> Improve documentation around
best practices (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/95fcfd8f7b65acd0d799da5b43255945c97c37e7">95fcfd8</a>)</li>
</ul>
<h2>v1.4.2</h2>
<h2><a
href="https://github.com/playwright-community/eslint-plugin-playwright/compare/v1.4.1...v1.4.2">1.4.2</a>
(2024-02-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>valid-describe-callback:</strong> False positive with
<code>test.describe.configure</code> (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/91988d575916b3c19139ad4df2b9ecdf2abc6909">91988d5</a>)</li>
</ul>
<h3>Tests</h3>
<ul>
<li>Add more test cases test configuration (<a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/6bc2576094808490b4140f78578603934c35e6db">6bc2576</a>)</li>
</ul>
<h2>v1.4.1</h2>
<h2><a
href="https://github.com/playwright-community/eslint-plugin-playwright/compare/v1.4.0...v1.4.1">1.4.1</a>
(2024-02-27)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/1affb2ee2f2eb012c28b212564b01c00a875649e"><code>1affb2e</code></a>
chore: Update example folder</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/26998b55eed6deee1895ffafdc954ecbd3dd8c23"><code>26998b5</code></a>
docs: Add missing URLs to rules</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/8a067481d65049c0129d69eb70576eb50767d55b"><code>8a06748</code></a>
fix(require-hook): False positive when using new options argument</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/c25d200c43494b3a1265c173d81a8b6e98794468"><code>c25d200</code></a>
fix(valid-describe-callback): False positive when using new options
argument</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/99f11c70bd0e21fff7b4825fc42c97ce782b7c47"><code>99f11c7</code></a>
Merge pull request <a
href="https://redirect.github.com/playwright-community/eslint-plugin-playwright/issues/265">#265</a>
from playwright-community/new-test-syntax-tags</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/e7155b64cc015767ca678ffb7a9c91d98ad649f3"><code>e7155b6</code></a>
feat: Add support for new test option syntax</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/d51f04357331d04949e47e80aefffcb0f8bfecee"><code>d51f043</code></a>
Merge pull request <a
href="https://redirect.github.com/playwright-community/eslint-plugin-playwright/issues/264">#264</a>
from playwright-community/no-useless-not</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/e97a62baadf156a4e67ef4de75df3de6b4a78ba6"><code>e97a62b</code></a>
fix(no-useless-not): Add support for <code>visible</code> and
<code>enabled</code> options</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/95fcfd8f7b65acd0d799da5b43255945c97c37e7"><code>95fcfd8</code></a>
docs(no-standalone-expect): Improve documentation around best
practices</li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright/commit/0b0baeeacafd0896f4123a43e06fcb6ea96882e7"><code>0b0baee</code></a>
chore: Remove references to <code>expect.assertions</code> and
<code>expect.hasAssertions</code></li>
<li>Additional commits viewable in <a
href="https://github.com/playwright-community/eslint-plugin-playwright/compare/v1.3.1...v1.5.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `simple-git-hooks` from 2.9.0 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/toplenboren/simple-git-hooks/releases">simple-git-hooks's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: small typo fix in README.md by <a
href="https://github.com/samydoesit"><code>@​samydoesit</code></a> in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/93">toplenboren/simple-git-hooks#93</a></li>
<li>Update GitHub Action Versions by <a
href="https://github.com/bhanuprasadcherukuvada"><code>@​bhanuprasadcherukuvada</code></a>
in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/95">toplenboren/simple-git-hooks#95</a></li>
<li>Add info in README about yarn version 1 by <a
href="https://github.com/EugenGedroyc"><code>@​EugenGedroyc</code></a>
in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/98">toplenboren/simple-git-hooks#98</a></li>
<li>docs: update husky and simple-git-hooks weight by <a
href="https://github.com/rivajunior"><code>@​rivajunior</code></a> in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/100">toplenboren/simple-git-hooks#100</a></li>
<li>feat: add env var to bypass hooks execution by <a
href="https://github.com/bhanuprasadcherukuvada"><code>@​bhanuprasadcherukuvada</code></a>
in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/96">toplenboren/simple-git-hooks#96</a></li>
<li>feat: use SIMPLE_GIT_HOOKS_RC to run optional init script by <a
href="https://github.com/IlyaSemenov"><code>@​IlyaSemenov</code></a> in
<a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/103">toplenboren/simple-git-hooks#103</a></li>
<li>Use codeql v3 by <a
href="https://github.com/toplenboren"><code>@​toplenboren</code></a> in
<a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/104">toplenboren/simple-git-hooks#104</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/samydoesit"><code>@​samydoesit</code></a> made
their first contribution in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/93">toplenboren/simple-git-hooks#93</a></li>
<li><a
href="https://github.com/bhanuprasadcherukuvada"><code>@​bhanuprasadcherukuvada</code></a>
made their first contribution in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/95">toplenboren/simple-git-hooks#95</a></li>
<li><a
href="https://github.com/EugenGedroyc"><code>@​EugenGedroyc</code></a>
made their first contribution in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/98">toplenboren/simple-git-hooks#98</a></li>
<li><a
href="https://github.com/rivajunior"><code>@​rivajunior</code></a> made
their first contribution in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/100">toplenboren/simple-git-hooks#100</a></li>
<li><a
href="https://github.com/IlyaSemenov"><code>@​IlyaSemenov</code></a>
made their first contribution in <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/pull/103">toplenboren/simple-git-hooks#103</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/toplenboren/simple-git-hooks/compare/2.9.0...2.10.0">https://github.com/toplenboren/simple-git-hooks/compare/2.9.0...2.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/3cce73e08f679de75c3c133eaec60c7c22b8a7e5"><code>3cce73e</code></a>
Update README.md</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/0f5f5f174023e1e076bc6a8f4f51e42de4ded56c"><code>0f5f5f1</code></a>
Use codeql v3 (<a
href="https://redirect.github.com/toplenboren/simple-git-hooks/issues/104">#104</a>)</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/0fde2ac3783f144be0e25a6c545a3dca0558fc85"><code>0fde2ac</code></a>
Refactor simple-git-hooks.test.js</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/66cd8a74ced04dce4c8ab013b5d0ff23653688eb"><code>66cd8a7</code></a>
Refactor simple-git-hooks.test.js</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/a315a602f274b2141c723487202f3a0ca90337e6"><code>a315a60</code></a>
feat: use SIMPLE_GIT_HOOKS_RC to run optional init script (<a
href="https://redirect.github.com/toplenboren/simple-git-hooks/issues/102">#102</a>)</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/20121df9d1c3662343eb716dc934afc6d98b3030"><code>20121df</code></a>
Merge pull request <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/issues/96">#96</a>
from bhanuprasadcherukuvada/bypass-hooks</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/d53a27cc722ab57944d0beda48a01ac79af5c618"><code>d53a27c</code></a>
Merge pull request <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/issues/100">#100</a>
from rivajunior/patch-1</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/6631e3504d088686189de0166f0888d86bc2d1e3"><code>6631e35</code></a>
docs: update husky and simple-git-hooks weight</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/eb53a4f95cdca98b8a97b2df50d9e1d92a8ff7ae"><code>eb53a4f</code></a>
Merge pull request <a
href="https://redirect.github.com/toplenboren/simple-git-hooks/issues/98">#98</a>
from EugenGedroyc/add-readme-yarn1</li>
<li><a
href="https://github.com/toplenboren/simple-git-hooks/commit/ffef3e27b6c234cea2bba139084c848d1a1e478f"><code>ffef3e2</code></a>
Add info in README about yarn version 1</li>
<li>Additional commits viewable in <a
href="https://github.com/toplenboren/simple-git-hooks/compare/2.9.0...2.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `vue` from 3.4.20 to 3.4.21
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/releases">vue's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.21</h2>
<p>Please refer to <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vuejs/core/blob/main/CHANGELOG.md">vue's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/vuejs/core/compare/v3.4.20...v3.4.21">3.4.21</a>
(2024-02-28)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>runtime-dom:</strong> avoid unset option's value (<a
href="https://redirect.github.com/vuejs/core/issues/10416">#10416</a>)
(<a
href="https://github.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb">b3f8b5a</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/10412">#10412</a> <a
href="https://redirect.github.com/vuejs/core/issues/10396">#10396</a></li>
<li><strong>suspense:</strong> ensure nested suspense patching if in
fallback state (<a
href="https://redirect.github.com/vuejs/core/issues/10417">#10417</a>)
(<a
href="https://github.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106">7c97778</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/10415">#10415</a></li>
<li><strong>warning:</strong> stringify args in warn handler (<a
href="https://redirect.github.com/vuejs/core/issues/10414">#10414</a>)
(<a
href="https://github.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124">bc37258</a>),
closes <a
href="https://redirect.github.com/vuejs/core/issues/10409">#10409</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vuejs/core/commit/f66a75ea75c8aece065b61e2126b4c5b2338aa6e"><code>f66a75e</code></a>
release: v3.4.21</li>
<li><a
href="https://github.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb"><code>b3f8b5a</code></a>
fix(runtime-dom): avoid unset option's value (<a
href="https://redirect.github.com/vuejs/core/issues/10416">#10416</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124"><code>bc37258</code></a>
fix(warning): stringify args in warn handler (<a
href="https://redirect.github.com/vuejs/core/issues/10414">#10414</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106"><code>7c97778</code></a>
fix(suspense): ensure nested suspense patching if in fallback state (<a
href="https://redirect.github.com/vuejs/core/issues/10417">#10417</a>)</li>
<li><a
href="https://github.com/vuejs/core/commit/1f6a1102aa09960f76a9af2872ef01e7da8538e3"><code>1f6a110</code></a>
test: clean snapshot</li>
<li>See full diff in <a
href="https://github.com/vuejs/core/compare/v3.4.20...v3.4.21">compare
view</a></li>
</ul>
</details>
<br />

Updates `vue-i18n` from 9.9.1 to 9.10.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/intlify/vue-i18n-next/releases">vue-i18n's
releases</a>.</em></p>
<blockquote>
<h2>v9.10.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>⚡ Improvement Features</h3>
<ul>
<li>chore(fix): <a
href="https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n/issues/1630">#1630</a>
make the install function synchronous to be aligned… by <a
href="https://github.com/k-paxian"><code>@​k-paxian</code></a> in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1631">intlify/vue-i18n-next#1631</a></li>
</ul>
<h3>📝️ Documentations</h3>
<ul>
<li>docs: wrong te docs by <a
href="https://github.com/kazupon"><code>@​kazupon</code></a> in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1753">intlify/vue-i18n-next#1753</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/k-paxian"><code>@​k-paxian</code></a>
made their first contribution in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1631">intlify/vue-i18n-next#1631</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/intlify/vue-i18n-next/compare/v9.10.0...v9.10.1">https://github.com/intlify/vue-i18n-next/compare/v9.10.0...v9.10.1</a></p>
<h2>v9.10.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>🌟 Features</h3>
<ul>
<li>fix: Support for <code>te</code> behavior compatibility before v9.6
by <a href="https://github.com/kazupon"><code>@​kazupon</code></a> in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1751">intlify/vue-i18n-next#1751</a></li>
</ul>
<h3>📝️ Documentations</h3>
<ul>
<li>docs: update description of Nuxt I18n and its status by <a
href="https://github.com/BobbieGoede"><code>@​BobbieGoede</code></a> in
<a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1739">intlify/vue-i18n-next#1739</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/twolfvb"><code>@​twolfvb</code></a> made
their first contribution in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1732">intlify/vue-i18n-next#1732</a></li>
<li><a
href="https://github.com/ismailarilik"><code>@​ismailarilik</code></a>
made their first contribution in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1722">intlify/vue-i18n-next#1722</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/intlify/vue-i18n-next/compare/v9.9.1...v9.10.0">https://github.com/intlify/vue-i18n-next/compare/v9.9.1...v9.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/intlify/vue-i18n-next/blob/master/CHANGELOG.md">vue-i18n's
changelog</a>.</em></p>
<blockquote>
<h1>v9.10.1 (2024-03-01T01:26:17Z)</h1>
<p>This changelog is generated by <a
href="https://github.com/intlify/vue-i18n-next/releases/tag/v9.10.1">GitHub
Releases</a></p>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>⚡ Improvement Features</h3>
<ul>
<li>chore(fix): <a
href="https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n/issues/1630">#1630</a>
make the install function synchronous to be aligned… by <a
href="https://github.com/k-paxian"><code>@​k-paxian</code></a> in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1631">intlify/vue-i18n-next#1631</a></li>
</ul>
<h3>📝️ Documentations</h3>
<ul>
<li>docs: wrong te docs by <a
href="https://github.com/kazupon"><code>@​kazupon</code></a> in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1753">intlify/vue-i18n-next#1753</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/k-paxian"><code>@​k-paxian</code></a>
made their first contribution in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1631">intlify/vue-i18n-next#1631</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/intlify/vue-i18n-next/compare/v9.10.0...v9.10.1">https://github.com/intlify/vue-i18n-next/compare/v9.10.0...v9.10.1</a></p>
<h1>v9.10.0 (2024-03-01T00:50:42Z)</h1>
<p>This changelog is generated by <a
href="https://github.com/intlify/vue-i18n-next/releases/tag/v9.10.0">GitHub
Releases</a></p>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>🌟 Features</h3>
<ul>
<li>fix: Support for <code>te</code> behavior compatibility before v9.6
by <a href="https://github.com/kazupon"><code>@​kazupon</code></a> in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1751">intlify/vue-i18n-next#1751</a></li>
</ul>
<h3>📝️ Documentations</h3>
<ul>
<li>docs: update description of Nuxt I18n and its status by <a
href="https://github.com/BobbieGoede"><code>@​BobbieGoede</code></a> in
<a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1739">intlify/vue-i18n-next#1739</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/twolfvb"><code>@​twolfvb</code></a> made
their first contribution in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1732">intlify/vue-i18n-next#1732</a></li>
<li><a
href="https://github.com/ismailarilik"><code>@​ismailarilik</code></a>
made their first contribution in <a
href="https://redirect.github.com/intlify/vue-i18n-next/pull/1722">intlify/vue-i18n-next#1722</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/intlify/vue-i18n-next/compare/v9.9.1...v9.10.0">https://github.com/intlify/vue-i18n-next/compare/v9.9.1...v9.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/intlify/vue-i18n-next/commit/6879f9af9fbfe0142b748079bbd28a1cfb7e331a"><code>6879f9a</code></a>
release: v9.10.1</li>
<li><a
href="https://github.com/intlify/vue-i18n-next/commit/93b290d83f209179a179f2232ab2a34fab415cb9"><code>93b290d</code></a>
docs: wrong te docs (<a
href="https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n/issues/1753">#1753</a>)</li>
<li><a
href="https://github.com/intlify/vue-i18n-next/commit/9d0fb46fa35fadbf4983a3fa291c961a2478fada"><code>9d0fb46</code></a>
release: v9.10.0</li>
<li><a
href="https://github.com/intlify/vue-i18n-next/commit/7d28dd242051564e47c227c3a869732115d253e2"><code>7d28dd2</code></a>
fix: Support for <code>te</code> behavior compatibility before v9.6 (<a
href="https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n/issues/1751">#1751</a>)</li>
<li><a
href="https://github.com/intlify/vue-i18n-next/commit/52ee105494c9b64fa4f781a4b881bb3b7eb3acd4"><code>52ee105</code></a>
docs: add return explanation for <code>te</code> (<a
href="https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n/issues/1738">#1738</a>)</li>
<li>See full diff in <a
href="https://github.com/intlify/vue-i18n-next/commits/v9.10.1/packages/vue-i18n">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/eslint` from 8.56.3 to 8.56.5
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/eslint">compare
view</a></li>
</ul>
</details>
<br />


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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lars Rickert <lars.rickert@mail.schwarz>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: larsrickert <67898185+larsrickert@users.noreply.github.com>
github-merge-queue bot pushed a commit to microsoft/chat-copilot that referenced this issue Mar 5, 2024
Bumps [@playwright/test](https://github.com/microsoft/playwright) from
1.41.2 to 1.42.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.1</h2>
<h3>Highlights</h3>
<p><a
href="https://redirect.github.com/microsoft/playwright/issues/29732">microsoft/playwright#29732</a>
- [Regression]: HEAD requests to webServer.url since v1.42.0
<a
href="https://redirect.github.com/microsoft/playwright/issues/29746">microsoft/playwright#29746</a>
- [Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin import
<a
href="https://redirect.github.com/microsoft/playwright/issues/29739">microsoft/playwright#29739</a>
- [Bug]: Component tests fails when imported a module with a dot in a
name
<a
href="https://redirect.github.com/microsoft/playwright/issues/29731">microsoft/playwright#29731</a>
- [Regression]: 1.42.0 breaks some import statements
<a
href="https://redirect.github.com/microsoft/playwright/issues/29760">microsoft/playwright#29760</a>
- [Bug]: Possible regression with chained locators in v1.42</p>
<h3>Browser Versions</h3>
<ul>
<li>Chromium 123.0.6312.4</li>
<li>Mozilla Firefox 123.0</li>
<li>WebKit 17.4</li>
</ul>
<p>This version was also tested against the following stable
channels:</p>
<ul>
<li>Google Chrome 122</li>
<li>Microsoft Edge 123</li>
</ul>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/9749f7542676bce2d77f738b5fffcd7b0f46d67c"><code>9749f75</code></a>
chore: mark 1.42.1 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29774">#29774</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d4ac444f7d5e0a01a27e5c2c023962a38c4bce41"><code>d4ac444</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29770">#29770</a>):
docs: improve addLocatorHandler docs</li>
<li><a
href="https://github.com/microsoft/playwright/commit/a7025956c3d7161c16eb7054646d809249b29020"><code>a702595</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29765">#29765</a>):
Revert &quot;chore(role): cache element list by role (<a
href="https://redirect.github.com/microsoft/playwright/issues/29130">#29130</a>)&quot;</li>
<li><a
href="https://github.com/microsoft/playwright/commit/b67050638b65156c55798b60a0a75e15fe935d2d"><code>b670506</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29766">#29766</a>):
fix(tsload): fix tsconfig inheritance resolution</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3a4381303ccafdeb599f461d60bd55fa6425f57c"><code>3a43813</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29744">#29744</a>):
fix(ct): stop-gap for shared file import</li>
<li><a
href="https://github.com/microsoft/playwright/commit/d23fb005d4cd171408aee90db3cde733c6179ed3"><code>d23fb00</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29754">#29754</a>):
chore: remove pw- binaries from ct</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56e50a7304b160b89979a239688a691f90bd1f51"><code>56e50a7</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29748">#29748</a>):
fix(ct): fix the non-react cli entry points</li>
<li><a
href="https://github.com/microsoft/playwright/commit/3f6b6419c507ea8db01dcd0dd21284b47cf14fcb"><code>3f6b641</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29738">#29738</a>):
fix(HEAD): revert GET-&gt;HEAD migration, net-effect was ne...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/20db86da3e492e6b966e008dab11102bc03937e0"><code>20db86d</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29706">#29706</a>):
fit(ct): remove unused type import (<a
href="https://redirect.github.com/microsoft/playwright/issues/29709">#29709</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/84780b1b750d343cf6372c5965582f43e75cb8c9"><code>84780b1</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29715">#29715</a>):
fix: point to the right cli program export</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.2...v1.42.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@playwright/test&package-manager=npm_and_yarn&previous-version=1.41.2&new-version=1.42.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
renovate bot added a commit to solid-design-system/solid that referenced this issue Mar 6, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [playwright](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.40.1` ->
`1.42.1`](https://renovatebot.com/diffs/npm/playwright/1.40.1/1.42.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.40.1/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.40.1/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (playwright)</summary>

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights


[microsoft/playwright#29123
- \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest):
Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights


[microsoft/playwright#29067
- \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor
recorded[microsoft/playwright#29028
- \[REGRESSION] React component tests throw type error when passing
null/undefined to
componen[microsoft/playwright#29027
- \[REGRESSION] React component tests not passing Date prop
valu[microsoft/playwright#29023
- \[REGRESSION] React component tests not rendering children
p[microsoft/playwright#29019
- \[REGRESSION] trace.playwright.dev does not currently support the
loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

- New method
[page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all)
removes all routes registered by [page.route(url, handler, handler\[,
options\])](https://playwright.dev/docs/api/class-page#page-route) and
[page.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-page#page-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New method
[browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all)
removes all routes registered by [browserContext.route(url, handler,
handler\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
and [browserContext.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New option `style` in
[page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot)
and
[locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot)
to add custom CSS to the page before taking a screenshot.
- New option `stylePath` for methods
[expect(page).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and [expect(locator).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
to apply a custom stylesheet while making the screenshot.
- New `fileName` option for [Blob
reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to
specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am every weekday" in timezone
Europe/Berlin, Automerge - "after 10pm every weekday,before 5am every
weekday" in timezone Europe/Berlin.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/solid-design-system/solid).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to ionic-team/ionic-framework that referenced this issue Mar 13, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ionic-team/ionic-framework).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Maria Hutt <maria@ionic.io>
lkiesow added a commit to opencast/opencast that referenced this issue Mar 14, 2024
…-player-7 (#5659)

Bumps [@playwright/test](https://github.com/microsoft/playwright) from
1.41.1 to 1.42.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
<li>
<p><strong>page.addLocatorHandler()</strong></p>
<p>New method <a
href="https://playwright.dev/docs/api/class-page#page-add-locator-handler">page.addLocatorHandler()</a>
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.</p>
<pre lang="js"><code>// Setup the handler.
await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
    async () =&gt; {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/e7f0635c17ac5c178b0960cb35f849edd3cf69ef"><code>e7f0635</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29692">#29692</a>):
docs: better addLocatorHandler example in release notes ...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/8709a3a24b22304a2be67ac5688a998e71a32c5e"><code>8709a3a</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29687">#29687</a>):
chore: fix docs roll for functions without args follow-u...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/aa9f6fb71872b8bf066209ff229a0fe9c43fe91e"><code>aa9f6fb</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29669">#29669</a>):
chore: strengthen linting (<a
href="https://redirect.github.com/microsoft/playwright/issues/29674">#29674</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/f5899c155647da3c358b5a1e152b619518fb55e2"><code>f5899c1</code></a>
chore: set version to 1.42.0 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29671">#29671</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/77e1b025521912c4930f5dcac9a7ee492e0c3549"><code>77e1b02</code></a>
docs: 1.42 release notes (<a
href="https://redirect.github.com/microsoft/playwright/issues/29666">#29666</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/c1421bc9f2be2388b0b3d5fd5c601977689fa897"><code>c1421bc</code></a>
docs: typescript compiler invocation before tests (<a
href="https://redirect.github.com/microsoft/playwright/issues/29667">#29667</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/bd8d04443350212b95451f800d75148712bb99f9"><code>bd8d044</code></a>
feat(uimode) uses relative paths to establish websocket connection (<a
href="https://redirect.github.com/microsoft/playwright/issues/29617">#29617</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56028269bb9364f5870daa7f054dad5bb401135e"><code>5602826</code></a>
devops: add a hint how to create a repro (<a
href="https://redirect.github.com/microsoft/playwright/issues/29665">#29665</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/015a1bcc1c0bdcc17409266ccc448b2def320914"><code>015a1bc</code></a>
feat(ct): double unmounting component throws error (<a
href="https://redirect.github.com/microsoft/playwright/issues/29650">#29650</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/303d7fdac9971312d7314a151c7e33329b06b660"><code>303d7fd</code></a>
chore(ct): vue resolve internal type errors (<a
href="https://redirect.github.com/microsoft/playwright/issues/29649">#29649</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.1...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@playwright/test&package-manager=npm_and_yarn&previous-version=1.41.1&new-version=1.42.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
davydkov pushed a commit to likec4/likec4 that referenced this issue Mar 22, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [playwright-core](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.1`](https://renovatebot.com/diffs/npm/playwright-core/1.41.2/1.42.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (playwright-core)</summary>

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/likec4/likec4).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
thedavidprice added a commit to redwoodjs/redwood that referenced this issue Mar 27, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.41.2` ->
`1.42.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.41.2/1.42.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.41.2/1.42.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Price <thedavid@thedavidprice.com>
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue Apr 6, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.43.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.43.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.42.1` -> `1.43.0`](https://renovatebot.com/diffs/npm/playwright-chromium/1.42.1/1.43.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.42.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.42.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.42.1` -> `1.43.0`](https://renovatebot.com/diffs/npm/playwright-core/1.42.1/1.43.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.42.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.42.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

-   Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

-   New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

-   New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

-   New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

-   New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
github-merge-queue bot pushed a commit to camunda/camunda that referenced this issue Apr 8, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` ->
`1.43.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.43.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.39.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.39.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

- Method
[browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies)
now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

- New mode `retain-on-first-failure` for
[testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace).
In this mode, trace is recorded for the first run of each test, but not
for retires. When test run fails, the trace file is retained, otherwise
it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

- New property
[testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags)
exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

- New method
[locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame)
converts a `Locator` object to a `FrameLocator`. This can be useful when
you have a `Locator` object obtained somewhere, and later on would like
to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

- New method
[frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner)
converts a `FrameLocator` object to a `Locator`. This can be useful when
you have a `FrameLocator` object obtained somewhere, and later on would
like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI
Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123
- \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest):
Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067
- \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor
recorded[microsoft/playwright#29028
- \[REGRESSION] React component tests throw type error when passing
null/undefined to
componen[microsoft/playwright#29027
- \[REGRESSION] React component tests not passing Date prop
valu[microsoft/playwright#29023
- \[REGRESSION] React component tests not rendering children
p[microsoft/playwright#29019
- \[REGRESSION] trace.playwright.dev does not currently support the
loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

- New method
[page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all)
removes all routes registered by [page.route(url, handler, handler\[,
options\])](https://playwright.dev/docs/api/class-page#page-route) and
[page.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-page#page-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New method
[browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all)
removes all routes registered by [browserContext.route(url, handler,
handler\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
and [browserContext.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New option `style` in
[page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot)
and
[locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot)
to add custom CSS to the page before taking a screenshot.
- New option `stylePath` for methods
[expect(page).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and [expect(locator).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
to apply a custom stylesheet while making the screenshot.
- New `fileName` option for [Blob
reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to
specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319
- \[REGRESSION]: Version 1.40.0 Produces corrupted
traces[microsoft/playwright#28371
- \[BUG] The color of the 'ok' text did not change to green in the vs
code test results
sectio[microsoft/playwright#28321
- \[BUG] Ambiguous test outcome and status for serial
mo[microsoft/playwright#28362
- \[BUG] Merging blobs ends up in Error: Cannot create a string longer
than 0x1fffffe8
charact[microsoft/playwright#28239
- fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

###
[`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,before 6am
every weekday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/camunda/zeebe).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
github-merge-queue bot pushed a commit to camunda/camunda that referenced this issue Apr 8, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` ->
`1.43.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.43.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.39.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.39.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

- Method
[browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies)
now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

- New mode `retain-on-first-failure` for
[testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace).
In this mode, trace is recorded for the first run of each test, but not
for retires. When test run fails, the trace file is retained, otherwise
it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

- New property
[testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags)
exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

- New method
[locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame)
converts a `Locator` object to a `FrameLocator`. This can be useful when
you have a `Locator` object obtained somewhere, and later on would like
to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

- New method
[frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner)
converts a `FrameLocator` object to a `Locator`. This can be useful when
you have a `FrameLocator` object obtained somewhere, and later on would
like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI
Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123
- \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest):
Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067
- \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor
recorded[microsoft/playwright#29028
- \[REGRESSION] React component tests throw type error when passing
null/undefined to
componen[microsoft/playwright#29027
- \[REGRESSION] React component tests not passing Date prop
valu[microsoft/playwright#29023
- \[REGRESSION] React component tests not rendering children
p[microsoft/playwright#29019
- \[REGRESSION] trace.playwright.dev does not currently support the
loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

- New method
[page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all)
removes all routes registered by [page.route(url, handler, handler\[,
options\])](https://playwright.dev/docs/api/class-page#page-route) and
[page.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-page#page-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New method
[browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all)
removes all routes registered by [browserContext.route(url, handler,
handler\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
and [browserContext.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New option `style` in
[page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot)
and
[locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot)
to add custom CSS to the page before taking a screenshot.
- New option `stylePath` for methods
[expect(page).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and [expect(locator).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
to apply a custom stylesheet while making the screenshot.
- New `fileName` option for [Blob
reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to
specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319
- \[REGRESSION]: Version 1.40.0 Produces corrupted
traces[microsoft/playwright#28371
- \[BUG] The color of the 'ok' text did not change to green in the vs
code test results
sectio[microsoft/playwright#28321
- \[BUG] Ambiguous test outcome and status for serial
mo[microsoft/playwright#28362
- \[BUG] Merging blobs ends up in Error: Cannot create a string longer
than 0x1fffffe8
charact[microsoft/playwright#28239
- fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

###
[`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,before 6am
every weekday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/camunda/zeebe).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
github-merge-queue bot pushed a commit to camunda/camunda that referenced this issue Apr 8, 2024
#17016)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` ->
`1.43.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.43.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.39.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.39.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

- Method
[browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies)
now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

- New mode `retain-on-first-failure` for
[testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace).
In this mode, trace is recorded for the first run of each test, but not
for retires. When test run fails, the trace file is retained, otherwise
it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

- New property
[testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags)
exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

- New method
[locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame)
converts a `Locator` object to a `FrameLocator`. This can be useful when
you have a `Locator` object obtained somewhere, and later on would like
to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

- New method
[frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner)
converts a `FrameLocator` object to a `Locator`. This can be useful when
you have a `FrameLocator` object obtained somewhere, and later on would
like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI
Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123
- \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest):
Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067
- \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor
recorded[microsoft/playwright#29028
- \[REGRESSION] React component tests throw type error when passing
null/undefined to
componen[microsoft/playwright#29027
- \[REGRESSION] React component tests not passing Date prop
valu[microsoft/playwright#29023
- \[REGRESSION] React component tests not rendering children
p[microsoft/playwright#29019
- \[REGRESSION] trace.playwright.dev does not currently support the
loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

- New method
[page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all)
removes all routes registered by [page.route(url, handler, handler\[,
options\])](https://playwright.dev/docs/api/class-page#page-route) and
[page.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-page#page-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New method
[browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all)
removes all routes registered by [browserContext.route(url, handler,
handler\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
and [browserContext.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New option `style` in
[page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot)
and
[locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot)
to add custom CSS to the page before taking a screenshot.
- New option `stylePath` for methods
[expect(page).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and [expect(locator).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
to apply a custom stylesheet while making the screenshot.
- New `fileName` option for [Blob
reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to
specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319
- \[REGRESSION]: Version 1.40.0 Produces corrupted
traces[microsoft/playwright#28371
- \[BUG] The color of the 'ok' text did not change to green in the vs
code test results
sectio[microsoft/playwright#28321
- \[BUG] Ambiguous test outcome and status for serial
mo[microsoft/playwright#28362
- \[BUG] Merging blobs ends up in Error: Cannot create a string longer
than 0x1fffffe8
charact[microsoft/playwright#28239
- fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

###
[`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,before 6am
every weekday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/camunda/zeebe).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
renovate bot added a commit to UltiXstorm/Next-App-Template that referenced this issue Apr 11, 2024
)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev)
([source](https://togithub.com/microsoft/playwright)) | [`1.37.1` ->
`1.43.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.37.1/1.43.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.37.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.37.1/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

###
[`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

- Method
[browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies)
now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

- New mode `retain-on-first-failure` for
[testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace).
In this mode, trace is recorded for the first run of each test, but not
for retires. When test run fails, the trace file is retained, otherwise
it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

- New property
[testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags)
exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

- New method
[locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame)
converts a `Locator` object to a `FrameLocator`. This can be useful when
you have a `Locator` object obtained somewhere, and later on would like
to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

- New method
[frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner)
converts a `FrameLocator` object to a `Locator`. This can be useful when
you have a `FrameLocator` object obtained somewhere, and later on would
like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI
Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

###
[`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights


[microsoft/playwright#29732
- \[Regression]: HEAD requests to webServer.url since
v1.42.0[microsoft/playwright#29746
- \[Regression]: Playwright CT CLI scripts fail due to broken
initializePlugin
impor[microsoft/playwright#29739
- \[Bug]: Component tests fails when imported a module with a dot in a
na[microsoft/playwright#29731
- \[Regression]: 1.42.0 breaks some import
stateme[microsoft/playwright#29760
- \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

[New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests)
for adding tags to the tests (@&#8203;-tokens in the test title are
still supported).

    ```js
test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] },
async ({ page }) => {
      // ...
    });
    ```

Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

[New annotation
syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for
test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

New method
[page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler)
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
        async () => {
await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
    ```

-   **Project wildcard filter**
Playwright command line
[flag](https://playwright.dev/docs/test-cli#reference) now supports '\*'
wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
The timeout can now be configured by `expect.toPass.timeout` option
[globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
or in [project
config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')

[electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console)
event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar'
}));
        ```

- [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf)
accepts two new options
[`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged)
and
[`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported.
Allowing it was an oversight as it makes reasoning about the semantics
unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

###
[`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights


[microsoft/playwright#29123
- \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest):
Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights


[microsoft/playwright#29067
- \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor
recorded[microsoft/playwright#29028
- \[REGRESSION] React component tests throw type error when passing
null/undefined to
componen[microsoft/playwright#29027
- \[REGRESSION] React component tests not passing Date prop
valu[microsoft/playwright#29023
- \[REGRESSION] React component tests not rendering children
p[microsoft/playwright#29019
- \[REGRESSION] trace.playwright.dev does not currently support the
loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

- New method
[page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all)
removes all routes registered by [page.route(url, handler, handler\[,
options\])](https://playwright.dev/docs/api/class-page#page-route) and
[page.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-page#page-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New method
[browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all)
removes all routes registered by [browserContext.route(url, handler,
handler\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route)
and [browserContext.routeFromHAR(har\[,
options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har).
Optionally allows to wait for ongoing routes to finish, or ignore any
errors from them.
- New option `style` in
[page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot)
and
[locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot)
to add custom CSS to the page before taking a screenshot.
- New option `stylePath` for methods
[expect(page).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1)
and [expect(locator).toHaveScreenshot(name\[,
options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1)
to apply a custom stylesheet while making the screenshot.
- New `fileName` option for [Blob
reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to
specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

###
[`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights


[microsoft/playwright#28319
- \[REGRESSION]: Version 1.40.0 Produces corrupted
traces[microsoft/playwright#28371
- \[BUG] The color of the 'ok' text did not change to green in the vs
code test results
sectio[microsoft/playwright#28321
- \[BUG] Ambiguous test outcome and status for serial
mo[microsoft/playwright#28362
- \[BUG] Merging blobs ends up in Error: Cannot create a string longer
than 0x1fffffe8
charact[microsoft/playwright#28239
- fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

###
[`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test
Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

- "Assert visibility" tool generates
[expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
- "Assert value" tool generates
[expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
- "Assert text" tool generates
[expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

- Option `reason` in
[page.close()](https://playwright.dev/docs/api/class-page#page-close),
[browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close)
and
[browser.close()](https://playwright.dev/docs/api/class-browser#browser-close).
Close reason is reported for all operations interrupted by the closure.
- Option `firefoxUserPrefs` in
[browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

- Methods
[download.path()](https://playwright.dev/docs/api/class-download#download-path)
and
[download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream)
throw an error for failed and cancelled downloads.
- Playwright [docker image](https://playwright.dev/docs/docker) now
comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

###
[`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These
matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full
example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a
[`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as
"boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See
[`test.step()`](https://playwright.dev/docs/api/class-test#test-step)
documentation for a full example.

#### New APIs

-
[`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

###
[`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights


[microsoft/playwright#27071
- expect(value).toMatchSnapshot() deprecation announcement on V1.38

[microsoft/playwright#27072
- \[BUG] PWT trace viewer fails to load trace and throws
TypeError[microsoft/playwright#27073
- \[BUG] RangeError: Invalid time
valu[microsoft/playwright#27087
- \[REGRESSION]: npx playwright test --list prints all tests
twi[microsoft/playwright#27113
- \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type
for locators and
pa[microsoft/playwright#27144
- \[BUG]can not display
t[microsoft/playwright#27163
- \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using
Unicode[microsoft/playwright#27181
- \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

###
[`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare
Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI
Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
- The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and
total run `duration`.

#### Deprecations

- The following methods were deprecated: [`page.type()`][page.type()],
[`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and
[`elementHandle.type()`][elementHandle.type()].
Please use [`locator.fill()`][locator.fill()] instead which is much
faster. Use [`locator.pressSequentially()`][locator.pressSequentially()]
only if there is a
special keyboard handling on the page, and you need to press keys
one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers
automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not**
affect you.

Playwright recommends to use `@playwright/test` package and download
browsers via `npx playwright install` command. If you are following this
recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of
`@playwright/test` did automatically download browsers. This is no
longer the case, and we recommend to explicitly download browsers via
`npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`,
while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers
during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`.
For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and
`@playwright/browser-webkit` as a dependency. These packages download
respective browsers during `npm install`. Make sure you keep the version
of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]:
https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]:
https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]:
https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]:
https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]:
https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]:
https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]:
https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]:
https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]:
https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/UltiXstorm/Next-App-Template).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue Apr 19, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.43.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.43.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.0` -> `1.43.1`](https://renovatebot.com/diffs/npm/playwright-chromium/1.43.0/1.43.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.43.0/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.43.0/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.0` -> `1.43.1`](https://renovatebot.com/diffs/npm/playwright-core/1.43.0/1.43.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.43.0/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.43.0/1.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.43.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.0...v1.43.1)

##### Highlights

[microsoft/playwright#30300 - \[REGRESSION]: UI mode restarts if keep storage state[microsoft/playwright#30339 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode

##### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

-   Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

-   New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

-   New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

-   New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

-   New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue May 8, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.44.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.1` -> `1.44.0`](https://renovatebot.com/diffs/npm/playwright-chromium/1.43.0/1.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.43.1` -> `1.44.0`](https://renovatebot.com/diffs/npm/playwright-core/1.43.0/1.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0)

#### New APIs

**Accessibility assertions**

-   [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleName('Submit');
    ```

-   [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleDescription('Upload a photo');
    ```

-   [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role:

    ```js
    const locator = page.getByTestId('save-button');
    await expect(locator).toHaveRole('button');
    ```

**Locator handler**

-   After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option.
-   You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run.
-   The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument.
-   New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers.

```js
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
  await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
```

**Miscellaneous options**

-   [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name.

    ```js
    const formData = new FormData();
    formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
    formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
    context.request.post('https://example.com/uploadFiles', {
      multipart: formData
    });
    ```

-   `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect).

-   `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).

-   [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure  per project whether to skip screenshot expectations.

**Reporter API**

-   New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list.
-   [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD.
-   [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option.

**Command line**

-   `--last-failed` CLI option for running only tests that failed in the previous run.

    First run all tests:

    ```sh
    $ npx playwright test

    Running 103 tests using 5 workers
    ...
    2 failed
      [chromium] › my-test.spec.ts:8:5 › two ─────────────────────────────────────────────────────────
      [chromium] › my-test.spec.ts:13:5 › three ──────────────────────────────────────────────────────
    101 passed (30.0s)
    ```

    Now fix the failing tests and run Playwright again with `--last-failed` option:

    ```sh
    $ npx playwright test --last-failed

    Running 2 tests using 2 workers
      2 passed (1.2s)
    ```

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.43.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.0...v1.43.1)

##### Highlights

[microsoft/playwright#30300 - \[REGRESSION]: UI mode restarts if keep storage state[microsoft/playwright#30339 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode

##### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

-   Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

-   New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

-   New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

-   New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

-   New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue May 26, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.44.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.44.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.0` -> `1.44.1`](https://renovatebot.com/diffs/npm/playwright-chromium/1.43.0/1.44.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.43.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.43.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.0` -> `1.44.1`](https://renovatebot.com/diffs/npm/playwright-core/1.43.0/1.44.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.43.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.43.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.44.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.0...v1.44.1)

##### Highlights

[microsoft/playwright#30779 - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed
[microsoft/playwright#30755 - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[microsoft/playwright#30770 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[microsoft/playwright#30858 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0)

#### New APIs

**Accessibility assertions**

-   [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleName('Submit');
    ```

-   [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleDescription('Upload a photo');
    ```

-   [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role:

    ```js
    const locator = page.getByTestId('save-button');
    await expect(locator).toHaveRole('button');
    ```

**Locator handler**

-   After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option.
-   You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run.
-   The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument.
-   New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers.

```js
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
  await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
```

**Miscellaneous options**

-   [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name.

    ```js
    const formData = new FormData();
    formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
    formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
    context.request.post('https://example.com/uploadFiles', {
      multipart: formData
    });
    ```

-   `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect).

-   `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).

-   [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure  per project whether to skip screenshot expectations.

**Reporter API**

-   New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list.
-   [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD.
-   [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option.

**Command line**

-   `--last-failed` CLI option for running only tests that failed in the previous run.

    First run all tests:

    ```sh
    $ npx playwright test

    Running 103 tests using 5 workers
    ...
    2 failed
      [chromium] › my-test.spec.ts:8:5 › two ─────────────────────────────────────────────────────────
      [chromium] › my-test.spec.ts:13:5 › three ──────────────────────────────────────────────────────
    101 passed (30.0s)
    ```

    Now fix the failing tests and run Playwright again with `--last-failed` option:

    ```sh
    $ npx playwright test --last-failed

    Running 2 tests using 2 workers
      2 passed (1.2s)
    ```

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.43.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.0...v1.43.1)

##### Highlights

[microsoft/playwright#30300 - \[REGRESSION]: UI mode restarts if keep storage state[microsoft/playwright#30339 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode

##### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

-   Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

-   New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

-   New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

-   New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

-   New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue Jun 28, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.45.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.45.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.1` -> `1.45.0`](https://renovatebot.com/diffs/npm/playwright-chromium/1.43.0/1.45.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.43.0/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.43.0/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.44.1` -> `1.45.0`](https://renovatebot.com/diffs/npm/playwright-core/1.43.0/1.45.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.43.0/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.43.0/1.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

### [`v1.44.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.0...v1.44.1)

##### Highlights

[microsoft/playwright#30779 - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed
[microsoft/playwright#30755 - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[microsoft/playwright#30770 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[microsoft/playwright#30858 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0)

#### New APIs

**Accessibility assertions**

-   [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleName('Submit');
    ```

-   [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleDescription('Upload a photo');
    ```

-   [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role:

    ```js
    const locator = page.getByTestId('save-button');
    await expect(locator).toHaveRole('button');
    ```

**Locator handler**

-   After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option.
-   You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run.
-   The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument.
-   New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers.

```js
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
  await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
```

**Miscellaneous options**

-   [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name.

    ```js
    const formData = new FormData();
    formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
    formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
    context.request.post('https://example.com/uploadFiles', {
      multipart: formData
    });
    ```

-   `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect).

-   `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).

-   [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure  per project whether to skip screenshot expectations.

**Reporter API**

-   New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list.
-   [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD.
-   [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option.

**Command line**

-   `--last-failed` CLI option for running only tests that failed in the previous run.

    First run all tests:

    ```sh
    $ npx playwright test

    Running 103 tests using 5 workers
    ...
    2 failed
      [chromium] › my-test.spec.ts:8:5 › two ─────────────────────────────────────────────────────────
      [chromium] › my-test.spec.ts:13:5 › three ──────────────────────────────────────────────────────
    101 passed (30.0s)
    ```

    Now fix the failing tests and run Playwright again with `--last-failed` option:

    ```sh
    $ npx playwright test --last-failed

    Running 2 tests using 2 workers
      2 passed (1.2s)
    ```

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.43.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.0...v1.43.1)

##### Highlights

[microsoft/playwright#30300 - \[REGRESSION]: UI mode restarts if keep storage state[microsoft/playwright#30339 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode

##### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

-   Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

-   New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

-   New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

-   New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

-   New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this issue Jul 3, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.35.1` -> `1.45.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.35.1/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.35.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.35.1/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-chromium](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.45.0` -> `1.45.1`](https://renovatebot.com/diffs/npm/playwright-chromium/1.43.0/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-chromium/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-chromium/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-chromium/1.43.0/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-chromium/1.43.0/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [playwright-core](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.45.0` -> `1.45.1`](https://renovatebot.com/diffs/npm/playwright-core/1.43.0/1.45.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright-core/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright-core/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright-core/1.43.0/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright-core/1.43.0/1.45.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.45.1`](https://togithub.com/microsoft/playwright/compare/v1.45.0...e8989f83d9801cdaadc3803b5341c601c9593947)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.45.0...v1.45.1)

### [`v1.45.0`](https://togithub.com/microsoft/playwright/compare/v1.44.1...4f3f6eecae490af444dd9298c9eaeb0c596915b7)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.1...v1.45.0)

### [`v1.44.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.0...v1.44.1)

##### Highlights

[microsoft/playwright#30779 - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed
[microsoft/playwright#30755 - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[microsoft/playwright#30770 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[microsoft/playwright#30858 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.44.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.1...v1.44.0)

#### New APIs

**Accessibility assertions**

-   [expect(locator).toHaveAccessibleName()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-name) checks if the element has the specified accessible name:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleName('Submit');
    ```

-   [expect(locator).toHaveAccessibleDescription()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-description) checks if the element has the specified accessible description:

    ```js
    const locator = page.getByRole('button');
    await expect(locator).toHaveAccessibleDescription('Upload a photo');
    ```

-   [expect(locator).toHaveRole()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-role) checks if the element has the specified ARIA role:

    ```js
    const locator = page.getByTestId('save-button');
    await expect(locator).toHaveRole('button');
    ```

**Locator handler**

-   After executing the handler added with [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new `noWaitAfter` option.
-   You can use new `times` option in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) to specify maximum number of times the handler should be run.
-   The handler in [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) now accepts the locator as argument.
-   New [page.removeLocatorHandler()](https://playwright.dev/docs/api/class-page#page-remove-locator-handler) method for removing previously added locator handlers.

```js
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
  await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
```

**Miscellaneous options**

-   [`multipart`](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-fetch-option-multipart) option in `apiRequestContext.fetch()` now accepts [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and supports repeating fields with the same name.

    ```js
    const formData = new FormData();
    formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
    formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
    context.request.post('https://example.com/uploadFiles', {
      multipart: formData
    });
    ```

-   `expect(callback).toPass({ intervals })` can now be configured by `expect.toPass.inervals` option globally in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or per project in [testProject.expect](https://playwright.dev/docs/api/class-testproject#test-project-expect).

-   `expect(page).toHaveURL(url)` now supports `ignoreCase` [option](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-url-option-ignore-case).

-   [testProject.ignoreSnapshots](https://playwright.dev/docs/api/class-testproject#test-project-ignore-snapshots) allows to configure  per project whether to skip screenshot expectations.

**Reporter API**

-   New method [suite.entries()](https://playwright.dev/docs/api/class-suite#suite-entries) returns child test suites and test cases in their declaration order. [suite.type](https://playwright.dev/docs/api/class-suite#suite-type) and [testCase.type](https://playwright.dev/docs/api/class-testcase#test-case-type) can be used to tell apart test cases and suites in the list.
-   [Blob](https://playwright.dev/docs/test-reporters#blob-reporter) reporter now allows overriding report file path with a single option `outputFile`. The same option can also be specified as `PLAYWRIGHT_BLOB_OUTPUT_FILE` environment variable that might be more convenient on CI/CD.
-   [JUnit](https://playwright.dev/docs/test-reporters#junit-reporter) reporter now supports `includeProjectInTestName` option.

**Command line**

-   `--last-failed` CLI option for running only tests that failed in the previous run.

    First run all tests:

    ```sh
    $ npx playwright test

    Running 103 tests using 5 workers
    ...
    2 failed
      [chromium] › my-test.spec.ts:8:5 › two ─────────────────────────────────────────────────────────
      [chromium] › my-test.spec.ts:13:5 › three ──────────────────────────────────────────────────────
    101 passed (30.0s)
    ```

    Now fix the failing tests and run Playwright again with `--last-failed` option:

    ```sh
    $ npx playwright test --last-failed

    Running 2 tests using 2 workers
      2 passed (1.2s)
    ```

#### Browser Versions

-   Chromium 125.0.6422.14
-   Mozilla Firefox 125.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 124
-   Microsoft Edge 124

### [`v1.43.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.43.0...v1.43.1)

##### Highlights

[microsoft/playwright#30300 - \[REGRESSION]: UI mode restarts if keep storage state[microsoft/playwright#30339 - \[REGRESSION]: Brand new install of playwright, unable to run chromium with show browser using vscode

##### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.43.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.43.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.1...v1.43.0)

#### New APIs

-   Method [browserContext.clearCookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-clear-cookies) now supports filters to remove only some cookies.

    ```js
    // Clear all cookies.
    await context.clearCookies();
    // New: clear cookies with a particular name.
    await context.clearCookies({ name: 'session-id' });
    // New: clear cookies for a particular domain.
    await context.clearCookies({ domain: 'my-origin.com' });
    ```

-   New mode `retain-on-first-failure` for [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace). In this mode, trace is recorded for the first run of each test, but not for retires. When test run fails, the trace file is retained, otherwise it is removed.

    ```js title=playwright.config.ts
    import { defineConfig } from '@&#8203;playwright/test';

    export default defineConfig({
      use: {
        trace: 'retain-on-first-failure',
      },
    });
    ```

-   New property [testInfo.tags](https://playwright.dev/docs/api/class-testinfo#test-info-tags) exposes test tags during test execution.

    ```js
    test('example', async ({ page }) => {
      console.log(test.info().tags);
    });
    ```

-   New method [locator.contentFrame()](https://playwright.dev/docs/api/class-locator#locator-content-frame) converts a `Locator` object to a `FrameLocator`. This can be useful when you have a `Locator` object obtained somewhere, and later on would like to interact with the content inside the frame.

    ```js
    const locator = page.locator('iframe[name="embedded"]');
    // ...
    const frameLocator = locator.contentFrame();
    await frameLocator.getByRole('button').click();
    ```

-   New method [frameLocator.owner()](https://playwright.dev/docs/api/class-framelocator#frame-locator-owner) converts a `FrameLocator` object to a `Locator`. This can be useful when you have a `FrameLocator` object obtained somewhere, and later on would like to interact with the `iframe` element.

    ```js
    const frameLocator = page.frameLocator('iframe[name="embedded"]');
    // ...
    const locator = frameLocator.owner();
    await expect(locator).toBeVisible();
    ```

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/9881434/61ca7cfc-eb7a-4305-8b62-b6c9f098f300)

-   See tags in the test list.
-   Filter by tags by typing `@fast` or clicking on the tag itself.
-   New shortcuts:
    -   <kbd>F5</kbd> to run tests.
    -   <kbd>Shift</kbd> <kbd>F5</kbd> to stop running tests.
    -   <kbd>Ctrl</kbd> <kbd>\`</kbd> to toggle test output.

#### Browser Versions

-   Chromium 124.0.6367.29
-   Mozilla Firefox 124.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 123
-   Microsoft Edge 123

### [`v1.42.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.42.0...v1.42.1)

##### Highlights

[microsoft/playwright#29732 - \[Regression]: HEAD requests to webServer.url since v1.42.0[microsoft/playwright#29746 - \[Regression]: Playwright CT CLI scripts fail due to broken initializePlugin impor[microsoft/playwright#29739 - \[Bug]: Component tests fails when imported a module with a dot in a na[microsoft/playwright#29731 - \[Regression]: 1.42.0 breaks some import stateme[microsoft/playwright#29760 - \[Bug]: Possible regression with chained locators in v1.42

##### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.42.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.42.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.2...v1.42.0)

#### New APIs

-   **Test tags**

    [New tag syntax](https://playwright.dev/docs/test-annotations#tag-tests) for adding tags to the tests (@&#8203;-tokens in the test title are still supported).

    ```js
    test('test customer login', { tag: ['@&#8203;fast', '@&#8203;login'] }, async ({ page }) => {
      // ...
    });
    ```

    Use `--grep` command line option to run only tests with certain tags.

    ```sh
    npx playwright test --grep @&#8203;fast
    ```

-   **Annotating skipped tests**

    [New annotation syntax](https://playwright.dev/docs/test-annotations#annotate-tests) for test annotations allows annotating the tests that do not run.

    ```js
    test('test full report', {
      annotation: [
        { type: 'issue', description: 'microsoft/playwright#23180' },
        { type: 'docs', description: 'https://playwright.dev/docs/test-annotations#tag-tests' },
      ],
    }, async ({ page }) => {
      // ...
    });
    ```

-   **page.addLocatorHandler()**

    New method [page.addLocatorHandler()](https://playwright.dev/docs/api/class-page#page-add-locator-handler) registers a callback that will be invoked when specified element becomes visible and may block Playwright actions. The callback can get rid of the overlay. Here is an example that closes a cookie dialog when it appears.

    ```js
    // Setup the handler.
    await page.addLocatorHandler(
        page.getByRole('heading', { name: 'Hej! You are in control of your cookies.' }),
        async () => {
          await page.getByRole('button', { name: 'Accept all' }).click();
        });
    // Write the test as usual.
    await page.goto('https://www.ikea.com/');
    await page.getByRole('link', { name: 'Collection of blue and white' }).click();
    await expect(page.getByRole('heading', { name: 'Light and easy' })).toBeVisible();
    ```

-   **Project wildcard filter**
    Playwright command line [flag](https://playwright.dev/docs/test-cli#reference) now supports '\*' wildcard when filtering by project.

    ```sh
    npx playwright test --project='*mobile*'
    ```

-   **Other APIs**
    -   expect(callback).toPass({ timeout })
        The timeout can now be configured by `expect.toPass.timeout` option [globally](https://playwright.dev/docs/api/class-testconfig#test-config-expect) or in [project config](https://playwright.dev/docs/api/class-testproject#test-project-expect)

    -   electronApplication.on('console')
        [electronApplication.on('console')](https://playwright.dev/docs/api/class-electronapplication#electron-application-event-console) event is emitted when Electron main process calls console API methods.

        ```js
        electronApp.on('console', async msg => {
          const values = [];
          for (const arg of msg.args())
            values.push(await arg.jsonValue());
          console.log(...values);
        });
        await electronApp.evaluate(() => console.log('hello', 5, { foo: 'bar' }));
        ```

    -   [page.pdf()](https://playwright.dev/docs/api/class-page#page-pdf) accepts two new options [`tagged`](https://playwright.dev/docs/api/class-page#page-pdf-option-tagged) and [`outline`](https://playwright.dev/docs/api/class-page#page-pdf-option-outline).

#### Breaking changes

Mixing the test instances in the same suite is no longer supported. Allowing it was an oversight as it makes reasoning about the semantics unnecessarily hard.

```js
const test = baseTest.extend({ item: async ({}, use) => {} });
baseTest.describe('Admin user', () => {
  test('1', async ({ page, item }) => {});
  test('2', async ({ page, item }) => {});
});
```

#### Announcements

-   ⚠️ Ubuntu 18 is not supported anymore.

#### Browser Versions

-   Chromium 123.0.6312.4
-   Mozilla Firefox 123.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 122
-   Microsoft Edge 123

### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2)

##### Highlights

[microsoft/playwright#29123 - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1)

##### Highlights

[microsoft/playwright#29067 - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[microsoft/playwright#29028 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[microsoft/playwright#29027 - \[REGRESSION] React component tests not passing Date prop valu[microsoft/playwright#29023 - \[REGRESSION] React component tests not rendering children p[microsoft/playwright#29019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0)

#### New APIs

-   New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them.
-   New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot.
-   New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot.
-   New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created.

#### Browser Versions

-   Chromium 121.0.6167.57
-   Mozilla Firefox 121.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 120
-   Microsoft Edge 120

### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1)

##### Highlights

[microsoft/playwright#28319 - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[microsoft/playwright#28371 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[microsoft/playwright#28321 - \[BUG] Ambiguous test outcome and status for serial mo[microsoft/playwright#28362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[microsoft/playwright#28239 - fix: collect all errors in removeFolders

##### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0)

#### Test Generator Update

![Playwright Test Generator](https://togithub.com/microsoft/playwright/assets/9881434/e8d67e2e-f36d-4301-8631-023948d3e190)

New tools to generate assertions:

-   "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible).
-   "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value).
-   "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text).

Here is an example of a generated test with assertions:

```js
import { test, expect } from '@&#8203;playwright/test';

test('test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation');
  await expect(page.getByLabel('Search')).toBeVisible();
  await page.getByLabel('Search').click();
  await page.getByPlaceholder('Search docs').fill('locator');
  await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator');
});
```

#### New APIs

-   Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure.
-   Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context).

#### Other Changes

-   Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads.
-   Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20.

#### Browser Versions

-   Chromium 120.0.6099.28
-   Mozilla Firefox 119.0
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 119
-   Microsoft Edge 119

### [`v1.39.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.39.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.1...v1.39.0)

#### Add custom matchers to your expect

You can extend Playwright assertions by providing custom matchers. These matchers will be available on the expect object.

```js
import { expect as baseExpect } from '@&#8203;playwright/test';
export const expect = baseExpect.extend({
  async toHaveAmount(locator: Locator, expected: number, options?: { timeout?: number }) {
    // ... see documentation for how to write matchers.
  },
});

test('pass', async ({ page }) => {
  await expect(page.getByTestId('cart')).toHaveAmount(5);
});
```

See the documentation [for a full example](https://playwright.dev/docs/test-configuration#add-custom-matchers-using-expectextend).

#### Merge test fixtures

You can now merge test fixtures from multiple files or modules:

```js
import { mergeTests } from '@&#8203;playwright/test';
import { test as dbTest } from 'database-test-utils';
import { test as a11yTest } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
```

```js
import { test } from './fixtures';

test('passes', async ({ database, page, a11y }) => {
  // use database and a11y fixtures.
});
```

#### Merge custom expect matchers

You can now merge custom expect matchers from multiple files or modules:

```js
import { mergeTests, mergeExpects } from '@&#8203;playwright/test';
import { test as dbTest, expect as dbExpect } from 'database-test-utils';
import { test as a11yTest, expect as a11yExpect } from 'a11y-test-utils';

export const test = mergeTests(dbTest, a11yTest);
export const expect = mergeExpects(dbExpect, a11yExpect);
```

```js
import { test, expect } from './fixtures';

test('passes', async ({ page, database }) => {
  await expect(database).toHaveDatabaseUser('admin');
  await expect(page).toPassA11yAudit();
});
```

#### Hide implementation details: box test steps

You can mark a [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) as "boxed" so that errors inside it point to the step call site.

```js
async function login(page) {
  await test.step('login', async () => {
    // ...
  }, { box: true });  // Note the "box" option here.
}
```

```txt
Error: Timed out 5000ms waiting for expect(locator).toBeVisible()
  ... error details omitted ...

  14 |   await page.goto('https://github.com/login');
> 15 |   await login(page);
     |         ^
  16 | });
```

See [`test.step()`](https://playwright.dev/docs/api/class-test#test-step) documentation for a full example.

#### New APIs

-   [`expect(locator).toHaveAttribute(name)`](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-attribute-2)

#### Browser Versions

-   Chromium 119.0.6045.9
-   Mozilla Firefox 118.0.1
-   WebKit 17.4

This version was also tested against the following stable channels:

-   Google Chrome 118
-   Microsoft Edge 118

### [`v1.38.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.38.0...v1.38.1)

##### Highlights

[microsoft/playwright#27071 - expect(value).toMatchSnapshot() deprecation announcement on V1.38
[microsoft/playwright#27072 - \[BUG] PWT trace viewer fails to load trace and throws TypeError[microsoft/playwright#27073 - \[BUG] RangeError: Invalid time valu[microsoft/playwright#27087 - \[REGRESSION]: npx playwright test --list prints all tests twi[microsoft/playwright#27113 - \[REGRESSION]: No longer able to extend PlaywrightTest.Matchers type for locators and pa[microsoft/playwright#27144 - \[BUG]can not display t[microsoft/playwright#27163 - \[REGRESSION] Single Quote Wrongly Escaped by Locator When Using Unicode[microsoft/playwright#27181 - \[BUG] evaluate serializing fails at 1.38

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

### [`v1.38.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.38.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.1...v1.38.0)

#### UI Mode Updates

![Playwright UI Mode](https://togithub.com/microsoft/playwright/assets/746130/8ba27be0-58fd-4f62-8561-950480610369)

1.  Zoom into time range.
2.  Network panel redesign.

#### New APIs

-   [`browserContext.on('weberror')`][browserContext.on('weberror')]
-   [`locator.pressSequentially()`][locator.pressSequentially()]
-   The [`reporter.onEnd()`][reporter.onEnd()] now reports `startTime` and total run `duration`.

#### Deprecations

-   The following methods were deprecated: [`page.type()`][page.type()], [`frame.type()`][frame.type()], [`locator.type()`][locator.type()] and [`elementHandle.type()`][elementHandle.type()].
    Please use [`locator.fill()`][locator.fill()] instead which is much faster. Use [`locator.pressSequentially()`][locator.pressSequentially()] only if there is a
    special keyboard handling on the page, and you need to press keys one-by-one.

#### Breaking Changes: Playwright no longer downloads browsers automatically

> \[!NOTE]
> If you are using `@playwright/test` package, this change **does not** affect you.

Playwright recommends to use `@playwright/test` package and download browsers via `npx playwright install` command. If you are following this recommendation, nothing has changed for you.

However, up to v1.38, installing the `playwright` package instead of `@playwright/test` did automatically download browsers. This is no longer the case, and we recommend to explicitly download browsers via `npx playwright install` command.

**v1.37 and earlier**

`playwright` package was downloading browsers during `npm install`, while `@playwright/test` was not.

**v1.38 and later**

`playwright` and `@playwright/test` packages do not download browsers during `npm install`.

**Recommended migration**

Run `npx playwright install` to download browsers after `npm install`. For example, in your CI configuration:

```yml
- run: npm ci
- run: npx playwright install --with-deps
```

**Alternative migration option - not recommended**

Add `@playwright/browser-chromium`, `@playwright/browser-firefox` and `@playwright/browser-webkit` as a dependency. These packages download respective browsers during `npm install`. Make sure you keep the version of all playwright packages in sync:

```json5
// package.json
{
  "devDependencies": {
    "playwright": "1.38.0",
    "@&#8203;playwright/browser-chromium": "1.38.0",
    "@&#8203;playwright/browser-firefox": "1.38.0",
    "@&#8203;playwright/browser-webkit": "1.38.0"
  }
}
```

##### Browser Versions

-   Chromium 117.0.5938.62
-   Mozilla Firefox 117.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 116
-   Microsoft Edge 116

[`browserContext.on('weberror')`]: https://playwright.dev/docs/api/class-browsercontext#browser-context-event-web-error

[`locator.pressSequentially()`]: https://playwright.dev/docs/api/class-locator#locator-press-sequentially

[`reporter.onEnd()`]: https://playwright.dev/docs/api/class-reporter#reporter-on-end

[`page.type()`]: https://playwright.dev/docs/api/class-page#page-type

[`frame.type()`]: https://playwright.dev/docs/api/class-frame#frame-type

[`locator.type()`]: https://playwright.dev/docs/api/class-locator#locator-type

[`elementHandle.type()`]: https://playwright.dev/docs/api/class-elementhandle#element-handle-type

[`locator.fill()`]: https://playwright.dev/docs/api/class-locator#locator-fill

[`expect(value).toMatchSnapshot()`]: https://playwright.dev/docs/api/class-snapshotassertions#snapshot-assertions-to-match-snapshot-1

[`expect(page).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1

[`expect(locator).toHaveScreenshot()`]: https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1

### [`v1.37.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.37.0...v1.37.1)

##### Highlights

[microsoft/playwright#26496 - \[REGRESSION] webServer stdout is always getting printed[microsoft/playwright#26492 - \[REGRESSION] test.only with project dependency is not working

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.37.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.37.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.2...v1.37.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

#### ✨ New tool to merge reports

If you run tests on multiple shards, you can now merge all reports in a single HTML report (or any other report)
using the new `merge-reports` CLI tool.

Using `merge-reports` tool requires the following steps:

1.  Adding a new "blob" reporter to the config when running on CI:

    ```js title="playwright.config.ts"
    export default defineConfig({
      testDir: './tests',
      reporter: process.env.CI ? 'blob' : 'html',
    });
    ```

    The "blob" reporter will produce ".zip" files that contain all the information
    about the test run.

2.  Copying all "blob" reports in a single shared location and running `npx playwright merge-reports`:

    ```bash
    npx playwright merge-reports --reporter html ./all-blob-reports
    ```

Read more in [our documentation](https://playwright.dev/docs/test-sharding).

#### 📚 Debian 12 Bookworm Support

Playwright now supports Debian 12 Bookworm on both x86\_64 and arm64 for Chromium, Firefox and WebKit.
Let us know if you encounter any issues!

Linux support looks like this:

|          | Ubuntu 20.04 | Ubuntu 22.04 | Debian 11 | Debian 12 |
| :--- | :---: | :---: | :---: | :---: |
| Chromium | ✅ | ✅ | ✅ | ✅ |
| WebKit | ✅ | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ✅ | ✅ |

#### 🌈 UI Mode Updates

-   UI Mode now respects project dependencies. You can control which dependencies to respect by checking/unchecking them in a projects list.
-   Console logs from the test are now displayed in the Console tab.

#### Browser Versions

-   Chromium 116.0.5845.82
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 115
-   Microsoft Edge 115

### [`v1.36.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.2): 1.36.2

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.1...v1.36.2)

##### Highlights

[microsoft/playwright#24316 - \[REGRESSION] Character classes are not working in globs in 1.36

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.1)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.36.0...v1.36.1)

##### Highlights

[microsoft/playwright#24184 - \[REGRESSION]: Snapshot name contains some random string after test name when tests are run in container

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

### [`v1.36.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.36.0)

[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.35.1...v1.36.0)

<a href="https://youtu.be/cEd4SH_Xf5U"><img src="https://github.com/microsoft/playwright/assets/746130/3a3cc6c3-b0f8-4a31-b1a3-a85bf5d93ac5" width=340></a>

<a href="https://youtu.be/cEd4SH_Xf5U">Watch the overview: Playwright 1.36 & 1.37</a>

##### Highlights

🏝️ Summer maintenance release.

##### Browser Versions

-   Chromium 115.0.5790.75
-   Mozilla Firefox 115.0
-   WebKit 17.0

This version was also tested against the following stable channels:

-   Google Chrome 114
-   Microsoft Edge 114

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-test-runner Playwright test specific issues v1.42
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants