Skip to content

Releases: pointfreeco/swift-composable-architecture

1.14.0

27 Aug 19:36
0d8980f
Compare
Choose a tag to compare

What's Changed

  • Added: Isolate Store, TestStore, and various view helpers to the @MainActor (#3277, #3283). This has been done with @preconcurrency for backwards compatibility. If you are using strict concurrency it may require you add @MainActor annotations to any SwiftUI view helpers that access the store.
  • Fixed: Don't eagerly dismiss an alert presented by another (#3309).
  • Infrastructure: Bump Swift Navigation version (#3310).
  • Infrastructure: Documentation fixes (thanks @woohyunjin06, #3296; @MaraMincho, #3299).

New Contributors

Full Changelog: 1.13.1...1.14.0

1.13.1

22 Aug 16:36
121b608
Compare
Choose a tag to compare

What's Changed

  • Fixed: Address regression in which observe was limited to platforms that can import UIKit by bringing back an AppKit-compatible version (#3295).
  • Infrastructure: Integration test fixes (#3294).

Full Changelog: 1.13.0...1.13.1

1.13.0

15 Aug 18:17
Compare
Choose a tag to compare

What's Changed

  • Added: UIKit navigation and binding tools (#3180).
  • Fixed: Update Shared to invoke reportIssue (#3258).
  • Fixed: Address a few compiler warnings (#3279).
  • Fixed: Avoid crash when writing to shared user defaults on a background thread (thanks @larryonoff, #3285).
  • Infrastructure: Typo fixes (thanks @hmhv, #3267; @mltbnz, #3268).
  • Infrastructure: Update swiftlang repository link (thanks @lamtrinhdev, #3270).
  • Infrastructure: Updated a bunch of DocC references (#3287).

New Contributors

Full Changelog: 1.12.1...1.13.0

1.12.1

24 Jul 19:53
b35827a
Compare
Choose a tag to compare

What's Changed

  • Fixed: Reference IssueReporting symbols instead of XCTestDynamicOverlay to avoid some linker errors (#3256).
  • Fixed: Point Issue Reporting to xctest-dynamic-overlay URL (#3257).
  • Infrastructure: Add 1.12 migration guide (#3251).
  • Infrastructure: Tutorial and documentation fixes (thanks @yaslab, #3250; @junbangg, #3252).

Full Changelog: 1.12.0...1.12.1

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