> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/changelog/2026/july-update-2026.md).

# July Update 2026

Check out what we've been doing at Terra over the month of July 2026!

### Backend 💾

#### Features

* **Models API is live!** List available models with `GET /v2/models` and run one on any of your users with `GET /v2/models/run`. Two models are generally available: **Sleep Window** (a personalised sleep-schedule recommendation) and **Health Terrain**. Runs are metered from your plan's credits
* Sleep Window works with any device that records sleep — no per-provider restrictions
* **Strength training per set** — activities now carry the sets performed, starting with Fitbod and Hevy
* New integration: **Sensor Bio** is out (Biostrap's successor) — existing Biostrap connections keep working; Biostrap is now deprecated
* Realtime streaming tokens are now reusable — one token covers the connection and any reconnects until it expires
* Planned workouts created on the provider side (e.g. by a coach) now include full details — title, description, planned metrics and structured steps — plus `start_date` / `end_date` query params
* Fitbit nutrition now arrives by webhook
* Huawei: 12 additional read scopes, including body temperature, reproductive health, heart health and emotion data
* New `trigger_method` field on laps distinguishes automatic distance splits from manual laps
* Synthetic users now produce their first payloads within seconds of creation, and can be shaped like a specific provider with up to 30 days of history
* Google Health sleep now includes nightly temperature deviation

#### Bugs

* Fixed a bug where Garmin daily step / distance / calorie totals could be overwritten with partial mid-day sums
* Fixed a bug where Garmin activity details were not delivered to destinations configured for FIT format
* Fixed a bug where Garmin sleep latency was delivered in milliseconds instead of seconds
* Fixed a bug where speed/pace targets on planned workouts did not render on COROS watches
* Fixed a bug where Pixel Watch activities from Fitbit were typed as "Other"
* Fixed a bug where sleep efficiency was on a 0–100 scale instead of 0–1 for Huawei and Somnofy
* Fixed a bug where Health Connect sleep undercounted asleep time
* Fixed a bug where Clue cycle, period and phase lengths were off by one day
* Fixed a bug where Ultrahuman and Google blood glucose values were missing from body payloads
* Fixed a bug where Runkeeper activity start times were in the wrong timezone
* Fixed a bug where TrainerRoad activities stopped being fetched after TrainerRoad retired an endpoint
* Fixed a bug where MyFitnessPal edits and deletions did not propagate, and nutrition could be duplicated on day boundaries
* Fixed a bug where Withings connections were dropped when Withings rate-limited our requests
* Fixed a bug where MongoDB destinations did not receive authentication payloads
* Fixed a bug where failed widget connect flows dead-ended instead of redirecting to the failure page

#### Changes

* The `fitbit_v2` provider is now named **`google_health`**; the old name is no longer accepted
* Very large activities now deliver to object-store destinations (S3, GCS, Azure Blob, Supabase, SQL) without a size limit
* Data requests to providers that are rate-limiting are now retried automatically instead of failing
* **Planned Workouts** and the **Streaming API** are now self-serve add-ons — activate them from the dashboard; see [pricing](https://tryterra.co/pricing)
* Large-payload notifications to webhook, Kafka and SQS destinations now include the `payload_reference` ID

***

### SDKs

#### iOS

* Background-delivered activities now respect the ignored-sources filter

#### Android

* Health Connect sync no longer errors when the app holds only a subset of Health Connect permissions

#### Realtime Streaming SDKs (iOS, Android, React Native, Flutter)

* Device connection status now streams to Terra, powering live connection status on the dashboard
* Background streaming on Android now continues with the screen locked
* Automatic websocket reconnection
* ⚠️ `ACCELERATION` now streams gravity-compensated linear acceleration in m/s² on both platforms (previously raw g readings on iOS)
* terra-rt-react no longer pulls in the full health SDK — apps that also use terra-react must now declare it themselves
* Stability fixes for streams stopping unexpectedly and device scans getting stuck

#### React Native & Flutter

* HealthKit permission screen control is now exposed in React Native
* Flutter's Android init methods now return real success flags

***

### Dashboard

* **Models is live for everyone** — explore Sleep Window and Health Terrain, see how many of your users can run each model, and try them in the playground
* **Synthetic Users is out** — create demo users that generate and send realistic data on a schedule
* **Status** page is out — provider health at a glance, with email and Microsoft Teams notifications
* **Pair your own device for streaming** — scan a QR code with the new **Terra Grip** app (App Store and Google Play) to stream live data from a real wearable
* **Set up your AI agent** — install the Terra agent skill and docs MCP from the dashboard header
* New **What's new** feed in the header
* Planned Workouts joined Plans & Pricing as a self-serve add-on
* Filter payload history by destination, provider and data type, and search webhook history by summary ID

***

### Landing Page

* Streaming API and Planned Workouts pricing published on <https://tryterra.co/pricing>
* New clinical privacy notice and US consents & disclosures pages for the lab-testing product
* Example apps added to the navbar

***

### Blood Biomarkers 🩸

* Lab-report results now have a structured shape — `source` / `biomarker` / `measurement` / `interpretation` — with panels modelled at report level
* Interpretation flags are now coded and normalised, even when the report doesn't print one
* Improved extraction quality for dense or scanned reports
* Lab Reports endpoints and the `lab_report` webhook event are now in the public OpenAPI spec
