- Changed: the Composable Architecture now depends on Identified Collections for
IdentifiedArray
, which has been rewritten for correctness and performance. There are some breaking changes, which are documented in its release. - Changed: support for Swift 5.1 and 5.2 has been dropped. Please use Swift 5.3 (Xcode 12) or later, or this is of course a breaking change, and you must lock your application to swift-composable-architecture 0.20.0 or earlier.
- Changed:
Reducer.binding
now takes an extract function, not a case path. Case path expressions can still be used, meaning existing uses should generally continue to compile. If you were passing a concreteCasePath
value, this is a breaking change, and you can pass along theCasePath.extract(from:)
method, instead. - Changed:
TestStore
has relaxed itsEquatable
constraint onAction
. It is only required for whenTestStore.receive
s actions from effects. - Performance improved: view stores now perform the minimum number of equality checks necessary (thanks @iampatbrown).
- Fixed:
ViewStore.publisher
now emits the current store state, and not the previous state (thanks @maximkrouk, @iampatbrown). - Infrastructure: cleaned up recursive case study, web socket case study; added benchmarking target.