NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #963 most downloaded on pub.dev
Wrapper for Apple's HealthKit on iOS and Google's Health Connect on Android.
Last release 1 months ago
14 Aug 2026
Release timing varies
gaps range from 1 weeks to 6 months
Nearly every release is documented
notes for 55 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
91 releases · first in 2019
Write data now returns UUID of records - PR #448
iOS: Fix issues with app crashing on iOS 15
AppleSleepingWristTemperature - PR #468SkinTemperatureRecord (READ/WRITE)One column per quarter.
Add support for WORKOUT_ROUTE - PR #454
WORKOUT_ROUTE - PR #454ActivityIntensityRecord (READ/WRITE/Aggregate)androidx.health.connect:connect-client:1.2.0-alpha02No changes - Now the Health package lives in its own repository at https://github.com/carp-dk/carp-health-flutter
No changes - Now the Health package lives in its own repository at https://github.com/carp-dk/carp-health-flutter
Add get health data by UUID (see getHealthDataByUUID()) - PR #1193, #1194
getHealthDataByUUID()) - PR #1193, #1194deleteByUUID())WeightRecord, HeightRecord, BodyTemperatureRecord, and BloodGlucoseRecord - PR #1212compileSDK to 36 - Fix #1261org.jetbrains.kotlin.android to 2.1.0androidx.health.connect:connect-client to 1.1.0-rc03device_info_plus to 12.1.0 - Fix #1264Fix adding mindfulness resulted in crash in iOS
Fix permissions issues with iOS
* Fix #1250 * Fix #1233
Fix #1207 - (Important: Some property names might have changed compared to before for Nutrition)
Refactored Android native implementation (No Flutter API changes)
Refactored Swift native implementation - See PR #1175 and #1208 for more information:
SwiftHealthPlugin (Main Plugin Class)
├── HealthDataReader (Reading health data)
├── HealthDataWriter (Writing health data)
├── HealthDataOperations (Permissions and deletion)
├── HealthUtilities (Helper functions)
└── HealthConstants (Constants and enums)
Refactored Swift native implementation
iOS: Add swift_version for add-to-app implementations - PR #1205
swift_version for add-to-app implementations - PR #1205iOS: Add deviceModel in returned Health data to identify the device that generated the data of the receiver. (in iOS source_name represents the revisi
deviceModel in returned Health data to identify the device that generated the data of the receiver. (in iOS source_name represents the revision of the source responsible for saving the receiver.)meal_type property in Nutrition was null alwaysCARDIO_DANCE HealthDataType - #1146Add delete record by UUID method. See function deleteByUUID(required String uuid, HealthDataType? type)
deleteByUUID(required String uuid, HealthDataType? type)<!-- Add the following permission into AndroidManifest.xml -->
<uses-permission android:name="android.permission.health.READ_HEALTH_DATA_HISTORY"/>
androidx.compose:compose-bom to 2025.02.00androidx.health.connect:connect-client to 1.1.0-alpha11androidx.fragment:fragment-ktx to 1.8.6* Update of API and README doc * Fix #1118
BREAKING This release introduces a significant architectural change to the health plugin by removing the singleton pattern.
BREAKING This release introduces a significant architectural change to the health plugin by removing the singleton pattern.
DeviceInfoPlugin:Health class is no longer a singleton.Health() factory constructor is removed.Health class now accepts an (optional) DeviceInfoPlugin dependency through its constructor, this change was introduced to provide easy mocking of the DeviceInfo class during unit tests.Health class MUST be initialized correctly as a global instance.Health class as a global instance (i.e. do not call Health() every time but rather define an instance final health = Health();).BREAKING (Android) Remove automatic permission request of DISTANCE_DELTA and TOTAL_CALORIES_BURNED data types when requesting permission for WORKOUT health data type.
Add LEAN_BODY_MASS data type #1078 - PR #1097
LEAN_BODY_MASS:<uses-permission android:name="android.permission.health.READ_LEAN_BODY_MASS"/>
<uses-permission android:name="android.permission.health.WRITE_LEAN_BODY_MASS"/>
iOS: Add WATER_TEMPERATURE and UNDERWATER_DEPTH health values #1096
iOS: Add support for Underwater Diving workout #1096
Fix issue where iOS delete not deleting own records - PR #1104
Fix issue where SLEEP_LIGHT type was not aligned correctly - PR #1086
Updated intl to ^0.20.1 #1092
Updated device_info_plus to ^11.2.0
Example app: Updated permission_handler to ^11.3.1
* Fix of #1059
Type-safe JSON deserialization using carp_serializable v. 2.0
Remove deprecated Android v1 embeddings, PR #1021
useHealthConnectIfAvailable from the parameters of Health().configure()disconnect method which was previously used to disconnect from Google Fit.flowRate value from writeBloodOxygen as this is not supported by Health Connect.HealthWorkoutActivityTypes which were supported by Google Fit. Some of these do not have suitable alternatives in Google Health Connect (and are not supported on iOS). The list of removed types can be found in PR #1014RecordingMethod enum
isManualEntry from HealthDataPoint in favor of recordingMethod, of which the value is an enum RecordingMethodincludeManualEntry (previously a boolean) from some of the querying methods in favor of recordingMethodsToFilter.OTHER workout typeHealthWorkoutActivityType.other - PR #1016Using named parameters in most methods for consistency.
HealthPlatformType to save which health platform the data originates from (Apple Health, Google Fit, or Google Health Connect).Fix of error in WorkoutSummary JSON serialization.
Nothing published for this version
BREAKING The plugin now works as a singleton using Health() to access it (instead of creating an instance of HealthFactory).
Health() to access it (instead of creating an instance of HealthFactory).
configure() method before use.SleepSessionRecord, PR #928Nothing published for this version
Updated HC to comply with Android 14, PR #834 and #882
Nothing published for this version
Fixed sleep stages on iOS, Issue #803
Upgraded to mavenCentral, upgraded minSDK, compileSDK, targetSDK
* Updated dart doc
Added deep, light, REM, and out of bed sleep to iOS and Android HealthConnect
Fixed issues #694, #696, #697, #698
Added initial support for the new Health Connect API, as Google Fit is being deprecated.
revokePermissions, getTotalStepsInInterval.^0.17.0 to work with flutter stable version.Added method for revoking permissions. On Android it uses disableFit() to remove access to Google Fit - revokePermissions. Documented lack of methods
disableFit() to remove access to Google Fit - revokePermissions. Documented lack of methods for iOS.Updated enumToString to native .name
enumToString to native .namewriteWorkoutData to avoid bug when denying the auth.writeBloodPressure api.upgrade to device_info_plus: ^8.0.0
device_info_plus: ^8.0.0upgrade to device_info_plus: ^7.0.0
device_info_plus: ^7.0.0* fix of #572.
update of device_info_plus: ^4.0.0
device_info_plus: ^4.0.0Large refactor of the HealthDataPoint value into generic HealthValue and added NumericHealthValue, AudiogramHealthValue and WorkoutHealthValue
HealthDataPoint value into generic HealthValue and added NumericHealthValue, AudiogramHealthValue and WorkoutHealthValuewriteAudiogram and in getHealthDataFromTypeswriteWorkout and in getHealthDataFromTypesHealthWorkoutActivityTypesHealthDataUnit typesrequestPermissions as it was essentially a duplicate of requestAuthorizationAdded Headache-types to HealthDataTypes on iOS
* fix of #401.
Resolved concurrent issues with native threads PR#483.
Nothing published for this version
Add sleep in bed to android PR#457.
DISTANCE_DELTA is for Android, not iOS PR#428.
Write support on Google Fit and HealthKit PR#430.
Updated device_info_plus version dependency
device_info_plus version dependencyadded simple HKWorkout and ExerciseTime support PR#421.
HKWorkout and ExerciseTime support PR#421.added functions to request authorization PR#394
Nothing published for this version
added sleep data to Android + fix of permissions and initialization PR#372
Added two new fields to the HealthDataPoint - SourceId and SourceName and populate when data is read. This allows data points to be disambiguous and i
HealthDataPoint - SourceId and SourceName and populate when data is read. This allows data points to be disambiguous and in some cases allows us to get more accurate data. For example the number of steps can be reported from Apple Health and Watch and without source data they are aggregated into just "steps" producing an inaccurate result PR#281.Null safety in Dart has been implemented
Upgrade to device_info version 2.0.0
device_info version 2.0.0Merged various PRs, mostly smaller fixes
Upgrade to device_info version 1.0.0
device_info version 1.0.0* Bugfix regarding BMI from
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →