health
Wrapper for Apple's HealthKit on iOS and Google's Health Connect on Android.
13.3.2
139K downloads/mo
#988 most downloaded on pub.dev
carp-dk/carp-health-flutter
What this package is like to depend on
Last release 9 days ago
14 Aug 2026
Release timing varies
gaps range from 1 weeks to 6 months
Most releases are documented
notes for 78 of 90 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
91 releases · first in 2019
6 releases in the last 12 months
see the full history below
Release timeline
91 releases · Nov 2019 to Aug 2026Releases
latest 60 of 91-
13.3.214 Aug 2026 -
13.3.106 Feb 2026Release notes
Open source →- iOS: Fix issues with app crashing on iOS 15
- iOS: Add support for
AppleSleepingWristTemperature- PR #468 - Android: Add support for
SkinTemperatureRecord(READ/WRITE)
-
13.3.025 Jan 2026Release notes
Open source →- Add support for
WORKOUT_ROUTE- PR #454 - Android: Add support for
ActivityIntensityRecord(READ/WRITE/Aggregate) - Update to
androidx.health.connect:connect-client:1.2.0-alpha02
- Add support for
-
13.2.114 Oct 2025Release notes
Open source →No changes - Now the Health package lives in its own repository at https://github.com/carp-dk/carp-health-flutter
-
13.2.016 Sep 2025Release notes
Open source →- Add get health data by UUID (see
getHealthDataByUUID()) - PR #1193, #1194 - Add delete by UUID (
deleteByUUID()) - Add support for unit conversion in
WeightRecord,HeightRecord,BodyTemperatureRecord, andBloodGlucoseRecord- PR #1212 - Update
compileSDKto 36 - Fix #1261 - Update Gradle to 8.9.1
- Update
org.jetbrains.kotlin.androidto 2.1.0 - Update
androidx.health.connect:connect-clientto 1.1.0-rc03 - Update
device_info_plusto 12.1.0 - Fix #1264
- Add get health data by UUID (see
-
13.1.429 Aug 2025 -
13.1.326 Aug 2025 -
13.1.225 Aug 2025 -
13.1.124 Jun 2025 -
13.1.012 Jun 2025 -
13.0.103 Jun 2025Release notes
Open source →SwiftHealthPlugin (Main Plugin Class) ├── HealthDataReader (Reading health data) ├── HealthDataWriter (Writing health data) ├── HealthDataOperations (Permissions and deletion) ├── HealthUtilities (Helper functions) └── HealthConstants (Constants and enums) -
13.0.003 Jun 2025 -
12.2.102 Jun 2025 -
12.2.030 Apr 2025Release notes
Open source →- iOS: Add
deviceModelin returned Health data to identify the device that generated the data of the receiver. (in iOSsource_namerepresents the revision of the source responsible for saving the receiver.) - Android: Add read health data in background - PR #1184
- Fix #1169 where
meal_typeproperty inNutritionwas null always - iOS: Add
CARDIO_DANCEHealthDataType - #1146
- iOS: Add
-
12.1.017 Mar 2025Release notes
Open source →- Add delete record by UUID method. See function
deleteByUUID(required String uuid, HealthDataType? type) - iOS: Parse metadata to remove unsupported types - PR #1120
- iOS: Add UV Index Types
- Android: Add request access to historic data #1126 - PR #1127
<!-- Add the following permission into AndroidManifest.xml --> <uses-permission android:name="android.permission.health.READ_HEALTH_DATA_HISTORY"/>- Android:
- Update
androidx.compose:compose-bomto2025.02.00 - Update
androidx.health.connect:connect-clientto1.1.0-alpha11 - Update
androidx.fragment:fragment-ktxto1.8.6 - Update to Java 11
- Update
- Update example apps
- Add delete record by UUID method. See function
-
12.0.116 Jan 2025 -
12.0.015 Jan 2025Release notes
Open source →-
BREAKING This release introduces a significant architectural change to the
healthplugin by removing thesingletonpattern.- Dependency Injection for
DeviceInfoPlugin: - The
Healthclass is no longer a singleton. - The
Health()factory constructor is removed. - The
Healthclass now accepts an (optional)DeviceInfoPlugindependency through its constructor, this change was introduced to provide easy mocking of theDeviceInfoclass during unit tests. - This architectural change means that, for the application to work correctly, the
Healthclass MUST be initialized correctly as a global instance. - Impact:
- For most users, no immediate code changes are required but it is paramount to initialize the
Healthclass as a global instance (i.e. do not callHealth()every time but rather define an instancefinal health = Health();).
- For most users, no immediate code changes are required but it is paramount to initialize the
- Dependency Injection for
-
BREAKING (Android) Remove automatic permission request of
DISTANCE_DELTAandTOTAL_CALORIES_BURNEDdata types when requesting permission forWORKOUThealth data type. -
Add
LEAN_BODY_MASSdata type #1078 - PR #1097- The following AndroidManifest values are required to READ/WRITE
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"/> - The following AndroidManifest values are required to READ/WRITE
-
iOS: Add
WATER_TEMPERATUREandUNDERWATER_DEPTHhealth values #1096 -
iOS: Add support for
Underwater Divingworkout #1096 -
Fix issue where iOS delete not deleting own records - PR #1104
-
Fix issue where
SLEEP_LIGHTtype was not aligned correctly - PR #1086 -
Updated
intlto ^0.20.1 #1092 -
Updated
device_info_plusto ^11.2.0 -
Example app: Updated
permission_handlerto ^11.3.1
-
-
11.1.128 Nov 2024 -
11.1.023 Sep 2024Release notes
Open source →- Fix of #1043
- Type-safe JSON deserialization using carp_serializable v. 2.0
-
11.0.030 Aug 2024Release notes
Open source →- BREAKING Remove Google Fit support in the Android code, as well as Google FIt related dependencies and references throughout the documentation
- Remove
useHealthConnectIfAvailablefrom the parameters ofHealth().configure() - Remove the
disconnectmethod which was previously used to disconnect from Google Fit. - Remove the
flowRatevalue fromwriteBloodOxygenas this is not supported by Health Connect. - Remove support for various
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 #1014
- Remove
- BREAKING introduce a new
RecordingMethodenum- This can be used to filter records by automatic or manual entries when fetching data
- You can also specify the recording method to write in the metadata
- Remove
isManualEntryfromHealthDataPointin favor ofrecordingMethod, of which the value is an enumRecordingMethod - Remove
includeManualEntry(previously a boolean) from some of the querying methods in favor ofrecordingMethodsToFilter. - For complete details on relevant changes, see the description of PR #1023
- Add support for all sleep stages across iOS and Android
- Android: Add support for
OTHERworkout type - Cleaned up workout activity types for consistency across iOS and Android, see PR #1020 for a complete list of changes
- iOS: add support for menstruation flow, PR #1008
- Android: Add support for heart rate variability, PR #1009
- iOS: add support for atrial fibrillation burden, PR #1031
- Add support for UUIDs in health records for both HealthKit and Health Connect, PR #1019
- Fix an issue when querying workouts, the native code could respond with an activity that is not supported in the Health package, causing an error - this will fallback to
HealthWorkoutActivityType.other- PR #1016 - Remove deprecated Android v1 embeddings, PR #1021
- BREAKING Remove Google Fit support in the Android code, as well as Google FIt related dependencies and references throughout the documentation
-
10.2.003 Apr 2024Release notes
Open source →- Using named parameters in most methods for consistency.
- Added a
HealthPlatformTypeto save which health platform the data originates from (Apple Health, Google Fit, or Google Health Connect). - Android: Improved support for Google Health Connect
- iOS: Add support for saving blood pressure as a correlation, PR #919
-
10.1.130 Mar 2024 -
10.1.030 Mar 2024Nothing published for this version
-
10.0.029 Mar 2024Release notes
Open source →- BREAKING The plugin now works as a singleton using
Health()to access it (instead of creating an instance ofHealthFactory).- This entails that the plugin now need to be configured using the
configure()method before use. - The example app has been update to demonstrate this new singleton model.
- This entails that the plugin now need to be configured using the
- Support for new data types:
- Fixed
SleepSessionRecord, PR #928 - Update to API and README docs
- Upgrade to Dart 3.2 and Flutter 3.
- Added Dart linter and fixed a series of type casting issues.
- Using carp_serializable for consistent camel_case and type-safe generation of JSON serialization methods for polymorphic health data type classes.
- BREAKING The plugin now works as a singleton using
-
9.0.112 Feb 2024Nothing published for this version
-
9.0.031 Jan 2024Release notes
Open source →- Updated HC to comply with Android 14, PR #834 and #882
- Added checks for NullPointerException, closes issue #878
- Updated intl to ^0.19.0
- Upgrade to AGP 8, PR #868
- Added missing google fit workout types, PR #836
- Added pagination in HC, PR #862
- Fix of permission in example app + improvements to doc, PR #875
-
8.2.031 Jan 2024 withdrawnNothing published for this version
-
8.1.023 Nov 2023 -
8.0.014 Aug 2023 -
7.0.104 Jul 2023 -
7.0.026 Jun 2023Release notes
Open source →- Merged PR #722
- Added deep, light, REM, and out of bed sleep to iOS and Android HealthConnect
-
6.0.021 Apr 2023 -
5.0.030 Mar 2023Release notes
Open source →- Added initial support for the new Health Connect API, as Google Fit is being deprecated.
- Does not yet support
revokePermissions,getTotalStepsInInterval.
- Does not yet support
- Changed Intl package version dependency to
^0.17.0to work with flutter stable version. - Updated the example app to handle more buttons.
- Added initial support for the new Health Connect API, as Google Fit is being deprecated.
-
4.6.009 Mar 2023Release notes
Open source →- Added method for revoking permissions. On Android it uses
disableFit()to remove access to Google Fit -revokePermissions. Documented lack of methods for iOS.
- Added method for revoking permissions. On Android it uses
-
4.5.009 Feb 2023Release notes
Open source →- Updated android sdk, gradle
- Updated
enumToStringto native.name - Update and fixed JSON serialization of HealthDataPoints
- Removed auth request in
writeWorkoutDatato avoid bug when denying the auth. - Merged pull requests #653, #652, #639, #644, #668
- Further developed #644 on android to accommodate having the
writeBloodPressureapi. - Small bug fixes
-
4.4.005 Dec 2022 -
4.3.029 Oct 2022 -
4.2.021 Oct 2022 -
4.1.106 Jul 2022 -
4.1.029 Jun 2022Release notes
Open source →- update of
device_info_plus: ^4.0.0 - upgraded to Dart 2.17 and Flutter 3.0
- update of
-
4.0.001 Jun 2022Release notes
Open source →- Large refactor of the
HealthDataPointvalue into genericHealthValueand addedNumericHealthValue,AudiogramHealthValueandWorkoutHealthValue - Added support for Audiograms with
writeAudiogramand ingetHealthDataFromTypes - Added support for Workouts with
writeWorkoutand ingetHealthDataFromTypes - Added all
HealthWorkoutActivityTypes - Added more
HealthDataUnittypes - Fix of #432
- updated documentation in code
- updated documentation in README.md
- updated example app
- cleaned up code
- removed
requestPermissionsas it was essentially a duplicate ofrequestAuthorization
- Large refactor of the
-
3.4.409 Mar 2022 -
3.4.310 Jan 2022 -
3.4.210 Jan 2022 -
3.4.109 Jan 2022Nothing published for this version
-
3.4.029 Dec 2021 -
3.3.118 Nov 2021Release notes
Open source → -
3.3.015 Nov 2021 -
3.2.115 Oct 2021 -
3.2.006 Oct 2021 -
3.1.109 Aug 2021Nothing published for this version
-
3.1.1+109 Aug 2021 -
3.1.023 Jul 2021 -
3.0.617 May 2021Release notes
Open source →- Added two new fields to the
HealthDataPoint-SourceIdandSourceNameand 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.
- Added two new fields to the
-
3.0.503 Apr 2021Release notes
Open source →- Null safety in Dart has been implemented
- The plugin supports the Android v2 embedding
-
3.0.427 Mar 2021 -
3.0.330 Jan 2021 -
3.0.225 Jan 2021 -
3.0.109 Jan 2021Nothing published for this version
-
3.0.1+109 Jan 2021Release notes
Open source →- Bugfix regarding BMI from https://github.com/cph-cachet/flutter-plugins/pull/258