Skip to content

Releases: reduxjs/react-redux

v5.0.7

16 Feb 21:44
Compare
Choose a tag to compare

Changes

  • Allow Redux 4.0
  • Update hoist-non-react-statics to support getDerivedStateFromProps
  • Fix test code coverage reporting (#850 by @jacobdfriedmann)
  • Use methodName in error message (#852 by @pwNN)

v5.0.6

08 Aug 18:34
Compare
Choose a tag to compare

Changes

  • Persist child listeners through hot reload (#715 by @dsgkirkby)
  • Update hoist-non-react-statics to 2.x (#759 by @danez)
  • Move ref context binding to fix object freezing middleware (#733 by @gpoitch)
  • Remove explicit Provider.displayName in favor of the inferred name (#728 by @Andarist)
  • Move create-react-class back to devDependencies
  • Switch build process back to npm@5

v5.0.5

18 May 04:36
Compare
Choose a tag to compare

Changes

  • Upgrade prop-types to fix UMD warnings (Fixes #696)
  • Build UMD with Rollup (25% size reduction!) (#681 by @TrySound)
  • Create a <Provider> using a specific store key (#695 by @tleunen)

v4.4.8

11 Apr 00:05
Compare
Choose a tag to compare
  • Fix deprecation warnings with React 15.5.0 (#666 🤘 by @Calyhre)

v5.0.4

09 Apr 13:49
Compare
Choose a tag to compare

Changes

  • Fix deprecation warnings with React 15.5.0 (#663 by @Calyhre)

v4.4.7

30 Mar 16:08
Compare
Choose a tag to compare

v5.0.3

23 Feb 19:23
Compare
Choose a tag to compare

Changes

  • Fix subscription bug when a new store is passed as a prop (fixes HMR). (#589 by @jimbolla)
  • Use shallowEqual from fbjs. (#591 by @timdorr)
  • Stringify WrappedComponent in error message. (#605 by @pvorona)
  • Ensure single arg mapStateToProps factory gets ownProps. (#616 @lukeapage)
  • Duck-type subscription in prop checks (#628 by @jquense)
  • Add React 16 as a valid peer dep (#629 by @gaearon)

v5.0.2

11 Jan 01:48
Compare
Choose a tag to compare

Changes

v5.0.1

14 Dec 17:26
Compare
Choose a tag to compare

Changes

  • Use the correct filename for the UMD build. It is now properly published as dist/react-redux.js and dist/react-redux.min.js.
  • Fix HMR error #513 (#567 by @jimbolla)

v5.0.0

14 Dec 04:50
Compare
Choose a tag to compare

This release is brought to you by contributions from the following people: @jimbolla, @vhmth, @btd, @roncohen, @ynonp, and @appden. In addition, there were many non-code contributions in discussions on issues and testing the alpha, beta, and rc versions by many other folks (too many to list!). Thank you to everyone who made this a very positive, inclusive, well-critiqued, community-driven release!

TL;DR

  • Backwards compatible API
  • Major internal changes
  • Significant performance improvements in common usage patterns
  • Bugs fixed
  • Additional features added to connect()
  • New connectAdvanced() API
  • What's next?

API Compatibility

Version 5.0 maintains API compatibility with v4.x but due to major internal changes and potential behavior differences across nearly all API surfaces, semver dictates a major version bump. Also, it's good marketing! 💰 Store state change notifications sent to components are now guaranteed to occur top-down, so if your code may behave differently if it relied on notifications happening out of order.

Internal Changes

Internally, the code for connect has been rewritten from the ground-up to be more modular, with the intention of greater maintainability and extensibility. This has also led to some new features and performance improvements.

Performance improvements

Significant performance gains were achieved by avoiding extra calls to setState() and render() by ensuring the order of change notifications to occur top-down, matching React's natural flow. Performance tests and benchmarks are discussed in #416.

Bugfixes

Some bugs/issues are resolved, related to performance loss and also impure components not re-rendering.

New features added to connect()

The behavior of connect() is now more customizable, by passing additional properties in the options arg. These will be described in the API docs.

New top level API: connectAdvanced()

The new implementation of connect() splits its behavior such that it is now a wrapper around a more-generalized connectAdvanced(). This connectAdvanced() method can be called directly if you have extreme performance needs or want to craft an API different than that of connect(). This will be described in the API docs.

What's next?

We're looking at removing the shouldComponentUpdate optimization. Since this version is much more performant on its own, that isn't needed. This will fix long-standing problems with other libraries that use React's context API. There are workarounds, but things should work without either library authors having to bend over backwards or React having to make API changes.

We will accept bugfixes on the 4.x branch (the 3.x branch will be going away; but the tags to 3.x versions will remain!), but new features should be built against the next branch. We love PRs, so keep them coming!