Week 40, 2026
Sep 28 – Oct 4, 2026 · generated from the record, not written from memory
Fitness and health APIs, Sep 28 – Oct 4, 2026: 1 tracked change, 1 SDK or library release and 98 new pages.
Follow the weekly RSS feed · the month in one issue: the monthly digest
What changed in the ecosystem
- · Confirmed · Fitbit API shutdown centerFitbit Web API end of support
SDK and library releases
- · Release date from libraries.tsgarminconnect 0.3.17
New on this site
Reference (20)
- capacitor-health
- @capgo/capacitor-health
- cordova-plugin-health
- expo-health-connect (deprecated)
- health (Flutter package)
- flutter_health_connect
- garminconnect (Python)
- garth (deprecated)
- health_connector
- health_kit_reporter
- @kingstinct/react-native-healthkit
- oura (python-ouraring)
- oura-ring (Python)
- @perfood/capacitor-healthkit
- python-fitbit (PyPI: fitbit)
- react-native-google-fit
- react-native-health
- react-native-health-connect
- stravalib
- withings-api (Python)
Health Connect API (15)
- aggregate() and AggregateRequest: totals, averages and deduplicated sources
- aggregateGroupByDuration vs aggregateGroupByPeriod: fixed buckets or calendar buckets
- deleteRecords: deleting Health Connect records by id, client id or time range
- Health Connect exercise routes: ExerciseRouteResult and the per-session consent flow
- getChanges and getChangesToken: incremental sync from Health Connect
- HealthConnectFeatures.getFeatureStatus: checking what the user's Health Connect supports
- HealthKit to Health Connect: the API equivalents, call by call
- insertRecords and clientRecordId: how Health Connect upserts
- Health Connect Metadata: recordingMethod, Device and the fields Health Connect fills in
- Health Connect permission UI: Google's guidance for onboarding, requests and settings
- PermissionController: requesting, checking and revoking Health Connect permissions
- PlannedExerciseSessionRecord: training plans in Health Connect
- READ_HEALTH_DATA_HISTORY: reading Health Connect data older than 30 days
- READ_HEALTH_DATA_IN_BACKGROUND: reading Health Connect data from a background worker
- readRecords and ReadRecordsRequest: paging with pageSize and pageToken
Audio Coaching (12)
- Android audio focus for workout cues: AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
- Audio interruptions during a workout on iOS: calls, Siri and the cue that never comes back
- Which AudioAttributes usage a workout coaching cue should declare
- AUDIOFOCUS_REQUEST_FAILED in the background on Android 15: your cue needs a foreground service
- playback or ambient: choosing the AVAudioSession category for workout cues
- duckOthers: lowering the user's music for a workout cue, then giving it back
- Spoken workout cues with AVSpeechSynthesizer, and when to stay quiet
- Background audio for an iPhone workout app: UIBackgroundModes audio, and what it does not promise
- Headphones out mid-run: route changes on iOS and AUDIO_BECOMING_NOISY on Android
- Testing workout audio cues: calls, Siri, Bluetooth and the podcast that never resumes
- TextToSpeech workout cues on Android: initialization, focus, queue and completion
- Audio cues on the wrist: Wear OS speakers, Bluetooth, and Apple Watch workout sessions
Compliance (10)
- Apple Health Icon, Badge and Naming Rules for HealthKit Apps
- App Store Guideline 1.4.1: Physical Harm and Medical Apps
- App Store Guideline 2.5.1: Software Requirements and HealthKit
- App Store Guideline 2.5.11: SiriKit and Shortcuts in Fitness Apps
- App Store Guideline 2.5.4: Background Modes for Workout Apps
- App Store Guideline 3.1.3(d): Person-to-Person Fitness Training
- App Store Guideline 5.1.1: Data Collection and Storage
- App Store Guideline 5.1.2: Data Use and Sharing
- App Store Guideline 5.1.3: Health and Health Research
- Publishing a Health Connect App on Google Play: What's Required
Phone Sensors (10)
- Android 16: BODY_SENSORS gives way to android.permission.health
- The Activity Recognition Transition API and the ACTIVITY_RECOGNITION permission
- The Recording API on mobile: steps without Health Connect
- Sensor.TYPE_STEP_COUNTER vs TYPE_STEP_DETECTOR on Android
- CMAltimeter: relative and absolute altitude on iPhone and Apple Watch
- CMBatchedSensorManager: high-frequency motion batches during workouts
- CMHeadphoneMotionManager: head motion from AirPods
- CMMotionActivityManager: walking, running, driving or still
- CMPedometer: steps, distance, floors and cadence from the phone itself
- foregroundServiceType="health": permissions, prerequisites and exceptions
HealthKit Queries (9)
- HealthKit async/await queries: HKSampleQueryDescriptor and the other descriptors
- HealthKit query predicates: predicateForSamples, HKQueryOptions and HKSamplePredicate
- HKActivitySummaryQuery: reading Move, Exercise and Stand rings
- HKAnchoredObjectQuery: new samples, deleted objects and the HKQueryAnchor
- HKObserverQuery and enableBackgroundDelivery: how the pair works
- HKSampleQuery: a one-time snapshot of matching samples
- HKStatisticsCollectionQuery: daily totals, anchorDate and intervalComponents
- HKStatisticsQuery: one sum, average or extreme over a window
- HKWorkoutRouteQuery: reading a workout's GPS route in batches
Health Data (6)
- Clinical Records API: Reading FHIR Health Records in HealthKit
- Health Connect Medical Records API: FHIR Data on Android
- Medications API: Reading Medication and Dose Logs From HealthKit
- Mental Health Assessments API: PHQ-9 and GAD-7 in HealthKit
- Resting Heart Rate API: How to Read RHR From HealthKit and Health Connect
- State of Mind API: How to Read and Write Mood Data in HealthKit
Watch Apps (5)
Troubleshooting (4)
- Health Connect changesTokenExpired: How to Resync Without Losing Data
- Health Connect SDK_UNAVAILABLE and SDK_UNAVAILABLE_PROVIDER_UPDATE_REQUIRED: What Each Status Means
- Health Connect ERROR_RATE_LIMIT_EXCEEDED: Quota Errors and How to Back Off
- Health Connect SecurityException: The Permission Was Not Granted