4.3.124
- Added ability to read minfulness activities:
- Added ability to check Android Health Connect features availability:
- Added new ActivityTag types:
- mindfulness
 
- Added new ActivityType types:
- ecgMeasurement
- triathlon
- biathlon
- duathlon
- rollerblading
- skateboarding
- skating
- calisthenics
- weightLifting
- canoeing
- floorball
- jiuJitsu
- diving
- orienteering
- bootcamp
- motorsports
- horseriding
- paragliding
- multisport
- bloodTest
- mindfulnessSession
 
- Added new ProviderSource types:
- appleHealthkitMindfulness
- healthConnectMindfulnessSession
 
- Added new ActivityCategory type:
- mindfulness
 
- Update Android SDK to 4.3.92- Updated Health connect to 1.1.0-rc03
- Updated compileSdk to 36
- Updated gradle to 8.13
- android.permission.health.READ_MINDFULNESSuser permission should be added to- AndroidManifest.xmlfile
 
- Updated Health connect to 
- Update iOS SDK to 4.3.111
4.3.114
- Update Android SDK to 4.3.82:- Workaround for Android 15 bug to make background delivery more resilient
- More efficient pushes to Spike API
 
4.3.104
- Update Android SDK to 4.3.72:- Allow reading SPO2andSWIMMING_LENGTHSingetActivities
- Allow reading SPO2andSKIN_TEMPERATUREingetSleeps
 
- Allow reading 
- Update iOS SDK to 4.3.101:- Improved how sleep data is read for sleep score
 
4.3.94
- Update Android SDK to 4.3.62:- Optimized background delivery
 
4.3.84
- Added .corosProvider
- Updated ProviderSourceenum
- Added statistics: stressScore,recoveryScore,activityScore
- Update Android SDK to 4.3.52:- Added Provider.COROS
- Updated ProviderSourceenum
- Added new Statistic types:
- STRESS_SCORE
- RECOVERY_SCORE
- ACTIVITY_SCORE
 
- Added new Metric types for getSleeprequest:- SLEEP_DURATION
- SLEEP_DURATION_AWAKE
- SLEEP_DURATION_DEEP
- SLEEP_DURATION_LIGHT
- SLEEP_DURATION_NAP
- SLEEP_DURATION_REM
- SLEEP_EFFICIENCY
- SLEEP_INTERRUPTIONS
- SLEEP_LATENCY
- SLEEP_SCORE
 
 
- Added 
- Update iOS SDK to 4.3.91:- Added .corosProvider
- Updated ProviderSourceenum
- Improved the way data is sent to API to reduce the size and speed of calls to Spike
- Added new Statistic types:
- stressScore
- recoveryScore
- activityScore
 
- Added new Metric types for getSleeprequest:- sleepDuration
- sleepDurationAwake
- sleepDurationDeep
- sleepDurationLight
- sleepDurationNap
- sleepDurationRem
- sleepEfficiency
- sleepInterruptions
- sleepLatency
- sleepScore
 
- Better keychain compatibility
NOTE: If you use the keychain in your app with a service name equal to your bundle
identifier, please check if it contains key named spikeApiTokenand delete it.
 
- Added 
4.3.74
- New SpikeSDKV3.setLogCallback()method to receive logs from the native SDK. Example usage:
- New metric type:
- glucose
 
- Update Android SDK to 4.3.42:- New MetricType.GLUCOSEavailable in both Health Connect and Samsung Health
- Update Samsung Health Data SDK to version 1.0.0 (available only on Android 29+)
 
- New 
- Update iOS SDK to 4.3.81:- Added MetricType:.glucose
 
- Added 
4.3.64
- The old SpikeSDK API has been deprecated
- Update Android SDK to 4.3.93:- Switch to protobuf java-lite 3.25.5 for better compatibility with firebase
- The old SpikeSDK API has been deprecated
 
- Update iOS SDK to 4.3.71:- The old SpikeSDK API has been deprecated
- Added disableHealthKitIntegrationandisHealthKitIntegrationEnabledfunctions in spike connection
 
4.3.54
- New providers added: dexcom, freestyleLibre, huawei, strava
- Added .distanceSwimming into the list of metrics available in activities
- Updated native iOS SDK Version to 4.3.61
- Updated native Android SDK Version to 4.3.22
4.3.44
- Added Samsung Health Integration on Android
- Updated native Android SDK Version to 4.3.12:- New statistics for Health Connect:
- HEARTRATE
- HEARTRATE_MAX
- HEARTRATE_MIN
- New metrics for Health Connect:
- HEARTRATE
- HEARTRATE_MAX
- HEARTRATE_MIN
- Improved transport protocol for even faster requests to Spike API
- Added Samsung Health Integration for:
- StatisticTypes:- STEPS
- DISTANCE_TOTAL
- CALORIES_BURNED_ACTIVE
- CALORIES_BURNED_TOTAL
- CALORIES_BURNED_BASAL
 
- Added new Provider:
- SAMSUNG_HEALTH_DATA
- Added new ProviderSource:
- SAMSUNG_HEALTH_DATA_AGGREGATION
- Renamed MetricTypes:
- SLEEP_BREATHING_RATE to BREATHING_RATE
- SLEEP_BREATHING_RATE_MIN to BREATHING_RATE_MIN
- SLEEP_BREATHING_RATE_MAX to BREATHING_RATE_MAX
 
- Updated native iOS SDK Version to 4.3.51:- Added new Provider:
- samsungHealthData
- Added new ProviderSource:
- samsungHealthDataAggregation
- Renamed MetricTypes:
- sleepBreathingRateto- breathingRate
- sleepBreathingRateMinto- breathingRateMin
- sleepBreathingRateMaxto- breathingRateMax
 
- Added new 
4.3.34
- Updated native iOS SDK Version to 4.3.41- IntegrationInitConfig is now codable
- Additional check in getIntegrationInitUrlfor email in ultrahuman integration
 
- Updated native Android SDK Version to 4.2.82- Added IntegrationInitConfigUtilsfor usage in Flutter and React Native libraries
- Additional check in getIntegrationInitUrlfor email in ultrahuman integration
 
- Added 
- New provider: ultrahumanWhen integrating with Ultrahuman, you have to provide ultrahuman user email inIntegrationInitConfig.providerUserIdentifier. Example:
4.3.24
- Updated native iOS SDK Version to 4.3.31- Improve how statistics are read from HealthKit
- New metric types:
- bodyFat
- bodyFatMax
- bodyFatMin
- bodyBoneMass
- bodyMassIndex
- bloodPressureSystolic
- bloodPressureSystolicMax
- bloodPressureSystolicMin
- bloodPressureDiastolic
- bloodPressureDiastolicMax
- bloodPressureDiastolicMin
 
- New fields in UserProperties:- bodyBoneMass
- bodyFat
- bodyMassIndex
 
- Updated getIntegrationInitUrl. Now it acceptsIntegrationInitConfigconfig object where you can pass:- redirectUri: will override the one set in admin console
- state: when the authorization server redirects back to the client, it includes the- statevalue originally sent
- providerUserIdentifier: at the moment used (and required) only when integrating with ultrahuman
 
- New provider: ultrahumanWhen integrating with Ultrahuman, you have to provide ultrahuman user email inIntegrationInitConfig.providerUserIdentifier. Example:
- Improved transport protocol for background delivery
 
- Updated native Android SDK Version to 4.2.72- New MetricTypes added:- BODY_FAT
- BODY_FAT_MAX
- BODY_FAT_MIN
- BODY_BONE_MASS
- BODY_MASS_INDEX
- BLOOD_PRESSURE_SYSTOLIC
- BLOOD_PRESSURE_SYSTOLIC_MIN
- BLOOD_PRESSURE_SYSTOLIC_MAX
- BLOOD_PRESSURE_DIASTOLIC
- BLOOD_PRESSURE_DIASTOLIC_MIN
- BLOOD_PRESSURE_DIASTOLIC_MAX
- New fields in UserProperties:
- BODY_FAT
- BODY_BONE_MASS
- BODY_MASS_INDEX
 
- Updated getIntegrationInitUrl. Now it acceptsIntegrationInitConfigconfig object where you can pass:- redirectUri: will override the one set in admin console
- state: when the authorization server redirects back to the client, it includes the- statevalue originally sent
- providerUserIdentifier: at the moment used (and required) only when integrating with ultrahuman
 
- New provider: ultrahumanWhen integrating with Ultrahuman, you have to provide Ultrahuman user email inIntegrationInitConfig.providerUserIdentifier. Example:
 
- New 
4.3.14
- Updated native iOS SDK Version to 4.3.11- Improved transport protocol for even faster requests to Spike API
- New statistics: heartrate, heartrateMax, heartrateMin, heartrateResting
 
- Updated native Android SDK Version to 4.2.62- New statistics:
- HEARTRATE_RESTING
- SLEEP_DURATION_TOTAL
 
- New statistics (only from non-HealthConnect providers):
- HEARTRATE
- HEARTRATE_MIN
- HEARTRATE_MAX
 
- Metric types updates
- Better proguard settings for uniqueness of generated class names
- Fix for statistics in different time zones
- Added consumer proguard rules
 
- New statistics:
4.2.74
- Removed outdated example. For examples, please follow official documentation.
4.2.64
- Updated readme file
4.2.54
- Updated native iOS SDK Version to iOS 4.2.41
- Fix date format in json push
 
4.2.44
- Fix user info response json parsing
4.2.34
- New metrics:
- spo2
- bodyTemperature
- skinTemperature (available only on getSleep())
- sleepBreathingRate (available only on getSleep())
- sleepBreathingRateMin (available only on getSleep())
- sleepBreathingRateMax (available only on getSleep())
- sleepBreathingRateAvg (available only on getSleep())
 
- Updated native iOS SDK Version to iOS 4.2.31
- Updated native Android SDK Version to 4.2.42
- Added sleepScore property in Record type
4.2.24
- New metric: VO2MAXavailable ingetRecordsandgetActivities
- Changed hrv metric names: hrvRmssd,hrvSdnn
- New statistic: sleepScore
- Updated native iOS SDK Version to iOS 4.2.21
- New getUserPropertiesmethod for reading: weight, height, timezone, birth date, gender
 
- New 
- Updated native Android SDK Version to 4.2.32
- New getUserPropertiesmethod for reading: weight, height, timezone from Health Connect
- New getUserPropertiesmethod for reading: birth date, gender from other providers
 
- New 
4.2.14
- Updated native Android SDK Version to 4.2.12
- Updated native iOS SDK Version to 4.2.11
🔴 Breaking Change: Update to SpikeSDKV3.createConnection
The method Spike.createConnectionAPIv3({appId:, authToken:, customerEndUserId:}) has been updated to:
SpikeSDKV3.createConnection(applicationId:, signature:, endUserId:)
Key Changes:
- The applicationIdparameter must now be provided as anint.
- The signatureparameter now requires anHMAC-SHA256signed user ID.
- ⚠️ Security Notice:
- Do not store your HMAC signing key within the application itself, as this poses a security risk.
- Instead, generate and provide the signature from your backend.
 
Legacy Support:
For development purposes only, the previous connection flow remains available under the renamed method:SpikeSDKV3.createConnectionLegacy(appId:, authToken:, customerEndUserId:)
4.1.14
- Background delivery for both iOS and Android
- Added triathlon activity type
- Better error messages in iOS SpikeSDK wrapper
- Updated native Android SDK Version to 4.1.12
- Add background delivery (see documentation for more information)
- Health Connect library updated to 1.1.0-alpha11
- Compile SDK and target SDK updated to 35
- Updated kotlin version to 1.9.25
- Updated other dependencies
- Updated gradle to 8.8.0
 
- Updated native iOS SDK Version to 4.1.11
- Add background delivery
- Send more sleep data
 
4.0.14
- Completely new SDK! Please see our official documentation for more details and usage instructions
- Updated native Android SDK Version to 4.0.22
- Updated native iOS SDK Version to 4.0.12
- Added getIntegrationInitUrl method to SpikeConnectionV3: generates integration url for the given provider
1.3.3
- Android: Fixed build issue on AGP8+
1.3.2
- Updated native Android SDK Version to 3.1.4
- Add more raw data to calories request
 
1.3.1
- Updated native iOS SDK Version to 2.4.2:
- Add customer user id validation
 
- Updated native Android SDK Version to 3.1.1:
- Better way to authenticate with API
- Add saved session validation before connection is established
- Add customer user id validation
 
1.3.0
- Added ECG handling in iOS.
- Added empty results when ECG is asked for on Android device.
- Made connections array in iOS thread-safe.
- Updated structure of SpikeSourcedata model.
- README updated with ECG data type.
- Updated native iOS SDK Version to 2.4.1:
- Fix timezone in case it changes while the app is running.
- Better way to authenticate with API.
- ECG support.
- Add trigger property to extractAndPostData request.
- Add cycling parameters to Activities stream data request.
 
1.2.10
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
- README updated.
1.2.9
- Updated native iOS SDK Version.
1.2.8
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
- PROD/DEV environments separation added.
- Background delivery handling documented for the iOS.
- Method to disable background delivery introduced.
- setEnvironment method removed as environment must be set when creating the connection.
1.2.7
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
1.2.6
- Updated native Android SDK Version.
- Updated native iOS SDK Version.
1.2.5
- SpikeStepData class name renamed into SpikeStepsData to keep aligned with Dart coding conventions.
- Intraday steps data introduced.
1.2.4
- Updated native Android SDK Version.
1.2.3
- Updated native Android SDK Version.
1.2.2
- Updated native Android SDK Version.
1.2.1
- Updated native Android SDK Version.
1.2.0
- Updated README with Android 14 set-up guide.
- Ensured permissions are checked and requested when user tries to extract the data.
- Introduced ensurePermissionsAreGrantedV2 method, so it would become possible to get more information about what happened when requesting for permissions which might be useful for Flutter Android apps.
- Improved processing of the Health Connect permissions when user cancels giving permissions, gives them partially, or performs some other unexpected behavior.
- Updated native iOS SDK Version.
1.1.1
- Android Native SDK version updated.
1.1.0
- iOS Native SDK version updated.
- Android Native SDK version updated.
- Android Native SDK permissions handling recreated.
1.0.27
- iOS Native SDK version updated.
1.0.26
- iOS Native SDK version updated.
1.0.25
- iOS Native SDK version updated.
- Android Native SDK version updated.
- Method ‘isPackageInstalled’ added to Android.
1.0.24
- iOS Native SDK version updated.
1.0.23
- iOS Native SDK version updated.
- Android Native SDK version updated.
- Added more information on exceptions thrown in the README.
1.0.22
- iOS Native SDK version updated.
1.0.21
- iOS Native SDK version updated.
1.0.20
- Native Android SDK version usage updated.
- Made possible to set the environment when using Android SDK.
1.0.19
- Method ‘getSpikeEndUserId’ added into the SpikeConnection.
1.0.18
- Android SDK integration changed.
1.0.17
- pack, unpack removed, since it is clients who need to manage their state.
- Web hook connections integrated into SpikeConnection.
- Minimum SDK version reduced to 28.
- Compile SDK version reduced to 33.
- Examples updated.
- README updated.
- Integration with Android SDK changed completely.
1.0.16
- Return boolean after requesting permissions.
1.0.15
- Native wrapping with native Android SDK release build issues resolved.
- Requesting permissions issues resolved using native Android SDK.
- README changed.
- Example code changed.
1.0.14
- Native wrapping with native Android SDK finalized.
1.0.13
- Native wrapping with native Android SDK introduced.
- Native wrapping with native iOS SDK introduced.
1.0.12
- Min iOS version reduced for the sleep data.
1.0.11
- README updated.
- Example updated.
1.0.10
- README updated.
- Ensured dart doc is working.
1.0.9
- README updated.
- Made sure that casting when using connection.extractData() is no longer needed.
1.0.8
- README improved.
- Data keys expectations changed per changed backend.
1.0.7
- iOS workouts reading problems resolved.
- Made sure floors are added from the iOS data.
- Added functionality that allows configuration of the background delivery tasks.
- Added debouncing for the background delivery tasks of five seconds, so they would not trigger unnecessary sending to the backend.
- Fixed an issue of reading sleep data. Ensured user is requested for additional permissions that are required in order to collect the statistics needed regarding sleep.
- Made sure that in sleep statistics zeroes would be changed into null when no data is read.
- Updated README with the background delivery example information.
1.0.6
- Breathinng data issues resolved.
- Workouts reading issues resolved.
- README updated.
- SpikeSDK changed, so SpikeSDK.initialize() would not be needed as per documentation.
1.0.5
- Better background delivery configuration into SpikeSDK added.
1.0.4
- Logging improvements.
- Sending data to backend improvements.
- Android Health Connect Core recreated using direct API for the Health Connect due to failure of Flutter package to properly convert data under the release mode.
1.0.3
- More logging added.
- IDs usage fixed.
1.0.2
- Better logging.
1.0.1
- Complete rewrite of the communication with backend.
- Reading the body data introduced.
- Calculating time improved.
- More logging added.
1.0.0
- Complete rewrite of the library to follow the Spike standards required.
0.0.10
- Sleep data reading and sending support introduced.
0.0.9
- Activity groups support introduced.
0.0.8
- Removed some data for summary.
- Workouts data times rounding added, so conversions would not fail.
0.0.7
- Example updated.
- Summary data reading improved even further.
- Added the way to send separate identifier data.
- README updated.
0.0.6
- Workout data reading introduced.
- Summary data reading improved, and now all of the summary data can be read.
0.0.5
- Background delivery now takes last three days for the data to be sent.
- calories removed, and basal energy burned introduced instead.
0.0.4
- Background delivery support introduced.
- Better code organization regarding storing some configured data in the storage.
- Background delivery interval support introduced.
- Improvements regarding date and time resolution when resolving or sending the data.
0.0.3
- Made sure background tasks would take correct intervals to send the data.
- Added more information to logging.
- Made sure events logged would be sorted by the date in an ascending order.
0.0.2
- Improved handling of the background tasks registration.
- Support to set custom task ID introduced to check if background tasks actually work.
- Support for event tracking introduced. Tracking can be enabled or disabled.
0.0.1
- Apple HealthKit data reading functionality with ability to send this data to the server of your choice.
