Packages

redux

5.0.1 · 23 Dec 2023MIT62.6M / weekRepositoryHomepagenpmAtom feed

Your version

4.1.0

24 Apr 2021Where it was published

4.2.1 is the newest release of 4.x.

In short

1 new1 fixed5 changed3 internal

Release note

This release shrinks our bundle size via error message extraction, updates several error messages for clarity, and optimizes our list of runtime dependencies.

Overall, version 4.1 shrinks from 2.6K min+gz to 1.6K min+gz thanks to these changes.

Be sure to check out the Redux Toolkit 1.6 alpha containing our new "RTK Query" data fetching APIs! It also includes Redux 4.1 as a dependency.

Changelog

Error Message Extraction and Improvements

We now extract all of our error messages from production builds in order to save on bundle size, using a technique inspired from React's error code extraction. The error messages will still show as normal in development, but in production they will reference a specific numeric error code and provide a link to a Redux docs page that has the full error message.

An example of this is: redux.js.org/errors , which shows the "can't subscribe while reducers are executing" error.

The error code extraction saves about 800 bytes out of a production build.

We've also updated many of our error messages to provide additional details at runtime about what happened, especially runtime type checks such as "actions must be plain objects". They now provide a more specific type for the unexpected value, such as indicating promise or function:

    expect(() => store.dispatch(() => {})).toThrow(
      /the actual type was: 'function'/
    )

    expect(() => store.dispatch(new Date())).toThrow(
      /the actual type was: 'date'/
    )

Dependency Updates

We've updated the list of runtime dependencies for Redux:

Typing Tweaks

We've merged fixes for a couple edge cases in the 4.x TS typings related to state types.

Changes