github pointfreeco/swift-composable-architecture 0.40.0

latest releases: 1.15.2, 1.15.1, 1.15.0...
2 years ago

This release brings many performance improvements to the library. See our blog post for information about those changes.

  • Added: WithViewStore(_:observe:…), a new initializer that makes state observation explicit. We hope these initializers will help users avoid performance pitfalls and identify areas of their application where performance can be improved. The existing initializers have been soft-deprecated and will surface warnings in a future release.
  • Performance: Effect performance has been improved, especially with regard to merging effects (a common operation that occurs when reducers are combined), and async effects (which previously often incurred overhead from Combine).
  • Performance: Store.scope performance has been improved for nested scopes, which no longer incur a penalty for each layer of scoping (thanks @iampatbrown).
  • Performance: WithViewStore now uses a state object under the hood, which should tie the lifecycle of a view store to a view (thanks @tgrapperon).
  • Performance: ForEachStore performance has been improved for state updates in which element state has changed but no elements were added, removed, or moved (thanks @tgrapperon).
  • Fix: Effect.run's Send closure is now explicitly @MainActor.
  • Fix: Long-living effects no longer accumulate Task values in memory for each action sent back into the store, saving memory over time.
  • Fix: macOS 11 compilation with the Xcode 14 release candidate.
  • Fix: Actions that re-enter the store at the end of processing are now processed immediately.
  • Infrastructure: README fixes (thanks @Jager-yoo).
  • Infrastructure: Added benchmarks for effects, store scoping.
  • Infrastructure: Fixed Todos demo's incrementing UUID helper (thanks @pitt500).
  • Infrastructure: Fixed Voice Memos AV settings (thanks @entaku0818).

Don't miss a new swift-composable-architecture release

NewReleases is sending notifications on new releases.