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.2.
: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 **24 versions** ahead of your current version.
- The recommended version was released **22 days ago**, on 2023-01-28.
Release notes Package name: @reduxjs/toolkit
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(). 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 in #3054
fetchBaseQuery | Add jsonReplacer param by @ tophep in #2904
Support RegExp in ignoredPaths/ignoredActionPaths by @ markerikson in #3129
fix(types): export ThunkWithReturnValue interface by @ giomogna in #3108
remove unnecessary fetchBaseQuery defaults by @ phryneas in #3062
make isAnyOf friendly for mapped matchers, but making argument optional by @ megagon in #3123
raceWithSignal method instead of Promise.race by @ phryneas in #3021
Fix lint problems and enable linting on CI by @ thorn0 in #2992
Add caching to serializableStateInvariantMiddleware by @ GeorchW in #3115
Allow TS isolatedModules flag to be set for safer transpilation by @ matmannion in #2911
</li>
<li>
<b>1.9.1</b> - <a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.1">2022-11-30</a></br><p>This bugfix release fixes assorted issues that were reported with RTK 1.9.0, and adds a few additional requested tweaks and improvements.</p>
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.
</li>
<li>
<b>1.9.0</b> - <a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.0">2022-11-04</a></br><a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.0"> Read more </a>
</li>
<li>
<b>1.9.0-rc.1</b> - <a href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.0-rc.1">2022-11-02</a></br><p>This <strong>release candidate</strong> updates the auto-batching enhancer to accept additional options for queuing subscriber notifications, and improves RTKQ perf by removing some unnecessary internal memoized selectors.</p>
Please try this out and give us feedback (even if it's just "tried updating and everything's fine")! If no further issues come up we intend to publish 1.9 in the next few days.
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="npm i @ reduxjs/toolkit@next
yarn add @ reduxjs/toolkit@next">
npm i @ reduxjs/toolkit@next
yarn add @ reduxjs/toolkit@next
Docs updates for 1.9 are complete, and can be viewed here:
The initial implementation of the autoBatchEnhancer() always queued delayed subscriber notifications using queueMicrotask. We've updated it to accept alternate options that queue with setTimeout, requestAnimationFrame, or bring-your-own-callback (more similar to redux-batched-subscribe).
The variation in JS event loop timing behavior (microtasks, macrotasks, and frames) means having these options may be useful in different situations.
What's Changed
Fix "running thunks" types and remove unnecessary RTKQ selectors by @ markerikson in #2856
Make autobatching notification queueing configurable by @ markerikson in #2857
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.2.
: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 **24 versions** ahead of your current version. - The recommended version was released **22 days ago**, on 2023-01-28.
Release notes
Package name: @reduxjs/toolkit
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
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 out0
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 likeonClick={todoAdded}
. This avoids accidentally passing values like React event objects as the payload.Timer handling for
batchActions
andautoBatchEnhancer
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 acreateAsyncThunk
promise before an asynccondition
resolves will now be treated as if thecondition
itself returnedfalse
, 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 thecreateSliceBuilder
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
Full Changelog: v1.9.0...v1.9.1
Please try this out and give us feedback (even if it's just "tried updating and everything's fine")! If no further issues come up we intend to publish 1.9 in the next few days.
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="npm i @ reduxjs/toolkit@next
yarn add @ reduxjs/toolkit@next">
Docs updates for 1.9 are complete, and can be viewed here:
https://deploy-preview-2401--redux-starter-kit-docs.netlify.app/
Changelog
Autobatch Enhancer Options
The initial implementation of the
autoBatchEnhancer()
always queued delayed subscriber notifications usingqueueMicrotask
. We've updated it to accept alternate options that queue withsetTimeout
,requestAnimationFrame
, or bring-your-own-callback (more similar toredux-batched-subscribe
).The variation in JS event loop timing behavior (microtasks, macrotasks, and frames) means having these options may be useful in different situations.
What's Changed
Full Changelog: v1.9.0-rc.0...v1.9.0-rc.1
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