Skip to content

Releases: pointfreeco/swift-composable-architecture

1.19.1

16 Apr 21:20
Compare
Choose a tag to compare

What's Changed

  • Fixed: Updated outdated runtime warning text (#3643).
  • Fixed: Invalidate child store subscriptions when child store is invalidated (#3646). This should improve the performance of applications that scope many child stores.
  • Fixed: Support SwiftSyntax 601.0.0 (thanks @jszumski, #3649).
  • Fixed: Remove hashable requirement from UIPushAction (#3652).
  • Infrastructure: Expose navigation stack helper behind SPI (thanks @Alex293, #3657).

New Contributors

Full Changelog: 1.19.0...1.19.1

1.19.0

02 Apr 00:07
fd409c7
Compare
Choose a tag to compare

What's Changed

Important

This release includes a significant rewrite of the store's scoping internals for better performance and memory management. Please test your application thoroughly when upgrading to this release.

  • Added: Store now conforms to the ObservableObject (#3625). This conformance does not provide any observation via @ObservedObject, and is provided as a convenience to allow stores to be held in @StateObjects. Store observation should continue to be done via the Observation framework (or Perception package) and the @ObservableState macro.
  • Fixed: Store internals have been rewritten for performance and better memory management (#3460; thanks @arnauddorgans , #3638).
  • Fixed: swift-syntax 6.1 support (thanks @shimastripe, #3639).
  • Fixed: Don't allow actions to be sent to invalidated scoped stores in release (thanks @lukeredpath, #3640).
  • Infrastructure: Update demo apps to declare store as static to avoid interference with Xcode previews (thanks @meltsplit, #3618).
  • Infrastructure: Fix broken article link (thanks @bradhowes, #3626).
  • Infrastructure: Improve Performance article (thanks @arnauddorgans, #3631).
  • Infrastructure: Utilize swift-navigation internally for presenting alerts and action sheets (thanks @juliensagot, #3623)
  • Infrastructure: CI Improvements to minimize flakiness of GitHub actions (#3641).

New Contributors

Full Changelog: 1.18.0...1.19.0

1.18.0

28 Feb 18:34
76c4411
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.17.1...1.18.0

1.17.1

07 Jan 19:16
2ebda6a
Compare
Choose a tag to compare

What's Changed

  • Fixed: Record state access when constructing store collections (#3521).
  • Fixed: Don't report unasserted shared changes in Reducer._printChanges() (#3528).
  • Fixed: Relax Sharing requirement to include major 2.0 version (#3546).
  • Infrastructure: Documentation fixes (thanks @takehilo, #3540).
  • Infrastructure: Unit test fixes for Xcode 16 and older iOS destinations (thanks @pyrtsa, #3537).

See the migration guide for more details.

Full Changelog: 1.17.0...1.17.1

1.17.0

03 Dec 19:30
Compare
Choose a tag to compare

What's Changed

  • Added: Add Sharing dependency. #3517
  • Fixed: Fix the infinite loop issue when WebSocket returns an error message in the example case. by @LukeWei in #3508
  • Fixed: Fix obsolete detail on StackElementID documentation by @pyrtsa in #3509
  • Infrastructure: Add a test to document how 'task tree' cancellation happens. #3499
  • Infrastructure: Add migration guide for 1.16. #3491

New Contributors

Full Changelog: 1.16.1...1.17.0

1.16.1

14 Nov 19:16
69247ba
Compare
Choose a tag to compare

What's Changed

  • Fixed: Address a potential race condition in shared file storage (#3479).
  • Fixed: Add @ViewBuilder to NavigationStack root view(thanks @joshrl, #3493).
  • Fixed: Address potential crash in KVO shared app storage observation during cancellation (thanks @pyrtsa, #3494).

New Contributors

Full Changelog: 1.16.0...1.16.1

1.16.0

12 Nov 17:57
a952dde
Compare
Choose a tag to compare

What's Changed

  • Added: support for Date values in shared app storage (thanks @rudedogdhc, #3470).
  • Performance: Improved performance of shared app storage observation (#3487).
  • Performance: Reduce amount of locking in the Combine subject powering the Store (thanks @iampatbrown, #3476).
  • Fixed: Addressed a potential crash in shared app storage when many app storage variables are notified by notification center during a SwiftUI view body update (#3487).
  • Fixed: Addressed a race condition in the Combine subject powering the Store (thanks @kabiroberai, #3475).
  • Fixed: Better autocomplete for dynamic member lookup (#3463).
  • Infrastructure: Capture existing @Shared test store behavior in test with a to-do for better behavior in the future (thanks @rcarver, #3455).

New Contributors

Full Changelog: 1.15.2...1.16.0

1.15.2

22 Oct 16:57
5614943
Compare
Choose a tag to compare

What's Changed

  • Fixed: Address race conditions in the Combine subject driving the Store's state (thanks @kabiroberai, #3447).
  • Infrastructure: Update Russian translation in README.md (thanks @SubvertDev, #3457).

New Contributors

Full Changelog: 1.15.1...1.15.2

1.15.1

15 Oct 17:09
fc5cbee
Compare
Choose a tag to compare

What's Changed

  • Fixed: Xcode 16.1 beta 3 introduced a concurrency change that requires an explicit @MainActor on a NavigationLink initializer to build (thanks @chrisjrex, #3430).
  • Fixed: Suppress Swift <6 warning (#3445)
  • Deprecated: @Reducer(state: .equatable) has been soft-deprecated in Swift 6 now that the bug preventing extension Feature.State: Equatable {} has been fixed (#3379).
  • Deprecated: Store.ifLet has been soft deprecated in favor of observation tools (#3382).
  • Infrastructure: Added migration guide for 1.15 (#3390)
  • Infrastructure: Update README documentation links for 1.15.0 (thanks @kgrigsby59, #3397).
  • Infrastructure: Update case studies to run in Swift 6 mode (#3394
  • Infrastructure: Update documentation and examples to use Swift Testing (#3413).
  • Infrastructure: Add import modules on NavigationStack tutorial source code (thanks @loinsir, #3409).
  • Infrastructure: Add Swift Macro Compatibility Check to CI (thanks @Matejkob, #3406).
  • Infrastructure: Update benchmarks target (#3424).
  • Infrastructure: Don't xcbeautify Swift Testing suites in CI (#3425).
  • Infrastructure: Internally use AnyHashableSendable from Concurrency Extras (#3428).
  • Infrastructure: Run sync ups tests with main serial executor (#3431).
  • Infrastructure: Clean up key path bitcasting (#3411).
  • Infrastructure: Address concurrency warnings in tests (#3438).

New Contributors

Full Changelog: 1.15.0...1.15.1

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