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

Call patchRoutesOnMiss when matching slug routes in case there exist higher scoring static routes #11883

Merged
merged 5 commits into from
Aug 13, 2024

Conversation

brophdawg11
Copy link
Contributor

@brophdawg11 brophdawg11 commented Aug 12, 2024

This PR updates the fog of war implementation to treat dynamic-param (slug) routes the same way we treat splat routes and call unstable_patchRotuesOnMiss if we match a slug route just in case there exists a higher-scoring static route we don't yet know about.

TODO:

  • Rename from patchRoutesOnMiss to something else since it's no longer only on a "miss" but on a "match that we're not confident is the best match"
    • going to do this in a separate PR
  • We should probably move the knownGoodPaths logic from Remix inside the router to avoid needing to re-call this for the same slug route over and over? Add some cleanup when the Set reaches a certain size to cap memory consumption.
  • Add unit tests

Closes remix-run/remix#9799

Copy link

changeset-bot bot commented Aug 12, 2024

🦋 Changeset detected

Latest commit: adaba37

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@remix-run/router Patch
react-router Patch
react-router-dom Patch
react-router-dom-v5-compat Patch
react-router-native Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Comment on lines +819 to +820
let discoveredRoutesMaxSize = 1000;
let discoveredRoutes = new Set<string>();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Track up to 1000 paths (fifo) internally to avoid re-calling patchRoutesOnMiss on subsequent navigations to the same path

Comment on lines +3207 to +3210
if (Object.keys(matches[0].params).length > 0) {
// If we matched a dynamic param or a splat, it might only be because
// we haven't yet discovered other routes that would match with a
// higher score. Call patchRoutesOnMiss just to be sure
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to handle both splat and dynamic param routes we can just check if we have any params in the matches

// If we found a splat route, we can't be sure there's not a
// higher-scoring route down some partial matches trail so we need
// to check that out
matchedSplat = true;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should need to run through here again on splat routes any longer. If we match a splat we automatically call patchRoutesOnMiss one time - and it would be the apps responsibility to patch in the most specific match at that point.

Comment on lines -3317 to -3321
route = partialMatches[partialMatches.length - 1].route;
if (route.path === "*") {
// The splat is still our most accurate partial, so run with it
return { type: "success", matches: partialMatches };
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brophdawg11 brophdawg11 marked this pull request as ready for review August 13, 2024 16:21
@brophdawg11 brophdawg11 merged commit bd4ac8e into v6 Aug 13, 2024
3 checks passed
@brophdawg11 brophdawg11 deleted the brophdawg11/fow-slug-routes branch August 13, 2024 19:10
Copy link
Contributor

🤖 Hello there,

We just published version 6.26.1-pre.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Copy link
Contributor

🤖 Hello there,

We just published version 6.26.1 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

kodiakhq bot pushed a commit to technifit/tasker that referenced this pull request Aug 15, 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 |
|---|---|---|---|---|---|
| [@remix-run/dev](https://remix.run) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@remix-run/eslint-config](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-eslint-config)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2feslint-config/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2feslint-config/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2feslint-config/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2feslint-config/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2feslint-config/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@remix-run/express](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-express)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fexpress/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fexpress/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fexpress/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fexpress/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fexpress/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@remix-run/node](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@remix-run/react](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2freact/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>remix-run/remix (@&#8203;remix-run/dev)</summary>

### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2112)

[Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.1...@remix-run/dev@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`
    -   `@remix-run/node@2.11.2`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/eslint-config)</summary>

### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#2112)

[Compare Source](https://github.com/remix-run/remix/compare/@remix-run/eslint-config@2.11.1...@remix-run/eslint-config@2.11.2)

No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.11.2.

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/express)</summary>

### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-express/CHANGELOG.md#2112)

[Compare Source](https://github.com/remix-run/remix/compare/@remix-run/express@2.11.1...@remix-run/express@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.11.2`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/node)</summary>

### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2112)

[Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.1...@remix-run/node@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/react)</summary>

### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2112)

[Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.1...@remix-run/react@2.11.2)

##### Patch Changes

-   Fog of War: Simplify implementation now that React Router handles slug/splat edge cases and tracks previously discovered routes (see [remix-run/react-router#11883](https://github.com/remix-run/react-router/pull/11883)) ([#&#8203;9860](https://github.com/remix-run/remix/pull/9860))
    -   This changes the return signature of the internal `__manifest` endpoint since we no longer need the `notFoundPaths` field
-   Fog of War: Update to use renamed `unstable_patchRoutesOnNavigation` function in RR (see [remix-run/react-router#11888](https://github.com/remix-run/react-router/pull/11888)) ([#&#8203;9860](https://github.com/remix-run/remix/pull/9860))
-   Single Fetch: Update `turbo-stream` to `v2.3.0` ([#&#8203;9856](https://github.com/remix-run/remix/pull/9856))
    -   Stabilize object key order for serialized payloads
    -   Remove memory limitations payloads sizes
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`

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

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/technifit/tasker).
renovate bot added a commit to SAP/ui5-webcomponents-react that referenced this pull request Aug 19, 2024
… (main) (patch) (#6216)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@remix-run/dev](https://remix.run)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev))
| [`2.11.1` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/2.11.1/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/node](https://github.com/remix-run/remix)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node))
| [`2.11.1` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/2.11.1/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/react](https://github.com/remix-run/remix)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react))
| [`2.11.1` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2freact/2.11.1/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/serve](https://github.com/remix-run/remix)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-serve))
| [`2.11.1` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fserve/2.11.1/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fserve/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fserve/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [cypress](https://cypress.io)
([source](https://github.com/cypress-io/cypress)) | [`13.13.2` ->
`13.13.3`](https://renovatebot.com/diffs/npm/cypress/13.13.2/13.13.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cypress/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cypress/13.13.2/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/13.13.2/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [isbot](https://isbot.js.org)
([source](https://github.com/omrilotan/isbot)) | [`5.1.14` ->
`5.1.16`](https://renovatebot.com/diffs/npm/isbot/5.1.14/5.1.16) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/isbot/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/isbot/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/isbot/5.1.14/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/isbot/5.1.14/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [react-router-dom](https://github.com/remix-run/react-router)
([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom))
| [`6.26.0` ->
`6.26.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.26.0/6.26.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.26.0/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.26.0/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vitejs.dev)
([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.4.0` -> `5.4.1`](https://renovatebot.com/diffs/npm/vite/5.4.0/5.4.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.0/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.0/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>remix-run/remix (@&#8203;remix-run/dev)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.1...@remix-run/dev@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`
    -   `@remix-run/node@2.11.2`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/node)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.1...@remix-run/node@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/react)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.1...@remix-run/react@2.11.2)

##### Patch Changes

- Fog of War: Simplify implementation now that React Router handles
slug/splat edge cases and tracks previously discovered routes (see
[remix-run/react-router#11883](https://github.com/remix-run/react-router/pull/11883))
([#&#8203;9860](https://github.com/remix-run/remix/pull/9860))
- This changes the return signature of the internal `__manifest`
endpoint since we no longer need the `notFoundPaths` field
- Fog of War: Update to use renamed `unstable_patchRoutesOnNavigation`
function in RR (see
[remix-run/react-router#11888](https://github.com/remix-run/react-router/pull/11888))
([#&#8203;9860](https://github.com/remix-run/remix/pull/9860))
- Single Fetch: Update `turbo-stream` to `v2.3.0`
([#&#8203;9856](https://github.com/remix-run/remix/pull/9856))
    -   Stabilize object key order for serialized payloads
    -   Remove memory limitations payloads sizes
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/serve)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.11.1...@remix-run/serve@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.11.2`
    -   `@remix-run/express@2.11.2`

</details>

<details>
<summary>cypress-io/cypress (cypress)</summary>

###
[`v13.13.3`](https://github.com/cypress-io/cypress/releases/tag/v13.13.3)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.13.2...v13.13.3)

Changelog: https://docs.cypress.io/guides/references/changelog#13-13-3

</details>

<details>
<summary>omrilotan/isbot (isbot)</summary>

###
[`v5.1.16`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5116)

[Compare
Source](https://github.com/omrilotan/isbot/compare/v5.1.15...v5.1.16)

-   \[Pattern] Treat CCleaner broswer as an actual browser, not a bot

###
[`v5.1.15`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5115)

[Compare
Source](https://github.com/omrilotan/isbot/compare/v5.1.14...v5.1.15)

-   \[Pattern] Pattern updates for better recognition

</details>

<details>
<summary>remix-run/react-router (react-router-dom)</summary>

###
[`v6.26.1`](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.4.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small541-2024-08-15-small)

- fix: `build.modulePreload.resolveDependencies` is optimizable
([#&#8203;16083](https://github.com/vitejs/vite/issues/16083))
([e961b31](https://github.com/vitejs/vite/commit/e961b31493f8493277b46773156cc6e546b9c86b)),
closes [#&#8203;16083](https://github.com/vitejs/vite/issues/16083)
- fix: align CorsOptions.origin type with
[@&#8203;types/cors](https://github.com/types/cors)
([#&#8203;17836](https://github.com/vitejs/vite/issues/17836))
([1bda847](https://github.com/vitejs/vite/commit/1bda847329022d5279cfa2b51719dd19a161fd64)),
closes [#&#8203;17836](https://github.com/vitejs/vite/issues/17836)
- fix: typings for vite:preloadError
([#&#8203;17868](https://github.com/vitejs/vite/issues/17868))
([6700594](https://github.com/vitejs/vite/commit/67005949999054ab3cd079890ed220bc359bcf62)),
closes [#&#8203;17868](https://github.com/vitejs/vite/issues/17868)
- fix(build): avoid re-define `__vite_import_meta_env__`
([#&#8203;17876](https://github.com/vitejs/vite/issues/17876))
([e686d74](https://github.com/vitejs/vite/commit/e686d749d673c02ff4395971ac74340082da14e5)),
closes [#&#8203;17876](https://github.com/vitejs/vite/issues/17876)
- fix(deps): update all non-major dependencies
([#&#8203;17869](https://github.com/vitejs/vite/issues/17869))
([d11711c](https://github.com/vitejs/vite/commit/d11711c7e4c082fd0400245bfdc766006fd38ac8)),
closes [#&#8203;17869](https://github.com/vitejs/vite/issues/17869)
- fix(lightningcss): search for assets with correct base path
([#&#8203;17856](https://github.com/vitejs/vite/issues/17856))
([4e5ce3c](https://github.com/vitejs/vite/commit/4e5ce3c7a90966b1f942df35b8b3e8a550a4f031)),
closes [#&#8203;17856](https://github.com/vitejs/vite/issues/17856)
- fix(worker): handle self reference url worker in dependency for build
([#&#8203;17846](https://github.com/vitejs/vite/issues/17846))
([391bb49](https://github.com/vitejs/vite/commit/391bb4917b55baf3fdb01c6fc3d782d6c51be6c8)),
closes [#&#8203;17846](https://github.com/vitejs/vite/issues/17846)
- chore: fix picocolors import for local dev
([#&#8203;17884](https://github.com/vitejs/vite/issues/17884))
([9018255](https://github.com/vitejs/vite/commit/9018255c697a8c0888dce57aaa755d25bf66beba)),
closes [#&#8203;17884](https://github.com/vitejs/vite/issues/17884)
- refactor: remove `handleHotUpdate` from watch-package-data plugin
([#&#8203;17865](https://github.com/vitejs/vite/issues/17865))
([e16bf1f](https://github.com/vitejs/vite/commit/e16bf1fb14b7a3a950de4d74fce31416746829b3)),
closes [#&#8203;17865](https://github.com/vitejs/vite/issues/17865)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
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://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/SAP/ui5-webcomponents-react).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to SAP/ui5-webcomponents-react that referenced this pull request Aug 29, 2024
… (v1.29.x) (minor) (#6265)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@remix-run/dev](https://remix.run)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev))
| [`2.9.2` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/2.9.2/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/node](https://github.com/remix-run/remix)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node))
| [`2.9.2` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/2.9.2/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/react](https://github.com/remix-run/remix)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react))
| [`2.9.2` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2freact/2.9.2/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@remix-run/serve](https://github.com/remix-run/remix)
([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-serve))
| [`2.9.2` ->
`2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fserve/2.9.2/2.11.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fserve/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fserve/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.14.15` ->
`20.16.2`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.15/20.16.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.15/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.15/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin)
([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`7.11.0` ->
`7.18.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.11.0/7.18.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`7.11.0` ->
`7.18.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.11.0/7.18.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [cypress](https://cypress.io)
([source](https://github.com/cypress-io/cypress)) | [`13.10.0` ->
`13.14.0`](https://renovatebot.com/diffs/npm/cypress/13.10.0/13.14.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cypress/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cypress/13.10.0/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/13.10.0/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)
| [`6.8.0` ->
`6.9.0`](https://renovatebot.com/diffs/npm/eslint-plugin-jsx-a11y/6.8.0/6.9.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-jsx-a11y/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-jsx-a11y/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-jsx-a11y/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-jsx-a11y/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react)
| [`7.34.4` ->
`7.35.0`](https://renovatebot.com/diffs/npm/eslint-plugin-react/7.34.4/7.35.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-react/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-react/7.34.4/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react/7.34.4/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [react-router-dom](https://github.com/remix-run/react-router)
([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom))
| [`6.23.1` ->
`6.26.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.23.1/6.26.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.23.1/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.23.1/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://github.com/Microsoft/TypeScript)) | [`5.4.5` ->
`5.5.4`](https://renovatebot.com/diffs/npm/typescript/5.4.5/5.5.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.4.5/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.4.5/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vitejs.dev)
([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.2.13` ->
`5.4.2`](https://renovatebot.com/diffs/npm/vite/5.2.13/5.4.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.2.13/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.2.13/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>remix-run/remix (@&#8203;remix-run/dev)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.1...@remix-run/dev@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`
    -   `@remix-run/node@2.11.2`

###
[`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2111)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.0...@remix-run/dev@2.11.1)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.1`
    -   `@remix-run/node@2.11.1`

###
[`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2110)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.3...@remix-run/dev@2.11.0)

##### Minor Changes

- Rename `future.unstable_fogOfWar` to
`future.unstable_lazyRouteDiscovery` for clarity
([#&#8203;9763](https://github.com/remix-run/remix/pull/9763))

##### Patch Changes

- Handle absolute Vite base URLs
([#&#8203;9700](https://github.com/remix-run/remix/pull/9700))
-   Updated dependencies:
    -   `@remix-run/node@2.11.0`
    -   `@remix-run/server-runtime@2.11.0`

###
[`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2103)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.2...@remix-run/dev@2.10.3)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.10.3`
    -   `@remix-run/server-runtime@2.10.3`

###
[`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2102)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.1...@remix-run/dev@2.10.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.2`
    -   `@remix-run/node@2.10.2`

###
[`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2101)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.0...@remix-run/dev@2.10.1)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.10.1`
    -   `@remix-run/server-runtime@2.10.1`

###
[`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2100)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.9.2...@remix-run/dev@2.10.0)

##### Patch Changes

- Upgrade `express` dependency to `^4.19.2`
([#&#8203;9184](https://github.com/remix-run/remix/pull/9184))
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.0`
    -   `@remix-run/node@2.10.0`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/node)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.1...@remix-run/node@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`

###
[`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2111)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.0...@remix-run/node@2.11.1)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.1`

###
[`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2110)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.3...@remix-run/node@2.11.0)

##### Minor Changes

- Single Fetch: Add a new `unstable_data()` API as a replacement for
`json`/`defer` when custom `status`/`headers` are needed
([#&#8203;9769](https://github.com/remix-run/remix/pull/9769))
- Add a new `replace(url, init?)` alternative to `redirect(url, init?)`
that performs a `history.replaceState` instead of a `history.pushState`
on client-side navigation redirects
([#&#8203;9764](https://github.com/remix-run/remix/pull/9764))

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.0`

###
[`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2103)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.2...@remix-run/node@2.10.3)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.3`

###
[`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2102)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.1...@remix-run/node@2.10.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.2`

###
[`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2101)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.0...@remix-run/node@2.10.1)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.1`

###
[`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2100)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.9.2...@remix-run/node@2.10.0)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.0`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/react)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.1...@remix-run/react@2.11.2)

##### Patch Changes

- Fog of War: Simplify implementation now that React Router handles
slug/splat edge cases and tracks previously discovered routes (see
[remix-run/react-router#11883](https://github.com/remix-run/react-router/pull/11883))
([#&#8203;9860](https://github.com/remix-run/remix/pull/9860))
- This changes the return signature of the internal `__manifest`
endpoint since we no longer need the `notFoundPaths` field
- Fog of War: Update to use renamed `unstable_patchRoutesOnNavigation`
function in RR (see
[remix-run/react-router#11888](https://github.com/remix-run/react-router/pull/11888))
([#&#8203;9860](https://github.com/remix-run/remix/pull/9860))
- Single Fetch: Update `turbo-stream` to `v2.3.0`
([#&#8203;9856](https://github.com/remix-run/remix/pull/9856))
    -   Stabilize object key order for serialized payloads
    -   Remove memory limitations payloads sizes
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.2`

###
[`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2111)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.0...@remix-run/react@2.11.1)

##### Patch Changes

- Revert
[#&#8203;9695](https://github.com/remix-run/remix/issues/9695), stop
infinite reload
([`a7cffe57`](https://github.com/remix-run/remix/commit/a7cffe5733c8b7d0f29bd2d8606876c537d87101))
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.1`

###
[`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2110)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.3...@remix-run/react@2.11.0)

##### Minor Changes

- Single Fetch: Add a new `unstable_data()` API as a replacement for
`json`/`defer` when custom `status`/`headers` are needed
([#&#8203;9769](https://github.com/remix-run/remix/pull/9769))
- Add a new `replace(url, init?)` alternative to `redirect(url, init?)`
that performs a `history.replaceState` instead of a `history.pushState`
on client-side navigation redirects
([#&#8203;9764](https://github.com/remix-run/remix/pull/9764))
- Rename `future.unstable_fogOfWar` to
`future.unstable_lazyRouteDiscovery` for clarity
([#&#8203;9763](https://github.com/remix-run/remix/pull/9763))
- Single Fetch: Remove `responseStub` in favor of `headers`
([#&#8203;9769](https://github.com/remix-run/remix/pull/9769))

    -   Background

- The original Single Fetch approach was based on an assumption that an
eventual `middleware` implementation would require something like
`ResponseStub` so users could mutate `status`/`headers` in `middleware`
before/after handlers as well as during handlers
- We wanted to align how `headers` got merged between document and data
requests
- So we made document requests also use `ResponseStub` and removed the
usage of `headers` in Single Fetch
- The realization/alignment between Michael and Ryan on the recent
[roadmap planning](https://www.youtube.com/watch?v=f5z_axCofW0) made us
realize that the original assumption was incorrect
- `middleware` won't need a stub - users can just mutate the `Response`
they get from `await next()` directly
- With that gone, and still wanting to align how `headers` get merged,
it makes more sense to stick with the current `headers` API and apply
that to Single Fetch and avoid introducing a totally new thing in
`RepsonseStub` (that always felt a bit awkward to work with anyway)

    -   With this change:
- You are encouraged to stop returning `Response` instances in favor of
returning raw data from loaders and actions:
            -   \~~`return json({ data: whatever });`~~
            -   `return { data: whatever };`
- In most cases, you can remove your `json()` and `defer()` calls in
favor of returning raw data if they weren't setting custom
`status`/`headers`
- We will be removing both `json` and `defer` in the next major version,
but both *should* still work in Single Fetch in v2 to allow for
incremental adoption of the new behavior
        -   If you need custom `status`/`headers`:
- We've added a new `unstable_data({...}, responseInit)` utility that
will let you send back `status`/`headers` alongside your raw data
without having to encode it into a `Response`
- The `headers()` function will let you control header merging for both
document and data requests

##### Patch Changes

- Single Fetch: Ensure calls don't include any trailing slash from the
pathname (i.e., `/path/.data`)
([#&#8203;9792](https://github.com/remix-run/remix/pull/9792))
- Single Fetch: Add `undefined` to the `useRouteLoaderData` type
override
([#&#8203;9796](https://github.com/remix-run/remix/pull/9796))
- Change initial hydration route mismatch from a URL check to a matches
check to be resistant to URL inconsistencies
([#&#8203;9695](https://github.com/remix-run/remix/pull/9695))
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.11.0`

###
[`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2103)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.2...@remix-run/react@2.10.3)

##### Patch Changes

- Log any errors encountered loading a route module prior to reloading
the page
([#&#8203;8932](https://github.com/remix-run/remix/pull/8932))
- Single Fetch (unstable): Proxy `request.signal` through `dataStrategy`
for `loader` calls to fix cancellation
([#&#8203;9738](https://github.com/remix-run/remix/pull/9738))
- Single Fetch (unstable): Adopt React Router's stabilized
`future.v7_skipActionErrorRevalidation` under the hood
([#&#8203;9706](https://github.com/remix-run/remix/pull/9706))
- This also stabilizes the `shouldRevalidate` parameter from
`unstable_actionStatus` to `actionStatus`
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.3`

###
[`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2102)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.1...@remix-run/react@2.10.2)

##### Patch Changes

- Forward `ref` to `Form`
([`bdd04217`](https://github.com/remix-run/remix/commit/bdd04217713292307078a30dab9033926d48ede6))
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.2`

###
[`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2101)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.0...@remix-run/react@2.10.1)

##### Patch Changes

- Fog of War (unstable): Don't discover links/forms with
`reloadDocument`
([#&#8203;9686](https://github.com/remix-run/remix/pull/9686))
- Fog of War (unstable): Support route discovery from `<Form>`
components
([#&#8203;9665](https://github.com/remix-run/remix/pull/9665))
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.1`

###
[`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2100)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.9.2...@remix-run/react@2.10.0)

##### Minor Changes

- Add support for Lazy Route Discovery (a.k.a. Fog of War)
([#&#8203;9600](https://github.com/remix-run/remix/pull/9600))

- RFC: <https://github.com/remix-run/react-router/discussions/11113>
    -   Docs: <https://remix.run/docs/guides/fog-of-war>

##### Patch Changes

- Don't prefetch server `loader` data when `clientLoader` exists
([#&#8203;9580](https://github.com/remix-run/remix/pull/9580))
- Avoid hydration loops when `Layout` `ErrorBoundary` renders also throw
([#&#8203;9566](https://github.com/remix-run/remix/pull/9566))
- Fix a bug where hydration wouldn't work right when using child routes
and hydrate fallbacks with a `basename`
([#&#8203;9584](https://github.com/remix-run/remix/pull/9584))
- Update to `turbo-stream@2.2.0` for single fetch
([#&#8203;9562](https://github.com/remix-run/remix/pull/9562))
-   Updated dependencies:
    -   `@remix-run/server-runtime@2.10.0`

</details>

<details>
<summary>remix-run/remix (@&#8203;remix-run/serve)</summary>

###
[`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2112)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.11.1...@remix-run/serve@2.11.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.11.2`
    -   `@remix-run/express@2.11.2`

###
[`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2111)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.11.0...@remix-run/serve@2.11.1)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.11.1`
    -   `@remix-run/express@2.11.1`

###
[`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2110)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.3...@remix-run/serve@2.11.0)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.11.0`
    -   `@remix-run/express@2.11.0`

###
[`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2103)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.2...@remix-run/serve@2.10.3)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/express@2.10.3`
    -   `@remix-run/node@2.10.3`

###
[`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2102)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.1...@remix-run/serve@2.10.2)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/node@2.10.2`
    -   `@remix-run/express@2.10.2`

###
[`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2101)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.0...@remix-run/serve@2.10.1)

##### Patch Changes

-   Updated dependencies:
    -   `@remix-run/express@2.10.1`
    -   `@remix-run/node@2.10.1`

###
[`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2100)

[Compare
Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.9.2...@remix-run/serve@2.10.0)

##### Patch Changes

- Upgrade `express` dependency to `^4.19.2`
([#&#8203;9184](https://github.com/remix-run/remix/pull/9184))
-   Updated dependencies:
    -   `@remix-run/express@2.10.0`
    -   `@remix-run/node@2.10.0`

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v7.18.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7180-2024-07-29)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.17.0...v7.18.0)

##### 🩹 Fixes

- **eslint-plugin:** \[no-unnecessary-type-assertion] prevent runtime
error when asserting a variable declared in default TS lib

- **eslint-plugin:** \[unbound-method] report on destructuring in
function parameters

- **eslint-plugin:** \[no-duplicate-type-constituents] shouldn't report
on error types

- **eslint-plugin:** \[strict-boolean-expressions] support branded
booleans

##### ❤️  Thank You

-   auvred
-   Oliver Salzburg
-   Vinccool96
-   Yukihiro Hasegawa

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.17.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7170-2024-07-22)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.1...v7.17.0)

##### 🚀 Features

- **eslint-plugin:** backport no-unsafe-function type,
no-wrapper-object-types from v8 to v7

- **eslint-plugin:** \[return-await] add option to report in
error-handling scenarios only, and deprecate "never"

##### 🩹 Fixes

- **eslint-plugin:** \[no-floating-promises] check top-level type
assertions (and more)

- **eslint-plugin:** \[strict-boolean-expressions] consider assertion
function argument a boolean context

- **eslint-plugin:** \[no-unnecessary-condition] false positive on
optional private field

##### ❤️  Thank You

-   Armano
-   Josh Goldberg ✨
-   Kirk Waiblinger
-   StyleShit

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.16.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7161-2024-07-15)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.0...v7.16.1)

##### 🩹 Fixes

- **eslint-plugin:** \[no-unnecessary-type-parameters] descend into all
parts of mapped types in no-unnecessary-type-parameters

##### ❤️  Thank You

-   Dan Vanderkam

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.16.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7160-2024-07-08)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.15.0...v7.16.0)

##### 🚀 Features

-   **rule-tester:** stricter rule test validations

- **eslint-plugin:** \[no-unnecessary-parameter-property-assignment] add
new rule

- **eslint-plugin:** add support for nested namespaces to
unsafe-member-access

-   **eslint-plugin:** \[no-floating-promises] add checkThenables option

##### 🩹 Fixes

- **deps:** update dependency
[@&#8203;eslint-community/regexpp](https://github.com/eslint-community/regexpp)
to v4.11.0

- **eslint-plugin:** \[no-floating-promises] add `suggestions` to tests
from
[#&#8203;9263](https://github.com/typescript-eslint/typescript-eslint/issues/9263)
`checkThenables`

-   **website:** react key error on internal pages of website

- **eslint-plugin:** \[restrict-template-expressions] don't report
tuples if `allowArray` option is enabled

##### ❤️  Thank You

-   Abraham Guo
-   auvred
-   Josh Goldberg ✨
-   Juan Sanchez
-   Vinccool96
-   YeonJuan
-   Yukihiro Hasegawa

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.15.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7150-2024-07-01)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.1...v7.15.0)

##### 🚀 Features

-   **eslint-plugin:** \[array-type] detect `Readonly<string[]>` case

- **eslint-plugin:** back-port new rules around empty object types from
v8

##### 🩹 Fixes

- disable `EXPERIMENTAL_useProjectService` in `disabled-type-checked`
shared config

- **eslint-plugin:** \[no-unsafe-return] differentiate a types-error any
from a true any

- **eslint-plugin:** \[no-unsafe-call] differentiate a types-error any
from a true any

##### ❤️  Thank You

-   auvred
-   Kim Sang Du
-   rgehbt
-   Vinccool96

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.14.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7141-2024-06-24)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.0...v7.14.1)

##### 🩹 Fixes

- **eslint-plugin:** \[prefer-nullish-coalescing] treat enums and
literals as their underlying primitive types

- **eslint-plugin:** \[prefer-nullish-coalescing] ensure ternary fix
does not remove parens

##### ❤️  Thank You

-   Jake Bailey

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.14.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7140-2024-06-24)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.1...v7.14.0)

##### 🚀 Features

-   support TypeScript 5.5

##### 🩹 Fixes

-   **eslint-plugin:** \[no-extraneous-class] handle abstract members

- **eslint-plugin:** \[prefer-nullish-coalescing] handle intersected
primitive types

-   **eslint-plugin:** \[no-invalid-this] support AccessorProperty

##### ❤️  Thank You

-   Brad Zacher
-   cm-ayf
-   Jake Bailey
-   James Zhan
-   Joshua Chen
-   yoshi2no

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.13.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7131-2024-06-17)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.0...v7.13.1)

##### 🩹 Fixes

-   **eslint-plugin:** \[prefer-readonly] refine report locations

- **eslint-plugin:** \[return-await] support explicit resource
management

- **eslint-plugin:** \[no-unsafe-member-access] differentiate a
types-error any from a true any

##### ❤️  Thank You

-   Kirk Waiblinger
-   Yukihiro Hasegawa

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.13.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7130-2024-06-10)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.12.0...v7.13.0)

##### 🚀 Features

- **typescript-estree:** require `import = require()` argument to be a
string literal

- **typescript-estree:** forbid `.body`, `.async`, `.generator` on
`declare function`

- **eslint-plugin:** \[no-dynamic-delete] allow all string literals as
index

##### 🩹 Fixes

- **ast-spec:** function-call-like callee should be Expression not
LeftHandSideExpression

-   **scope-manager:** handle index signature in class

-   **eslint-plugin:** \[init-declarations] refine report locations

- **eslint-plugin:** \[no-base-to-string] make error message more
nuanced

- **eslint-plugin:** \[no-unsafe-assignment] be more specific about
error types

- **eslint-plugin:** \[no-magic-numbers] fix implementation of the
`ignore` option

##### ❤️  Thank You

-   Fotis Papadogeorgopoulos
-   Joshua Chen
-   Kirk Waiblinger
-   Tobiloba Adedeji
-   Vinccool96
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.12.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7120-2024-06-03)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.11.0...v7.12.0)

##### 🚀 Features

- **eslint-plugin:** \[no-useless-template-literals] rename to
`no-useless-template-expression` (deprecate
`no-useless-template-literals`)

-   **rule-tester:** check for parsing errors in suggestion fixes

-   **rule-tester:** port `checkDuplicateTestCases` from ESLint

- **eslint-plugin:** \[no-floating-promises] add option
'allowForKnownSafePromises'

##### 🩹 Fixes

-   no-useless-template-expression -> no-unnecessary-template-expression

- **eslint-plugin:** \[no-unnecessary-type-assertion] combine template
literal check with `const` variable check

- **eslint-plugin:** \[dot-notation] fix false positive when accessing
private/protected property with optional chaining

- **eslint-plugin:** \[explicit-member-accessibility] refine report
locations

- **eslint-plugin:** \[no-unnecessary-type-assertion] declares are
always defined, so always check `declare`s

- **eslint-plugin:** \[prefer-literal-enum-member] allow using member it
self on allowBitwiseExpressions

- **eslint-plugin:** \[return-await] clean up in-try-catch detection and
make autofixes safe

- **eslint-plugin:** \[member-ordering] also TSMethodSignature can be
get/set

##### ❤️  Thank You

-   Abraham Guo
-   Han Yeong-woo
-   Joshua Chen
-   Kim Sang Du
-   Kirk Waiblinger
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v7.18.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7180-2024-07-29)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.17.0...v7.18.0)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.17.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7170-2024-07-22)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.1...v7.17.0)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.16.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7161-2024-07-15)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.0...v7.16.1)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.16.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7160-2024-07-08)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.15.0...v7.16.0)

##### 🩹 Fixes

- **deps:** update dependency
[@&#8203;eslint-community/regexpp](https://github.com/eslint-community/regexpp)
to v4.11.0

-   **website:** react key error on internal pages of website

##### ❤️  Thank You

-   Abraham Guo
-   auvred
-   Josh Goldberg ✨
-   Juan Sanchez
-   Vinccool96
-   YeonJuan
-   Yukihiro Hasegawa

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.15.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7150-2024-07-01)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.1...v7.15.0)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.14.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7141-2024-06-24)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.0...v7.14.1)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.14.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7140-2024-06-24)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.1...v7.14.0)

##### 🚀 Features

-   support TypeScript 5.5

##### ❤️  Thank You

-   Brad Zacher
-   cm-ayf
-   Jake Bailey
-   James Zhan
-   Joshua Chen
-   yoshi2no

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.13.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7131-2024-06-17)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.0...v7.13.1)

This was a version bump only for parser to align it with other projects,
there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.13.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7130-2024-06-10)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.12.0...v7.13.0)

##### 🚀 Features

- **parser, typescript-estree:** export withoutProjectParserOptions
utility

##### ❤️  Thank You

-   Fotis Papadogeorgopoulos
-   Joshua Chen
-   Kirk Waiblinger
-   Tobiloba Adedeji
-   Vinccool96
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v7.12.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7120-2024-06-03)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.11.0...v7.12.0)

##### 🩹 Fixes

-   **types:** correct typing ParserOptions

##### ❤️  Thank You

-   Abraham Guo
-   Han Yeong-woo
-   Joshua Chen
-   Kim Sang Du
-   Kirk Waiblinger
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>cypress-io/cypress (cypress)</summary>

###
[`v13.14.0`](https://github.com/cypress-io/cypress/releases/tag/v13.14.0)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.13.3...v13.14.0)

Changelog: https://docs.cypress.io/guides/references/changelog#13-14-0

###
[`v13.13.3`](https://github.com/cypress-io/cypress/releases/tag/v13.13.3)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.13.2...v13.13.3)

Changelog: https://docs.cypress.io/guides/references/changelog#13-13-3

###
[`v13.13.2`](https://github.com/cypress-io/cypress/releases/tag/v13.13.2)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.13.1...v13.13.2)

Changelog: https://docs.cypress.io/guides/references/changelog#13-13-2

###
[`v13.13.1`](https://github.com/cypress-io/cypress/releases/tag/v13.13.1)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.13.0...v13.13.1)

Changelog: https://docs.cypress.io/guides/references/changelog#13-13-1

###
[`v13.13.0`](https://github.com/cypress-io/cypress/releases/tag/v13.13.0)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.12.0...v13.13.0)

Changelog: https://docs.cypress.io/guides/references/changelog#13-13-0

###
[`v13.12.0`](https://github.com/cypress-io/cypress/releases/tag/v13.12.0)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.11.0...v13.12.0)

Changelog: https://docs.cypress.io/guides/references/changelog#13-12-0

###
[`v13.11.0`](https://github.com/cypress-io/cypress/releases/tag/v13.11.0)

[Compare
Source](https://github.com/cypress-io/cypress/compare/v13.10.0...v13.11.0)

Changelog: https://docs.cypress.io/guides/references/changelog#13-11-0

</details>

<details>
<summary>jsx-eslint/eslint-plugin-jsx-a11y
(eslint-plugin-jsx-a11y)</summary>

###
[`v6.9.0`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/CHANGELOG.md#v690---2024-06-19)

[Compare
Source](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.8.0...v6.9.0)

##### Fixed

- \[Fix] `img-redundant-alt`: fixed multibyte character support
[`#969`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/969)
- \[meta] fix changelog links
[`#960`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/960)

##### Commits

- \[New] add support for Flat Config
[`6b5f096`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/6b5f096f10b47326d68e2893152a48a79c8555b4)
- Revert "\[Fix] `isNonInteractiveElement`: Upgrade aria-query to 5.3.0
and axobject-query to 3.2.1"
[`75d5dd7`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/75d5dd722bd67186d97afa7b151fd6fee5885c70)
- \[Robustness] use `safe-regex-test`
[`4c7e781`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/4c7e7815c12a797587bb8e3cdced7f3003848964)
- \[actions] update actions/checkout
[`51a1ca7`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/51a1ca7b4d83d4fbd1ea62888f7f2dc21ece6788)
- \[Dev Deps] update `@babel/cli`, `@babel/core`,
`@babel/eslint-parser`, `@babel/plugin-transform-flow-strip-types`,
`@babel/register`, `eslint-doc-generator`, `object.entries`
[`1271ac1`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/1271ac1d6e5dcf9a2bc2c086faaf062335629171)
- \[Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/register`,
`aud`, `eslint-plugin-import`, `npmignore`, `object.assign`
[`540cb7a`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/540cb7aefead582f237071d55a40f098d0885478)
- \[Deps] update `@babel/runtime`, `array-includes`,
`es-iterator-helpers`, `hasown`, `object.fromentries`, `safe-regex-test`
[`5d14408`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/5d1440825a8838ae10dc94cc3a4a7e1e967644b4)
- \[Deps] pin `aria-query` and `axobject-query`, add `ls-engines` test
to CI
[`32fd82c`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/32fd82c628d7f3e4ec8c06a1994f4eca1be2be4f)
- \[Dev Deps] update `@babel/core`, `@babel/eslint-parser`,
`@babel/plugin-transform-flow-strip-types`, `eslint-doc-generator`
[`d1b4114`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/d1b41142248a7cca45bb5f0b96ff23ee87fb9411)
- \[Fix] ensure `summary` remains non-interactive
[`6a048da`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/6a048dacf2b98eaa204e2a5a70dc7e3d48d9463a)
- \[Deps] remove `@babel/runtime`
[`0a98ad8`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/0a98ad83ffa7f4b66458cc1c39db2ef32bb2c480)
- \[New] `no-noninteractive-element-to-interactive-role`: allow
`menuitemradio` and `menuitemcheckbox` on \<li>
[`c0733f9`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/c0733f94031fe3eec6b4d54176afe47929bb0a84)
- \[Deps] update `@babel/runtime`, `safe-regex-test`
[`0d5321a`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/0d5321a5457c5f0da0ca216053cc5b4f571b53ae)
- \[actions] pin codecov to v3.1.5
[`961817f`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/961817f61fa56cd7815c6940c27ef08469b1516b)
- \[Deps] unpin `axe-core`
[`b3559cf`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/b3559cf89be6b5352cd77ffa025831b3d793d565)
- \[Deps] move `object.entries` to dev deps
[`1be7b70`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/1be7b709eececd83f1d5f67a60b2c97cfe9a561d)
- \[Deps] update `@babel/runtime`
[`2a48abb`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/2a48abb5effa911e7d1a8575e1c9768c947a33f1)
- \[Deps] update `@babel/runtime`
[`1adec35`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/1adec3517fc2c9797212ca4d38858deed917e7be)

</details>

<details>
<summary>jsx-eslint/eslint-plugin-react (eslint-plugin-react)</summary>

###
[`v7.35.0`](https://github.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7350---20240719)

[Compare
Source](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.4...v7.35.0)

##### Added

- support eslint v9 ([#&#8203;3759][]
[@&#8203;mdjermanovic](https://github.com/mdjermanovic))
- export flat configs from plugin root and fix flat config crash
([#&#8203;3694][] [@&#8203;bradzacher](https://github.com/bradzacher)
[@&#8203;mdjermanovic](https://github.com/mdjermanovic))
- add \[`jsx-props-no-spread-multi`] ([#&#8203;3724][]
[@&#8203;SimonSchick](https://github.com/SimonSchick))
- \[`forbid-component-props`]: add `propNamePattern` to allow / disallow
prop name patterns ([#&#8203;3774][]
[@&#8203;akulsr0](https://github.com/akulsr0))
- \[`jsx-handler-names`]: support ignoring component names
([#&#8203;3772][] [@&#8203;akulsr0](https://github.com/akulsr0))
- version settings: Allow react defaultVersion to be configurable
([#&#8203;3771][] [@&#8203;onlywei](https://github.com/onlywei))
- \[`jsx-closing-tag-location`]: add `line-aligned` option
([#&#8203;3777] [@&#8203;kimtaejin3](https://github.com/kimtaejin3))
- \[`no-danger`]: add `customComponentNames` option ([#&#8203;3748][]
[@&#8203;akulsr0](https://github.com/akulsr0))

##### Fixed

- \[`no-invalid-html-attribute`]: substitute placeholders in suggestion
messages ([#&#8203;3759][]
[@&#8203;mdjermanovic](https://github.com/mdjermanovic))
- \[`sort-prop-types`]: single line type ending without semicolon
([#&#8203;3784][] [@&#8203;akulsr0](https://github.com/akulsr0))
- \[`require-default-props`]: report when required props have default
value ([#&#8203;3785][] [@&#8203;akulsr0](https://github.com/akulsr0))

##### Changed

- \[Refactor] `variableUtil`: Avoid creating a single flat variable
scope for each lookup ([#&#8203;3782][]
[@&#8203;DanielRosenwasser](https://github.com/DanielRosenwasser))

[7.35.0]:
https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.4...v7.35.0

[#&#8203;3785]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3785

[#&#8203;3784]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3784

[#&#8203;3782]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3782

[#&#8203;3777]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3777

[#&#8203;3774]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3774

[#&#8203;3772]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3772

[#&#8203;3771]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3771

[#&#8203;3759]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3759

[#&#8203;3748]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3748

[#&#8203;3724]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3724

[#&#8203;3694]:
https://github.com/jsx-eslint/eslint-plugin-react/pull/3694

</details>

<details>
<summary>remix-run/react-router (react-router-dom)</summary>

###
[`v6.26.1`](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1)

###
[`v6.26.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6260)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.25.1...react-router-dom@6.26.0)

##### Minor Changes

- Add a new `replace(url, init?)` alternative to `redirect(url, init?)`
that performs a `history.replaceState` instead of a `history.pushState`
on client-side navigation redirects
([#&#8203;11811](https://github.com/remix-run/react-router/pull/11811))

##### Patch Changes

- Fix initial hydration behavior when using `future.v7_partialHydration`
along with `unstable_patchRoutesOnMiss`
([#&#8203;11838](https://github.com/remix-run/react-router/pull/11838))
- During initial hydration, `router.state.matches` will now include any
partial matches so that we can render ancestor `HydrateFallback`
components
-   Updated dependencies:
    -   `@remix-run/router@1.19.0`
    -   `react-router@6.26.0`

###
[`v6.25.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6251)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.25.0...react-router-dom@6.25.1)

##### Patch Changes

- Memoize some `RouterProvider` internals to reduce unnecessary
re-renders
([#&#8203;11803](https://github.com/remix-run/react-router/pull/11803))
-   Updated dependencies:
    -   `react-router@6.25.1`

###
[`v6.25.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6250)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.24.1...react-router-dom@6.25.0)

##### Minor Changes

- Stabilize `future.unstable_skipActionErrorRevalidation` as
`future.v7_skipActionErrorRevalidation`
([#&#8203;11769](https://github.com/remix-run/react-router/pull/11769))

- When this flag is enabled, actions will not automatically trigger a
revalidation if they return/throw a `Response` with a `4xx`/`5xx` status
code
    -   You may still opt-into revalidation via `shouldRevalidate`
- This also changes `shouldRevalidate`'s `unstable_actionStatus`
parameter to `actionStatus`

##### Patch Changes

-   Updated dependencies:
    -   `react-router@6.25.0`
    -   `@remix-run/router@1.18.0`

###
[`v6.24.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6241)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.24.0...react-router-dom@6.24.1)

##### Patch Changes

- Remove `polyfill.io` reference from warning message because the domain
was sold and has since been determined to serve malware
([#&#8203;11741](https://github.com/remix-run/react-router/pull/11741))
    -   See <https://sansec.io/research/polyfill-supply-chain-attack>
- Export `NavLinkRenderProps` type for easier typing of custom `NavLink`
callback
([#&#8203;11553](https://github.com/remix-run/react-router/pull/11553))
-   Updated dependencies:
    -   `@remix-run/router@1.17.1`
    -   `react-router@6.24.1`

###
[`v6.24.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6240)

[Compare
Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.23.1...react-router-dom@6.24.0)

##### Minor Changes

- Add support for Lazy Route Discovery (a.k.a. Fog of War)
([#&#8203;11626](https://github.com/remix-run/react-router/pull/11626))

- RFC: <https://github.com/remix-run/react-router/discussions/11113>
- `unstable_patchRoutesOnMiss` docs:
<https://reactrouter.com/en/main/routers/create-browser-router>

##### Patch Changes

- Fix `fetcher.submit` types - remove incorrect
`navigate`/`fetcherKey`/`unstable_viewTransition` options because they
are only relevant for `useSubmit`
([#&#8203;11631](https://github.com/remix-run/react-router/pull/11631))
- Allow falsy `location.state` values passed to `<StaticRouter>`
([#&#8203;11495](https://github.com/remix-run/react-router/pull/11495))
-   Updated dependencies:
    -   `react-router@6.24.0`
    -   `@remix-run/router@1.17.0`

</details>

<details>
<summary>Microsoft/TypeScript (typescript)</summary>

###
[`v5.5.4`](https://github.com/Microsoft/TypeScript/compare/v5.5.3...c8a7d589e647e19c94150d9892909f3aa93e48eb)

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4)

###
[`v5.5.3`](https://github.com/Microsoft/TypeScript/compare/v5.5.2...f0e992167440686f948965e5441a918b34251886)

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)

###
[`v5.5.2`](https://github.com/Microsoft/TypeScript/compare/v5.4.5...ce2e60e4ea15a65992e54a9e8877d16be9d42abb)

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.4.5...v5.5.2)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.4.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small542-2024-08-20-small)

[Compare
Source](https://github.com/vitejs/vite/compare/v5.4.1...v5.4.2)

- chore: remove stale TODOs
([#&#8203;17866](https://github.com/vitejs/vite/issues/17866))
([e012f29](https://github.com/vitejs/vite/commit/e012f296df583bd133d26399397bd4ae49de1497)),
closes [#&#8203;17866](https://github.com/vitejs/vite/issues/17866)
- refactor: remove redundant prepend/strip base
([#&#8203;17887](https://github.com/vitejs/vite/issues/17887))
([3b8f03d](https://github.com/vitejs/vite/commit/3b8f03d789ec3ef1a099c884759bd4e61b03ce7c)),
closes [#&#8203;17887](https://github.com/vitejs/vite/issues/17887)
- fix: resolve relative URL generated by `renderBuiltUrl` passed to
module preload
([#&#8203;16084](https://github.com/vitejs/vite/issues/16084))
([fac3a8e](https://github.com/vitejs/vite/commit/fac3a8ed6855c4ab3032957137b74f21ec501e72)),
closes [#&#8203;16084](https://github.com/vitejs/vite/issues/16084)
-   feat: support originalFilena

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/SAP/ui5-webcomponents-react).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6InYxLjI5LngiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant