Skip to content


Choose a tag to compare
@Andarist Andarist released this 24 Dec 23:53
· 942 commits to main since this release

This release contains mostly deprecations, but only a mild ones. Mainly few things got better, more descriptive names to indicate their behaviour and helpers got their way into effects. Of course as those are deprecations only, we are still planning to support old APIs for a time being, but as those do not require much change in the code they old versions will get removed eventually.

New features:

  • permitting saga monitors to only hook the functions they want (thanks to @skellock)


  • refactored moment of actions emitting to saga internals, so not only standard middleware benefits from the recent (and possibly future) scheduling fixed, but also the runSaga API


  • put.sync got renamed to put.resolve
  • takem got renamed to take.maybe
  • createSagaMiddleware({ onerror }) got fixed in the code (was documented as onError) and should be used from now on as docs suggested - createSagaMiddleware({ onError }) (thanks to @kuy)
  • all built-in helpers (takeEvery, takeLatest, throttle) got their respective counterparts in redux-saga/effects module, which should confuse people less and be more newcomers-friendly
import { takeEvery } from 'redux-saga/effects'
// ...
yield* takeEvery('ACTION', worker) // this WON'T work, as effect is just an object
const task = yield takeEvery('ACTION', worker) // this WILL work like charm


import { takeEvery } from 'redux-saga'
// ...
yield* takeEvery('ACTION', worker) // this will continue to work for now
const task = yield takeEvery('ACTION', worker) // and so will this

Also few typings were fixed, thanks to @yenshih, @CarsonF and @aikoven for veryfing.

And last (but not least) great thanks and much appreciation to everyone who has contributed to improving the docs!

Happy Christmas.