Releases: pointfreeco/swift-composable-architecture
1.10.0
What's Changed
- Added: All new state sharing tools, including the
@Shared
property wrapper and more (#2858). (Thanks @NFulkerson, @hallee, @pyrtsa, @DandyLyons, @hiltonc, @lukeredpath, @andtie, @AlexKobachiJP, @ZevEisenberg, for their contributions!) - Updated: Bumped swift-collections to remove
@unchecked
fromStackState
'sSendable
conformance (thanks @rhysm94, #2997). - Updated: Bumped swift-custom-dump to avoid a crash and leverage the latest tools for shared state (thanks @y-mimura, #3008).
- Infrastructure: Update README.md package addition wording to match latest Xcode (thanks @dafurman, #2998).
- Infrastructure: Tutorial fixes and updates (thanks @dafurman, #3003).
New Contributors
Full Changelog: 1.9.3...1.10.0
1.9.3
What's Changed
- Added: Added missing
StackActionOf<R>
type alias (thanks @d-date, #2906). - Fixed: Cache scoped presentation stores where possible (thanks @lukeredpath, #2908).
- Fixed: Allow "inert" enum state to be observed by having an ever-changing ID (#2910).
- Fixed: Silence SwiftSyntax 510 / Xcode 15.3 warnings (#2909).
- Fixed: Restore
TestStore
autocompletion (#2923). - Fixed: It is now possible to scope bindings of enum stores to non-reducer cases for sheets and other navigation (#2943).
- Fixed:
package
access modifier support in enum@Reducer
macro (thanks @samrayner, #2939). - Fixed:
Effect.publisher
is no longer escaping (#2968). - Fixed: Add runtime warning diagnostic to catch nested calls to
observe
(#2996). - Infrastructure: Fix documentation typos (thanks @takehilo, #2898; #2944); tutorial fixes (thanks @LRSnowX, #2808); test store tutorial/documentation fixes (#2912); fix favorites case study mocks (thanks @beribas, #2962); improve docs for stack-based navigation (#2967); fix dismissal in UIKit demos (#2986) fix shared state case study (thanks @eltociear, #2994).
New Contributors
- @LRSnowX made their first contribution in #2808
- @beribas made their first contribution in #2962
- @samrayner made their first contribution in #2939
- @eltociear made their first contribution in #2994
Full Changelog: 1.9.2...1.9.3
1.9.2
What's Changed
- Fixed: The
BindableAction
dynamic case lookup added in 1.9 led to a regression in compile time performance that could break downstream builds. This has been reverted (#2886). - Fixed: Support swift-syntax 510 (#2884).
- Infrastructure: Add Links to Migration Guides in README (thanks @jshier, #2877).
- Infrastructure: Fixed the article of tree-based navigation (thanks @takehilo, #2882).
- Infrastructure: Leverage dynamic case writability in example code (#2885).
Full Changelog: 1.9.1...1.9.2
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