Skip to main content

Changelog

4.0.0

New Features

Android 16 Support

The SDK now targets Android 16 (API level 36). Ensure your project's compileSdk and targetSdk are updated to 36 to avoid compatibility warnings.

BackgroundSync Progress Updates

You can now implement a BroadcastReceiver to monitor the progress of BackgroundSync in real-time. This allows for UI updates (e.g., progress bars) during background data transmission. Check the progress updates section in the background sync documentation.

Improved Synchronization

  • Current day Summary sync: Enabled summary synchronization for the current day.
  • Current day Heart Rate Events sync: Get accumulated Hear Rate measurements for the current day with rookSamsung.getTodayHeartRate() or RookSamsungObject.getTodayHeartRate(Context).
  • Temperature events sync with rookSamsung.syncEvents(LocalDate, SHSyncType.Event) or RookSamsungObject.syncEvents(Context, LocalDate, SHSyncType.Event) (requires SamsungHealthPermission.BODY_TEMPERATURE permission).
  • Automatic background cleanup: A successful call to deleteUserFromRook now automatically halts and cancels any previously scheduled BackgroundSync tasks.

Diagnostics

Get the current SDK state during development. Read documentation.

New Authentication

The authentication flow has been redesigned to improve security and eliminate the need for embedding secret keys within your application code.

New Requirements

To initialize the SDK, you must now provide your Client UUID and a secret. The SDK will perform a server-side validation of these credentials against the package name of your application.

Critical Requirement

You must register your applicationId (package name) and its corresponding secret in the ROOK Portal before attempting to initialize the SDK. Failure to register these credentials will cause the initialization to fail with an SHNotAuthorizedException.

If you come from a previous version you MUST re-initialize the SDK with the new authentication flow.

Environment Management

The ROOK Portal supports independent configurations for Sandbox and Production environments. Each environment requires its own unique pair of Package Name and secret.

Breaking Changes

SDK Version Requirements

The library has increased its baseline requirements to align with lastest Samsung Health Data SDK requirements.

  • Minimum Support: Updated to Android 10 (API 29). The minSdk is now set to 29.

Exception Renaming

  • SHHttpRequestException: The properties code and error have been renamed to httpCode and httpMessage respectively.

Return Type Changes

  • SHCalories
    • basal: Changed from Double to Double?
    • active: Changed from Double to Double?

Function Signatures

The following functions have updated return types:

  • sync(LocalDate) (Instance and Object): Now returns SHSyncSummariesResult.
  • sync(LocalDate, SHSyncType.Summary) (Instance and Object): Now returns Result<SHSyncStatus>.
  • syncEvents(LocalDate, SHSyncType.Event) (Instance and Object): Now returns Result<SHSyncStatus>.

Migrations

ComponentStatusMigration Action
clearUserIDRemovedReplace with deleteUserFromRook.

Dependency updates

  • Gradle: 8.6.18.9.3
  • Kotlin: 1.9.242.1.21
  • androidx.core:core-ktx: 1.15.01.17.0
  • androidx.appcompat:appcompat: 1.7.0 → Removed
  • com.google.android.material:material: 1.12.01.13.0
  • com.squareup.moshi:moshi-kotlin-codegen: 1.15.11.15.2
  • com.squareup.moshi:moshi: 1.15.11.15.2
  • com.squareup.retrofit2:converter-moshi: 2.11.02.12.0
  • androidx.room:room-compiler: 2.6.12.7.2
  • androidx.room:room-ktx: 2.6.12.7.2
  • androidx.room:room-runtime: 2.6.12.7.2
  • net.zetetic:sqlcipher-android: 4.7.04.10.0
  • Samsung Health Data AAR: 1.0.0-b21.0.0

V1 — Long-Term Support (LTS)

Rook Samsung SDK v1.1.0 remains our Long-Term Support (LTS) version. It will continue to receive critical bug fixes and security patches until September 27, 2026.

What this means

  • Guaranteed long-term stability for existing integrations.
  • Continued critical updates and security maintenance.
  • Ideal for production environments requiring predictable and reliable support.

Maintenance releases

1.1.0

  • Improved logging
  • Improved nutrition calories calculation.
  • Improved Heart Rate Min, Avg and Max calculation
  • Improved Heart Rate granular extraction

Breaking change

The following properties types were changed from Instant to ZonedDateTime:

  • SHSleepSummary
    • dateTime
    • sleepStartDateTime
    • sleepEndDateTime
  • SHPhysicalSummary
    • dateTime
  • SHBodySummary
    • dateTime
  • SHActivityEvent
    • dateTime
    • activityStartDateTime
    • activityEndDateTime

1.1.0-alpha06

  • Improved logging

1.1.0-alpha05

  • Improved nutrition calories calculation.

1.1.0-alpha04

  • Improved Heart Rate Min, Avg and Max calculation
  • Improved Heart Rate granular extraction

1.1.0-alpha03

Breaking change

The following properties types were changed from Instant to ZonedDateTime:

  • SHSleepSummary
    • dateTime
    • sleepStartDateTime
    • sleepEndDateTime
  • SHPhysicalSummary
    • dateTime
  • SHBodySummary
    • dateTime
  • SHActivityEvent
    • dateTime
    • activityStartDateTime
    • activityEndDateTime

1.1.0-alpha02

  • Improved logging

1.0.0

  • Initial release