This version is not covered by your current version range.
Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.
I recommend you look into these changes and try to get onto the latest version of react-redux.
Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.
Do you have any ideas how I could improve these pull requests? Did I report anything you think isnโt right?
Are you unsure about how things are supposed to work?
There is a collection of frequently asked questions and while Iโm just a bot, there is a group of people who are happy to teach me new things. Let them know.
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!
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!
Hello lovely humans,
react-redux just published its new version 5.0.0.
This version is not covered by your current version range.
Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.
I recommend you look into these changes and try to get onto the latest version of react-redux. Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.
Do you have any ideas how I could improve these pull requests? Did I report anything you think isnโt right? Are you unsure about how things are supposed to work?
There is a collection of frequently asked questions and while Iโm just a bot, there is a group of people who are happy to teach me new things. Let them know.
Good luck with your project :sparkles:
You rock!
:palm_tree:
GitHub Release
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
connect()
connectAdvanced()
APIAPI 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()
andrender()
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 theoptions
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-generalizedconnectAdvanced()
. ThisconnectAdvanced()
method can be called directly if you have extreme performance needs or want to craft an API different than that ofconnect()
. 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'scontext
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!Changes since v5.0.0-rc.1
The new version differs by 132 commits .
e23991f
5.0.0
f892ec0
5.0.0-rc.2
710cb85
Update yarn deps
2000ff5
Fixes #525 (cursor bug) by moving notify from setState callback to componentDidUpdate. (#557)
1e5e7c4
5.0.0-rc.1
7e7790d
Update all our deps.
f41df99
Adds react15CompatibilityMode setting (#540)
582b17f
Shows more helpful error when connect() is passed invalid args. (#554)
d5180b5
Error message changed in React 15.
9e9c725
Don't pass props to divs to avoid unknown props errors.
f0df2d9
Bump up to React 15. Add a yarn.lock (for ๐-ness)
217e98a
Fix error from clear() called during notify() (#517)
0050678
Supress eslint error "react/display-name" at intentional omission.
8c3ecee
5.0.0-beta.3
4e8b313
Revert "warn on duplicate props" (#511)
There are 132 commits in total. See the full diff.
This pull request was created by greenkeeper.io.
Tired of seeing this sponsor message? :zap:
greenkeeper upgrade