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
2.0.0 - TBD
Section titled “2.0.0 - TBD” 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; Speed→WalkingSpeed, Power→CyclingPower 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.1.1.0 - June 14, 2026
Section titled “1.1.0 - June 14, 2026” 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)1.0.0 - May 2026
Section titled “1.0.0 - May 2026” 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