Closed renovate[bot] closed 5 months ago
The latest updates on your projects. Learn more about Vercel for Git βοΈ
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
hrkmtsmt | β Ready (Inspect) | Visit Preview | π¬ Add feedback | Oct 5, 2023 2:41am |
Because you closed this PR without merging, Renovate will ignore this update (^1.8.3
). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps
array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
This PR contains the following updates:
1.8.3
->1.9.7
Release Notes
reduxjs/redux-toolkit (@reduxjs/toolkit)
### [`v1.9.7`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.7) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.6...v1.9.7) This bugfix release rewrites the RTKQ hook TS types to significantly improve TS perf. #### Changelog ##### RTKQ TS Perf A number of users had reported that Intellisense for RTKQ API objects was extremely slow (multiple seconds) - see discussion in [#3214](https://togithub.com/reduxjs/redux-toolkit/issues/3214) . We did some perf investigation on user-provided examples, and concluded that the biggest factor to slow RTKQ TS perf was the calculation of hook names like `useGetPokemonQuery`, which was generating a large TS union of types. We've rewritten that hook names type calculation to use mapped types and a couple of intersections. In a specific user-provided stress test repo, it dropped TS calculation time by 60% (2600ms to 1000ms). There's more potential work we can do to improve things, but this seems like a major perf improvement worth shipping now. #### What's Changed - chore: Switch 4.9.2-rc to 4.9.5 since 4.9.5 has been released in TypeScript by [@kahirokunn](https://togithub.com/kahirokunn) in [https://github.com/reduxjs/redux-toolkit/pull/3772](https://togithub.com/reduxjs/redux-toolkit/pull/3772) - Copy of "Work around known TS bug with type inference [#3761](https://togithub.com/reduxjs/redux-toolkit/issues/3761)" by [@julian-ford](https://togithub.com/julian-ford) in [https://github.com/reduxjs/redux-toolkit/pull/3777](https://togithub.com/reduxjs/redux-toolkit/pull/3777) - Rework named hooks type (v1.9) by [@EskiMojo14](https://togithub.com/EskiMojo14) in [https://github.com/reduxjs/redux-toolkit/pull/3769](https://togithub.com/reduxjs/redux-toolkit/pull/3769) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.6...v1.9.7 ### [`v1.9.6`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.6) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.5...v1.9.6) This bugfix release adds a new dev-mode middleware to catch accidentally dispatching an action creator, adds a new listener middleware option around waiting for forks, adds a new option to update provided tags when `updateQueryData` is used, reworks internal types to better handle uses with TS declaration output, and fixes a variety of small issues. ##### Changelog ##### Action Creator Dev Check Middleware RTK already includes dev-mode middleware that check for the common mistakes of accidentally mutating state and putting non-serializable values into state or actions. Over the years we've also seen a semi-frequent error where users accidentally pass an action creator reference to `dispatch`, instead of *calling* it and dispatching the action it returns. We've added another dev-mode middleware that specifically catches this error and warns about it. ##### Additional Options The listener middleware's `listenerApi.fork()` method now has an optional `autoJoin` flag that can be used to keep the effect from finishing until all active forked tasks have completed. `updateQueryData` now has an `updateProvidedTags` option that will force a recalculation of that endpoint's provided tags. It currently defaults to `false`, and we'll likely turn that to `true` in the next major. ##### Other Fixes The `builder.addCase` method now throws an error if a `type` string is empty. `fetchBaseQuery` now uses an alternate method to clone the original `Request` in order to work around an obscure Chrome bug. The immutability middleware logic was tweaked to avoid a potential stack overflow. ##### Types Changes The internal type imports have been reworked to try to fix "type portability" issues when used in combination with TS declaration outputs. A couple additional types were exported to help with wrapping `createAsyncThunk`. ##### What's Changed - create action creator middleware by [@EskiMojo14](https://togithub.com/EskiMojo14) in [https://github.com/reduxjs/redux-toolkit/pull/3414](https://togithub.com/reduxjs/redux-toolkit/pull/3414) - Implement auto fork joining by [@ericanderson](https://togithub.com/ericanderson) in [https://github.com/reduxjs/redux-toolkit/pull/3407](https://togithub.com/reduxjs/redux-toolkit/pull/3407) - types: make it easier to wrap createAsyncThunk by [@shrouxm](https://togithub.com/shrouxm) in [https://github.com/reduxjs/redux-toolkit/pull/3393](https://togithub.com/reduxjs/redux-toolkit/pull/3393) - Fixed Stackoverflow bug if children prop is a ref to root/parent object by [@cheprasov](https://togithub.com/cheprasov) in [https://github.com/reduxjs/redux-toolkit/pull/3428](https://togithub.com/reduxjs/redux-toolkit/pull/3428) - Fix TransformedResponse type to unwrap promise by [@EskiMojo14](https://togithub.com/EskiMojo14) in [https://github.com/reduxjs/redux-toolkit/pull/3500](https://togithub.com/reduxjs/redux-toolkit/pull/3500) - Throw error when type is empty in builder.addCase by [@chawes13](https://togithub.com/chawes13) in [https://github.com/reduxjs/redux-toolkit/pull/3572](https://togithub.com/reduxjs/redux-toolkit/pull/3572) - \[RED-23] fix: Updated type references to resolve portable types issue by [@tdurnford](https://togithub.com/tdurnford) in [https://github.com/reduxjs/redux-toolkit/pull/3728](https://togithub.com/reduxjs/redux-toolkit/pull/3728) - add option to update provided tags by [@dutzi](https://togithub.com/dutzi) in [https://github.com/reduxjs/redux-toolkit/pull/3255](https://togithub.com/reduxjs/redux-toolkit/pull/3255) - \[RED-26] Remove Request.clone() usage in fetchBaseQuery by [@alex-vukov](https://togithub.com/alex-vukov) in [https://github.com/reduxjs/redux-toolkit/pull/3720](https://togithub.com/reduxjs/redux-toolkit/pull/3720) - Try working around TS 4.1 mismatch by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3739](https://togithub.com/reduxjs/redux-toolkit/pull/3739) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.5...v1.9.6 ### [`v1.9.5`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.5) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.4...v1.9.5) This bugfix release includes notable improvements to TS type inference when using the `enhancers` option in `configureStore`, and updates the listener middleware to only check predicates if the dispatched value is truly an action object. #### What's Changed - update to latest remark-typescript-tools by [@EskiMojo14](https://togithub.com/EskiMojo14) in [https://github.com/reduxjs/redux-toolkit/pull/3311](https://togithub.com/reduxjs/redux-toolkit/pull/3311) - add isAction helper function, and ensure listener middleware only runs for actions by [@EskiMojo14](https://togithub.com/EskiMojo14) in [https://github.com/reduxjs/redux-toolkit/pull/3372](https://togithub.com/reduxjs/redux-toolkit/pull/3372) - Allow inference of enhancer state extensions, and fix inference when using callback form by [@EskiMojo14](https://togithub.com/EskiMojo14) in [https://github.com/reduxjs/redux-toolkit/pull/3207](https://togithub.com/reduxjs/redux-toolkit/pull/3207) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.4...v1.9.5 ### [`v1.9.4`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.4) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.3...v1.9.4) This bugfix release includes tweaks to RTKQ options handling, tweaks for perf updates, dependency updates, and updates to our CI tooling. Also, please check out our ongoing RTK 2.0 alpha releases! They have significant improvements to bundle size, ESM/CJS compatibility, TS typings, and reducer update performance. We're looking for real-world feedback on behavior, performance, and any issues you might run into. #### Changelog ##### RTK Query Options Updates Passing `transformResponse` as part of `enhanceEndpoints` can now override the TS type of the original data. `fetchBaseQuery` now properly checks for a global `responseHandler` option. ##### Performance and Internals RTK Query now uses Immer's `original()` to do comparisons inside of `copyWithStructuralSharing`, which should significantly speed up performance when applying changes from re-fetched data. RTKQ's internal `subscriptionUpdated` action is now marked as batchable. We've updated dependencies to Immer 9.0.21, Reselect 4.1.8, and Redux 4.2.1. ##### CI Updates We've added a suite of example apps built with different frameworks such as CRA 4, CRA 5, Next, and Vite, as well as examples that check for compatibility in Node with CJS and ESM modes and with various TS module resolution modes. #### What's Changed - Test published artifacts in CI by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3213](https://togithub.com/reduxjs/redux-toolkit/pull/3213) - Use Git revision in version and add Node CI examples by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3258](https://togithub.com/reduxjs/redux-toolkit/pull/3258) - Add `arethetypeswrong` automated CLI check by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3294](https://togithub.com/reduxjs/redux-toolkit/pull/3294) - Add `attw` CLI option to treat problems as non-errors by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3316](https://togithub.com/reduxjs/redux-toolkit/pull/3316) - Use original instead of immer draft for perf by [@GeorchW](https://togithub.com/GeorchW) in [https://github.com/reduxjs/redux-toolkit/pull/3270](https://togithub.com/reduxjs/redux-toolkit/pull/3270) - enable enhanceEndpoints.transformResponse to override ResultType by [@dmitrigrabov](https://togithub.com/dmitrigrabov) in [https://github.com/reduxjs/redux-toolkit/pull/2953](https://togithub.com/reduxjs/redux-toolkit/pull/2953) - Fix global `responseHandler` being used in `fetchBaseQuery` by [@praxxis](https://togithub.com/praxxis) in [https://github.com/reduxjs/redux-toolkit/pull/3137](https://togithub.com/reduxjs/redux-toolkit/pull/3137) - reset internalState.currentSubscriptions on `resetApiState` by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/3333](https://togithub.com/reduxjs/redux-toolkit/pull/3333) - Bump deps and mark `subscriptionUpdated` as autobatched by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3364](https://togithub.com/reduxjs/redux-toolkit/pull/3364) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.3...v1.9.4 ### [`v1.9.3`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.3) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.2...v1.9.3) This release fixes a couple issues with the `skip/skipToken` options for query hooks, and makes a small perf tweak to serializing query args. #### Changelog ##### Skip Behavior We made a change in [v1.9.0](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.0) that tried to make some skip behavior more consistent, including clearing out the cached data. However, we had overlooked that our own docs actually said "skipping a query will *keep* the cached data", and several users pointed this out as they'd been relying on that behavior. We've reverted that change. Now, setting `{skip: true}` or `skipToken` for a query with existing results will keep the `data` value (reflecting the last successful query), but `currentData` will be undefined (reflecting the *current* settings). We also identified and fixed an issue that could cause subscription entries to leak under a specific combination of timing and settings changes. ##### Query Arg Serialization Perf RTKQ relies on serializing query arguments to serve as the cache keys, with the default using `JSON.stringify()` + some logic for sorting keys. There was a report that in some apps, large query arg objects could take a while to stringify and this was being done repeatedly. We've added a `WeakMap`-based cache for query args to avoid re-serializing existing arg values. #### What's Changed - Revert "clear data on skip" back to its original behavior by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3188](https://togithub.com/reduxjs/redux-toolkit/pull/3188) - Use a WeakMap cache for query arg serialization for perf by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3193](https://togithub.com/reduxjs/redux-toolkit/pull/3193) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.2...v1.9.3 ### [`v1.9.2`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.2) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.1...v1.9.2) This bugfix release fixes a memory leak in `createListenerMiddleware`, optimizes performance inside `serializableMiddleware`, adds new options for `fetchBaseQuery`, adds support for path `RegExp` exclusions in `serializableMiddleware` and `immutabilityMiddleware`, and improves some TS types. #### Changelog ##### Bug Fixes `createListenerMiddleware` had a memory leak that turned out to be [due to use of `Promise.race()`](https://togithub.com/reduxjs/redux-toolkit/issues/3020). We've restructured the logic to fix that. `fetchBaseQuery` now correctly combines global options with endpoint / default options in all cases. ##### New Options `fetchBaseQuery` now supports a `jsonReplacer` option that will be used when processing JSON. Both dev check middleware now support regular expressions in the `ignoredPaths` array in addition to strings. This adds extra flexibility in skipping certain fields. ##### TS Changes The `CaseReducer` type was sometimes incorrectly inferring its return type in rare cases. That's been fixed. The `isAnyOf/isAllOf` matcher function TS types have been tweaked to not require an individual first parameter. This allows spreading arrays of matchers as arguments, like `const isLoading = isAnyOf(...interestingPendingThunksArray)`. ##### Other Changes The `serializableMiddleware` now uses a `WeakSet` if available to cache values it's seen. This should significantly speed up checks against large state values in development builds. #### What's Changed - fix CaseReducer to infer from argument, not return value by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/3054](https://togithub.com/reduxjs/redux-toolkit/pull/3054) - fetchBaseQuery | Add jsonReplacer param by [@tophep](https://togithub.com/tophep) in [https://github.com/reduxjs/redux-toolkit/pull/2904](https://togithub.com/reduxjs/redux-toolkit/pull/2904) - Support RegExp in ignoredPaths/ignoredActionPaths by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/3129](https://togithub.com/reduxjs/redux-toolkit/pull/3129) - fix(types): export `ThunkWithReturnValue` interface by [@giomogna](https://togithub.com/giomogna) in [https://github.com/reduxjs/redux-toolkit/pull/3108](https://togithub.com/reduxjs/redux-toolkit/pull/3108) - remove unnecessary fetchBaseQuery defaults by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/3062](https://togithub.com/reduxjs/redux-toolkit/pull/3062) - make isAnyOf friendly for mapped matchers, but making argument optional by [@megagon](https://togithub.com/megagon) in [https://github.com/reduxjs/redux-toolkit/pull/3123](https://togithub.com/reduxjs/redux-toolkit/pull/3123) - `raceWithSignal` method instead of `Promise.race` by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/3021](https://togithub.com/reduxjs/redux-toolkit/pull/3021) - Fix lint problems and enable linting on CI by [@thorn0](https://togithub.com/thorn0) in [https://github.com/reduxjs/redux-toolkit/pull/2992](https://togithub.com/reduxjs/redux-toolkit/pull/2992) - Add caching to serializableStateInvariantMiddleware by [@GeorchW](https://togithub.com/GeorchW) in [https://github.com/reduxjs/redux-toolkit/pull/3115](https://togithub.com/reduxjs/redux-toolkit/pull/3115) - Allow TS isolatedModules flag to be set for safer transpilation by [@matmannion](https://togithub.com/matmannion) in [https://github.com/reduxjs/redux-toolkit/pull/2911](https://togithub.com/reduxjs/redux-toolkit/pull/2911) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.1...v1.9.2 ### [`v1.9.1`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.1) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.9.0...v1.9.1) This bugfix release fixes assorted issues that were reported with RTK 1.9.0, and adds a few additional requested tweaks and improvements. #### Changelog ##### Fixes The `createAsyncThunk.withTypes` function was fully broken (it type-checked correctly, but pointed to the wrong function due to a name shadowing issue). That now works correctly. The `maxRetries` option for RTKQ was inadvertently filtering out `0` values, and those are now accepted. `fulfillWithValue` had incorrect types that made it appear as if the data was nested an additional level deeper. The types are now correct. The `ActionCreatorWithoutPayload` type was tweaked to force an error when an action creator is accidentally called with an argument, which happens in cases like `onClick={todoAdded}`. This avoids accidentally passing values like React event objects as the payload. Timer handling for `batchActions` and `autoBatchEnhancer` now works in more JS runtime environments. ##### Other Changes The `TagDescription` type is now exported from RTKQ. API endpoints now have a `.name` field containing the endpoint name, such as `"getPokemon"`. Calling `promise.abort()` on a `createAsyncThunk` promise before an async `condition` resolves will now be treated as if the `condition` itself returned `false`, bailing out and not dispatching anything. The `merge` option now receives a third argument containing `{arg, baseQueryMeta, fulfilledTimeStamp, requestId}`, in case that info is useful in deciding how to merge. The `@reduxjs/rtk-codemods` package has been updated to fix cases where the `createSliceBuilder` codemod didn't preserve fields with function variable arguments, like `[todoAdded]: adapter.addOne`. That package has been updated to v0.0.3. #### What's Changed - fix createAsyncThunk.withTypes by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/2885](https://togithub.com/reduxjs/redux-toolkit/pull/2885) - Update timer polyfills to work in more environments by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/2887](https://togithub.com/reduxjs/redux-toolkit/pull/2887) - Retry now checks whether potential retry counts are undefined, rather than boolean, in order to avoid filtering out 0's by [@OliverRadini](https://togithub.com/OliverRadini) in [https://github.com/reduxjs/redux-toolkit/pull/2958](https://togithub.com/reduxjs/redux-toolkit/pull/2958) - Fix multiple small issues with 1.9 by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/2964](https://togithub.com/reduxjs/redux-toolkit/pull/2964) - fulfillWithValue should infer return value by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/2888](https://togithub.com/reduxjs/redux-toolkit/pull/2888) - Fix Identifier/MemberExpression values in createSliceBuilder codemod by [@kyletsang](https://togithub.com/kyletsang) in [https://github.com/reduxjs/redux-toolkit/pull/2881](https://togithub.com/reduxjs/redux-toolkit/pull/2881) - Additional 1.9.1 fixes by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/2965](https://togithub.com/reduxjs/redux-toolkit/pull/2965) **Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.9.0...v1.9.1 ### [`v1.9.0`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.9.0) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/v1.8.6...v1.9.0) This **feature release** adds several new options for RTK Query's `createApi` and `fetchBaseQuery` APIs, adds a new `upsertQueryData` util, rewrites RTKQ's internals for improved performance, adds a new `autoBatchEnhancer`, deprecates the "object" syntax for `createReducer` and `createSlice.extraReducers`, deprecates and *removes* broken utils for getting running query promises, improves TS inference, exports additional types, and fixes a number of reported issues. ```bash npm i @reduxjs/toolkit@latest yarn add @reduxjs/toolkit@latest ``` We plan to start work on [RTK 2.0](https://togithub.com/reduxjs/redux-toolkit/issues/958) in the next few weeks. RTK 2.0 will focus on dropping legacy build compatibility and deprecated APIs, with some potential new features. See the linked discussion thread and give us feedback on ideas! #### Deprecations and Removals ##### Object Argument for `createReducer` and `createSlice.extraReducers` RTK's `createReducer` API was originally designed to accept a lookup table of action type strings to case reducers, like `{ "ADD_TODO" : (state, action) => {} }`. We later added [the "builder callback" form]() to allow more flexibility in adding "matchers" and a default handler, and did the same for `createSlice.extraReducers`. **We intend to remove the "object" form for both `createReducer` and `createSlice.extraReducers` in RTK 2.0**. The builder callback form is effectively the same number of lines of code, and works *much* better with TypeScript. Starting with this release, **RTK will print a one-time runtime warning for both `createReducer` and `createSlice.extraReducers` if you pass in an object argument**. As an example, this: ```js const todoAdded = createAction('todos/todoAdded'); createReducer(initialState, { [todoAdded]: (state, action) => {} }) createSlice({ name, initialState, reducers: {/* case reducers here */}, extraReducers: { [todoAdded]: (state, action) => {} } }) ``` should be migrated to: ```js createReducer(initialState, builder => { builder.addCase(todoAdded, (state, action) => {}) }) createSlice({ name, initialState, reducers: {/* case reducers here */}, extraReducers: builder => { builder.addCase(todoAdded, (state, action) => {}) } }) ``` ##### Codemods for Deprecated Object Reducer Syntax To simplify upgrading codebases, we've published a set of codemods that will automatically transform the deprecated "object" syntax into the equivalent "builder" syntax. The codemods package is available on NPM as [**`@reduxjs/rtk-codemods`**](https://www.npmjs.com/package/@reduxjs/rtk-codemods). It currently contains two codemods: `createReducerBuilder` and `createSliceBuilder`. To run the codemods against your codebase, run `npx @reduxjs/rtk-codemodsObject reducer codemod before/after examples
Before: ```js createReducer(initialState, { [todoAdded1a]: (state, action) => { // stuff }, [todoAdded1b]: (state, action) => action.payload, }); const slice1 = createSlice({ name: "a", initialState: {}, extraReducers: { [todoAdded1a]: (state, action) => { // stuff }, [todoAdded1b]: (state, action) => action.payload, } }) ``` After: ```js createReducer(initialState, (builder) => { builder.addCase(todoAdded1a, (state, action) => { // stuff }); builder.addCase(todoAdded1b, (state, action) => action.payload); }) const slice1 = createSlice({ name: "a", initialState: {}, extraReducers: (builder) => { builder.addCase(todoAdded1a, (state, action) => { // stuff }); builder.addCase(todoAdded1b, (state, action) => action.payload); } }) ```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.
This PR has been generated by Mend Renovate. View repository job log here.