Changelog History
Page 1
-
v6.1.1 Changes
January 06, 2023Other:
- Replaced
open funcwithpublic funcin extensions toStorebecause they cannot be overridden anyway (https://github.com/ReSwift/ReSwift/pull491) - @MaksimGromov - โ Add tests to clarify initial state dispatch (#485) - @DivineDominion
- ๐ Fix some typos (#477) - @lumiasaki
- Migrate to Github Actions (#486) - @mjarvis
๐ New Contributors
- @lumiasaki made their first contribution in #477
- @maksimvm made their first contribution in #491
Full Changelog : 6.1.0...6.1.1
- Replaced
-
v6.1.0 Changes
May 11, 2021 -
v6.0.0 Changes
October 02, 2020Breaking API Changes:
- โฌ๏ธ Drop support for Swift 3.2, 4.0, and 4.1. (#418) - @DivineDominion
- โฌ๏ธ Drop support for iOS 8 (#447) - @DominicSchiller-IBM-CIC
API Changes:
Other:
- โ Add key paths to subscription select (#415) - @djtech42
- ๐ Make isDispatching of Store atomic (#341, #446) - @zhongwuzw, @basememara
-
v5.0.0 Changes
July 02, 2019Breaking API Changes:
โ Remove
StandardActionandStandardActionConvertible(#270) - @mjarvis- The existence of
StandardActionandStandardActionConvertibleis somewhat confusing to new users, and does not have a direct use case within the core ReSwift library. Therefore, it has been moved to ReSwift-Recorder where it belongs.
- If you're using
StandardActionin your project withoutReSwift-Recorder, you can copy the old implementation into your project as a middle ground while you migrate away from its usage.๐ Make Store's state setter private (#354) - @mokagio
- Removes the ability to directly set
stateby making itprivate(set). This prevents users from bypassing reducers and middleware. All mutation of the state must occur through the normalAction&Reducermethods. - This deprecates the usage of
ReSwift-Recorder. Changes may be made to that library in the future in order to support this change.
Other:
- The existence of
-
v4.1.1 Changes
March 21, 2019 -
v4.1.0 Changes
March 21, 2019API Changes:
๐ Deprecate
StandardActionandStandardActionConvertible- @mjarvis- These have been moved to https://github.com/ReSwift/ReSwift-Recorder since they are unnecessary for the base use of ReSwift
๐ Deprecate
ActionCreatorandAsyncActionCreator(#391) - @mjarvis- These are deprecated in favor of https://github.com/ReSwift/ReSwift-Thunk
Other
- โ Add Subscription
skip(when:)andonly(when:)(#242) - @mjarvis - โ Add
automaticallySkipsRepeatsconfiguration option to Store initializer (#262) - @DivineDominion - ๐ Improve subscription & state update performance (#325) - @mjarvis
- ๐ Enable build settings "Allow app extension API only" (#328) - @oradyvan
- Open
Subscription<State>to allow external extensions (#383) - @mjarvis - โก๏ธ Update project to Swift 4.2 (#256, #335, #374) - @mjarvis, @DivineDominion
-
v4.0.1 Changes
December 19, 2017Other:
- ๐ Fix retain cycle in SubscriptionBox (#278) - @mjarvis, @DivineDominion
- ๐ Fix bug where using skipRepeats with optional substate would not notify when the substate became nil #55655 - @Ben-G
- โ Add automatic skipRepeats for Equatable substate selection (#300) - @JoeCherry
-
v4.0.0 Changes
April 20, 2017Breaking API Changes:
Introduced a new Subscription API (#203) - @Ben-G, @mjarvis, @DivineDominion
The subscription API provides basic operators, such as
skipRepeats(skip calls tonewStateunless state value changed) andselect(sub-select a state).This is a breaking API change that requires migrating existing subscriptions that sub-select a portion of a store's state:
-Subselecting state in 3.0.0:
store.subscribe(subscriber) { ($0.testValue, $0.otherState?.name) } -Subselecting state in 4.0.0:
store.subscribe(subscriber) { $0.select { ($0.testValue, $0.otherState?.name) } }0๏ธโฃ For any store state that is
Equatableor any sub-selected state that isEquatable,skipRepeatswill be used by default.For states/substates that are not
Equatable,skipRepeatscan be implemented via a closure:store.subscribe(subscriber) { $0.select { $0.testValue }.skipRepeats { return $0 == $1 } }โฌ๏ธ Reducer type has been removed in favor of reducer function (#177) - Ben-G
๐ Here's an example of a new app reducer, for details see the README:
func counterReducer(action: Action, state: AppState?) -\> AppState { var state = state ?? AppState() switch action { case \_ as CounterActionIncrease: state.counter += 1case \_ as CounterActionDecrease: state.counter -= 1default:break } return state }dispatchfunctions now returnVoidinstead ofAny(#187) - @Qata- The return type has been removed without any replacement, since the core team did not find any use cases of it. A common usage of the return type in redux is returning a promise that is fullfilled when a dispatched action is processed. While it's generally discouraged to disrupt the unidirectional data flow using this mechanism we do provide a
dispatchoverload that takes acallbackargument and serves this purpose.๐ Make
dispatchargument in middleware non-optional (#225) - @dimazen, @mjarvis, @Ben-GMiddlewarenow has a generic type parameter that is used for thegetStatemethod and matches the Store'sStatetype. This allows accessing the state in middleware code without type casting (#226) - @mjarvisOther:
- Extend
StoreTypewith substate selector subscription (#192) - @mjarvis - โ Add
DispatchingStoreTypeprotocol for testing (#197) - @mjarvis - ๐ฆ Installation guide for Swift Package Manager - @thomaspaulmann
- ๐ Update documentation to reflect breaking API changes - @mjarvis
- Clarify error message on concurrent usage of ReSwift - @langford
- Extend
-
v3.0.0 Changes
November 13, 2016๐ Released: 11/12/2016
This release supports Swift 3.0.1
๐ฅ Breaking API Changes:
API Changes:
Other :
-
v2.1.0 Changes
September 16, 2016๐ Released: 09/15/2016
This version supports Swift 3 for Swift 2.2 support use an earlier release.
Other :
- Swift 3 preview compatibility, maintaining Swift 2 naming - (#126) - @agentk
- โก๏ธ Xcode 8 GM Swift 3 Updates (#149) - @tkersey
- โ Migrate Quick/Nimble testing to XCTest - (#127) - @agentk
- ๐ Automatically build docs via Travis CI (#128) - @agentk
- ๐ Documentation Updates & Fixes - @mikekavouras, @ColinEberhardt