Skip to content

Releases: ReSwift/Recombine

Replay Fixes

30 Jul 01:10
Compare
Choose a tag to compare

Bugfixes

  • Replay now delivers on DispatchQueue.main to prevent crashing SwiftUI if the dispatchEnabled publisher is being listened to.

Replay Support

29 Jul 02:32
Compare
Choose a tag to compare

API Additions:

  • Added replay function to BaseStore.
  • Added dispatchEnabled flag to `BaseStore.

SideEffects

27 Jul 00:57
Compare
Choose a tag to compare

Breaking API Changes:

  • Renamed concat on Middleware to appending.
  • Update ActionLens to have a calling interface similar to StoreProtocol types.

API Additions:

  • Added SideEffect type that runs after middleware.

5.1.0

23 Jul 03:16
Compare
Choose a tag to compare

API Additions:

  • dispatch now has a collect: parameter that defaults to false. When this parameter is enabled, actions will be sent as one array after the completion of any underlying publishers.

Big Overhaul 🏗

22 Jul 07:29
Compare
Choose a tag to compare

Bugfixes:

  • Previously BaseStore was able to have actions dispatched to it before subscriptions were ready to accept them (notably when using a static property to house it). This has been fixed.

Breaking API Changes:

  • Middleware can now dispatch raw actions, requiring it to be parameterised by three types.
  • ActionStrata has been leveraged to contain arrays of raw and refined actions, allowing for more complex behaviour in both Thunk and Middleware.

API Additions:

  • ActionStrata has been expanded with convenience initialisers for variadic creation.
  • ActionStrata has been expanded with convenience getters for the underlying values.
  • dispatch functions that accept raw actions or ActionStrata are now able to be run serially using the serially parameter, allowing for deterministic behaviour in certain circumstances.

4.0.0: StoreBinding fixes

05 Jul 06:51
Compare
Choose a tag to compare

StoreBinding is now a dynamic property, so that changes to the underlying store's state trigger view refreshes.
StoreBinding now has more convenience initialisers.
All PassthroughSubjects on store types have been made private and replaced with AnyPublisher vars for public use, to ensure that only the provided functions are used in case of future API changes.

3.0.0

02 Jul 04:54
Compare
Choose a tag to compare

Renames the next tuple variable in actionsPairedWithState to current.
Adds a dispatch function that can be invoked within Middleware to send an action around again, allowing for retriggering Middleware.
Adds an initialiser to Middleware that takes multiple other Middleware as its arguments and concats them in order.
Splits refinedActions into preMiddlewareRefinedActions and postMiddlewareRefinedActions.
Adds an injectBypassingMiddleware function to BaseStore that allows you to send actions without triggering Middleware (useful for replaying).

2.0.1

29 Jun 04:06
Compare
Choose a tag to compare

Fixes an issue where empty refined actions causes the store to lock up.

2.0!

28 Jun 01:43
e00042f
Compare
Choose a tag to compare

Renames Middleware to Thunk.
Thunk can now return raw or refined actions.
Adds a new Middleware that synchronously allows you to add or remove actions.
Adds a new property wrapped called StoreBinding.
Adds a new ActionLens type.
The State parameter of BaseStore is now required to be Equatable.
Adds readOnly and writeOnly accessors to StoreProtocol.

Bindings ahoy 🏴‍☠️

16 Feb 10:43
b76faa0
Compare
Choose a tag to compare

API Changes:

  • State lensing is now achieved through functions, allowing for more complex (and potentially unsafe) lensing.

API Additions:

  • Added binding functions with and without lensing, to allow text field and view state binding directly into the store.