Skip to main content

CHANGELOG

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.

Changelog

5.2.0​

The 5.x line is the TurboModule implementation for the React Native 0.83 New Architecture track. It uses the same react-native-rook-sdk npm package name as 4.x, so clients must pin the required major version.

Features​

  • Added checkHistoryReadStatus() to useRookPermissions for Health Connect history-read permission status.
  • Added HYDRATION to SharedHealthEvents.
  • Updated the underlying Apple Health, Health Connect, and Samsung Health native dependencies for the 4.2 development line.

5.1.1​

Features​

  • Added the Apple Health step-count-by-source API and typed response models.

5.0.0​

This release introduces the TurboModule architecture and contains breaking changes. It is intended for React Native 0.83 applications using the New Architecture. React Native 0.73 applications using classic Native Modules should remain on the 4.x line.

See the 4.x Native Modules to 5.x TurboModules migration guide.

Breaking changes​

  • Replaced classic NativeModules registration with a code-generated TurboModule.
  • Removed getRookModule(); use the exported RookSdk only when direct native access is required.
  • Replaced NativeEventEmitter notification setup with RookSdk.onRookMessage().
  • Renamed permission helpers:
    • requestWriteNutritionPermission → requestAppleWriteNutritionPermission
    • requestDisableBatteryOptimizations → requestUnrestrictedBatteryUsage
    • requiresOemAutoStartSetup → isAutoStartSettingRequired
    • openOemAutoStartSetup → openAutoStartSettings

Compatibility​

  • RookSyncGate and the primary configuration, permission, synchronization, and local-data hooks remain available from react-native-rook-sdk.
  • Native code must be rebuilt after upgrading; a 4.x native binary cannot be reused with the 5.x JavaScript package.

4.0.0​

This release includes breaking changes, please refer to the migration guide

Bug Fixes​

  • Android: Updated native module versions for improved stability.
  • Permissions: Migrated entries to values in RookPermissionsModule to ensure backward compatibility with older Kotlin versions.
  • Authentication: New Parameters requiered in RookSyncGateProvider to improve the security client uuid, secret and bundle/package name
  • Permissions: Restricted permission availability checks to run exclusively on Android.

Features​

Android​

  • Error Handling: Implemented robust error catching and handling across the native module.
  • Authentication: Support the new authentication flow based on sessions.
  • Health Connect: Added functionality to write nutrition data and fetch heart rate data.

iOS​

  • Apple Health: Added support for writing nutrition data.
  • Data Handling: Included local heart rate event tracking.
  • Sources: Updated the Sources module to support User ID reception.

General & Hooks​

  • Diagnostics: Added getDiagnostics function to the configuration hook.
  • Samsung Health: Refactored Samsung background sync logic into a dedicated, standalone hook.
  • Local Data: Implemented core functions for writing nutrition data in RookLocalData.

2.1.2​

Bugs​

  • rename the authorizationURL to authorizationUrl in ios

2.1.0 - LTS (Long Term Support)​

It will continue to receive bug fixes, security patches, and maintenance updates until May, 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.

Features​

  • Included version 2 of the authorized endpoints to verify which data sources the user has connected.
  • You can now get a local copy of a Sleep Summary, Physical Summary, Body Summary and Activity events after syncing, check useRookData hook

2.0.3​

Bug Fixes​

  • Fixed an error that mixes the rem and deep duration
  • Add support for older ios devices

2.0.2​

Bug Fixes​

  • Updated step tracking implementation to work even when Health Connect is not available, ensuring step data can still be collected by the android system and synced.

2.0.0​

Bug Fixes​

  • Fixed an issue in the SDK entry point to properly include useRookVariable.
  • Improved validation on Android to detect if Health Connect already has a user linked to Samsung Health.

Features​

  • Added a permission notification through Android broadcast.
  • New functions to enable or disable background sync with Samsung Health.
  • Samsung Health is now supported in the auto-sync functionality.
  • Samsung Health integration added into the SDK configuration.
  • Added management of Samsung Health permissions.
  • Enabled extraction of steps and calories using useRookVariable.
  • Introduced a new hook to retrieve steps and calories from Apple Health and Health Connect.

Breaking Changes​

  • Some functions have been renamed for better clarity:
    • hasAndroidBackgroundPermissions → androidHasBackgroundPermissions
    • hasHealthConnectPermissionsPartially → healthConnectHasPartialPermissions

1.3.2​

Bug Fixes​

  • Updated native module versions for iOS and Android to resolve minor issues.
  • Improved delivery of the physical summary in the iOS SDK.

1.3.1​

  • Minor fixes

1.2.0​

Bug Fixes​

  • Change the name of the notification removing spaces
  • Add the implementation of the authorizer endpoint
  • Change the response of objc to a plain object to avoid mismatch with Android

Features​

  • Add the endpoint to get authorizer data source
  • Add the Health Connect background as first option in auto sync
  • Add the native background sync of Health Connect
  • Add the new way to sync data manually in Android
  • Add the sync refactor in iOS

1.1.2​

  • Calories Event
    • In the hook of events you will find a new function syncTodayCaloriesCount to get the calories burned.
    • You will start getting notifications of calories event into the webhook

1.0.1​

  • BREAKING CHANGES:
    • Change a typo in the response of getDataSources, change authorizationUrl to authorizationURL
    • Change the response of the checkAvailability to provide more context about the device and health connect

1.0.0​

  • Customizable permissions on Android

    • Now the permissions that you remove from the AndroidManifest will affect the behavior of requesting/checking permissions functions, allowing you to discard permissions that you don't need.
    • useRookPermissions().hasHealthConnectPermissionsPartially check if at least one permission was granted.
    • The broadcast channel also notifies (ROOK_HEALTH_CONNECT_PERMISSIONS_PARTIALLY_GRANTED) if at least one permission was granted.
  • BREAKING CHANGES:

    • Response of checkAvailability change from INSTALED to INSTALLED
    • Removed deprecated functions in useRookSummaries
      • shouldSyncSleepSummariesFor
      • shouldSyncSleepSummariesFor
      • shouldSyncPhysicalSummariesFor
    • Removed deprecated functions in useRookAndroidBackgroundSteps
      • hasStepsPermissions
      • requestStepsPermissions
    • Removed doOnEnd parameter in scheduledYesterdaySync

0.7.0​

  • Optimizations

    • Add the broadcast channel were you can listen for notifications about the permissions status
    • Improved sleep summary extraction to prevent bad Samsung Health behavior.
    • requestAndroidBackgroundPermissions and requestPermissions return a RequestStatusPermissions indicating the current status of the permissions two possible values REQUEST_SENT means that the views with permissions was presented and ALREADY_GRANTED means that the user already has granted the permissions
    • revokeDataSource function added into useRookDataSources to revoke API source
    • Standardized errors for apple health in functions and background, to check the error into the catch check for error.code and error.message
    • Broadcast channel to listen for notifications of the SDK
  • Deprecations

    • requestStepsPermissions is deprecated and will be removed
    • shouldSync{ROOK-Pillar} is deprecated and will be removed, you no longer need to use this function the sync functions make this checks

0.6.2​

  • Include some minor fixes and some optimizations
  • Updates into the native modules

0.6.0​

  • BREAKING CHANGE: Remove the syncYesterdaySummaries from useRookSummaries and syncYesterdayEvents from useRookEvents
  • Improve the performance of the enableBackgroundSync
  • Support the redirectURL on data sources

0.5.0​

  • Include some minor fixes and some optimizations
  • Include the enableBackgroundSync to automatically start the background services

0.4.1​

  • Include some minor fixes and some optimizations

  • Health Connect:

    • Added RookEventManager.syncTodayStepsCount to sync the steps count of the current day, if successful it will return a SyncStatusWithData.Synced object with the steps information that was uploaded or SyncStatusWithData.RecordsNotFound if the SDK could not find any steps records.
  • Android steps

    • RookStepsManager.getTodayStepsCount was removed.
    • Added RookStepsManager.syncTodayAndroidStepsCount to sync the steps count of the current day, if successful it will return the number of steps taken.

0.3.4​

  • BREAKING CHANGE: Remove the observe of steps of Android and iOS
  • BREAKING CHANGE: Remove the observe of calories of iOS

0.3.3​

  • Add the ability to display local logs in the console for certain SDK operations.

0.3.2​

  • Minor fixes

0.3.1​

  • fixed body metrics events issues

0.3.0​

  • Add the ability to fetch the data sources and show a prebuilt view of the data sources
  • Get the current steps and calories

0.2.6​

  • Fixed issue that prevents get the latest info of body metrics in events and summaries.

0.2.5​

  • Initial version