Releases: pointfreeco/swift-composable-architecture
Releases · pointfreeco/swift-composable-architecture
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
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
1.1.0
What's Changed
- Added: An overload of
Reducer.onChange(of:)
that takes a configurableremoveDuplicates
closure for the equality check (thanks @ohitsdaniel, #2338). - Added:
Effect.debounce
andEffect.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 forEffect.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 ofFeature.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
- @jayrhynas made their first contribution in #2342
- @atimca made their first contribution in #2350
- @ValseLee made their first contribution in #2369
Full Changelog: 1.0.0...1.1.0
1.0.0
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
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
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 toViewStore.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 returnStoreTask
(thanks @hj56775, #2323). - Infrastructure: Remove unneeded
await
s from tests (thanks @Ryu0118, #2312). - Infrastructure: Fixed typo in
withTaskCancellation
's debounce documentation (thanks @brzzdev, #2319).
Full Changelog: 0.56.0...0.57.0