Skip to content

Releases: pointfreeco/swift-composable-architecture

0.58.2

16 Aug 17:10
3a2b7d7
Compare
Choose a tag to compare

What's Changed

  • Fixed: Back-ported a deprecation warning fix for TestStore.init (thanks @AndreaRomani, #2378).

New Contributors

Full Changelog: 0.58.1...0.58.2

0.58.1

15 Aug 20:22
67eb94f
Compare
Choose a tag to compare

What's Changed

  • Fixed: Hard deprecated a few more soft-deprecated APIs for ease of migration (#2376).

Full Changelog: 0.58.0...0.58.1

1.1.0

14 Aug 20:04
Compare
Choose a tag to compare

What's Changed

  • Added: An overload of Reducer.onChange(of:) that takes a configurable removeDuplicates closure for the equality check (thanks @ohitsdaniel, #2338).
  • Added: Effect.debounce and Effect.throttle, for debouncing and throttling effects on a scheduler (#2372, #2368). This functionality existed in past releases but was removed from 1.0 alongside other deprecated Combine code. Because there is no modern replacement for Effect.throttle we have brought this functionality back to 1.1.
  • Fixed: XCTest failures emitted when test stores initialize state (e.g. if Reducer.State.init accesses a dependency that hasn't been overridden) are now shown in the test that creates the store rather than hidden in application code (#2352).
  • Fixed: Suppressed a warning that previously emitted when instantiating a test store state with .init() instead of Feature.State() (#2347).
  • Fixed: Child features presented by grandparent features are now properly dismissed when the child calls @Dependency(\.dismiss) (#2373).
  • Infrastructure: Documentation updates and fixes (#2336; thanks @jayrhynas, #2342; thanks @atimca, #2350; #2353; thanks @hmhv, #2355; thanks @Ryu0118, #2358, #2367; thanks @yimajo, #2357; thanks @ValseLee, #2369, #2370).

New Contributors

Full Changelog: 1.0.0...1.1.0

1.0.0

30 Jul 22:01
195284b
Compare
Choose a tag to compare

What's Changed

  • The Composable Architecture 1.0 (#2318). Fully removes all deprecated APIs from the 0.x series.

Full Changelog: 0.58.0...1.0.0

0.58.0

30 Jul 21:27
Compare
Choose a tag to compare

What's Changed

  • Added: Allow chaining into BindingViewState (#2334).
  • Deprecated: The old alert/dialog APIs have been hard-deprecated in favor of the newer presentation APIs (#2335).
  • Infrastructure: Fix compiler error in tutorial (#2331); make some small improvements to Standups demo (#2333).

Full Changelog: 0.57.0...0.58.0

0.57.0

28 Jul 17:07
db2a55f
Compare
Choose a tag to compare

What's Changed

  • Changed: Prerelease 1.0 has been merged into this release (#1929). It includes numerous deprecations to help folks prepare for 1.0.
  • Changed: BindingAction's custom dump format now abbreviates its value (#2315).
  • Added: Store.publisher as an alternate to ViewStore.publisher (#2330).
  • Fixed: Use Concurrency Extras' Task.cancellableValue instead of redefining it (thanks @Ryu0118, #2310).
  • Fixed: TestStore.init(initialState:reducer:prepareDependencies:file:line:) deprecation suggestion has been corrected (thanks @Ryu0118, #2313).
  • Fixed: Update Store.send(_ action:) to return StoreTask (thanks @hj56775, #2323).
  • Infrastructure: Remove unneeded awaits from tests (thanks @Ryu0118, #2312).
  • Infrastructure: Fixed typo in withTaskCancellation's debounce documentation (thanks @brzzdev, #2319).

Full Changelog: 0.56.0...0.57.0

0.56.0

18 Jul 00:23
17add0f
Compare
Choose a tag to compare

What's Changed

  • Added: TestStore.useMainSerialExecutor, a configurable option to make testing code using Swift concurrency more reliable (#2301 ). This feature uses a newly-extracted library, Concurrency Extras.
  • Added: Store.send can now be configured with an animation or transaction (thanks @HarshilShah, #2241).
  • Added: TestStoreOf type alias for specifying a test store of a reducer (thanks @brzzdev, #2277).
  • Changed: ViewStoreTask.cancel is now synchronous (#2282).
  • Changed: Closure arguments for various APIs have been given names, improving documentation and Xcode completion (#2295).
  • Fixed: Effect cancellation IDs should no longer nest into deep AnyHashables, fixing potential bugs (#2283).
  • Fixed: navigationDestination(store:) dismissal should now work more reliably (thanks @tplaymeow, #2210; #2284).
  • Fixed: Added a workaround for a SwiftUI bug involving nested stack and tree navigation (thanks @benlings, #2289).
  • Deprecated: TestStore scoping has been deprecated (#2292).
  • Infrastructure: Added case study for tree-based navigation to multiple destinations using enum state (thanks @tiagopigatto, #2231)

New Contributors

Full Changelog: 0.55.1...0.56.0

0.55.1

13 Jul 00:16
Compare
Choose a tag to compare

What's Changed

  • Fixed: BindingViewStore's dynamic member lookup has been weakened to support let properties (#2243).
  • Fixed: A regression introduced in 0.55.0 caused tests equating BindingAction to fail has been fixed (thanks @bharath2020, #2248).
  • Fixed: WithViewStore initializers that take BindingViewStore are now available on ViewStore, as well (thanks @jessetipton, #2274).
  • Fixed: WithViewStore initializers introduced in 0.55.0 were ambiguous when working with bindable state but no bindable view state. This has been fixed (#2278).
  • Fixed: Some changes to view state containing BindingViewState that SwiftUI failed to observe will now correctly be observed (#2255).
  • Infrastructure: Documentation fixes (thanks @yimajo, #2242; @jessetipton, #2256, #2261, #2267; #2280) and updates (thanks @mrtnlst, #2252).
  • Infrastructure: Fixed programmable 2FA navigation in Tic-Tac-Toe #2264).

New Contributors

Full Changelog: 0.55.0...0.55.1

0.55.0

28 Jun 19:39
89f80fe
Compare
Choose a tag to compare

What's Changed

  • Added: The Composable Architecture's SwiftUI bindings integration has been greatly improved, with better support for view state bindings (#2215).
  • Added: Store.send and Store.withState have been added, for sending actions to stores and accessing store state without needing a view store (#2222).
  • Added: ReducerProtocol.onChange (#2226).
  • Added: EffectOf<Reducer> convenience type alias to EffectTask<Reducer.Action> (#2237).
  • Updated: swiftui-navigation has been bumped to 0.8.0 (#2239).
  • Improved: TestStore failure messages have been improved (#2227, #2236).
  • Fixed: ForEachStore no longer force-unwraps its cached value, avoiding crashes in race condition-heavy code (thanks @ohitsdaniel, #1036).
  • Fixed: Addressed a few Xcode 15 warnings (Swift 6 errors) (#2213).
  • Deprecated: Effect.cancel(ids:) has been deprecated (#2221).
  • Infrastructure: Documentation improvements (thanks @ccxla, #2185, #2184, #2183; @tomu28, #2209; @alexhunsley, #2204; @oronbz, #2173; #2225; #2238).

New Contributors

Full Changelog: 0.54.1...0.55.0

0.54.1

14 Jun 20:00
3fa456c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.54.0...0.54.1