Releases: pointfreeco/swift-composable-architecture
1.5.1
What's Changed
- Fixed:
BindingAction's case key path extraction was broken, which could lead to actions received through effects to not be testable, .e.g\.binding.$textwould fail to match.binding(.set(\.$text, "Blob")). This has been fixed (#2600). - Fixed: Store caching introduced in 1.5 could lead to a regression in which a child store becomes "detached" when an uncached parent is deinitialized. This has been fixed by only caching child stores when its parents are cached (#2605).
- Fixed:
NavigationStackStore's internal use of@StateObjectcould lead to broken navigation. By using an@ObservedObjectinstead we now avoid this bug (#2599). - Infrastructure: Fixed typo in 1.5 migration guide (thanks @Ryu0118, #2595; thanks @yimajo, #2606); update documentation links in README (thanks @woxtu, #2598);
Full Changelog: 1.5.0...1.5.1
1.5.0
What's Changed
See Migrating to 1.5 for more details.
-
Added: A new
Store.scopemethod that takes a state key path and action case key path (#2527). This method uses the hashability of key paths to cache scoped child stores in the parent, improving the performance of store scoping, especially when SwiftUI views are recomputed.See the migration guide for more info.
-
Added: DependenciesMacros is now automatically exported, making
@DependencyClientavailable by default when importing the Composable Architecture (thanks @tgrapperon, #2586). -
Infrastructure: Fixed links in the migration guide (thanks @woxtu, #2578).
Full Changelog: 1.4.2...1.5.0
1.4.2
What's Changed
- Fixed:
swift-case-pathsis now correctly pinned from 1.1.0, which should avoid some SPM resolution issues (thanks @bdolewski-intellias, #2577).
New Contributors
- @bdolewski-intellias made their first contribution in #2577
Full Changelog: 1.4.1...1.4.2
1.4.1
What's Changed
- Fixed: A regression in
Reducer.forEachwas introduced in 1.4 that broke compilation in some cases, notably in the TCACoordinators library. This regression has been corrected (thanks @rhysm94, #2570). - Infrastructure: Updated Japanese and Korean README translations (thanks @Achoo-kr, #2563, #2562).
- Infrastructure: Fixed documentation links (thanks @johankool, #2566, #2576); fixed migration guide typos (thanks @kalupas226, #2569; @woxtu, #2575; @Ryu0118, #2574).
- Infrastructure: Clean up case study (thanks @mike123789-dev, #2567).
New Contributors
- @Achoo-kr made their first contribution in #2563
- @mike123789-dev made their first contribution in #2567
- @woxtu made their first contribution in #2575
- @rhysm94 made their first contribution in #2570
Full Changelog: 1.4.0...1.4.1
1.4.0
What's Changed
See Migrating to 1.4 for more details.
- Added: The
@Reducermacro (#2553). See the migration guide for more details. - Added: Reducer builder support for
any Reducer<State, Action>(#2533). - Fixed: Silenced a SwiftUI sendability warning (#2540).
- Fixed: Alert and confirmation dialog helpers now use
Text(verbatim: "")to avoid localization warnings (#2541). - Fixed:
Reducer.onChangeno longer requires anEquatableconformance (thanks @lukaskubanek, #2545). - Infrastructure: Updated Swift compiler version to 5.7.1 to follow Apple's policy (thanks @jaesung-0o0, #2549).
- Fixed: Short circuit equatability of ordered sets when counts don't match (#2556).
- Infrastructure: Added previews to integration test cases by (#2551)
New Contributors
- @lukaskubanek made their first contribution in #2545
Full Changelog: 1.3.0...1.4.0
1.3.0
What's Changed
- Added:
dismiss(transaction:)dependency (thanks @tomokisun, #2433). - Fixed:
Reducer.ifLetchild effects are now properly cancelled when reset by a parent (#2402). - Fixed: Added missing
fileandlineparameters todismissdependency (thanks @heiberg, #2440). - Fixed: Only dismiss alert/dialog state when receiving a domain-specific action (#2468).
- Fixed: Serialize
Reducer._printChanges()(#2519). - Infrastructure: README, tutorial, and other assorted fixes (thanks @zooxop, #2405; thanks @filblue, #2418, #2467, #2486; thanks @yimajo, #2425, #2426; thanks @denil-ct, #2427; thanks @mornin-ystIUBqR, #2446; thanks @jkimdev, #2454; thanks @Jager-yoo, #2442; #2472; thanks @vasiliyzaycev, #2474, #2475; thanks @jtouzy in #2477; thanks @jaesung-0o0, #2484, #2499; thanks @ictechgy, #2481; thanks @Ryu0118, #2482; #2480; thanks @KyleLeneau, #2493; thanks @kalupas226, #2498; thanks @kodok1988, #2511).
- Infrastructure: Rename Standups sample project to SyncUps (#2524); remove meeting feature reducer (#2410); fixed
.minutesduration (thanks @filblue, #2437). - Infrastructure: Bump
actions/checkoutversion tov4(thanks @Ryu0118, #2479). - Infrastructure: Clean up
StoreTask.cancelimplementation (thanks @Ryu0118, #2496). - Infrastructure: Revamp integration tests (#2503, #2515).
- Infrastructure: Simplify SwiftUI case studies (#2526).
- Infrastructure: Fixed search example debounce duration (thanks @wtsnz, #2525).
New Contributors
- @zooxop made their first contribution in #2405
- @denil-ct made their first contribution in #2427
- @tomokisun made their first contribution in #2433
- @mornin-ystIUBqR made their first contribution in #2446
- @jkimdev made their first contribution in #2454
- @vasiliyzaycev made their first contribution in #2474
- @jtouzy made their first contribution in #2477
- @ictechgy made their first contribution in #2481
- @KyleLeneau made their first contribution in #2493
- @kodok1988 made their first contribution in #2511
- @wtsnz made their first contribution in #2525
Full Changelog: 1.2.0...1.3.0
1.2.0
What's Changed
- Added: Legacy alert and action sheet presentation APIs for iOS 13 support (#2379). The
alert(store:)andconfirmationDialog(store:)view modifiers are iOS 15+, but we now havelegacyAlert(store:)andactionSheet(store:)for iOS 13+. - Added:
TestStore.bindingsfor testing bindable view state (#2394). - Fixed: Addressed a potential threading issue in
Store.send(#2382). - Fixed: Worked around a Catalina runtime crash due to unavailable macOS symbols (thanks @jaredh159, #2385).
- Infrastructure: Docs fixes (thanks @nickkohrn, #2383; @jaesung-0o0, #2389).
- Infrastructure: Added README section for companion libraries (#2395).
- Infrastructure: Fixed stack case study (#2397)
New Contributors
- @jaredh159 made their first contribution in #2385
Full Changelog: 1.1.0...1.2.0
0.59.0
What's Changed
- Added: back-ported legacy alert and action sheet APIs for those using iOS 13 alerts and action sheets in their apps (#2379).
- Fixed: Addressed a potential threading issue in
Store.send(#2382). - Fixed: Un-deprecated
debounceandthrottleoverloads restored in 1.1.0 (thanks @pyrtsa, #2392).
Full Changelog: 0.58.2...0.59.0
0.58.2
What's Changed
- Fixed: Back-ported a deprecation warning fix for
TestStore.init(thanks @AndreaRomani, #2378).
New Contributors
- @AndreaRomani made their first contribution in #2378
Full Changelog: 0.58.1...0.58.2
0.58.1
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