Skip to content

Releases: synheart-ai/synheart-wear-swift

v0.4.0 — Initial public release

Choose a tag to compare

@isrugeek isrugeek released this 16 May 01:43

Adds Fitbit + Oura cloud providers to reach parity with the
Flutter / Kotlin siblings, contracts the public API surface for
long-term stability, and switches documentation to the central
Mintlify site.

Added

  • FitbitProvider and OuraProvider — cloud OAuth + data fetch
    via the Synheart Wear API, mirroring the Flutter SDK contract. Both
    conform to WearableProvider. New .oura case on DeviceAdapter;
    Fitbit was previously a placeholder. Wired into SynheartWear via
    fitbit / oura accessors and getProvider(.fitbit|.oura).
  • Generic vendor endpoints on WearServiceAPI:
    initiateVendorOAuth, fetchVendorData, disconnectVendor.
  • README "Documentation" section links to the central Mintlify docs
    site at https://docs.synheart.ai/synheart-wear/swift — single
    source of truth shared with the Kotlin / Flutter siblings.

Changed

  • Public API surface contracted for first OSS release:
    RamenClient, RamenConfig, RamenEvent, RamenConnectionState,
    RamenError, RamenErrorCode, RamenAckStatus — all internal.
    HeartRateParser (BLE HRM impl detail) — internal. The Ramen
    facade is not yet wired through SynheartWear; ship it as part of
    a future push-streaming release rather than as public surface today.

Fixed

  • NetworkClient no longer dumps the full raw JSON response body of
    every API call to stdout via print(...). The previous behavior
    exposed biometric values, vendor user IDs, and OAuth state in
    process logs of every consumer app — and was unconditional, with
    no debug flag. Decoding errors now surface a structured
    DecodingError description without including the response body.

Removed

  • Per-repo docs/ scaffold (PROVIDERS, STREAMING, ARCHITECTURE,
    BLE_HRM, APPLE_HEALTH_XML). The same content lives in the central
    docs site; keeping a parallel copy here was a drift trap.