2.0.0 (2021-06-24)

2.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';

2.0.0-rc.2 (2021-05-11)

Bug Fixes

  • dependencies: rxjs and tslib are now listed as dependencies (#748) (e1580d7)

2.0.0-rc.1 (2021-05-07)

Bug Fixes

  • types: Type system now requires ofType operator to have at least one action type passed in, fixes #689 (#690) (72182ec)

Features

  • ofType: Add warning for nullsy typescloses #607 (ecf3f21)
  • rxjs7: add rxjs 7 compatibility (a4932a1), closes #735

BREAKING CHANGES

  • 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.

2.0.0-alpha.0 (2019-11-14)

feature

  • ofType: Type inference for ofType, removal of ActionsObservable in favor of just Observable (#681) (16f083d)
  • Convert project to Typescript and add es2015 build target (#672) (ba4699e), closes #672

BREAKING CHANGES

  • 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.
// BEFORE
function someEpic(action$) {
  return action$
    .ofType('PING')
    .mapTo({ type: 'PONG' });
}

// AFTER
import { ofType } from 'redux-observable';
import { mapTo } from 'rxjs/operators';
function someEpic(action$) {
  return action$.pipe(
    ofType('PING')
    mapTo({ type: 'PONG' })
  );
}
  • the TS type definition for combineEpics() no longer accepts any unsafe overloads. Cast to any if you need to provide unsafe/untyped Epics.

1.2.0 (2019-09-17)

Bug Fixes

  • 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) (376dc5b)

1.1.0 (2019-03-26)

Bug Fixes

  • createEpicMiddleware: Don't share a scheduler queue with anyone else's RxJS code, fixes #624 (#625) (e5bae19)

1.0.0 (2018-06-21)

It'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

Is something missing from the migration guide? Let us know or make a PR!

Bug Fixes

  • typings: Epic type parameter for State (third type param) now defaults to any instead of void (03e69cc)

1.0.0-beta.2 (2018-06-16)

Features

  • adapters: remove adapters support (87a5f86)

BREAKING CHANGES

  • 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

1.0.0-beta.1 (2018-06-04)

Bug Fixes

  • combineEpics: combineEpics no longer errors on React Native Android because of readonly name prop setting (7b4f208)

1.0.0-beta.0 (2018-06-01)

Bug Fixes

  • state$: initial state is no longer skipped by state$ (2509605)

Features

BREAKING CHANGES

  • 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

1.0.0-alpha.3 (2018-06-01)

Features

  • combineEpics: verbose combineEpics returned function name (#480) (816a916)
  • createEpicMiddleware: schedule emitted actions and epic subscription on the queueScheduler, so that epic order matters less (d3516bf)
  • redux: update to redux v4 (#501) (43c2033)
  • 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 (4697047)
  • typings: Make output actions optional (34a9e12)
  • typings: Output actions should extend input actions. (d109077)
  • typings: Updating typings for more common use-cases. (0b0efc0), closes #446

BREAKING CHANGES

  • 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
  • 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
  • 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
  • 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

1.0.0-alpha.2 (2018-04-09)

Bug Fixes

  • 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)

1.0.0-alpha.1 (2018-04-05)

Bug Fixes

  • typings: Update type of Epic parameter from store to state$ (#465) (6e9430d)

1.0.0-alpha.0 (2018-04-04)

Early 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

Features

  • createEpicMiddleware: warn about reusing middleware (e72661a), closes #389
  • state$: The second argument of an Epic is now a stream of state$, not a store (#410) (2ff3f6e), closes #56

0.19.0 (2018-06-06)

Bug Fixes

BREAKING CHANGES

  • 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)

0.18.0 (2018-02-07)

Bug Fixes

  • Reducer errors: log exceptions thrown from store.dispatch inside the middleware (#379) (56c1903), closes #263
  • typings: make lettable ofType correctly narrow action type (#385) (45d09a7), closes #382
  • typings: More correct Epic and ofType type refinement for TypeScript users (#392) (#396) (63b2acc)
  • typings: More correct ofType type refinement (#376) (e850c93), closes #375

Features

  • dependencies: Loosen peerDependencies (#359) (3140ac2), closes #358
  • ofType: ofType() TypeScript overload that permits narrowing the filtered actions type action$.ofType<SomeNarrowAction>(someType); (#312) (#370) (5b62ac5)

0.17.0 (2017-10-31)

Bug Fixes

  • ofType: don't depend on letProto as it has issues in UMD builds (150c1d5)
  • types: Add type for EPIC_END action type (#272) (5e98f2e), closes #271

Features

  • epics: calling store.dispatch() directly inside your epics is now deprecated and will be removed in v1.0.0 (#346 a1ba6a2, #336 76ecd33)

The 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.

Before

const somethingEpic = (action$, store) =>
  action$.ofType(SOMETHING)
    .switchMap(() =>
      ajax('/something')
        .do(() => store.dispatch({ type: SOMETHING_ELSE }))
        .map(response => ({ type: SUCCESS, response }))
    );

After

const somethingEpic = action$ =>
  action$.ofType(SOMETHING)
    .switchMap(() =>
      ajax('/something')
        .mergeMap(response => Observable.of(
          { type: SOMETHING_ELSE },
          { type: SUCCESS, response }
        ))
    );

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

  • ofType: Better support for redux-actions (#348) (c4d0ccf)
  • ofType: expose ofType as lettable operator (#343) (fb4a5af), closes #186

0.16.0 (2017-08-16)

Bug Fixes

  • types: Constrain ActionsObservable type param (#289) (2144e7d)

0.15.0 (2017-08-08)

Bug Fixes

  • typings: Add dependencies to middleware options. (#207) (fb911a8)
  • typings: dependencies type can now be anything, not just a POJO (70ded6d)
  • typings: lift now uses correct return type, instead of (#208) (b4690bf), closes #187

Features

0.14.0 (2017-03-02)

Bug Fixes

  • typings: Add custom epic overload to combineEpics (#197) (88c0bf9)

Chores

Features

  • build: es modules (#201) (c4318ec)
  • dependencies: Added explicit dependencies option to createEpicMiddleware (#193) (7e2a479), closes #163

BREAKING CHANGES

  • rxjs: RxJS v5 non-beta (e.g. 5.1.0) is now required. Upgrading from rxjs 5 beta to latest should be easy in most cases.

0.13.0 (2017-01-20)

Bug Fixes

  • typings: adds store type to Epic (#174) (ca4b163), closes #172
  • typings: Enable second parameter for the createEpicMiddleware (25ac601)

BREAKING CHANGES

  • 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

0.12.2 (2016-11-18)

Features

  • ActionsObservable: ActionsObservable.from() now correctly returns an ActionsObservable as expected (#149) (fd393a1)
  • typings: Adds type definitions for ActionsObservable.from/of (0cba557)

0.12.1 (2016-10-04)

Bug Fixes

  • UMD: bump webpack-rxjs-externals to correct UMD generation (3535b3d), closes #127

0.12.0 (2016-09-22)

Features

  • combineEpics: combineEpics() now transparently passes along any arguments, not just action$, store. (ee3efbf)

0.11.0 (2016-09-15)

Code Refactoring

  • thunkservables: Removed support for thunkservables (e55428f)

Features

  • ActionsObservable.of: Added support for ActionsObservable.of(...actions) as shorthand, mostly useful for testing Epics (25f50d0), closes #98

BREAKING CHANGES

  • thunkservables: Support for thunkservables has been removed, replaced by Epics. You may now use redux-thunk in tandem with redux-observable. Read more

0.10.0 (2016-09-11)

BREAKING CHANGE (maybe)

  • typings: TypeScript users: Added generics to createEpicMiddleware so developer defines what redux Actions look like (#105) (7b4214f). Previously, the behavior was rather restrictive so while it's unlikely going to break anyone's code, it technically is a breaking change.

0.9.1 (2016-08-17)

Bug Fixes

  • typings: add explicit return types inside ActionsObservable (95b4ce4), closes #96

0.9.0 (2016-08-01)

Features

0.8.0 (2016-07-24)

Features

  • replaceEpic: Added middleware method to replace the root Epic. Useful for code splitting and hot reloading (a8f458d)
  • replaceEpic: Dispatches an EPIC_END action when you replaceEpic() (#75) (fef6f80)

0.7.2 (2016-07-14)

Bug Fixes

  • Typings: Correct that createEpicMiddleware() only accepts a single Epic (1d5e2ec)

0.7.1 (2016-07-14)

Bug Fixes

  • TypeScript type definition: Add combineEpics(), provide more accurate type info for others (#70) (20da88c), closes #69

0.7.0 (2016-07-13)

We have brand new docs! http://redux-observable.js.org/

BREAKING CHANGES

  • thunkservables: We are deprecating thunkservables in favor of the new process managers called "Epics". See http://redux-observable.js.org/docs/FAQ.html#why-were-thunkservables-deprecated for more information on Epics.
  • API renames: Creating the middleware is now done with createEpicMiddleware(rootEpic) instead of reduxObservable(rootEpic) and combineDelegators() has been renamed as combineEpics()
  • middleware: dispatched actions will now occur before the actions created by synchronous observable side effects.

0.6.0 (2016-05-26)

Bug Fixes

  • package: Add d.ts file to package. (fe8f073)

Features

  • combineEpics: add a method to combine different epics to make it easier to create a rootDelegator (da2eeaf)
  • ofType: now accepts multiple types to filter for (9027d1c)

0.5.0 (2016-05-20)

Features

  • middleware processor: add argument to middleware to set up async processing for all actions pumped thr (5a672be)
  • reduxObservable: allow async streams to emit other async actions, (94233f3), closes #8

BREAKING CHANGES

  • middleware processor: dispatched actions will now occur before the actions created by synchronous observable side effects.

0.4.0 (2016-05-12)

Bug Fixes

  • actions: Wasn't actually emitting the correct actions to the actions Subject (a1cf32e)

Features

  • ofType: add operator to provided actions observable (174ceda)

0.3.0 (2016-05-12)

Bug Fixes

  • naming: get rid of references to rxDucks missed during renaming (04c54c6)

(2016-05-12)

0.1.0 (2016-04-29)

Features

  • async interop: can dispatch functions that return promises, observable-like objects, and iterables (d20c411)

results matching ""

    No results matching ""