Skip to content

Releases: StevenLambion/SwiftDux

v0.12.0

11 Jan 00:43
Compare
Choose a tag to compare

Changes

  • Action plans themselves now trigger the change event from the store. #19

Added

  • API to chain action plans together. #20
  • API to call code blocks when an action plan completes. #20
  • onAppear(dispatch:cancelOnDisappear:) method on View #19

v0.11.3

27 Nov 04:07
344e06c
Compare
Choose a tag to compare

Fixed

  • Manually implemented coding protocol due to bugs with the synthesized version. #15
  • The SwiftExtra module now works on macOS without requiring Catalyst. #16

Technical

  • Added macOS as a testing target. #16

v0.11.2

03 Oct 20:46
2d479ad
Compare
Choose a tag to compare

Changes

  • Cleanup to documentation. #13

Added

  • API to cancel publisher based ActionPlans. #14

Technical

  • Code formatting via swift-format. #13
  • Moved documentation to gh-pages branch. #13
  • Set up CI linting and testing via Github workflows. #13
  • Added code coverage reports via codecov. #13

v0.11.1

19 Sep 15:45
ac2c6aa
Compare
Choose a tag to compare

Fixed

  • Fixed type erasing in StateConnectionViewGuard by returning the contents as an optional view rather than using AnyView.

v0.11.0

30 Aug 15:51
Compare
Choose a tag to compare

Changes

  • Moved PrintActionMiddleware to SwiftDuxExtras
  • StoreProvider view modifier updates its view when a StoreAction<_> Is dispatched.

Added

  • SwiftDuxExtras module
  • Persistence API to SwiftDuxExtras
  • PersistStateMiddleware
  • StoreReducer for store specific actions.
  • "StoreAction<_>.prepare" action fired from the store at initialization.
  • "StoreAction<_>.reset(state:)" action to replace the current state of the store.

v0.10.0

30 Aug 15:57
25508f7
Compare
Choose a tag to compare

Changes

  • PublishableActionPlan has been merged into ActionPlan.
  • All actions dispatched from a view will update that view. This includes actions dispatched inside an action plan.

Added

  • Middleware API
  • PrintActionMiddleware

v0.9.0

26 Aug 19:03
Compare
Choose a tag to compare

Changes

  • The view of a mapped state will wait to render until the state is exists (non-nil). This completes all the previous functionality of the Connector API.
  • The updateWhen argument of View.connect(updateWhen:mapState:) is now optional with a default value.

Fixed

  • Views continue to properly update when dispatching an acton after their parent view has re-rendered.

Removed

  • Connector API has been removed.

v0.8.0

02 Aug 03:00
e76c7ae
Compare
Choose a tag to compare

Changes

  • Reimplemented property wrapper API now that environment objects are working correctly.
  • Renamed the modifyAction(_:) method to onAction(perform:) to better match the SwiftUI API.
  • An ActionDispatcher no longer returns a publisher when sending an action to simply the API.

Added

  • Connectable and ParameterizedConnectable protocols to replace the Connector API.
  • @MappedState property wrapper to bind a mapped state to a view.
  • @MappedDispatch property wrapper to bind an action dispatcher to a view.

Deprecated

  • Connector API in favor of Connectable

v0.7.1

20 Jul 17:33
6836982
Compare
Choose a tag to compare

Changes

  • Updated to beta 4 of SwiftUI and Combine.

v0.7.0

06 Jul 19:06
de4c3af
Compare
Choose a tag to compare

This version reverts from using property wrappers back to a simplified API due to SwiftUI's inability to handle the creation of bindable objects. It appears that bindable objects of any kind have to be external and/or singleton in nature within SwiftUI. The new Connector API is built around this.

Changes

  • Updated to support beta 3.
  • Removed property wrappers with a new Connector API to externalize and reduce the creation of bindable objects within SwiftUI.
  • Removed withState view modifier in favor of Connector API.
  • Added a new Connector API to generate the mapping of state to a view outside of SwiftUI.
  • Removed modifyAction in favor of using DispatcherProxy directly, so that it can be created outside of SwiftUI.

Known issues

  • NavigationLink has a bug with environment objects. See the "Known Issues" section of the README.