Releases: pointfreeco/swift-composable-architecture
1.5.2
What's Changed
- Performance: cache more child stores and avoid extra copies of child/presented state (#2627).
- Infrastructure: 1.5 migration guide updates (#2615); link to observation beta in README (#2616).
Full Changelog: 1.5.1...1.5.2
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.$text
would 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@StateObject
could lead to broken navigation. By using an@ObservedObject
instead 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.scope
method 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
@DependencyClient
available 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-paths
is 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.forEach
was 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
@Reducer
macro (#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.onChange
no longer requires anEquatable
conformance (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.ifLet
child effects are now properly cancelled when reset by a parent (#2402). - Fixed: Added missing
file
andline
parameters todismiss
dependency (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
.minutes
duration (thanks @filblue, #2437). - Infrastructure: Bump
actions/checkout
version tov4
(thanks @Ryu0118, #2479). - Infrastructure: Clean up
StoreTask.cancel
implementation (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.bindings
for 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
debounce
andthrottle
overloads 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