Skip to content

0.3.0

Latest

Choose a tag to compare

@9uiLe 9uiLe released this 14 Jul 16:28

0.3.0 strengthens task lifecycle safety and makes termination observable across both TaskingCore and Tasking.

Highlights

  • Terminal TaskSlot teardownclose() gracefully drains existing work, while cancelAndWaitForIdle() closes, cancels, and waits for termination. replace now reports whether new work was accepted.
  • Observable ViewTaskStore terminationawaitCompletion(of:) and waitForIdle() distinguish immediate UI untracking from the actual end of cancelled operations.
  • Release-safe error reportingViewTaskStore(onUnhandledError:) exposes ownership-contract violations in release builds without changing the legacy default behavior.
  • Consistent duplicate policy naming — both policy types now use .ignoreNew; ActionDuplicatePolicy.rejectWhileRunning remains available as a deprecated compatibility alias.
  • Clearer actor isolationActionRunner.run explicitly declares onStart as @MainActor, matching its existing execution contract.

Installation

.package(url: "https://github.com/9uiLe/swift-tasking.git", from: "0.3.0")

Existing .rejectWhileRunning construction sites continue to compile with a deprecation warning. Exhaustive switches should migrate to .ignoreNew.