What's Changed
- Changed:
withTaskCancellation(id:)
now executes on the current executor without suspension (#1779). - Deprecated:
Effect
has been temporarily deprecated forEffectTask
to prepare for renames coming in 1.0 (#1788). - Deprecated:
EffectPublisher
is now soft-deprecated (#1791). - Deprecated: The
async
version ofActorIsolated.withValue
has been deprecated. It can introduce re-entrancy bugs. Instead, we have introduced a synchronous version (#1792). - Fixed:
@Dependency(\.openURL)
is now supported in App extensions (thanks @tgrapperon, #1714). - Fixed:
ButtonRole
andButton
deprecation warnings have been silenced (thanks @kgrigsby59, #1715). - Fixed: A longstanding bug in SwiftUI can cause bindings to be evaluated in views that are no longer rendered. In apps built in the Composable Architecture, which provides flexible tools for deriving custom bindings, this could lead to accessing state that no longer exists, which at worst could try to evaluate an element of an array at an invalidated index, crashing the application. This bug has now been worked around to avoid such crashes. (Thanks @barabashd, #1784; #1785).
- Fixed: The predicated-based version of
TestStore.receive
now properly evaluates the given predicate (thanks @pyrtsa, #1780). - Infrastructure: Fix typos, etc., in documentation, README, and tests (thanks @ZevEisenberg, #1701; @tgrapperon, #1702; @yimajo, #1725; @yuanhang, #1762; @kalupas226, #1764; @dy-kim, #1773; @Iikeli, #1776; #1787; @jeffersonsetiawan, #1793).
- Infrastructure: Fix todo deletion in Todos sample app when the list is filtered (#1696).
- Infrastructure: Bump SwiftUINavigation and update examples (thanks @iampatbrown, #1760).
New Contributors
- @ZevEisenberg made their first contribution in #1701
- @yuanhang made their first contribution in #1762
- @dy-kim made their first contribution in #1773
- @Iikeli made their first contribution in #1776
- @barabashd made their first contribution in #1784
- @pyrtsa made their first contribution in #1780
Full Changelog: 0.47.2...0.48.0