Skip to content
Client v5: BLE, BLE Hosting, HTTP, Jobs - Linux, MacOS, & Blazor Support! Full AOT, RX on BLE only & MANY other features! Check It Out

Health Releases

Feature
Major expansion to 30+ cross-platform data types spanning activity, body, vitals, nutrition, reproductive/cycle tracking, and workouts
Feature
New numeric metrics (read/write/observe, with Interval bucketing): BloodGlucose, BodyTemperature, BasalBodyTemperature, RespiratoryRate, Vo2Max, HeartRateVariability, LeanBodyMass, BasalEnergyBurned, ActiveEnergyBurned, FloorsClimbed, WheelchairPushes, Speed, and Power — each with a matching Get… method
Feature
Reproductive & cycle tracking: new DataType.SexualActivity, OvulationTest, CervicalMucus, and IntermenstrualBleeding with dedicated records (SexualActivityResult, OvulationTestResult, CervicalMucusResult, IntermenstrualBleedingResult), enums (SexualActivityProtection, OvulationTestOutcome, CervicalMucusAppearance), Get…/Write methods (event-based — no Interval)
Feature
Workouts: new DataType.Workout, WorkoutResult, and WorkoutType enum (21 activities mapped on both platforms) via GetWorkouts(start, end) and Write(WorkoutResult)
Feature
Nutrition: new DataType.Nutrition, NutritionResult (energy + macros), and MealType enum via GetNutrition(start, end) and Write(NutritionResult)
Enhancement
HRV is surfaced as a single HeartRateVariability type — see platform notes for the SDNN (iOS) vs RMSSD (Android) caveat
Feature iOS
Maps to HKQuantityType/HKCategoryType identifiers, HKWorkout, and the Food HKCorrelation for nutrition; SpeedWalkingSpeed, PowerCyclingPower
Feature Android
Maps to Health Connect records (BloodGlucoseRecord, Vo2MaxRecord, ExerciseSessionRecord, NutritionRecord, …) with the corresponding READ_…/WRITE_… permissions; a WorkoutResult’s energy/distance are null on read (stored as separate records)
Feature
New Shiny.Health.Extensions.AI package — exposes IHealthService as Microsoft.Extensions.AI tool functions for LLM agents. Opt-in areas via AddHealthAITools(...) (read by default, write opt-in), resolve HealthAITools from DI and pass .Tools to any IChatClient. AOT-compatible. See AI Tools.
Feature
Menstruation/period tracking — new DataType.MenstruationFlow for reading, writing, and observing menstrual flow on Apple HealthKit and Android Health Connect
Feature
New categorical MenstrualFlow enum (Unspecified, None, Light, Medium, Heavy) and MenstruationFlowResult record
Feature
New IHealthService.GetMenstruationFlow(start, end) returns individual flow records (event-based — no Interval bucketing, unlike the numeric metrics)
Feature
New IHealthService.Write(MenstruationFlowResult) overload for logging daily flow
Feature iOS
Uses HKCategoryType.MenstrualFlow; the IsCycleStart flag is persisted via the HKMetadataKeyMenstrualCycleStart metadata, and the None flow level is supported
Feature Android
Uses Health Connect MenstruationFlowRecord with the READ_MENSTRUATION / WRITE_MENSTRUATION permissions; None maps to Unspecified and IsCycleStart is ignored (Health Connect models the period span as a separate record)
Feature
Initial release of Shiny.Health - a unified cross-platform health data API for .NET MAUI
Feature
Real-time health data observation via IHealthService.Observe(DataType) returning IAsyncEnumerable<HealthResult> — stream new samples as they are recorded
Feature iOS
Push-based observation using HKAnchoredObjectQuery with automatic update handler for immediate sample delivery
Feature Android
Polling-based observation using Health Connect change tokens with configurable polling interval (default 5 seconds)
Feature
Forward-only observation — only yields samples added after Observe is called, not historical data
Feature
Supports all 12 data types including blood pressure (BloodPressureResult) and sleep duration
Feature
Write support for all 12 health metrics via IHealthService.Write — write NumericHealthResult or BloodPressureResult to Apple HealthKit and Android Health Connect
Feature
New PermissionType flags enum (Read, Write, ReadWrite) for granular permission requests
Feature
New RequestPermissions(PermissionType, params DataType[]) overload for requesting read, write, or both permissions
Feature iOS
Write support uses HKQuantitySample, HKCategorySample (sleep), and HKCorrelation (blood pressure)
Feature Android
Write support uses Health Connect InsertRecords with proper record types for each metric
Feature
12 health metrics supported: Step Count, Heart Rate, Calories, Distance, Weight, Height, Body Fat %, Resting Heart Rate, Blood Pressure, Oxygen Saturation, Sleep Duration, and Hydration
Feature
Time-bucketed aggregate queries with configurable Interval (Minutes, Hours, Days)
Feature
Unified permission management via IHealthService.RequestPermissions
Feature
Dedicated BloodPressureResult with separate Systolic and Diastolic values
Feature iOS
Apple HealthKit integration using statistics collections and category samples
Feature Android
Google Health Connect integration with aggregate queries and record reading
Feature
AOT-compatible implementation with no .NET reflection
Feature
Full cancellation token support on all async query methods