Skip to content

Releases: pointfreeco/swift-composable-architecture

1.15.0

12 Sep 18:08
Compare
Choose a tag to compare

What's Changed

  • Added: Complete Swift 6 Language Mode support (#3282, #3318; #3317; #3321; #3325; #3326; #3320; #3333; #3329).
  • Fixed: Warn when bindable store is sent a binding action without having integrated with BindingReducer (#3347).
  • Fixed: Remove and lock subscriptions from the Combine subject powering Store and Shared subscriptions (thanks @iampatbrown, #2699). This should improve memory and avoid potential issues related to concurrent access to the publisher.
  • Fixed: Avoid potential deadlock in Shared by dispatching to the main actor (#3356).
  • Fixed: Swift Testing support for concurrent tests by bucketing cancellation identifiers to each @Test (#3374).
  • Infrastructure: Remove disfavored NSObject.observe overload in favor of SwiftNavigation's observe (#3316)
  • Infrastructure: Fix typo and deprecated content in Performance.md (thanks @MaraMincho, #3323); 'WhatIsNavigation.md' fixes (thanks @stealmh, #3345); fix typos (thanks @stealmh, #3349; thanks @O-O-wl, #3354); replace deprecated viewStore with store in documentation (thanks @qwerty3345, #3341).
  • Infrastructure: Added failing test to document behavior with observation/identified array (#3346).
  • Infrastructure: Update 05-HigherOrderReducers CaseStudies (thanks @qwerty3345, #3342); update 04-Navigation-Lists-NavigateAndLoad CaseStudies (thanks @MaraMincho, #3327).
  • Infrastructure: Issue template updates (#3363).
  • Infrastructure: Apply any to all existential protocol uses (thanks @qwerty3345, #3370).
  • Infrastructure: Improve CI job performance (#3357).
  • Infrastructure: Remove outdated #if branching in the library (#3376).

New Contributors

Full Changelog: 1.14.0...1.15.0

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