Skip to content

Releases: pointfreeco/swift-composable-architecture

0.1.4

14 May 19:13
Compare
Choose a tag to compare
  • 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 than callAsFunction 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's id-based subscript no longer removes elements from the array when passed nil. Use remove(id:) instead.
  • Changed: CasePath is no longer vendored. It is instead included as an SPM dependency.
  • Changed: Effect.async has been renamed to Effect.run.
  • Changed: Effect.sync has been renamed to Effect.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

11 May 22:53
0442bfb
Compare
Choose a tag to compare

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 integrates ComposableArchitecture in this fashion.
  • ComposableArchitectureTestSupport has been removed and TestStore has moved into ComposableArchitecture. To upgrade:
    • Change import ComposableArchitectureTestSupport to import ComposableArchitecture in your tests.

Other changes:

  • Added: stateless and actionless transformations to Store to more easily derive stores that should only send actions or only read state.
  • Changed: IfLetStore no longer wraps its content in a Group.
  • Bug fixed: TestStore's assert 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

07 May 13:39
bcb10ae
Compare
Choose a tag to compare
  • Bug fixed: Xcode previews should no longer always crash during compilation.
  • Infrastructure: simpler Tic-Tac-Toe winning condition logic (thanks @thomasmarsh).

0.1.1

06 May 16:15
4016008
Compare
Choose a tag to compare
  • Added: TestStore now has scope methods that mirrors its Store counterpart for testing view store transformations.
  • Removed: TestStore no longer has an initializer that takes state and action transformations. Use scope instead.
  • Changed: identified array's id-based subscript now takes an explicit id parameter name. This avoids ambiguity when subscripting into an array of Int-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

09 Jan 19:10
Compare
Choose a tag to compare

A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.