Releases: pointfreeco/swift-composable-architecture
Releases · pointfreeco/swift-composable-architecture
0.1.4
- Added:
IdentifiedArray.remove(id:)
method for removing elements by identifier. - Added:
Reducer.combined(with:)
method for combining reducers using dot-chaining (thanks @alexito4). - Added:
Reducer.run
method for invoking the reducer in a more ergonomic fashion thancallAsFunction
in Swift 5.1. - Changed: optimized test support code to dynamically load XCTest just once per test process (rather than once per assertion failure).
- Changed:
IdentifiedArray
'sid
-based subscript no longer removes elements from the array when passednil
. Useremove(id:)
instead. - Changed:
CasePath
is no longer vendored. It is instead included as an SPM dependency. - Changed:
Effect.async
has been renamed toEffect.run
. - Changed:
Effect.sync
has been renamed toEffect.catching
. - Bug fixed:
TestScheduler
now always performs/schedules simultaneous work by earliest-scheduled. - Infrastructure: added binding-based animation demo to case studies.
- Infrastructure: add Swift forum to README.
- Infrastructure: fixed typo in
IfLetStore
documentation (thanks @jasdev).
0.1.3
Breaking changes:
ComposableArchitecture
is no longer a dynamic library. To upgrade:- You will need to reintegrate the library into your application. You can reintegrate by removing and re-adding the library to your application or shared framework target.
- If you include
ComposableArchitecture
in more than one target in your project, you must move it to a single, dynamic framework, instead. Then this framework is what you can share among your app, framework, and test targets. For an example, check out the Tic-Tac-Toe demo application, which has been modularized and integratesComposableArchitecture
in this fashion.
ComposableArchitectureTestSupport
has been removed andTestStore
has moved intoComposableArchitecture
. To upgrade:- Change
import ComposableArchitectureTestSupport
toimport ComposableArchitecture
in your tests.
- Change
Other changes:
- Added:
stateless
andactionless
transformations toStore
to more easily derive stores that should only send actions or only read state. - Changed:
IfLetStore
no longer wraps its content in aGroup
. - Bug fixed:
TestStore
'sassert
no longer crashes when working with empty state structs (thanks @jlainog). - Infrastructure: decluttered CI output using
xcodebuild -quiet
(thanks @tarjamorgado). - Infrastructure: demos now build in Xcode 11.3.1.
0.1.2
- Bug fixed: Xcode previews should no longer always crash during compilation.
- Infrastructure: simpler Tic-Tac-Toe winning condition logic (thanks @thomasmarsh).
0.1.1
- Added:
TestStore
now hasscope
methods that mirrors itsStore
counterpart for testing view store transformations. - Removed:
TestStore
no longer has an initializer that takesstate
andaction
transformations. Usescope
instead. - Changed: identified array's id-based subscript now takes an explicit
id
parameter name. This avoids ambiguity when subscripting into an array ofInt
-identified elements. - Bug fixed: annotating reducers with
debug()
no longer breaks them in release builds (thanks @tulushev). - Bug fixed:
nil
-ing out an element of an identified array no longer puts it in an invalid state. - Bug fixed: removing more than one element of an identified array via index set should no longer remove any incorrect elements or crash.
- Improved: messaging for out-of-bounds
forEach
errors (thanks @ryantstone for bringing up the issue). - Improved: documentation (thanks @alohaglenn, @ReadmeCritic 😉, @natemann).
0.1.0
A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.