Skip to content

v0.15.0

Compare
Choose a tag to compare
@buntec buntec released this 10 May 12:44
· 336 commits to main since this release

What's Changed

We've decided to change the signature of the store constructor yet again:
Action => State => (State, Option[F[Option[Action]]]) becomes
Store[F, State, Action] => Action => State => (State, Option[F[Unit]]).
In other words, the store itself is now available in the builder function, which gives
us access to store.dispatch to enqueue any number of follow-up actions, and store.state to track
subsequent state changes. This is strictly more powerful than the previous version.
In particular, we no longer need to encode follow-up actions in the return type of the effect.
Note that for "pure" state updates nothing changes: state => state.copy(foo = 17) -> none.

Thanks to @ramytanios for helpful discussions!

Full Changelog: v0.14.0...v0.15.0