Releases: reduxjs/redux
v4.0.2
This is a very minor release with some nice improvements to our TypeScript type definitions. Enjoy!
Changes
- Iterate in combineReducers using
for in
(#3371 by @pvorona) - Fix
DeepPartial
type (#3369 by @OliverJAsh) - Add types for Observable interface (#3067 by @pinyin)
- Make reducer optional in JSDocs (#3408 by @pingfengafei)
- Infer action types from
combineReducers
(#3411 by @appden)
v4.0.1
A very minor release. We've upgraded to Babel 7 internally and now provide a .mjs
file which you can import cleanly into browsers that support ES modules natively. Enjoy!
Changes
- Update mixed NODE_ENV message for Webpack 4 (4a215fb by @timdorr)
- Add unpkg field to package.json (#3003 by @andrewbridge)
- Use same return type for both StoreCreator signatures (#2985 by @reklawnos)
- Mark StoreCreator's preloadedState argument as optional (#3080 by @srittau)
- Add ES browser build (#3143 by @TimvdLippe)
- Throw an error if createStore is passed several enhancers (#3151 by @selbekk)
- Upgrade to Babel 7 (b9ee1cf by @timdorr)
v4.0.0
Redux 4 is here! 🎉
If you're a React user, this is going to be a lot like going from 15 to 16. Not a lot of user-facing changes, but some interesting improvements under the hood.
The major changes (#1342) are around our TypeScript definitions, bundled CommonJS and ES builds, throwing if you subscribe or getState from a reducer, and a bunch of other smaller things. The full changes are listed below.
Enjoy!
Changes
- Tons of docs updates. Thanks @markerikson and the Redux community for all your PRs!
- Make middleware API dispatch pass through all call arguments (#2560 by @Asvarox)
- Refactor applyMiddleware to reduce confusion around createStore args (#2201 by @jimbolla)
- Make bindActionCreators transparently pass
this
(#2641 by @Parakleta) - Remove @Private flag on AnyAction type definition (#2510 by @alexmngn)
- Fixed quote types inconsistency in a warning message (#2297 by @Andarist)
- Move ActionTypes to a private export (b62248b by @timdorr)
- Throw if getState, subscribe, or unsubscribe called while dispatching (including inside a reducer) (#1569 by @mjw56)
- Warn when dispatching during Middleware setup (#1485 by @timdorr)
- Mapped type for combineReducers in index.d.ts (#2182 by @mkusher)
- Remove legacy jsnext entry (#2284 by @TrySound)
- Revamp TypeScript typing with more type safety (#2563 by @pelotom)
- Fix TS definitions test for new Dispatch typing (#2674 by @pelotom)
- Add DeepPartial type for preloaded state (#2679 by @aikoven)
- Bundle cjs and es formats (#2358 by @TrySound)
- REPLACE action for replaceReducers (#2673 by @timdorr)
- Update build to use babel-preset-env (#2696 by @hmillison)
- Optimize dispatch plain object check (#2599 by @timdorr)
- Update TypeScript typings (#2773 by @aikoven)
- Added prettier formatting (#2676 by @adityavohra7)
- Add a sideEffects: false flag for Webpack 4 (#2865 by @timdorr)
- Fix missed case in "observe" type check (#2919 by @zerobias)
v4.0.0-rc.1
npm install redux@next
There haven't been any big complaints with the previous beta, so it's time to graduate to a release candidate. Please give this a try in your applications and let us know if you see any issues. If we're all clear, I'll get 4.0 released in the next week!
Changes
v4.0.0-beta.2
npm install redux@next
Another beta release to test our TypeScript typings. Feedback is greatly appreciated!
Changes
- Update TypeScript typings (#2773 by @aikoven)
- Added prettier formatting (#2676 by @adityavohra7)
v4.0.0-beta.1
It's time to bump the major version on Redux! 🎉
This is the first beta release of 4.0.0. Despite the version bump, the changes are relatively minor. Most of it was covered in the 4.0 tracking issue: #1342.
The largest amount of work was done with our Typescript definitions. They have been completely overhauled, so they should work better and take advantage of all the new stuff in TS 2.x.
The other big change is we are now bundling our CommonJS and ES builds like React has done recently. This means direct, private imports (import createStore from 'redux/lib/createStore'
) will no longer work. This ensures our modules are maintaining a consistent contract with your apps and that any reorganization we choose to do internally has no effect on your usage of Redux.
We've also tightened up some behavior quirks and dropped support for IE < 11. The vast majority of apps should require no changes. But we will run through a standard RC process to gradually release this out to the world and ensure no big headaches for everyone during the holiday season.
Enjoy!
Changes
- Tons of docs updates. Thanks @markerikson and the Redux community for all your PRs!
- Make middleware API dispatch pass through all call arguments (#2560 by @Asvarox)
- Refactor applyMiddleware to reduce confusion around createStore args (#2201 by @jimbolla)
- Make bindActionCreators transparently pass
this
(#2641 by @Parakleta) - Remove @Private flag on AnyAction type definition (#2510 by @alexmngn)
- Fixed quote types inconsistency in a warning message (#2297 by @Andarist)
- Move ActionTypes to a private export (b62248b by @timdorr)
- Throw if getState, subscribe, or unsubscribe called while dispatching (#1569 by @mjw56)
- Warn when dispatching during Middleware setup (#1485 by @timdorr)
- Mapped type for combineReducers in index.d.ts (#2182 by @mkusher)
- Remove legacy jsnext entry (#2284 by @TrySound)
- Revamp TypeScript typing with more type safety (#2563 by @pelotom)
- Fix TS definitions test for new Dispatch typing (#2674 by @pelotom)
- Add DeepPartial type for preloaded state (#2679 by @aikoven)
- Bundle cjs and es formats (#2358 by @TrySound)
- REPLACE action for replaceReducers (#2673 by @timdorr)
- Update build to use babel-preset-env (#2696 by @hmillison)
- Optimize dispatch plain object check (#2599 by @timdorr)
v3.7.2
v3.7.1
This reverts the console.error
on bindActionCreators()
coming from #2279.
While well-intentioned, when star importing all exports from a module (import * as actions from './actions'
), transpilation by Babel defaults to adding a default
and __esModule
property to the import, which are not functions. While it can be disabled, this isn't common to do and leads to a lot of confusion. So, we're reverting the change.
Thanks for the feedback from everyone and the civility and healthy discourse on the issue!
v3.7.0
Another long break!
Oh, hey! I didn't see you sitting there. You look bored. How about a Redux release to spice things up?
Not a huge set of changes to report here. The biggest change, and the reason for the minor bump, is the UMD build is now done via Rollup. One big advantage is more readable code in the bundle. Rollup does "scope hoisting", which is a fancy term for putting every module at the top level of the file. Other than a surrounding IIFE, all of the code in Redux all lives together. You can compare the two here:
Rollup UMD build
vs
Webpack UMD build
There is also a cost savings of 30,811 vs 26,880 bytes, and 6,999 vs 5,995 bytes minified. Redux is already a small library, and this helps shave some extra bytes for our UMD users.
One thing to note is that Webpack has introduced it's own scope hoisting feature in 3.0 beta. So, this isn't intended as an indictment of Webpack. You should continue to use it in your own apps. The adage of "Webpack is for apps, Rollup is for libraries" definitely holds true. It still has a superior developer experience with hot module reloading and webpack-dev-server. But use whatever makes sense for your project, not just whatever we use. 😄
We're also looking at applying this to the NPM bundle. The main motivation is again more readable code in your bundles. Instead of transpilation oddities from Babel, you will end up with a single clean file, which should be easier to read through and debug. It's currently scheduled for the big, mythical 4.0 release and you can follow along in #2358
Changes
- Build UMD with rollup (#2283 by @TrySound)
- Warn when bindActionCreators encounters non-function property (#2279 by @artgillespie)
- Update variables to ES6 (#2169 by @dfrownfelter)
- Remove filtering inside compose (#2167 by @istarkov)
- Simplify compose (#2147 by @JoeCortopassi)
v3.6.0
Hey, it's been a while!
How's everyone doing? Enjoying your summer (or winter for the Southern Hemisphere folks)?
This is a bugfix release for Redux. We're working towards a 4.0 with more substantial changes. Please see #1342 to pitch in!
Dan also ported all the examples (except the universal one) in #1883 to use the excellent Create React App. This means the changes in #1800 have been lost. If you'd like to help out, we would love PRs on the examples to modernize and clean them up.
Changes
- Updated symbol-observable to 1.0.2 (#1663 and #1877)
- Added a Redux logo (#1671)
- Replace es3ify with Babel ES3 transforms (#1688)
- Run tests on Node 6 (#1673)
- Optimize one function case in compose (#1701)
- Check ES3 syntax compatibility (#1720)
- TypeScript: preloadedState is optional (#1806)
- Add a warning for undefined properties passed to combineReducers (#1789)
- Add module entry point for webpack 2 (#1871)
- TypeScript: Improve typings for compose function (#1868)