UNPKG

29.4 kBMarkdownView Raw
1<a name="2.0.0"></a>
2# [2.0.0](https://github.com/redux-observable/redux-observable/compare/v2.0.0-rc.2...v2.0.0) (2021-06-24)
3
42.0.0 brings support for RxJS v7, newer TypeScript support, and a few bug fixes (see previous pre-releases.) Of note is BREAKING CHANGE that `action$.ofType()` has been removed in favor of a pipeable operator you can import `import { ofType } from 'redux-observable';`
5
6<a name="2.0.0-rc.2"></a>
7# [2.0.0-rc.2](https://github.com/redux-observable/redux-observable/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2021-05-11)
8
9
10### Bug Fixes
11
12* **dependencies:** rxjs and tslib are now listed as dependencies ([#748](https://github.com/redux-observable/redux-observable/issues/748)) ([e1580d7](https://github.com/redux-observable/redux-observable/commit/e1580d7))
13
14
15
16<a name="2.0.0-rc.1"></a>
17# [2.0.0-rc.1](https://github.com/redux-observable/redux-observable/compare/v2.0.0-alpha.0...v2.0.0-rc.1) (2021-05-07)
18
19
20### Bug Fixes
21
22* **types:** Type system now requires ofType operator to have at least one action type passed in, fixes [#689](https://github.com/redux-observable/redux-observable/issues/689) ([#690](https://github.com/redux-observable/redux-observable/issues/690)) ([72182ec](https://github.com/redux-observable/redux-observable/commit/72182ec))
23
24
25### Features
26
27* **ofType:** Add warning for nullsy typescloses [#607](https://github.com/redux-observable/redux-observable/issues/607) ([ecf3f21](https://github.com/redux-observable/redux-observable/commit/ecf3f21))
28* **rxjs7:** add rxjs 7 compatibility ([a4932a1](https://github.com/redux-observable/redux-observable/commit/a4932a1)), closes [#735](https://github.com/redux-observable/redux-observable/issues/735)
29
30
31### BREAKING CHANGES
32
33* **rxjs7:** Uses typescript 4.2.2 and tslib 2.1.0 (same libs as rxjs 7). @typescript-eslint/eslint-plugin and @typescript-eslint/parser has been updated to 4.22.0 to run linter properly with new ts version, new troublesome linter rules added.
34
35
36
37<a name="2.0.0-alpha.0"></a>
38# [2.0.0-alpha.0](https://github.com/redux-observable/redux-observable/compare/v1.2.0...v2.0.0-alpha.0) (2019-11-14)
39
40
41### feature
42
43* **ofType:** Type inference for ofType, removal of ActionsObservable in favor of just Observable ([#681](https://github.com/redux-observable/redux-observable/issues/681)) ([16f083d](https://github.com/redux-observable/redux-observable/commit/16f083d))
44
45
46* Convert project to Typescript and add es2015 build target (#672) ([ba4699e](https://github.com/redux-observable/redux-observable/commit/ba4699e)), closes [#672](https://github.com/redux-observable/redux-observable/issues/672)
47
48
49### BREAKING CHANGES
50
51* **ofType:** ActionsObservable existed so we could provide an ofType() method to the prototype of action$, before RxJS had pipeable operators. Now that pipeable operators have been out for quite some time we are removing ActionsObservable in favor or using the pipeable ofType() instead.
52
53```js
54// BEFORE
55function someEpic(action$) {
56 return action$
57 .ofType('PING')
58 .mapTo({ type: 'PONG' });
59}
60
61// AFTER
62import { ofType } from 'redux-observable';
63import { mapTo } from 'rxjs/operators';
64function someEpic(action$) {
65 return action$.pipe(
66 ofType('PING')
67 mapTo({ type: 'PONG' })
68 );
69}
70```
71* the TS type definition for `combineEpics()` no longer accepts any unsafe overloads. Cast to `any` if you need to provide unsafe/untyped Epics.
72
73
74
75<a name="1.2.0"></a>
76# [1.2.0](https://github.com/redux-observable/redux-observable/compare/v1.1.0...v1.2.0) (2019-09-17)
77
78
79### Bug Fixes
80
81* **build:** Internally, don't mix ES Module and CommonJS syntax for warning utilities so that Rollup builds don't require special handling of redux-observable. ([#663](https://github.com/redux-observable/redux-observable/issues/663)) ([376dc5b](https://github.com/redux-observable/redux-observable/commit/376dc5b))
82
83
84
85<a name="1.1.0"></a>
86# [1.1.0](https://github.com/redux-observable/redux-observable/compare/v1.0.0...v1.1.0) (2019-03-26)
87
88
89### Bug Fixes
90
91* **createEpicMiddleware:** Don't share a scheduler queue with anyone else's RxJS code, fixes [#624](https://github.com/redux-observable/redux-observable/issues/624) ([#625](https://github.com/redux-observable/redux-observable/issues/625)) ([e5bae19](https://github.com/redux-observable/redux-observable/commit/e5bae19))
92
93
94
95<a name="1.0.0"></a>
96# [1.0.0](https://github.com/redux-observable/redux-observable/compare/v1.0.0-beta.2...v1.0.0) (2018-06-21)
97
98It's here! 1.0 brings support for RxJS v6 and Redux v4. To help migrate from pre-1.0 versions, we've written a migration guide to help you: https://redux-observable.js.org/MIGRATION.html
99
100Is something missing from the migration guide? Let us know or make a PR!
101
102### Bug Fixes
103
104* **typings:** Epic type parameter for State (third type param) now defaults to any instead of void ([03e69cc](https://github.com/redux-observable/redux-observable/commit/03e69cc))
105
106
107
108<a name="1.0.0-beta.2"></a>
109# [1.0.0-beta.2](https://github.com/redux-observable/redux-observable/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2018-06-16)
110
111
112### Features
113
114* **adapters:** remove adapters support ([87a5f86](https://github.com/redux-observable/redux-observable/commit/87a5f86))
115
116
117### BREAKING CHANGES
118
119* **adapters:** Support for adapters has been removed. Adapters were previously used to transform the `action$` Observable into some other stream-library primitive; like Most.js, Bacon, RxJS v4, etc. While rarely used, if you would like this functionality the MIGRATION.md guide gives an example: https://redux-observable.js.org/MIGRATION.html#setting-up-the-middleware
120
121
122
123<a name="1.0.0-beta.1"></a>
124# [1.0.0-beta.1](https://github.com/redux-observable/redux-observable/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2018-06-04)
125
126
127### Bug Fixes
128
129* **combineEpics:** combineEpics no longer errors on React Native Android because of readonly `name` prop setting ([7b4f208](https://github.com/redux-observable/redux-observable/commit/7b4f208))
130
131
132
133<a name="1.0.0-beta.0"></a>
134# [1.0.0-beta.0](https://github.com/redux-observable/redux-observable/compare/v1.0.0-alpha.3...v1.0.0-beta.0) (2018-06-01)
135
136
137### Bug Fixes
138
139* **state$:** initial state is no longer skipped by state$ ([2509605](https://github.com/redux-observable/redux-observable/commit/2509605))
140
141
142### Features
143
144* **rootEpic:** an error is now thrown if you provide your root Epic directly to . See 'https://redux-observable.js.org/MIGRATION.html#setting-up-the-middleware' ([4479ac8](https://github.com/redux-observable/redux-observable/commit/4479ac8))
145* **state$:** remove previously deprecated store.dispatch/getState() from epics (NOT from your UI code) ([b352a98](https://github.com/redux-observable/redux-observable/commit/b352a98))
146
147
148### BREAKING CHANGES
149
150* **state$:** previously the second argument to your epics was a "lite" version of the redux store with store.dispatch() and store.getState(), however this has been replaced with a stream of a state$ in v1.0.0 of redux-observable and the old methods were deprecated with warnings in previous alpha versions. This release removes them entirely. See https://redux-observable.js.org/MIGRATION.html
151
152
153
154<a name="1.0.0-alpha.3"></a>
155# [1.0.0-alpha.3](https://github.com/redux-observable/redux-observable/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2018-06-01)
156
157
158### Features
159
160* **combineEpics:** verbose combineEpics returned function name ([#480](https://github.com/redux-observable/redux-observable/issues/480)) ([816a916](https://github.com/redux-observable/redux-observable/commit/816a916))
161* **createEpicMiddleware:** schedule emitted actions and epic subscription on the queueScheduler, so that epic order matters less ([d3516bf](https://github.com/redux-observable/redux-observable/commit/d3516bf))
162* **redux:** update to redux v4 ([#501](https://github.com/redux-observable/redux-observable/issues/501)) ([43c2033](https://github.com/redux-observable/redux-observable/commit/43c2033))
163* **state$:** state$ now only emits subsequent values if the state shallowly is different (e.g. prevValue !== nextValue). It still emits the current state immediately on subscribe regardless, as it did before, similar to BehaviorSubject. Closes [#497](https://github.com/redux-observable/redux-observable/issues/497) ([4697047](https://github.com/redux-observable/redux-observable/commit/4697047))
164* **typings:** Make output actions optional ([34a9e12](https://github.com/redux-observable/redux-observable/commit/34a9e12))
165* **typings:** Output actions should extend input actions. ([d109077](https://github.com/redux-observable/redux-observable/commit/d109077))
166* **typings:** Updating typings for more common use-cases. ([0b0efc0](https://github.com/redux-observable/redux-observable/commit/0b0efc0)), closes [#446](https://github.com/redux-observable/redux-observable/issues/446)
167
168
169### BREAKING CHANGES
170
171* **redux:** redux-observable now requires redux v4. The new version of redux is mostly the same, however it required us to change the `createEpicMiddleware` API. See https://redux-observable.js.org/MIGRATION.html
172* **createEpicMiddleware:** You must now provide your rootEpic to `epicMiddleware.run(rootEpic)` instead of passing it to `createEpicMiddleware`. This fixes issues with redux v4 where it's no longer allowed to dispatch actions while middleware is still being setup. See https://redux-observable.js.org/MIGRATION.html
173* **createEpicMiddleware:** `epicMiddleware.replaceEpic` has been removed. A the equivilant behavior can be accomplished by dispatching your own `END` action that your rootEpic is listening for with a `takeUntil`, then providing the next rootEpic to `epicMiddleware.run(nextRootEpic)`. See https://redux-observable.js.org/MIGRATION.html
174* **createEpicMiddleware:** Actions your epics emit are now scheduled using the queueScheduler. This is a bit hard to explain (and understand) but as the name suggests, a queue is used. If the queue is empty, the action is emitted as usual, but if that action causes other actions to be emitted they will be queued up until the call stack of the first action returns. In a large majority of cases this will have no perceivable impact, but it may affect the order of any complex epic-to-epic communication you have. The benefit is that actions which are emitted by an epic on start up are not missed by epics which come after it. e.g. With `combineEpics(epic1, epic2)` previously if epic1 emitted on startup, epic2 would not receive that action because it had not yet been set up. See https://redux-observable.js.org/MIGRATION.html
175
176
177<a name="1.0.0-alpha.2"></a>
178# [1.0.0-alpha.2](https://github.com/redux-observable/redux-observable/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2018-04-09)
179
180
181### Bug Fixes
182
183* **deps:** gitbook-plugin-github is no longer listed as a normal dependency (it gets added automatically by gitbook even and I usually manually remove it, but it slipped in) ([fabcded](https://github.com/redux-observable/redux-observable/commit/fabcded))
184
185
186
187<a name="1.0.0-alpha.1"></a>
188# [1.0.0-alpha.1](https://github.com/redux-observable/redux-observable/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2018-04-05)
189
190
191### Bug Fixes
192
193* **typings:** Update type of Epic parameter from store to state$ ([#465](https://github.com/redux-observable/redux-observable/issues/465)) ([6e9430d](https://github.com/redux-observable/redux-observable/commit/6e9430d))
194
195
196
197<a name="1.0.0-alpha.0"></a>
198# [1.0.0-alpha.0](https://github.com/redux-observable/redux-observable/compare/v0.18.0...v1.0.0-alpha.0) (2018-04-04)
199
200Early version alpha, breaking changes are still possible so use as your own risk and make sure to lockdown to exactly semver. Learn more about the migration: https://redux-observable.js.org/MIGRATION.html
201
202### Features
203
204* **createEpicMiddleware:** warn about reusing middleware ([e72661a](https://github.com/redux-observable/redux-observable/commit/e72661a)), closes [#389](https://github.com/redux-observable/redux-observable/issues/389)
205* **state$:** The second argument of an Epic is now a stream of state$, not a store ([#410](https://github.com/redux-observable/redux-observable/issues/410)) ([2ff3f6e](https://github.com/redux-observable/redux-observable/commit/2ff3f6e)), closes [#56](https://github.com/redux-observable/redux-observable/issues/56)
206
207
208<a name="0.19.0"></a>
209# [0.19.0](https://github.com/redux-observable/redux-observable/compare/v0.18.0...v0.19.0) (2018-06-06)
210
211
212### Bug Fixes
213
214* **errors:** errors from reducers are no longer caught and logged, instead are rethrown. related [#263](https://github.com/redux-observable/redux-observable/issues/263)#issuecomment-395109222 ([f90f8ef](https://github.com/redux-observable/redux-observable/commit/f90f8ef)), closes [#issuecomment-395109222](https://github.com/redux-observable/redux-observable/issues/issuecomment-395109222)
215
216
217### BREAKING CHANGES
218
219* **errors:** For 0.19.0 errors from reducers are no longer caught and console.error logged, instead they are just rethrown as before. This was a temporary workaround for a bug in rxjs where it would silently swallow errors. That bug has been fixed in 5.5.6+, so it is highly recommended you use _at least_ rxjs@5.5.6+ with this version of redux-observable. However, redux-observable is close to reaching 1.0.0-final which will require rxjs v6 and redux v4, if you'd like to start upgrading to it now you can use redux-observable@next (as of this writing 1.0.0-beta.1)
220
221
222<a name="0.18.0"></a>
223# [0.18.0](https://github.com/redux-observable/redux-observable/compare/v0.17.0...v0.18.0) (2018-02-07)
224
225
226### Bug Fixes
227
228* **Reducer errors:** log exceptions thrown from `store.dispatch` inside the middleware ([#379](https://github.com/redux-observable/redux-observable/issues/379)) ([56c1903](https://github.com/redux-observable/redux-observable/commit/56c1903)), closes [#263](https://github.com/redux-observable/redux-observable/issues/263)
229* **typings:** make lettable ofType correctly narrow action type ([#385](https://github.com/redux-observable/redux-observable/issues/385)) ([45d09a7](https://github.com/redux-observable/redux-observable/commit/45d09a7)), closes [#382](https://github.com/redux-observable/redux-observable/issues/382)
230* **typings:** More correct Epic and ofType type refinement for TypeScript users ([#392](https://github.com/redux-observable/redux-observable/issues/392)) ([#396](https://github.com/redux-observable/redux-observable/issues/396)) ([63b2acc](https://github.com/redux-observable/redux-observable/commit/63b2acc))
231* **typings:** More correct ofType type refinement ([#376](https://github.com/redux-observable/redux-observable/issues/376)) ([e850c93](https://github.com/redux-observable/redux-observable/commit/e850c93)), closes [#375](https://github.com/redux-observable/redux-observable/issues/375)
232
233
234### Features
235
236* **dependencies:** Loosen peerDependencies ([#359](https://github.com/redux-observable/redux-observable/issues/359)) ([3140ac2](https://github.com/redux-observable/redux-observable/commit/3140ac2)), closes [#358](https://github.com/redux-observable/redux-observable/issues/358)
237* **ofType:** `ofType()` TypeScript overload that permits narrowing the filtered actions type `action$.ofType<SomeNarrowAction>(someType);` ([#312](https://github.com/redux-observable/redux-observable/issues/312)) ([#370](https://github.com/redux-observable/redux-observable/issues/370)) ([5b62ac5](https://github.com/redux-observable/redux-observable/commit/5b62ac5))
238
239
240
241<a name="0.17.0"></a>
242# [0.17.0](https://github.com/redux-observable/redux-observable/compare/v0.16.0...v0.17.0) (2017-10-31)
243
244
245### Bug Fixes
246
247* **ofType:** don't depend on letProto as it has issues in UMD builds ([150c1d5](https://github.com/redux-observable/redux-observable/commit/150c1d5))
248* **types:** Add type for EPIC_END action type ([#272](https://github.com/redux-observable/redux-observable/issues/272)) ([5e98f2e](https://github.com/redux-observable/redux-observable/commit/5e98f2e)), closes [#271](https://github.com/redux-observable/redux-observable/issues/271)
249
250
251### Features
252
253* **epics:** calling `store.dispatch()` directly inside your epics is now deprecated and will be removed in v1.0.0 ([#346](https://github.com/redux-observable/redux-observable/issues/346) [a1ba6a2](https://github.com/redux-observable/redux-observable/commit/a1ba6a2), [#336](https://github.com/redux-observable/redux-observable/issues/336) [76ecd33](https://github.com/redux-observable/redux-observable/commit/76ecd33))
254
255The ability to call `store.dispatch()` inside your Epics was originally provided as an escape hatch, to be used rarely, if ever. Unfortunately in practice we've seen a large number of people using it extensively; there has even been popular tutorials teaching it as how you use redux-observable. Instead, Epics should emit actions through the Observable the Epic returns, using idiomatic RxJS.
256
257#### Before
258
259```js
260const somethingEpic = (action$, store) =>
261 action$.ofType(SOMETHING)
262 .switchMap(() =>
263 ajax('/something')
264 .do(() => store.dispatch({ type: SOMETHING_ELSE }))
265 .map(response => ({ type: SUCCESS, response }))
266 );
267```
268
269#### After
270
271```js
272const somethingEpic = action$ =>
273 action$.ofType(SOMETHING)
274 .switchMap(() =>
275 ajax('/something')
276 .mergeMap(response => Observable.of(
277 { type: SOMETHING_ELSE },
278 { type: SUCCESS, response }
279 ))
280 );
281```
282
283`store.dispatch` will be removed from Epics in v1.0.0 of redux-observable. This is unrelated to usage of `store.dispatch` inside your UI components--you will continue to use it there
284
285* **ofType:** Better support for redux-actions ([#348](https://github.com/redux-observable/redux-observable/issues/348)) ([c4d0ccf](https://github.com/redux-observable/redux-observable/commit/c4d0ccf))
286* **ofType:** expose ofType as lettable operator ([#343](https://github.com/redux-observable/redux-observable/issues/343)) ([fb4a5af](https://github.com/redux-observable/redux-observable/commit/fb4a5af)), closes [#186](https://github.com/redux-observable/redux-observable/issues/186)
287
288
289
290<a name="0.16.0"></a>
291# [0.16.0](https://github.com/redux-observable/redux-observable/compare/v0.15.0...v0.16.0) (2017-08-16)
292
293
294### Bug Fixes
295
296* **types:** Constrain ActionsObservable type param ([#289](https://github.com/redux-observable/redux-observable/issues/289)) ([2144e7d](https://github.com/redux-observable/redux-observable/commit/2144e7d))
297
298
299
300<a name="0.15.0"></a>
301# [0.15.0](https://github.com/redux-observable/redux-observable/compare/v0.14.0...v0.15.0) (2017-08-08)
302
303
304### Bug Fixes
305
306* **typings:** Add dependencies to middleware options. ([#207](https://github.com/redux-observable/redux-observable/issues/207)) ([fb911a8](https://github.com/redux-observable/redux-observable/commit/fb911a8))
307* **typings:** dependencies type can now be anything, not just a POJO ([70ded6d](https://github.com/redux-observable/redux-observable/commit/70ded6d))
308* **typings:** lift now uses correct return type, instead of ([#208](https://github.com/redux-observable/redux-observable/issues/208)) ([b4690bf](https://github.com/redux-observable/redux-observable/commit/b4690bf)), closes [#187](https://github.com/redux-observable/redux-observable/issues/187)
309
310
311### Features
312
313* **typings:** make dependencies generic type ([#250](https://github.com/redux-observable/redux-observable/issues/250)) ([b690902](https://github.com/redux-observable/redux-observable/commit/b690902)), closes [#231](https://github.com/redux-observable/redux-observable/issues/231)
314
315
316
317<a name="0.14.0"></a>
318# [0.14.0](https://github.com/redux-observable/redux-observable/compare/v0.13.0...v0.14.0) (2017-03-02)
319
320
321### Bug Fixes
322
323* **typings:** Add custom epic overload to combineEpics ([#197](https://github.com/redux-observable/redux-observable/issues/197)) ([88c0bf9](https://github.com/redux-observable/redux-observable/commit/88c0bf9))
324
325
326### Chores
327
328* **rxjs:** update rxjs to v5 non-beta ([#191](https://github.com/redux-observable/redux-observable/issues/191)) ([857e8d0](https://github.com/redux-observable/redux-observable/commit/857e8d0))
329
330
331### Features
332
333* **build:** es modules ([#201](https://github.com/redux-observable/redux-observable/issues/201)) ([c4318ec](https://github.com/redux-observable/redux-observable/commit/c4318ec))
334* **dependencies:** Added explicit dependencies option to createEpicMiddleware ([#193](https://github.com/redux-observable/redux-observable/issues/193)) ([7e2a479](https://github.com/redux-observable/redux-observable/commit/7e2a479)), closes [#163](https://github.com/redux-observable/redux-observable/issues/163)
335
336
337### BREAKING CHANGES
338
339* rxjs: RxJS v5 non-beta (e.g. 5.1.0) is now required. Upgrading from rxjs 5
340beta to latest should be easy in most cases.
341
342
343
344<a name="0.13.0"></a>
345# [0.13.0](https://github.com/redux-observable/redux-observable/compare/v0.12.2...v0.13.0) (2017-01-20)
346
347
348### Bug Fixes
349
350* **typings:** adds store type to Epic ([#174](https://github.com/redux-observable/redux-observable/issues/174)) ([ca4b163](https://github.com/redux-observable/redux-observable/commit/ca4b163)), closes [#172](https://github.com/redux-observable/redux-observable/issues/172)
351* **typings:** Enable second parameter for the createEpicMiddleware ([25ac601](https://github.com/redux-observable/redux-observable/commit/25ac601))
352
353
354### BREAKING CHANGES
355
356* typings: TypeScript users only, the type interface for Epics now requires a second generic argument, your store's state interface. `interface Epic<ActionShape, StateShape>`. If you don't to strictly type your state, you can pass `any`
357
358
359
360<a name="0.12.2"></a>
361## [0.12.2](https://github.com/redux-observable/redux-observable/compare/v0.12.1...v0.12.2) (2016-11-18)
362
363
364### Features
365
366* **ActionsObservable:** `ActionsObservable.from()` now correctly returns an ActionsObservable as expected ([#149](https://github.com/redux-observable/redux-observable/issues/149)) ([fd393a1](https://github.com/redux-observable/redux-observable/commit/fd393a1))
367* **typings:** Adds type definitions for ActionsObservable.from/of ([0cba557](https://github.com/redux-observable/redux-observable/commit/0cba557))
368
369
370
371<a name="0.12.1"></a>
372## [0.12.1](https://github.com/redux-observable/redux-observable/compare/v0.12.0...v0.12.1) (2016-10-04)
373
374
375### Bug Fixes
376
377* **UMD:** bump webpack-rxjs-externals to correct UMD generation ([3535b3d](https://github.com/redux-observable/redux-observable/commit/3535b3d)), closes [#127](https://github.com/redux-observable/redux-observable/issues/127)
378
379
380
381<a name="0.12.0"></a>
382# [0.12.0](https://github.com/redux-observable/redux-observable/compare/v0.11.0...v0.12.0) (2016-09-22)
383
384
385### Features
386
387* **combineEpics:** combineEpics() now transparently passes along _any_ arguments, not just action$, store. ([ee3efbf](https://github.com/redux-observable/redux-observable/commit/ee3efbf))
388
389
390
391<a name="0.11.0"></a>
392# [0.11.0](https://github.com/redux-observable/redux-observable/compare/0.10.0...v0.11.0) (2016-09-15)
393
394
395### Code Refactoring
396
397* **thunkservables:** Removed support for thunkservables ([e55428f](https://github.com/redux-observable/redux-observable/commit/e55428f))
398
399
400### Features
401
402* **ActionsObservable.of:** Added support for ActionsObservable.of(...actions) as shorthand, mostly useful for testing Epics ([25f50d0](https://github.com/redux-observable/redux-observable/commit/25f50d0)), closes [#98](https://github.com/redux-observable/redux-observable/issues/98)
403
404
405### BREAKING CHANGES
406
407* thunkservables: Support for thunkservables has been removed, replaced by Epics. You may now use redux-thunk in tandem with redux-observable. [Read more](http://redux-observable.js.org/docs/FAQ.html#why-were-thunkservables-removed)
408
409
410
411<a name="0.10.0"></a>
412# [0.10.0](https://github.com/redux-observable/redux-observable/compare/v0.9.1...v0.10.0) (2016-09-11)
413
414
415### BREAKING CHANGE (maybe)
416
417* **typings:** TypeScript users: Added generics to createEpicMiddleware so developer defines what redux Actions look like ([#105](https://github.com/redux-observable/redux-observable/issues/105)) ([7b4214f](https://github.com/redux-observable/redux-observable/commit/7b4214f)). Previously, the behavior was rather restrictive so while it's unlikely going to break anyone's code, it technically is a breaking change.
418
419
420
421
422<a name="0.9.1"></a>
423## [0.9.1](https://github.com/redux-observable/redux-observable/compare/v0.9.0...v0.9.1) (2016-08-17)
424
425
426### Bug Fixes
427
428* **typings:** add explicit return types inside ActionsObservable ([95b4ce4](https://github.com/redux-observable/redux-observable/commit/95b4ce4)), closes [#96](https://github.com/redux-observable/redux-observable/issues/96)
429
430
431
432<a name="0.9.0"></a>
433# [0.9.0](https://github.com/redux-observable/redux-observable/compare/v0.8.0...v0.9.0) (2016-08-01)
434
435
436### Features
437
438* **Adapters:** Adds support for Epic input/output adapters. This allows us to support RxJS v4 via [redux-observable-adapter-rxjs-v4](https://github.com/redux-observable/redux-observable-adapter-rxjs-v4) ([#85](https://github.com/redux-observable/redux-observable/issues/85)) ([a662cdf](https://github.com/redux-observable/redux-observable/commit/a662cdf))
439
440
441
442<a name="0.8.0"></a>
443# [0.8.0](https://github.com/redux-observable/redux-observable/compare/v0.7.2...v0.8.0) (2016-07-24)
444
445
446### Features
447
448* **replaceEpic:** Added middleware method to replace the root Epic. Useful for code splitting and hot reloading ([a8f458d](https://github.com/redux-observable/redux-observable/commit/a8f458d))
449* **replaceEpic:** Dispatches an EPIC_END action when you replaceEpic() ([#75](https://github.com/redux-observable/redux-observable/issues/75)) ([fef6f80](https://github.com/redux-observable/redux-observable/commit/fef6f80))
450
451
452
453<a name="0.7.2"></a>
454## [0.7.2](https://github.com/redux-observable/redux-observable/compare/v0.7.1...v0.7.2) (2016-07-14)
455
456
457### Bug Fixes
458
459* **Typings:** Correct that createEpicMiddleware() only accepts a single Epic ([1d5e2ec](https://github.com/redux-observable/redux-observable/commit/1d5e2ec))
460
461
462
463<a name="0.7.1"></a>
464## [0.7.1](https://github.com/redux-observable/redux-observable/compare/v0.7.0...v0.7.1) (2016-07-14)
465
466
467### Bug Fixes
468
469* **TypeScript type definition:** Add combineEpics(), provide more accurate type info for others ([#70](https://github.com/redux-observable/redux-observable/issues/70)) ([20da88c](https://github.com/redux-observable/redux-observable/commit/20da88c)), closes [#69](https://github.com/redux-observable/redux-observable/issues/69)
470
471
472
473<a name="0.7.0"></a>
474# 0.7.0 (2016-07-13)
475
476We have brand new docs! http://redux-observable.js.org/
477
478### BREAKING CHANGES
479
480* thunkservables: We are deprecating thunkservables in favor of the new
481process managers called "Epics". See
482http://redux-observable.js.org/docs/FAQ.html#why-were-thunkservables-deprecated
483for more information on Epics.
484* API renames: Creating the middleware is now done with
485`createEpicMiddleware(rootEpic)` instead of `reduxObservable(rootEpic)` and `combineDelegators()` has been renamed as
486`combineEpics()`
487* middleware: dispatched actions will now occur _before_ the actions created by synchronous observable side effects.
488
489
490<a name="0.6.0"></a>
491# [0.6.0](https://github.com/redux-observable/redux-observable/compare/0.5.0...v0.6.0) (2016-05-26)
492
493
494### Bug Fixes
495
496* **package:** Add d.ts file to package. ([fe8f073](https://github.com/redux-observable/redux-observable/commit/fe8f073))
497
498
499### Features
500
501* **combineEpics:** add a method to combine different epics to make it easier to create a rootDelegator ([da2eeaf](https://github.com/redux-observable/redux-observable/commit/da2eeaf))
502* **ofType:** now accepts multiple types to filter for ([9027d1c](https://github.com/redux-observable/redux-observable/commit/9027d1c))
503
504
505
506<a name="0.5.0"></a>
507# [0.5.0](https://github.com/redux-observable/redux-observable/compare/0.4.0...v0.5.0) (2016-05-20)
508
509
510### Features
511
512* **middleware processor:** add argument to middleware to set up async processing for all actions pumped thr ([5a672be](https://github.com/redux-observable/redux-observable/commit/5a672be))
513* **reduxObservable:** allow async streams to emit other async actions, ([94233f3](https://github.com/redux-observable/redux-observable/commit/94233f3)), closes [#8](https://github.com/redux-observable/redux-observable/issues/8)
514
515
516### BREAKING CHANGES
517
518* middleware processor: dispatched actions will now occur _before_ the actions created by synchronous observable side effects.
519
520
521
522<a name="0.4.0"></a>
523# [0.4.0](https://github.com/blesh/redux-observable/compare/0.3.0...v0.4.0) (2016-05-12)
524
525
526### Bug Fixes
527
528* **actions:** Wasn't actually emitting the correct actions to the actions Subject ([a1cf32e](https://github.com/blesh/redux-observable/commit/a1cf32e))
529
530### Features
531
532* **ofType:** add operator to provided actions observable ([174ceda](https://github.com/blesh/redux-observable/commit/174ceda))
533
534
535
536<a name="0.3.0"></a>
537# [0.3.0](https://github.com/blesh/redux-observable/compare/0.2.0...v0.3.0) (2016-05-12)
538
539
540### Bug Fixes
541
542* **naming:** get rid of references to rxDucks missed during renaming ([04c54c6](https://github.com/blesh/redux-observable/commit/04c54c6))
543
544
545
546<a name=""></a>
547# [](//compare/0.1.0...vundefined) (2016-05-12)
548
549
550
551
552<a name="0.1.0"></a>
553# [0.1.0](https://github.com/blesh/rx-ducks-middleware/compare/0.0.2...v0.1.0) (2016-04-29)
554
555
556### Features
557
558* **async interop:** can dispatch functions that return promises, observable-like objects, and iterables ([d20c411](https://github.com/blesh/rx-ducks-middleware/commit/d20c411))