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

Revert "clear data on skip" back to its original behavior #3188

Merged
merged 2 commits into from
Feb 20, 2023

Conversation

markerikson
Copy link
Collaborator

@markerikson markerikson commented Feb 19, 2023

This PR:

  • Reverts the "clear data on skip" logic that was added in fix skipToken behaviour in useQueryState #2779 back to its original implementation, where data is kept on skip but currentData is cleared
  • Fixes a related issue with the useQuery hook internal promise ref being cleared out when the subscriptionRemoved check is actually false, causing an extra thunk dispatch and subscription to be created.

Fixes #2871 .
Fixes #3182 .

@codesandbox
Copy link

codesandbox bot commented Feb 19, 2023

CodeSandbox logoCodeSandbox logo  Open in CodeSandbox Web Editor | VS Code | VS Code Insiders

@netlify
Copy link

netlify bot commented Feb 19, 2023

Deploy Preview for redux-starter-kit-docs ready!

Name Link
🔨 Latest commit 364ff51
🔍 Latest deploy log https://app.netlify.com/sites/redux-starter-kit-docs/deploys/63f2ef58307086000867b256
😎 Deploy Preview https://deploy-preview-3188--redux-starter-kit-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@codesandbox-ci
Copy link

codesandbox-ci bot commented Feb 19, 2023

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 364ff51:

Sandbox Source
Vanilla Configuration
Vanilla Typescript Configuration
rsk-github-issues-example Configuration
@examples-query-react/basic Configuration
@examples-query-react/advanced Configuration
@examples-action-listener/counter Configuration
wizardly-water-qiu0q3 Issue #3182

@markerikson markerikson merged commit 4fba13e into master Feb 20, 2023
@markerikson markerikson deleted the bugfix/2871-skip-data branch February 20, 2023 16:38
thoomasbro added a commit to MTES-MCT/monitorenv that referenced this pull request Jun 7, 2023
<h3>Snyk has created this PR to upgrade @reduxjs/toolkit from 1.8.2 to
1.9.5.</h3>

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

- The recommended version is **16 versions** ahead of your current
version.
- The recommended version was released **2 months ago**, on 2023-04-18.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@reduxjs/toolkit</b></summary>
    <ul>
      <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>
<h2>What's Changed</h2>
<ul>
<li>update to latest remark-typescript-tools by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/EskiMojo14/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/EskiMojo14">@ EskiMojo14</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1647245026" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3311"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3311/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3311">#3311</a></li>
<li>add isAction helper function, and ensure listener middleware only
runs for actions by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/EskiMojo14/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/EskiMojo14">@ EskiMojo14</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1671543278" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3372"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3372/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3372">#3372</a></li>
<li>Allow inference of enhancer state extensions, and fix inference when
using callback form by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/EskiMojo14/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/EskiMojo14">@ EskiMojo14</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1599279846" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3207"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3207/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3207">#3207</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/compare/v1.9.4...v1.9.5"><tt>v1.9.4...v1.9.5</tt></a></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>
<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.</p>
<h2>Changelog</h2>
<h3>RTK Query Options Updates</h3>
<p>Passing <code>transformResponse</code> as part of
<code>enhanceEndpoints</code> can now override the TS type of the
original data.</p>
<p><code>fetchBaseQuery</code> now properly checks for a global
<code>responseHandler</code> option.</p>
<h3>Performance and Internals</h3>
<p>RTK Query now uses Immer's <code>original()</code> to do comparisons
inside of <code>copyWithStructuralSharing</code>, which should
significantly speed up performance when applying changes from re-fetched
data.</p>
<p>RTKQ's internal <code>subscriptionUpdated</code> action is now marked
as batchable.</p>
<p>We've updated dependencies to Immer 9.0.21, Reselect 4.1.8, and Redux
4.2.1.</p>
<h3>CI Updates</h3>
<p>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.</p>
<h2>What's Changed</h2>
<ul>
<li>Test published artifacts in CI by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1599795072" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3213"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3213/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3213">#3213</a></li>
<li>Use Git revision in version and add Node CI examples by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1620519241" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3258"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3258/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3258">#3258</a></li>
<li>Add <code>arethetypeswrong</code> automated CLI check by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1640614710" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3294"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3294/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3294">#3294</a></li>
<li>Add <code>attw</code> CLI option to treat problems as non-errors by
<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1651028883" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3316"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3316/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3316">#3316</a></li>
<li>Use original instead of immer draft for perf by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/GeorchW/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/GeorchW">@ GeorchW</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1625420397" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3270"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3270/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3270">#3270</a></li>
<li>enable enhanceEndpoints.transformResponse to override ResultType by
<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/dmitrigrabov/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/dmitrigrabov">@ dmitrigrabov</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1465453759" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#2953"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/2953/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/2953">#2953</a></li>
<li>Fix global <code>responseHandler</code> being used in
<code>fetchBaseQuery</code> by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/praxxis/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/praxxis">@ praxxis</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1562715953" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3137"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3137/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3137">#3137</a></li>
<li>reset internalState.currentSubscriptions on
<code>resetApiState</code> by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/phryneas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/phryneas">@ phryneas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1658730665" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3333"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3333/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3333">#3333</a></li>
<li>Bump deps and mark <code>subscriptionUpdated</code> as autobatched
by <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1670234827" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3364"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3364/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3364">#3364</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/compare/v1.9.3...v1.9.4"><tt>v1.9.3...v1.9.4</tt></a></p>
      </li>
      <li>
<b>1.9.3</b> - <a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.3">2023-02-21</a></br><p>This
release fixes a couple issues with the <code>skip/skipToken</code>
options for query hooks, and makes a small perf tweak to serializing
query args.</p>
<h2>Changelog</h2>
<h3>Skip Behavior</h3>
<p>We made a change in <a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.0">v1.9.0</a>
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 <em>keep</em> the cached
data", and several users pointed this out as they'd been relying on that
behavior.</p>
<p>We've reverted that change. Now, setting <code>{skip: true}</code> or
<code>skipToken</code> for a query with existing results will keep the
<code>data</code> value (reflecting the last successful query), but
<code>currentData</code> will be undefined (reflecting the
<em>current</em> settings).</p>
<p>We also identified and fixed an issue that could cause subscription
entries to leak under a specific combination of timing and settings
changes.</p>
<h3>Query Arg Serialization Perf</h3>
<p>RTKQ relies on serializing query arguments to serve as the cache
keys, with the default using <code>JSON.stringify()</code> + 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 <code>WeakMap</code>-based cache for query
args to avoid re-serializing existing arg values.</p>
<h2>What's Changed</h2>
<ul>
<li>Revert "clear data on skip" back to its original behavior by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1590791931" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3188"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3188/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3188">#3188</a></li>
<li>Use a WeakMap cache for query arg serialization for perf by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1592238985" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3193"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3193/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3193">#3193</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/compare/v1.9.2...v1.9.3"><tt>v1.9.2...v1.9.3</tt></a></p>
      </li>
      <li>
<b>1.9.2</b> - <a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.2">2023-01-28</a></br><p>This
bugfix release fixes a memory leak in
<code>createListenerMiddleware</code>, optimizes performance inside
<code>serializableMiddleware</code>, adds new options for
<code>fetchBaseQuery</code>, adds support for path <code>RegExp</code>
exclusions in <code>serializableMiddleware</code> and
<code>immutabilityMiddleware</code>, and improves some TS types.</p>
<h2>Changelog</h2>
<h3>Bug Fixes</h3>
<p><code>createListenerMiddleware</code> had a memory leak that turned
out to be <a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/issues/3020"
data-hovercard-type="issue"
data-hovercard-url="/reduxjs/redux-toolkit/issues/3020/hovercard">due to
use of <code>Promise.race()</code></a>. We've restructured the logic to
fix that.</p>
<p><code>fetchBaseQuery</code> now correctly combines global options
with endpoint / default options in all cases.</p>
<h3>New Options</h3>
<p><code>fetchBaseQuery</code> now supports a <code>jsonReplacer</code>
option that will be used when processing JSON.</p>
<p>Both dev check middleware now support regular expressions in the
<code>ignoredPaths</code> array in addition to strings. This adds extra
flexibility in skipping certain fields.</p>
<h3>TS Changes</h3>
<p>The <code>CaseReducer</code> type was sometimes incorrectly inferring
its return type in rare cases. That's been fixed.</p>
<p>The <code>isAnyOf/isAllOf</code> matcher function TS types have been
tweaked to not require an individual first parameter. This allows
spreading arrays of matchers as arguments, like <code>const isLoading =
isAnyOf(...interestingPendingThunksArray)</code>.</p>
<h3>Other Changes</h3>
<p>The <code>serializableMiddleware</code> now uses a
<code>WeakSet</code> if available to cache values it's seen. This should
significantly speed up checks against large state values in development
builds.</p>
<h2>What's Changed</h2>
<ul>
<li>fix CaseReducer to infer from argument, not return value by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/phryneas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/phryneas">@ phryneas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1516765916" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3054"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3054/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3054">#3054</a></li>
<li>fetchBaseQuery | Add jsonReplacer param by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/tophep/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/tophep">@ tophep</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1447193004" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#2904"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/2904/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/2904">#2904</a></li>
<li>Support RegExp in ignoredPaths/ignoredActionPaths by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/markerikson/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/markerikson">@ markerikson</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="1560956346" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3129"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3129/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3129">#3129</a></li>
<li>fix(types): export <code>ThunkWithReturnValue</code> interface by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/giomogna/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/giomogna">@ giomogna</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1551057034" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3108"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3108/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3108">#3108</a></li>
<li>remove unnecessary fetchBaseQuery defaults by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/phryneas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/phryneas">@ phryneas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1522739516" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3062"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3062/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3062">#3062</a></li>
<li>make isAnyOf friendly for mapped matchers, but making argument
optional by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/megagon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/megagon">@ megagon</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1558085622" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3123"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3123/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3123">#3123</a></li>
<li><code>raceWithSignal</code> method instead of
<code>Promise.race</code> by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/phryneas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/phryneas">@ phryneas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1504902319" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3021"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3021/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3021">#3021</a></li>
<li>Fix lint problems and enable linting on CI by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/thorn0/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/thorn0">@ thorn0</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1488424615" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#2992"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/2992/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/2992">#2992</a></li>
<li>Add caching to serializableStateInvariantMiddleware by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/GeorchW/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/GeorchW">@ GeorchW</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1553397570" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#3115"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/3115/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/3115">#3115</a></li>
<li>Allow TS isolatedModules flag to be set for safer transpilation by
<a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/matmannion/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/matmannion">@ matmannion</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1449638690" data-permission-text="Title is private"
data-url="reduxjs/redux-toolkit#2911"
data-hovercard-type="pull_request"
data-hovercard-url="/reduxjs/redux-toolkit/pull/2911/hovercard"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/pull/2911">#2911</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/compare/v1.9.1...v1.9.2"><tt>v1.9.1...v1.9.2</tt></a></p>
      </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><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases/tag/v1.9.1">
Read more </a>
      </li>
      <li>
        <b>1.9.0</b> - 2022-11-04
      </li>
      <li>
        <b>1.9.0-rc.1</b> - 2022-11-02
      </li>
      <li>
        <b>1.9.0-rc.0</b> - 2022-10-30
      </li>
      <li>
        <b>1.9.0-beta.0</b> - 2022-10-19
      </li>
      <li>
        <b>1.9.0-alpha.2</b> - 2022-10-09
      </li>
      <li>
        <b>1.9.0-alpha.1</b> - 2022-08-28
      </li>
      <li>
        <b>1.9.0-alpha.0</b> - 2022-08-19
      </li>
      <li>
        <b>1.8.6</b> - 2022-10-09
      </li>
      <li>
        <b>1.8.5</b> - 2022-08-19
      </li>
      <li>
        <b>1.8.4</b> - 2022-08-11
      </li>
      <li>
        <b>1.8.3</b> - 2022-06-30
      </li>
      <li>
        <b>1.8.2</b> - 2022-05-25
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/releases">@reduxjs/toolkit
GitHub release notes</a>
  </details>
</details>


<details>
  <summary><b>Commit messages</b></summary>
  </br>
  <details>
    <summary>Package name: <b>@reduxjs/toolkit</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/1f87ac2071d020212070075f5a44db683bd3e5d5">1f87ac2</a>
Merge pull request #3207 from EskiMojo14/enhancer-array</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/da3f6ed4aaf1336604d916d4be3e73f1ae84ec65">da3f6ed</a>
Merge pull request #3372 from EskiMojo14/listener-action</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/ebe1777f2975ab50384da08cca5e0ba629460749">ebe1777</a>
Merge pull request #3311 from EskiMojo14/remark-typescript-update</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/0c6cd6eb17e87f6495cf6442e6a68f08c5d9e813">0c6cd6e</a>
add test</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/482270e6aa6db7a2b1449bcf26b40f2a9979eac3">482270e</a>
add isAction helper function, and ensure listener middleware only runs
for actions</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/eb586b65aa93405486311a6eb188b4fc8bea0c1b">eb586b6</a>
Merge pull request #3366 from n-ii-ma/patch-1</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/811dd473ad8180d65a73255342069a55da037ac2">811dd47</a>
Fix typo</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/18bc6bc999593356274bf9b70bfff6a70e1bffd1">18bc6bc</a>
Release 1.9.4</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/2282f608fe3459b971b8171dfac27c2f6e33c0b0">2282f60</a>
Merge pull request #3364 from reduxjs/bugfix/autobatch-actions</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/a9057c6bb6a51a5582824ce1dc083512f99ea417">a9057c6</a>
Mark &#x60;subscriptionsUpdated&#x60; as autobatched</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/cc9d4165394d29f7acdafbdb54dc1e1087f61e59">cc9d416</a>
Merge pull request #3333 from reduxjs/pr/fix-3119</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/ef8480b9ed746bd9fa5d98b45426e6b07eb78127">ef8480b</a>
Bump deps</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/8232827c667e33b334577c226fdc7e058bbdd6aa">8232827</a>
Merge pull request #3137 from praxxis/global-responsehandler</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/8962cef6bee654812cf42b1c4252a065863d13e7">8962cef</a>
Merge pull request #2953 from
dmitrigrabov/use-transformed-response-result-type</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/53df220b374ae83a1bbdad40101ebaffb5f87e64">53df220</a>
Merge pull request #3270 from
GeorchW/copywithstructuralsharing-perf</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/933502ce276dc1fca6cfdb92d2b645b77a94e4d3">933502c</a>
Use original instead of immer draft for perf</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/23a78cabae33ffc514602e9ea5763446db02e1b6">23a78ca</a>
Merge pull request #3334 from chmac/patch-2</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/b9c3ef43b70d5a94964cacfa268611b6e367ba87">b9c3ef4</a>
Add a note about timing #2435</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/ab485012bfca753236b5533ce7651b6baf4ffbaa">ab48501</a>
Merge pull request #3331 from chmac/patch-1</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/25717186fb25cae0cb51770d6f4f14d66a08e604">2571718</a>
Minor typo fix</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/98d7dda57992ccd20b93eaf85bcf35ac802b0b3f">98d7dda</a>
reset internalState.currentSubscriptions on
&#x60;resetApiState&#x60;</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/91ea926cd53f5bf0a9da14d7bdcb127dcd71c8d2">91ea926</a>
Merge pull request #3316 from reduxjs/feature/attw-args</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/a058d8d60fff420c17e7a03e4b132d9068633f83">a058d8d</a>
Add CLI flag to treat ATTW problems as non-errors</li>
<li><a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/commit/1c7a705180fc20913468d191e1705097a1423589">1c7a705</a>
Add yargs</li>
    </ul>

<a
href="https://snyk.io/redirect/github/reduxjs/redux-toolkit/compare/3d7bd2246df35a668a25d60a757f1f0b6df62798...1f87ac2071d020212070075f5a44db683bd3e5d5">Compare</a>
  </details>
</details>
<hr/>

**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: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI3MDcyMDc0Yy05YTczLTQ1OTItODIzOC04MmNmMDEyNDlkNmMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjcwNzIwNzRjLTlhNzMtNDU5Mi04MjM4LTgyY2YwMTI0OWQ2YyJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/mtes-mct/project/afb3e19a-88e3-4a0e-9409-d0f9cfdc75b5?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/mtes-mct/project/afb3e19a-88e3-4a0e-9409-d0f9cfdc75b5/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/mtes-mct/project/afb3e19a-88e3-4a0e-9409-d0f9cfdc75b5/settings/integration?pkg&#x3D;@reduxjs/toolkit&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"7072074c-9a73-4592-8238-82cf01249d6c","prPublicId":"7072074c-9a73-4592-8238-82cf01249d6c","dependencies":[{"name":"@reduxjs/toolkit","from":"1.8.2","to":"1.9.5"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/mtes-mct/project/afb3e19a-88e3-4a0e-9409-d0f9cfdc75b5?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"afb3e19a-88e3-4a0e-9409-d0f9cfdc75b5","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":16,"publishedDate":"2023-04-18T02:47:17.131Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->
realbrodiwhite referenced this pull request in realbrodiwhite/royalgames-client Mar 21, 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 |
|---|---|---|---|---|---|
| [@reduxjs/toolkit](https://redux-toolkit.js.org)
([source](https://togithub.com/reduxjs/redux-toolkit)) | [`1.9.2` ->
`1.9.7`](https://renovatebot.com/diffs/npm/@reduxjs%2ftoolkit/1.9.2/1.9.7)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@reduxjs%2ftoolkit/1.9.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@reduxjs%2ftoolkit/1.9.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@reduxjs%2ftoolkit/1.9.2/1.9.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@reduxjs%2ftoolkit/1.9.2/1.9.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>reduxjs/redux-toolkit (@&#8203;reduxjs/toolkit)</summary>

###
[`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
[#&#8203;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 [@&#8203;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
[#&#8203;3761](https://togithub.com/reduxjs/redux-toolkit/issues/3761)"
by [@&#8203;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
[@&#8203;EskiMojo14](https://togithub.com/EskiMojo14) in
[https://github.com/reduxjs/redux-toolkit/pull/3769](https://togithub.com/reduxjs/redux-toolkit/pull/3769)

**Full Changelog**:
reduxjs/redux-toolkit@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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;markerikson](https://togithub.com/markerikson) in
[https://github.com/reduxjs/redux-toolkit/pull/3739](https://togithub.com/reduxjs/redux-toolkit/pull/3739)

**Full Changelog**:
reduxjs/redux-toolkit@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
[@&#8203;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 [@&#8203;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
[@&#8203;EskiMojo14](https://togithub.com/EskiMojo14) in
[https://github.com/reduxjs/redux-toolkit/pull/3207](https://togithub.com/reduxjs/redux-toolkit/pull/3207)

**Full Changelog**:
reduxjs/redux-toolkit@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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;markerikson](https://togithub.com/markerikson) in
[https://github.com/reduxjs/redux-toolkit/pull/3364](https://togithub.com/reduxjs/redux-toolkit/pull/3364)

**Full Changelog**:
reduxjs/redux-toolkit@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
[@&#8203;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
[@&#8203;markerikson](https://togithub.com/markerikson) in
[https://github.com/reduxjs/redux-toolkit/pull/3193](https://togithub.com/reduxjs/redux-toolkit/pull/3193)

**Full Changelog**:
reduxjs/redux-toolkit@v1.9.2...v1.9.3

</details>

---

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/realbrodiwhite/royalgames-client).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant