Skip to main content

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 to RookDataSources (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 with DataSource.imageUrl
    • SyncInstruction: No longer used by yesterdaySync
    • RookHealthPermissionsManager: Follow migration guide.
    • RookHelpers.shouldSyncFor: Developers no longer need to use this function since RookEventManager and RookSummaryManager already performs all shouldSyncFor 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-alpha091.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 and RookContinuousUploadManager
    • rookYesterdaySync no longer requires you provide your credentials and environment. It will use the last used credentials and environment.
  • 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 the rookYesterdaySync delegate. Learn more about this in the Continuous Upload section.
  • Permissions Revocation
    • Added revokeHealthConnectPermissions to RookPermissionsManager (Instance and Companion) to reset all granted Health Connect permissions. Learn more about this in the Revoke permissions section.
  • RookStepsManager
    • Added isBackgroundAndroidStepsActive to the Companion object of RookStepsManager.
    • Added enableBackgroundAndroidSteps to the Companion object of RookStepsManager.
    • Added disableBackgroundAndroidSteps to the Companion object of RookStepsManager.
    • Added syncTodayAndroidStepsCount to the Companion object of RookStepsManager.
  • RookDataSources
    • Added getAvailableDataSources to the Companion object of RookDataSources.
    • Added revokeDataSource to the Companion object of RookDataSources.
    • Added presentDataSourceView to the Companion object of RookDataSources.

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.08.6.1
  • Kotlin: 1.8.101.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.01.12.0
  • org.jetbrains.kotlinx:kotlinx-serialization-json: 1.5.01.5.1

2.0.0-alpha02

  • Breaking changes
    • HealthConnectPermissionsSummary will be nullable for the fragment variant of registerPermissionsRequestLauncher 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 and targetSdk to 35.
  • Breaking changes
    • Parameter onFinished of RookPermissionsManager.registerPermissionsRequestLauncher is now required.
    • Parameter onFinished of RookPermissionsManager.registerPermissionsRequestLauncher lambda now returns a HealthConnectPermissionsSummary instead of a Boolean.
    • RookPermissionsManager.launchPermissionsRequest now requires a context.
    • RookPermissionsManager.launchPermissionsRequest was converted into a suspend function.
    • Experimental annotation was renamed to ExperimentalRookApi.
  • 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 the ACTION_HEALTH_CONNECT_PERMISSIONS action.
    • Added checkHealthConnectPermissionsPartially to RookPermissionsManager (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 to RookBackgroundSyncManager (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 the ACTION_HEALTH_CONNECT_PERMISSIONS action.
    • The function requestHealthConnectPermissions in RookPermissionsManager (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 to RookPermissionsManager (Instance and Companion). Go to the Background Read permissions section in the documentation to learn more.