[Snyk] Upgrade @reduxjs/toolkit from 1.9.0 to 1.9.5 #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Snyk has created this PR to upgrade @reduxjs/toolkit from 1.9.0 to 1.9.5.
ℹ️ 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.
Release notes
Package name: @reduxjs/toolkit
This bugfix release includes notable improvements to TS type inference when using the
enhancers
option inconfigureStore
, and updates the listener middleware to only check predicates if the dispatched value is truly an action object.What's Changed
Full Changelog: v1.9.4...v1.9.5
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 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
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 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}
orskipToken
for a query with existing results will keep thedata
value (reflecting the last successful query), butcurrentData
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 aWeakMap
-based cache for query args to avoid re-serializing existing arg values.What's Changed
Full Changelog: v1.9.2...v1.9.3
This bugfix release fixes a memory leak in
createListenerMiddleware
, optimizes performance insideserializableMiddleware
, adds new options forfetchBaseQuery
, adds support for pathRegExp
exclusions inserializableMiddleware
andimmutabilityMiddleware
, and improves some TS types.Changelog
Bug Fixes
createListenerMiddleware
had a memory leak that turned out to be due to use ofPromise.race()
. 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 ajsonReplacer
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, likeconst isLoading = isAnyOf(...interestingPendingThunksArray)
.Other Changes
The
serializableMiddleware
now uses aWeakSet
if available to cache values it's seen. This should significantly speed up checks against large state values in development builds.What's Changed
ThunkWithReturnValue
interface by @ giomogna in #3108raceWithSignal
method instead ofPromise.race
by @ phryneas in #3021Full Changelog: v1.9.1...v1.9.2
Read more
Commit messages
Package name: @reduxjs/toolkit
Compare
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