Skip to content

Releases: synheart-ai/synheart-session-swift

v0.2.1 — watchOS minimum bumped to v8

Choose a tag to compare

@isrugeek isrugeek released this 23 May 22:02

Fix latent SwiftPM bug: SessionHealthKit/SessionWear depend on synheart-wear-swift which requires watchOS 8.0, but this package declared 6.0. Surfaced when a downstream consumer pulled SessionHealthKit on a real watchOS app.

v0.2.0 — Initial public release

Choose a tag to compare

@isrugeek isrugeek released this 16 May 03:46

Initial open-source release of the Synheart Session SDK for iOS.

The SDK runs a timer-driven session engine that consumes a
BiosignalProvider (mock, BLE HRM, HealthKit, or your own
implementation) and an optional BehaviorProvider, then emits typed
session events: session_started, biosignal_frame, session_frame,
session_summary, session_error.

Public surface

  • SessionEngine with pluggable BiosignalProvider and optional
    BehaviorProvider. MockBiosignalProvider (1 Hz sinusoidal) and
    MockBehaviorProvider ship for local development.
  • WearBiosignalProvider — bridges synheart-wear-swift
    BleHrmProvider for real BLE HR streaming.
  • HealthKitBiosignalProvider — wraps SynheartWear HealthKit
    streaming via the Combine streamHR() publisher.
  • BehaviorSdkProvider — wraps SynheartBehavior.getCurrentStats()
    from synheart-behavior-swift.
  • SampleRingBuffer — thread-safe (NSLock) sliding window buffer
    with configurable window.
  • HR/HRV computation: mean HR is computed locally; SDNN/RMSSD/pNN50
    are ingested via ingestHsiMetrics() from the upstream runtime.
  • SessionError enum with 5 cases (permissionDenied,
    sensorUnavailable, invalidState, lowBattery, osTerminated).

Distribution

  • Swift Package Manager — products: SynheartSession,
    SynheartSessionWear, SynheartSessionHealthKit,
    SynheartSessionBehavior.
  • CocoaPods — pod 'SynheartSession', '~> 0.2.0'.

Full Changelog: https://github.com/synheart-ai/synheart-session-swift/commits/v0.2.0