Changelog V2
Changelog for 2.X.X releases.
Versioning definitions:
Given a version number VERSION.MAJOR.MINOR:
- VERSION: Incompatible API changes
- MAJOR: New functionality in an incompatible manner, Major bug fixes. Security fixes
- MINOR: New functionality in a backward compatible manner, Minor bug fixes, Performance improvements.
This version of rook-sdk supports background reads
You can enable it using the BackgroundSyncManager class, however you will need to update your project to Android 15 (SDK 35). If you are unable to do it, you can still use the 1.X.X branch without any background functionality.
Please note that when the 2.0.0 branch goes out of ALPHA, the 1.X.X branch won't be updated anymore, until then, both branches will be on pair in terms of bug fixes and new features.
note
The following are ALPHA releases, breaking changes must be expected.
2.0.0-alpha06
- Added
getAuthorizedDataSources
toRookDataSources
(Instance and Companion) to get a summary of all data sources authorized by the current user. - Removed old storage, this storage was superseded by the new secure storage introduced in 1.6.0-alpha01. All SDK versions starting from 1.6.0-alpha01 have a procedure to migrate the data from the old storage to the new storage during SDK initialization, if you are upgrading from version 1.6.0-alpha01+ you don't need to do anything as your data is already in the new storage. If you are upgrading from a version prior to 1.6.0-alpha01 you may need to re-do the SDK initialization and user initialization steps.
- Removed deprecated classes and properties
DataSource.image
: Replace withDataSource.imageUrl
- SyncInstruction: No longer used by
yesterdaySync
- RookHealthPermissionsManager: Follow migration guide.
RookHelpers.shouldSyncFor
: Developers no longer need to use this function sinceRookEventManager
andRookSummaryManager
already performs allshouldSyncFor
checks.RookStepsManager.hasPermissions
: Follow migration guide.RookStepsManager.requestPermissions
: Follow migration guide.- RookStepsPermissions: Follow migration guide.
- RookYesterdaySyncPermissions: Follow migration guide.
Dependency updates:
- com.google.crypto.tink:tink-android: 1.4.0-rc2 → Removed
2.0.0-alpha05
- Updated Health Connect client in order to address CVE-2024-7254. This fix will be exclusive for this branch as it requires Android 15 (SDK 35).
Dependency updates
- androidx.health.connect:connect-client: 1.1.0-alpha09 → 1.1.0-alpha10
2.0.0-alpha04
- Bug fixes
- Fixed Samsung Health steps count -1 (the SDK will always add +1 to steps count from Samsung).
- Fixed Health Connect permissions request launcher crash when requesting permissions with an empty list of permissions.
- Improvements
- Added current day Steps and Activity events to
rookYesterdaySync
andRookContinuousUploadManager
rookYesterdaySync
no longer requires you provide your credentials and environment. It will use the last used credentials and environment.
- Added current day Steps and Activity events to
- RookContinuousUploadManager
- Added
RookContinuousUploadManager
to launch on demand 29 days historic health data synchronizations. Please note that this MUST NOT be used if you are already using therookYesterdaySync
delegate. Learn more about this in the Continuous Upload section.
- Added
- Permissions Revocation
- Added
revokeHealthConnectPermissions
toRookPermissionsManager
(Instance and Companion) to reset all granted Health Connect permissions. Learn more about this in the Revoke permissions section.
- Added
- RookStepsManager
- Added
isBackgroundAndroidStepsActive
to the Companion object ofRookStepsManager
. - Added
enableBackgroundAndroidSteps
to the Companion object ofRookStepsManager
. - Added
disableBackgroundAndroidSteps
to the Companion object ofRookStepsManager
. - Added
syncTodayAndroidStepsCount
to the Companion object ofRookStepsManager
.
- Added
- RookDataSources
- Added
getAvailableDataSources
to the Companion object ofRookDataSources
. - Added
revokeDataSource
to the Companion object ofRookDataSources
. - Added
presentDataSourceView
to the Companion object ofRookDataSources
.
- Added
2.0.0-alpha03
- Added Vo2Max granular data to oxygenation events.
- Added Body Metrics, Heart Rate, Blood Pressure, Blood Glucose, Oxygenation and Temperature events to Background Sync.
Dependency updates
- Gradle: 8.2.0 → 8.6.1
- Kotlin: 1.8.10 → 1.8.22
- com.google.devtools.ksp: New → 1.8.22-1.0.11
- org.jetbrains.kotlin.kapt: 1.8.10 → Removed
- androidx.core:core-ktx: 1.7.0 → 1.12.0
- org.jetbrains.kotlinx:kotlinx-serialization-json: 1.5.0 → 1.5.1
2.0.0-alpha02
- Breaking changes
HealthConnectPermissionsSummary
will be nullable for the fragment variant ofregisterPermissionsRequestLauncher
a null value will be returned if the fragment is not associated with a context.
- Customizable permissions
- Now the permissions that you remove from the AndroidManifest will affect the behavior of requesting/checking permissions functions, learn more about this in the customizing permissions section.
2.0.0-alpha01
- Android 15
- Updated
compileSdk
andtargetSdk
to 35.
- Updated
- Breaking changes
- Parameter
onFinished
ofRookPermissionsManager.registerPermissionsRequestLauncher
is now required. - Parameter
onFinished
ofRookPermissionsManager.registerPermissionsRequestLauncher
lambda now returns aHealthConnectPermissionsSummary
instead of a Boolean. RookPermissionsManager.launchPermissionsRequest
now requires a context.RookPermissionsManager.launchPermissionsRequest
was converted into a suspend function.Experimental
annotation was renamed toExperimentalRookApi
.
- Parameter
- Improvements
- Greatly reduced the recovery time that automatic syncs will wait before syncing again when Health Connect rate limit is exceeded.
- Improved Health Connect permissions requests behavior.
- Added
EXTRA_HEALTH_CONNECT_PERMISSIONS_PARTIALLY_GRANTED
to check if at least one permission was granted by the user. This extra will always be included in theACTION_HEALTH_CONNECT_PERMISSIONS
action. - Added
checkHealthConnectPermissionsPartially
toRookPermissionsManager
(Instance and Companion) to check if at least one Health Connect permission is granted.
- Background Sync
- Health Connect now supports full background data reads, a new class;
RookBackgroundSyncManager
was added to schedule data synchronizations every hour, see the Background sync documentation to learn more. - Added experimental function
isScheduledFlow
toRookBackgroundSyncManager
(Instance and Companion) to get real-time background sync schedule state updates. - Added
EXTRA_HEALTH_CONNECT_BACKGROUND_PERMISSION_GRANTED
to check if background read permission was granted by the user. Note that if this device does not support background read, this will be false. This extra will always be included in theACTION_HEALTH_CONNECT_PERMISSIONS
action. - The function
requestHealthConnectPermissions
inRookPermissionsManager
(Instance and Companion) will also ask for the permission to read data in background (if the device supports it). - Not all devices support background reads, some may have to update its Health Connect application, to check
compatibility a new function;
checkBackgroundReadStatus
was added toRookPermissionsManager
(Instance and Companion). Go to the Background Read permissions section in the documentation to learn more.
- Health Connect now supports full background data reads, a new class;