Reduks v3.3.0 Release Notes

Release Date: 2018-11-08 // over 5 years ago
  • ๐Ÿš€ Lot of time since last release, lots of new features!

    Kotlin

    • kotlin 1.3.0
    • Completed migration of all coroutines code to coroutines 1.0.0
    • ๐Ÿ›  fixed android dokka doc generation

    Selectors

    • Slightly faster withSingleField selector
    • Introduced new selector withSingleFieldByValue, for primitive type fields.
    • Rewriting of reselect for allowing for selectors by value also for computed selectors arguments
    • โž• added new method signalChanged() to Selector, for forcing selector recomputation
    • โž• added condition onChangeIn for selectors

    Integration with Android Architecture Components

    • ๐Ÿ”ง completed support for saving and restoring Reduks state on configuration changes using Android Arch component ViewModel

    PCollections

    • ๐Ÿšš reduks-pcollection is now a pure java module, removed all kotlin deps

    Reduks modules

    • ๐Ÿ‘Œ improved reduks modules syntax (use / operator instead of .. for reduks context)
    • โž• added support for hierarchical modules with arbitrary number of levels

    Reduks Saga

    • integration of saga middleware with AsyncReduksActivity
    • โž• added Saga yield selectField
    • โž• added SagaAction interface for marking actions to be processed only in Sagas not in regular reducers

    ๐ŸŒฒ Error Logging

    • ๐Ÿ‘ป introduced store.errorLogFn field that define a logger where to send internal Reduks errors (for example exception in reducer or when notifying subscribers). For a ReduksActivity, this logger is automatically set to the standard android logger

    AsyncStore

    • ๐Ÿ›  simplified AsyncStore (now logic is very similar to KovenantStore). this also fixes the issue that retrieving the store state after dispatching an action was not garanteed to return the state after processing of the action. Now this is garanteed (as it was in KovenantStore)

    DispatcherFn

    โž• added DispatcherFn for returning encapsulated store dispatcher method

    ๐Ÿ›  many other fixes