Skip to content

Releases: pointfreeco/swift-composable-architecture

1.12.0

23 Jul 01:32
Compare
Choose a tag to compare

What's Changed

  • Added: Swift Testing beta support (#3229).
  • Added: FileStorageKey now supports custom decoding/encoding (thanks @oskarek, #3225).
  • Fixed: Update @Reducer enum macro to generate direct action cases for ephemeral state and avoid warnings produced by Never (#3240).
  • Fixed: Shared's didSet is now isolated to the main actor to avoid potential data races (#3206).
  • Fixed: Point updated packages to swiftlang organization to suppress SwiftPM warnings (#3234)
  • Infrastructure: Tutorial/documentation/example typo fixes and cleanup (thanks @btr-better, #3193; @eltociear, #3194; #3200; @larryonoff, #3201; @junbangg, #3217, #3216, #3221, #3237, #3238; @gibachan, #3228; @takehilo, #3220; @daichikuwa0618, #3210).
  • Infrastructure: Convert all test/example usage of ActorIsolated to LockIsolated (#3198).
  • Infrastructure: Made internal improvements to shared file storage throttling (#3079).
  • Infrastructure: Remove Swift 5.7.1 tools (#3203).
  • Infrastructure: Add .editorconfig for consistent code formatting (thanks @Matejkob, #3215).

New Contributors

Full Changelog: 1.11.2...1.12.0

1.11.2

19 Jun 21:54
1f952d8
Compare
Choose a tag to compare

What's Changed

  • Fixed: Avoid potential sendability warnings in Swift 6 mode (#3167).
  • Fixed: PersistenceKeyDefault no longer uses the loaded value as an initial value (thanks @fdzsergio, #3174).
  • Fixed: Address a potential deadlock by isolating Shared.withLock to the main actor (#3178).
  • Fixed: Disfavor Shared's optional dynamic member lookup (#3170). Note that this fix may be source breaking. See the migration guide for more details.
  • Fixed: Don't over-observe app storage mutations (#3186).
  • Fixed: $shared.elements is now stable based on identity, and restricted to identified arrays (#3187).
  • Infrastructure: Drop Swift <5.9 support (#3185). Xcode 15 has been required for app submission since April, so we can keep our Swift support in line with Apple's.
  • Infrastructure: 1.11 migration guide fixes (thanks @larryonoff, #3184); tutorial typo fixes (thanks @meltsplit, #3161).

New Contributors

Full Changelog: 1.11.1...1.11.2

1.11.1

12 Jun 23:04
7ac630f
Compare
Choose a tag to compare

What's Changed

  • Fixed: Support swift-syntax from 600.0.0-latest (#3160).
  • Fixed: Shared.withLock now pass values by continuation (#3154).
  • Infrastructure: Clean up DocC and link to new migration guide in README (#3153); SyncUp tutorial fixes (thanks @dafurman, #3139; thanks @RuiAAPeres, #3159); note Swift bug in documentation (#3157).

New Contributors

Full Changelog: 1.11.0...1.11.1

1.11.0

06 Jun 22:29
1eeca17
Compare
Choose a tag to compare

What's Changed

  • Added: Shared.withLock, for mutating shared state from asynchronous contexts (#3136). Direct mutations from asynchronous contexts is marked unavailable and will be an error in Swift 6.
  • Added: SharedReader.constant (#3127).
  • Added: $store.scope will now emit a warning when a dismiss action doesn't nil out a child feature, suggesting a Reducer.ifLet (or parent integration) is missing (#3089).
  • Deprecated: Shared's optional dynamic member lookup overload has been deprecated in favor of a Binding.init that unwraps optional values (#3145).
  • Fixed: Avoid crash when using .appStorage with a URL value (thanks @pwszebor, #3098).
  • Fixed: Worked around a build failure when integrating with Tuist (#3140).
  • Infrastructure: Tutorial fixes (#3076; thanks @MartinMoizard, #3078; #3072; thanks @hmhv, #3091; thanks @gibachan, #3099; thanks @btr-better, #3107; thanks @woxtu, #3119, #3123; #3135; #3141; #3148); DocC fixes (#3085; #3087; thanks @JOyo246, #3092; thanks @leeari95, #3110; #3138); README fixes (thanks @Matt54, #3129); expose some navigation APIs with @_spi(Internal) (thanks @Alex293, #3097).

New Contributors

Full Changelog: 1.10.4...1.11.0

1.10.4

11 May 22:02
433a231
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.10.3...1.10.4

1.10.3

08 May 18:22
Compare
Choose a tag to compare

What's Changed

  • Fixed: Automatically cancel in-flight TestStore effects when its root feature is dismissed (#3044).

  • Fixed: Propagate current dependencies to Store.init (#3049).

  • Fixed: Runtime warn when stack integration is detected to be missing from store's reducer (#3048).

  • Fixed: TestStore.finish() should assert against unreceived actions (#3054).

  • Fixed: Precondition when conflicting persistence keys must match value by @stephencelis in #3051.

    Important:
    If you have defined a custom persistence key, you may need to explicitly conform it to Hashable after upgrading to this version.

  • Fixed: @Shared no longer eagerly evaluates its initial value (thanks @seanmrich, #3057).

  • Infrastructure: Added a brand new tutorial: Building SyncUps (#3039).

  • Infrastructure: Add store invalidation test (#3038).

  • Infrastructure: Document @CasePathable @dynamicMemberLookup in 1.4 migration guide (#3043).

  • Infrastructure: Document nested enum reducers (#3050).

New Contributors

Full Changelog: 1.10.2...1.10.3

1.10.2

30 Apr 18:45
e6c0959
Compare
Choose a tag to compare

What's Changed

  • Fixed: @Shared(.appStorage) initializer with explicit = nil should not crash (#3035).
  • Fixed: Don't warn when dismissing two layers of tree-based navigation (#3037).
  • Fixed: Don't emit perception warnings when deploying to 17.0.0 (#3036).
  • Infrastructure: Fix typo in Reducers article (thanks @larryonoff, #3034)

New Contributors

Full Changelog: 1.10.1...1.10.2

1.10.1

29 Apr 20:14
aec373a
Compare
Choose a tag to compare

What's Changed

  • Fixed: Support nested enum reducers (thanks @sk409, #2814).
  • Fixed: Add missing NSPrivacyCollectedDataTypes to PrivacyInfo.xcprivacy (thanks @DandyLyons, #3027).
  • Fixed: Emit test failure when warning in release (#3024).
  • Fixed: Bump Perception availability to support 1.1.6 (#3025).
  • Infrastructure: Update README for TCA 1.10.0 (thanks @kalupas226, #3019).
  • Infrastructure: Fix DocC organization of shared state tools (#3022).
  • Infrastructure: Remove Reducer._Body workaround (#3023).

New Contributors

Full Changelog: 1.10.0...1.10.1

1.10.0

29 Apr 00:58
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.9.3...1.10.0

1.9.3

18 Apr 00:06
899a68c
Compare
Choose a tag to compare

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

Full Changelog: 1.9.2...1.9.3