[PR #68] [MERGED] Bump @reduxjs/toolkit from 1.5.0 to 1.5.1 in /ui #507

Closed
opened 2026-03-07 22:15:52 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hibiken/asynqmon/pull/68
Author: @dependabot[bot]
Created: 4/5/2021
Status: Merged
Merged: 4/7/2021
Merged by: @hibiken

Base: masterHead: dependabot/npm_and_yarn/ui/reduxjs/toolkit-1.5.1


📝 Commits (1)

  • 4fd087a Bump @reduxjs/toolkit from 1.5.0 to 1.5.1 in /ui

📊 Changes

2 files changed (+45 additions, -36 deletions)

View changed files

📝 ui/package.json (+2 -2)
📝 ui/yarn.lock (+43 -34)

📄 Description

Bumps @reduxjs/toolkit from 1.5.0 to 1.5.1.

Release notes

Sourced from @​reduxjs/toolkit's releases.

v1.5.1

This release updates createReducer/createSlice to ensure initial state gets frozen, optimizes the performance of the immutability and serializability dev check middleware, and re-exports the original and isDraft APIs from Immer.

Changes

Freezing Initial State

Immer has always frozen its result states in development, and as of Immer 8, does so in production as well. Since both createReducer and createSlice use Immer, all their result states get frozen.

However, the initial state was never being run through Immer, and thus was never being frozen. That meant it was actually possible to mutate initial state values.

We now run the initial state through an Immer no-op reducer, just to ensure that it's properly frozen at all times.

Dev Check Middleware Optimizations

The immutability and serializability dev check middleware act as safety rails to catch common mistakes. However, both of them do so by running deep recursive checks on all of your Redux state, after every dispatched action. Those deep checks are often very expensive, especially as your state grows larger, and the performance can add noticeable lag in dev. RTK offers options for turning them off or ignoring specific slices of state, and warns if they're taking too long, but those are escape hatches we would rather people not use because they lose the safety benefits.

In this release, we've optimized both middleware to run significantly faster.

The immutability middleware now considers frozen objects to be immutable by default, and will stop recursing when it sees a frozen value. This means that in most cases, the runtime of the immutability middleware is effectively 0ms, as it only has to do a few quick checks on your root state slice values without going any deeper. We've also optimized the nested keypath calculation logic, which cuts down on runtime significantly if it does actually have to recurse.

We've also applied the keypath optimizations to the serializability middleware as well. While this middleware can't benefit from the frozen checks, the keypath optimizations have cut its runtime down by about 70% in benchmarks.

Additional Immer Re-Exports

We now export the original and isDraft APIs from Immer for completeness.

This release also updates the Immer dependency to 8.0.1+ to address a vulnerability in Immer. Our dependency was already 8.0.0+, so strictly speaking no update was necessary - users just needed to update their own local dependencies to get the newer Immer version.

Docs Updates

We've made several updates to the RTK docs:

  • The existing tutorials in the RTK docs site have been removed, and we now point to the "Redux Essentials" and the "Redux Fundamentals" tutorials in the Redux core docs so that there's only one place to have to read through tutorials
  • We've added a couple "quick start" tutorial pages that show the bare basics of setting up RTK and using it with TypeScript

Changelog

https://github.com/reduxjs/redux-toolkit/compare/v1.5.0...v1.5.1

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hibiken/asynqmon/pull/68 **Author:** [@dependabot[bot]](https://github.com/apps/dependabot) **Created:** 4/5/2021 **Status:** ✅ Merged **Merged:** 4/7/2021 **Merged by:** [@hibiken](https://github.com/hibiken) **Base:** `master` ← **Head:** `dependabot/npm_and_yarn/ui/reduxjs/toolkit-1.5.1` --- ### 📝 Commits (1) - [`4fd087a`](https://github.com/hibiken/asynqmon/commit/4fd087acd00bcb8bf6f058f7e1cffa99517a4681) Bump @reduxjs/toolkit from 1.5.0 to 1.5.1 in /ui ### 📊 Changes **2 files changed** (+45 additions, -36 deletions) <details> <summary>View changed files</summary> 📝 `ui/package.json` (+2 -2) 📝 `ui/yarn.lock` (+43 -34) </details> ### 📄 Description Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 1.5.0 to 1.5.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/reduxjs/redux-toolkit/releases"><code>@​reduxjs/toolkit</code>'s releases</a>.</em></p> <blockquote> <h2>v1.5.1</h2> <p>This release updates <code>createReducer/createSlice</code> to ensure initial state gets frozen, optimizes the performance of the immutability and serializability dev check middleware, and re-exports the <code>original</code> and <code>isDraft</code> APIs from Immer.</p> <h2>Changes</h2> <h3>Freezing Initial State</h3> <p>Immer has always frozen its result states in development, and as of Immer 8, does so in production as well. Since both <code>createReducer</code> and <code>createSlice</code> use Immer, all their result states get frozen.</p> <p>However, the <em>initial</em> state was never being run through Immer, and thus was never being frozen. That meant it was actually possible to mutate initial state values.</p> <p>We now run the initial state through an Immer no-op reducer, just to ensure that it's properly frozen at all times.</p> <h3>Dev Check Middleware Optimizations</h3> <p>The immutability and serializability dev check middleware act as safety rails to catch common mistakes. However, both of them do so by running deep recursive checks on all of your Redux state, after <em>every</em> dispatched action. Those deep checks are often very expensive, especially as your state grows larger, and the performance can add noticeable lag in dev. RTK offers options for turning them off or ignoring specific slices of state, and warns if they're taking too long, but those are escape hatches we would rather people <em>not</em> use because they lose the safety benefits.</p> <p>In this release, we've optimized both middleware to run significantly faster.</p> <p>The immutability middleware now considers frozen objects to be immutable by default, and will stop recursing when it sees a frozen value. This means that in most cases, the runtime of the immutability middleware is effectively 0ms, as it only has to do a few quick checks on your root state slice values without going any deeper. We've also optimized the nested keypath calculation logic, which cuts down on runtime significantly if it does actually have to recurse.</p> <p>We've also applied the keypath optimizations to the serializability middleware as well. While this middleware can't benefit from the frozen checks, the keypath optimizations have cut its runtime down by about 70% in benchmarks.</p> <h3>Additional Immer Re-Exports</h3> <p>We now export the <a href="https://immerjs.github.io/immer/docs/original"><code>original</code> and <code>isDraft</code> APIs from Immer</a> for completeness.</p> <p>This release also updates the Immer dependency to 8.0.1+ to address a vulnerability in Immer. Our dependency was already 8.0.0+, so strictly speaking no update was necessary - users just needed to update their own local dependencies to get the newer Immer version.</p> <h3>Docs Updates</h3> <p>We've made several updates to the RTK docs:</p> <ul> <li>The existing tutorials in the RTK docs site have been removed, and we now point to the &quot;Redux Essentials&quot; and the &quot;Redux Fundamentals&quot; tutorials in the Redux core docs so that there's only one place to have to read through tutorials</li> <li>We've added a couple &quot;quick start&quot; tutorial pages that show the bare basics of setting up RTK and using it with TypeScript</li> </ul> <h2>Changelog</h2> <ul> <li>Export isDraft from Immer (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/944">#944</a> - <a href="https://github.com/markerikson"><code>@​markerikson</code></a>)</li> <li>Optimize dev check middleware performance (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/943">#943</a> - <a href="https://github.com/markerikson"><code>@​markerikson</code></a>)</li> <li>Freeze initial state by passing through Immer (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/940">#940</a> - <a href="https://github.com/markerikson"><code>@​markerikson</code></a>)</li> <li>fix: vulnerability in immer (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/909">#909</a> - <a href="https://github.com/i1skn"><code>@​i1skn</code></a></li> <li>re-export original from immer (#832- <a href="https://github.com/jackielii"><code>@​jackielii</code></a>)</li> </ul> <p><a href="https://github.com/reduxjs/redux-toolkit/compare/v1.5.0...v1.5.1">https://github.com/reduxjs/redux-toolkit/compare/v1.5.0...v1.5.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/f98b9b22befea31bdcba59c556cf571b9e8eceec"><code>f98b9b2</code></a> 1.5.1</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/e9466f7434974406d38b25edce1eb4d546512d49"><code>e9466f7</code></a> Delete leftover perf tsconfig file</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/63a2ba7ee10c5dda9354bd153d9e2bbb1b4d6867"><code>63a2ba7</code></a> Export isDraft from Immer (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/944">#944</a>)</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/31914834a49fc777320e86cee0b9faa1467dce19"><code>3191483</code></a> Optimize dev check middleware performance (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/943">#943</a>)</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/f05e3c611408bc4ba249ed64d55956b7853a9595"><code>f05e3c6</code></a> Freeze initial state by passing through Immer (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/940">#940</a>)</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/194d01973bb434a582ed2c08614df76528106590"><code>194d019</code></a> Update React-Redux typedef info for 7.2.3</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/471e8ea91f38d25a4f7975c4cf5e8e6dc982f4ff"><code>471e8ea</code></a> Assorted docs tweaks (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/932">#932</a>)</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/f41dc238c509863c228d1469345db5accd0abdd4"><code>f41dc23</code></a> small language correction in docs (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/928">#928</a>)</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/cae30c7870645715ba118613ae859b255e568900"><code>cae30c7</code></a> Docs: fix createAsyncThunk args typo (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/918">#918</a>)</li> <li><a href="https://github.com/reduxjs/redux-toolkit/commit/87bc20353d5dfd5ccf1b1a1e83e719225b7a10f6"><code>87bc203</code></a> Docs: fix invalid typescript expression (<a href="https://github-redirect.dependabot.com/reduxjs/redux-toolkit/issues/917">#917</a>)</li> <li>Additional commits viewable in <a href="https://github.com/reduxjs/redux-toolkit/compare/v1.5.0...v1.5.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@reduxjs/toolkit&package-manager=npm_and_yarn&previous-version=1.5.0&new-version=1.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-07 22:15:52 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/asynqmon#507
No description provided.