Spike ReactNative SDK Changelog
4.3.163
- 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
 
- Updated Health connect to 
- Update iOS SDK to 4.3.111
4.3.153
- Added documentation
4.3.143
- Fixed building iOS on Expo 54+ with New Architecture
- Updated Expo android manifest script
- 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.133
- New Spike.setLogCallback()method to receive logs from the native SDK:
- Fixed getBackgroundDeliveryConfig()method to beasync getBackgroundDeliveryConfig(): Promise<BackgroundDeliveryConfig | null>
- 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.123
- Update Android SDK to 4.3.62:- Optimized background delivery
 
4.3.113
- Added .corosProvider
- Updated ProviderSourceenum
- 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.103
- 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.93
- The old SpikeSDK API has been deprecated
- Added disableHealthKitIntegrationandisHealthKitIntegrationEnabledfunctions for iOS HealthKit
- Update Android SDK to 4.3.32:- 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.83
- 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
- Fixed prop names in SpikeRecord and Statistic data models
4.3.73
- Updated React native to 0.79
- Enhanced Expo support:
- Added a plugin to automatically configure the Android app by updating the necessary fields in build.gradlefiles andAndroidManifest.xml, including handling specified permissions.
- Enabled configuration of iOS HealthKit permission texts directly from the plugin settings.
- Added support for enabling background delivery via plugin configuration.
 
- Added a plugin to automatically configure the Android app by updating the necessary fields in 
app.json:
4.3.63
- 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.53
- Catch all exception types in Android module
4.3.43
- Added missing parameter in getHealthConnectPermissions
4.3.33
- 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 
- 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.23
- Updated native iOS SDK Version to 4.3.21- Improve how statistics are read from HealthKit
 
- Updated native Android SDK Version to 4.2.62- Added consumer proguard rules
 
4.3.13
- 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.52- 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
 
- New statistics:
4.2.73
- Updated readme file
4.2.63
- Updated native iOS SDK Version to iOS 4.2.41
- Fix date format in json push
 
4.2.53
- Fixed typo in method name: getGrantedHealthKitPermissionsin now properly calledgetGrantedHealthConnectPermissions
4.2.43
- Add support for React Native New Architecture (interop)
4.2.33
- 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.23
- 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.13
Android Spike SDK: 4.2.12
iOS Spike SDK: 4.2.11
🔴 Breaking Change: Update to Spike.createConnectionAPIv3
The method Spike.createConnectionAPIv3({appId:, authToken:, customerEndUserId:}) has been updated to:
Spike.createConnectionAPIv3({applicationId:, signature:, endUserId:})
Key Changes:
- The applicationIdparameter must now be provided as annumber.
- 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:Spike.createConnectionAPIv3Legacy({appId:, authToken:, customerEndUserId:})
4.1.23
Fixed typescript definitions4.1.13
Background deliveryAndroid Spike SDK: 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
- Add log callback
- Update gradle to 8.8.0
iOS Spike SDK: 4.1.11
- Add background delivery
- Add log callback
- Send more sleep data
4.0.23
Android Spike SDK: 4.0.22
iOS Spike SDK: 4.0.11
Updated Android SDK4.0.13
Android Spike SDK: 4.0.12
iOS Spike SDK: 4.0.11
Completely new SDK! Please see our official documentation for more details and usage instructions2.5.8
Android Spike SDK: 3.1.6
iOS Spike SDK: 2.4.5
- Android: Update steps intraday to better check for manual entries
- Android: Add permissions specific to steps_intraday
2.5.7
Android Spike SDK: 3.1.5
iOS Spike SDK: 2.4.5
- Android: check for permissions before reading additional sleep data
2.5.6
Android Spike SDK: 3.1.4
iOS Spike SDK: 2.4.5
- Android: update to newest SDK version
2.5.5
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.5
- iOS: update to newest SDK version
2.5.4
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.4
- iOS: Read more distance fields in workout object from HealthKit
2.5.3
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.2
- Pin iOS SDK version
2.5.2
Android Spike SDK: 3.1.1
iOS Spike SDK: 2.4.2
- iOS: Add customer user id validation
- Android: Better way to authenticate with API
- Android: Add saved session validation before connection is established
- Android: Add customer user id validation.
2.5.1
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.4.1
- iOS: Fix an issue when timezone changes while app is running.
2.5.0
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.4.0
- iOS: Add ECG data type.
2.4.5
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- Android: Fix an issue caused by calling spikeSDK methods from different threads at the same time.
2.4.4
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- iOS: Fix an issue caused by calling spikeSDK methods from different threads at the same time.
2.4.3
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- Add Background deliveries support for Expo managed projects.
2.4.2
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.2
- iOS: Add trigger extractAndPostData request done from background.
2.4.1
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.3.1
- iOS: Send cycling parameters with Activities stream data
- PROD & DEV Environments no longer supported.
2.3.7
Android Spike SDK: 3.0.19
iOS Spike SDK: 2.2.3
- Android: Add new logic for detecting changes in intraday_steps metadata.
- Android: Add safeguard for to handle multiple sources of sleep data and avoid illogical values.
2.3.6
Android Spike SDK: 3.0.17
iOS Spike SDK: 2.2.3
- Add providerTimestamp to Activities Summary data model.
2.3.5
Android Spike SDK: 3.0.17
iOS Spike SDK: 2.2.2
- Android: Remove the limitation that prevented values from being sent when requested period is more than a day.
- Android: Now calculating stage time by stages in sleep data.
- iOS: Include intraday entries of Steps intraday data type for range requests.
2.3.3
Android Spike SDK: 3.0.15
iOS Spike SDK: 2.2.1
- Add metadata object for Spike intraday entries.
2.3.2
Android Spike SDK: 3.0.11
iOS Spike SDK: 2.2.0
- Android: add safeguards for edge cases when function could be called without necessary data.
2.3.1
Android Spike SDK: 3.0.11
iOS Spike SDK: 2.2.0
- Android: improve Android wrapper.
2.3.0
Android Spike SDK: 3.0.11
iOS Spike SDK: 2.2.0
- iOS: SpikeData wrapper model aligned with server.
2.2.11
Android Spike SDK: 3.0.10
iOS Spike SDK: 2.1.14
- iOS: Fix date range parsing.
2.2.10
Android Spike SDK: 3.0.10
iOS Spike SDK: 2.1.13
- Android: Step intraday data improvements.
2.2.9
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.13
- Step intraday data improvements.
2.2.8
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.12
- iOS: Step intraday data improvements.
2.2.7
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.11
- Allow request multiple permission for Android using requestHealthPermissionsmethod. Provide single Spike data type or array of Spike data types.
2.2.6
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.11
- iOS: Add method to check Health Store data availability (isHealthDataAvailable).
2.2.5
Android Spike SDK: 3.0.8
iOS Spike SDK: 2.1.10
- Android: Can get permission contract before SpikeConnection is created.
- Android: Update package checker function to avoid unnecessary check for Android 14 and up versions.
2.2.4
Android Spike SDK: 3.0.6
iOS Spike SDK: 2.1.10
- Android: Move permission checking before data extraction to SDK connection layer
2.2.3
Android Spike SDK: 3.0.5
iOS Spike SDK: 2.1.10
- Android: Extracting heart data fixed
2.2.2
Android Spike SDK: 3.0.4
iOS Spike SDK: 2.1.10
- Android: Added support for Android 14.
- Android: Fixed some issues with data requesting for specified date range.
2.2.1
Android Spike SDK: 3.0.2
iOS Spike SDK: 2.1.10
- iOS: Spike SDK now use iso8601 standardized Calendar.
2.2.0
Android Spike SDK: 3.0.2
iOS Spike SDK: 2.1.9
- Android: Activity summary and activity stream can be called without granting all their permissions. Returned data depends on which permissions were provided.
- Android: Android Permission requests are divided by data types.
checkPermissionsGranted now requires Spike data type.
SpikeConnection method requestHealthPermissions now requires Spike data type.
See more: Permissions section
- Android: Works up to Android 13.
