open_wearables_health_sdk 0.0.20
open_wearables_health_sdk: ^0.0.20 copied to clipboard
Flutter SDK for secure background health data synchronization from Apple HealthKit (iOS) and Samsung Health / Health Connect (Android) to the Open Wearables platform.
0.0.20 #
- Bumped native iOS SDK dependency from
~> 0.12.0to~> 0.13.0. - Bumped native Android SDK dependency from
v0.9.0tov0.10.0. - Sync telemetry: both iOS and Android SDKs now send diagnostic events (
sync_start, per-typesync_end,device_state) to the/logsendpoint during initial full syncs. - Android: auto full export: first sync now automatically runs as full export, matching iOS behavior.
- Android: fixed OkHttp connection leaks in sync uploads and log requests.
0.0.19 #
- Bumped native iOS SDK dependency from
~> 0.11.0to~> 0.12.0. - Source device name: health data payloads now include a human-readable device
namefield alongside existing source metadata (via iOS SDK 0.12.0).
0.0.18 #
- Bumped native iOS SDK dependency from
~> 0.10.0to~> 0.11.0. - Bumped native Android SDK dependency from
v0.8.0tov0.9.0. - Smarter disconnect behavior: transient network errors during token refresh no longer force user sign-out — only genuine authentication failures (401/403) trigger disconnect.
- Added Sentry error logging to the example app for disconnect events and sync failures.
0.0.17 #
- Breaking: Foreground service type changed from
dataSynctohealthto comply with Google Play policy. Apps must update their Play Console FGS declaration from "Data Sync" to "Health" and remove any manual<service android:foregroundServiceType="dataSync">from theirAndroidManifest.xml— the SDK now provides the correct declaration via manifest merge. - Added
FOREGROUND_SERVICE_HEALTHandHIGH_SAMPLING_RATE_SENSORSpermissions to the plugin manifest. - Updated README with Android foreground service requirements, Play Console declaration guide, and mandatory
setSyncNotification()usage. - Bumped native Android SDK dependency from
v0.7.0tov0.8.0.
0.0.16 #
- Bumped native iOS SDK dependency from
~> 0.9.0to~> 0.10.0. - Bumped native Android SDK dependency from
v0.6.0tov0.7.0. - Fixed
isSignedInreturningtrueaftersignOut()— Dart-side state is now always cleared in afinallyblock. - Fixed Android
signOut()hanging if native call throws — wrapped intry-catchwith guaranteedresult.success(). - Added
setSyncNotification(title, text)— customize the Android foreground service notification shown during background sync (no-op on iOS).
0.0.15 #
- Bumped native iOS SDK dependency from
~> 0.8.0to~> 0.9.0. - Bumped native Android SDK dependency from
v0.5.0tov0.6.0.
0.0.14 #
- Bumped native iOS SDK dependency from
~> 0.7.0to~> 0.8.0.
0.0.13 #
- Added
syncDaysBackparameter tostartBackgroundSync()— control how many days of history to sync. - Added
setLogLevel()API withOWLogLevelenum (none,always,debug). - SDK logs are now auto-printed to the Dart console based on the log level (debug by default).
- Bumped native iOS SDK dependency from
~> 0.6.0to~> 0.7.0. - Bumped native Android SDK dependency from
v0.4.0tov0.5.0.
0.0.12 #
- Bumped native Android SDK dependency from
v0.3.0tov0.4.0.
0.0.11 #
- Fixed LLDB "overlapping Mach-O section" warnings (
__TPRO_CONST/__DATA_CONST) on iOS <17 devices when built with Xcode 15+. - Added
-ld_classiclinker flag in Podfile to force legacy Mach-O section layout. - Bumped native iOS SDK dependency from
~> 0.5.0to~> 0.6.0. - Aligned iOS deployment target to 15.0 across all podspecs.
0.0.10 #
- Android support — the plugin now works on both iOS and Android.
- Android implementation uses the Open Wearables Android SDK via JitPack — the Flutter plugin is a thin wrapper, same as on iOS.
- Dual health provider support on Android: Samsung Health and Health Connect with runtime selection (
setProvider,getAvailableProviders). - Background sync powered by WorkManager with resumable sessions and incremental updates.
- Token auth with automatic 401 refresh + API key alternative.
- Updated example app with provider picker, invitation code flow, and live sync logs.
0.0.9 #
- Bumped native iOS SDK dependency from
~> 0.3.0to~> 0.4.0.
0.0.8 #
- Bumped native iOS SDK dependency from
~> 0.2.0to~> 0.3.0.
0.0.7 #
- Breaking: Replaced the embedded native iOS implementation with the OpenWearablesHealthSDK CocoaPod (
~> 0.2.0). The Flutter plugin is now a thin wrapper around the native iOS SDK. - All HealthKit logic (authorization, background sync, anchored queries, data serialization, keychain storage) is now handled by the native SDK.
- Health data type authorization now uses the native
HealthDataTypeenum instead of raw strings. - No changes to the public Dart API — existing Flutter integrations continue to work without modification.
0.0.6 #
- Replaced
baseUrlwith requiredhostparameter in SDK configuration - Added refresh token handling with automatic token renewal on 401 errors
- Added invitation code flow support
- Improved sync resilience and error handling
- Removed
customSyncUrlsupport
0.0.5 #
- Fixed example app default sync URL to use correct
/api/v1/base path
0.0.4 #
- Fixed iOS sync endpoint URL - added missing
/api/v1/prefix
0.0.3 #
- Changed sync endpoint URL from
/sdk/users/{user_id}/sync/apple/healthionto/sdk/users/{user_id}/sync/apple
0.0.2 #
- Added repository and issue tracker URLs for pub.dev
0.0.1 #
- Initial release of Open Wearables Health SDK
- Background health data synchronization from Apple HealthKit (iOS)
- Secure credential storage using iOS Keychain
- Token-based authentication with automatic refresh support
- Incremental sync using anchored queries
- Resumable sync sessions for interrupted uploads
- Support for 40+ health data types including:
- Activity: steps, distance, flights climbed, walking metrics
- Heart: heart rate, resting heart rate, HRV, VO2 max
- Body: weight, height, BMI, body fat percentage
- Sleep: sleep analysis, mindful sessions
- Workouts: all workout types with detailed statistics
- And more...