This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade @reduxjs/toolkit from 1.6.1 to 1.9.7.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
- The recommended version is **29 versions** ahead of your current version.
- The recommended version was released **22 days ago**, on 2023-10-04.
Release notes Package name: @reduxjs/toolkit
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 . 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 in #3772
</li>
<li>
<b>1.9.6</b> - <a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.6">2023-09-24</a></br><p>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 <code>updateQueryData</code> is used, reworks internal types to better handle uses with TS declaration output, and fixes a variety of small issues.</p>
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.
</li>
<li>
<b>1.9.5</b> - <a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.5">2023-04-18</a></br><p>This bugfix release includes notable improvements to TS type inference when using the <code>enhancers</code> option in <code>configureStore</code>, and updates the listener middleware to only check predicates if the dispatched value is truly an action object.</p>
</li>
<li>
<b>1.9.4</b> - <a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.4">2023-04-17</a></br><p>This bugfix release includes tweaks to RTKQ options handling, tweaks for perf updates, dependency updates, and updates to our CI tooling.</p>
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.
This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade @reduxjs/toolkit from 1.6.1 to 1.9.7.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.- The recommended version is **29 versions** ahead of your current version. - The recommended version was released **22 days ago**, on 2023-10-04.
Release notes
Package name: @reduxjs/toolkit
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 . 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
Full Changelog: v1.9.6...v1.9.7
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 optionalautoJoin
flag that can be used to keep the effect from finishing until all active forked tasks have completed.updateQueryData
now has anupdateProvidedTags
option that will force a recalculation of that endpoint's provided tags. It currently defaults tofalse
, and we'll likely turn that totrue
in the next major.Other Fixes
The
builder.addCase
method now throws an error if atype
string is empty.fetchBaseQuery
now uses an alternate method to clone the originalRequest
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
Full Changelog: v1.9.5...v1.9.6
What's Changed
Full Changelog: v1.9.4...v1.9.5
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 ofenhanceEndpoints
can now override the TS type of the original data.fetchBaseQuery
now properly checks for a globalresponseHandler
option.Performance and Internals
RTK Query now uses Immer's
original()
to do comparisons inside ofcopyWithStructuralSharing
, 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
arethetypeswrong
automated CLI check by @ markerikson in #3294attw
CLI option to treat problems as non-errors by @ markerikson in #3316responseHandler
being used infetchBaseQuery
by @ praxxis in #3137resetApiState
by @ phryneas in #3333subscriptionUpdated
as autobatched by @ markerikson in #3364Full Changelog: v1.9.3...v1.9.4
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs