Skip to content

Releases: snndmnsz/SwiftUIQuery

SwiftUIQuery 0.1.1

Choose a tag to compare

@snndmnsz snndmnsz released this 29 Sep 18:39

Fixes query lifecycle cancellation races that could stop fetching or detach observable results after a screen task restarts.

Fixes

  • Replacement run() and runPeriodicRefetch() lifecycles are isolated from cancellation cleanup belonging to the previous task.
  • Manual polling restarts correctly during its initial fetch and when canceled before its task begins.
  • Already-canceled lifecycle and fetch calls no longer detach an active subscription.
  • Applies to both the Observation and Combine result adapters, with no API or deployment-target changes.

Validation

  • All 86 package tests passed, including five new parameterized tests covering 14 restart/cancellation scenarios.
  • SwiftUI examples, iOS 15 compatibility checks, and iOS Simulator build passed.

Update your Swift Package dependency to 0.1.1.

SwiftUIQuery 0.1.0

Choose a tag to compare

@snndmnsz snndmnsz released this 28 Sep 20:07

SwiftUIQuery is a small query layer for Swift concurrency, SwiftUI, and UIKit.

Features

  • Shared in-memory query state, in-flight request coordination, and configurable freshness and cache lifetimes.
  • Observation adapters for iOS 17+ and Combine adapters for iOS 15+.
  • Query invalidation, cancellation, retries, prefetching, periodic refresh, and typed cache updates.
  • Mutation state, asynchronous callbacks, and conditional optimistic rollback.
  • SwiftUI and UIKit examples with lifecycle cleanup and weak ownership.
  • API reference, integration guides, and recipes.

Requirements

Swift 6.0+, iOS 15+ or macOS 14+. No third-party dependencies. MIT license.

Validation

81 tests pass. Debug and release builds, SwiftUI example checks, iOS 15 API compatibility checks, and the iOS Simulator build pass. The iOS 15 check validates compilation and API availability; it is not a device runtime test.