Releases: pointfreeco/swift-composable-architecture
1.9.1
What's Changed
- Fixed: Addressed a regression introduced in 1.9.0 in which a case key path could become ambiguous if an action case name and a bindable action key path name overlap (#2875).
- Infrastructure: Add step for making enum reducer state equatable in tutorial (#2873).
- Infrastructure: Fixed a small typo on 1.9 migration guide (thank @takehilo, #2876).
Full Changelog: 1.9.0...1.9.1
1.9.0
What's Changed
See Migrating to 1.9 for more details.
- Added: New versions of
TestStore.send
that accept case key paths (thanks @scogeo, #2681; #2868). - Added
Reducer.dependency(value)
, for overriding a reducer's dependency using a singleton value of a type (#2863). - Fixed: Improve
Store
diagnostics for deriving bindings (#2793). - Fixed: Avoid erroneous perception checks when
ViewStore
s are initialized in a view that doesn't useWithPerceptionTracking
(#2849). - Fixed: Support
#if
branching in@ObservableState
and enum@Reducer
s (#2800). - Infrastructure: Tree navigation documentation fixes (thanks @imjn, #2837); presentation reducer documentation fixes (thanks @ozumin, #2853).
- Infrastructure: Improve tutorial diffing (thanks @oka-yuji, #2844).
- Infrastructure: Expand release build test coverage (#2856).
- Infrastructure: Document gotcha with macros and previews (#2855).
New Contributors
- @imjn made their first contribution in #2837
- @oka-yuji made their first contribution in #2844
- @ozumin made their first contribution in #2853
Full Changelog: 1.8.2...1.9.0
1.8.2
What's Changed
- Fix: Added missing namespace for Scope when in ReducerMacro by @stefancodinglands in #2832
- Fix: More fixes for @Reducer macro #2834
New Contributors
- @stefancodinglands made their first contribution in #2832
Full Changelog: 1.8.1...1.8.2
1.8.1
What's Changed
- Infrastructure: Document
@Reducer(state: .equatable)
in the migration guide #2796 - Infrastructure: Adopt complete concurrency and fix a few warnings #2787
- Fixed: [macro] Make _$id and _$willModify() public by @freak4pc in #2789
- Fixed: Typo by @hmhv in #2797
- Infrastructure: A small change on migration guide 1.8 by @takehilo in #2799
- Infrastructure: Update links to documentation by @d-date in #2801
- Infrastructure: Replace usage of 'viewStore' with 'store' in UIKit code by @juliensagot in #2820
- Fixed Fix macro compiler bug in release mode #2827
Full Changelog: 1.8.0...1.8.1
1.8.0
What's Changed
See Migrating to 1.8 for more details.
-
Added: New
@Reducer
macro features (#2795).The
@Reducer
macro has been enhanced to streamline usage and simplify some common patterns:-
When left undefined, the
@Reducer
will now define default implementations ofState
,Action
, andbody
. This means stubbing a feature is as simple as@Reducer struct Feature {}
. -
@Reducer
can now be used with enums to simplify the boilerplate associated with "destination" and "path" reducers.
See the 1.8 migration guide for more information on how to use these APIs.
-
-
Fixed: Propagate
@ViewAction
macro availability (#2785). -
Fixed: Properly tag nested observable enums so that changes to non-observable cases are better observed (#2786).
-
Infrastructure: Fix typo in migration guide 1.6 (thanks @takehilo, #2779); better document explicit
id
with scopedForEach
(#2784); Fix typo in the 1.7 migration guide (thanks @yaslab, #2780; thanks @Ryu0118, #2790);
Full Changelog: 1.7.2...1.8.0
New Contributors
Full Changelog: 1.7.3...1.8.0
1.7.3
What's Changed
- Fixed: Fix navigationDestinationWrapper in docs in #2765
- Infrastructure: Clean up examples in #2754
- Infrastructure: Simplify Stack Navigation Demo in #2758
- Infrastructure: Some cleanup in #2759
- Infrastructure: remove invalid newlines by @hmhv in #2763
- Infrastructure: Update warning for uncached stores in #2764
- Infrastructure: Add TCAComposer to Companion libraries. by @scogeo in #2768
Full Changelog: 1.7.2...1.7.3
1.7.2
What's Changed
- Fixed: A visionOS build regression introduced in 1.7.1 has been fixed (thanks @peterbohac, #2746).
- Fixed: visionOS-related warnings around observation have been fixed (#2752).
- Infrastructure: CI now runs against visionOS (#2747).
New Contributors
- @peterbohac made their first contribution in #2746
Full Changelog: 1.7.1...1.7.2
1.7.1
What's Changed
- Fixed: The Composable Architecture's SwiftUI Binding helpers should better preserve SwiftUI animation and transaction information (#2740). Previously, animations could be lost in certain situations.
- Fixed:
@ObservableState
now supports thepackage
access modifier (thanks @nnsnodnb, #2741). - Deprecated:
Reducer.onChange(of:removeDuplicates:)
has been deprecated (#2744). TheremoveDuplicates
argument put strain on the compiler that could cause reducers to not compile in time. Migration strategy: use an explicit wrapper type that isEquatable
, instead. - Infrastructure: Migrating to 1.7 fixes (thanks @acosmicflamingo, #2732; thanks @bricklife, #2736; thanks @zvona031, #2738; thanks @shgew; #2743); README fix (thanks @yimajo, #2734).
New Contributors
- @acosmicflamingo made their first contribution in #2732
- @zvona031 made their first contribution in #2738
- @shgew made their first contribution in #2743
- @nnsnodnb made their first contribution in #2741
Full Changelog: 1.7.0...1.7.1
1.7.0
What's Changed
See Migrating to 1.7 for more details.
- Added: Observation support (#2593), which both streamlines and soft-deprecates many concepts in the Composable Architecture. See the 1.7 migration guide for more information on how to apply these updates to your applications.
- Infrastructure: Add CI for Swift 5.7.1 (#2701).
- Infrastructure: Add docs for testing
StackAction
's case path subscript (thanks @lukeredpath, #2704). - Infrastructure: Fixed examples CI (#2715).
- Infrastructure: Fixed
TestStore.assert
docs (#2720). - Infrastructure: Use
XCTExpectFailure
fromXCTestDynamicOverlay
(#2721). - Infrastructure: Documentation typo fix (thanks @JonCox, #2723).
- Infrastructure: Fixed concurrency docs (thanks @hmhv, #2726).
- Infrastructure: Fixed composing features tutorial (thanks @bricklife, #2698; thanks @Kyome22, #2727).
- Infrastructure: Fixed 1.7 migration guide (thanks @Ryu0118, #2731).
New Contributors
Full Changelog: 1.6.0...1.7.0
1.6.0
What's Changed
See Migrating to 1.6 for more details.
- Added:
TestStore.receive(\.action, payload)
for asserting against the payload of an action without requiring the action itself beEquatable
(#2669; #2691) - Fixed: It was possible for
ViewStore
s to ping theirobjectWillChange
publisher during a body computation, triggering a SwiftUI warning. This has been fixed (#2688). - Fixed:
@Reducer
macro no longer automatically applies@CasePathable
macro to enums with explicit conformance (thanks @scogeo, #2685). - Fixed: The
prepareDependencies
closure is now only performed a single time when creating a store, not every single time an action is received (#2695). - Fixed: A retain cycle in
PresentationModifier
has been fixed (#2697). - Performance: Clean up parent/child store invalidation checks (#2674).
- Infrastructure: Fix package build in 5.7 for SPI (#2675; thanks @finestructure, #2679).
- Infrastructure: Typo fix (thanks @tomokisun, #2678).
- Infrastructure: Add documentation around new store scoping characteristics (#2676).
- Infrastructure: Prevent unnecessary tutorial diffs (thanks @bricklife, #2692).
- Infrastructure: Tutorial fixes (#2693).
- Infrastructure : Clean up shared state case study (#2696).
New Contributors
- @bricklife made their first contribution in #2692
Full Changelog: 1.5.6...1.6.0