Releases: StevenLambion/SwiftDux
Releases · StevenLambion/SwiftDux
v0.12.0
v0.11.3
v0.11.2
v0.11.1
Fixed
- Fixed type erasing in StateConnectionViewGuard by returning the contents as an optional view rather than using AnyView.
v0.11.0
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
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
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 ofView.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
Changes
- Reimplemented property wrapper API now that environment objects are working correctly.
- Renamed the
modifyAction(_:)
method toonAction(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
Changes
- Updated to beta 4 of SwiftUI and Combine.
v0.7.0
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.