# May Updates 2023

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

## OdinAI

* OdinAI is now live! OdinAI allows you to provide recommendations for your users easily. Want to find out more? Sign up now: <https://tryterra.co/products/odinai>

## GraphsAPI

* Graphs API got a massive upgrade! We have added new data graphs and small customisations to fit your needs. Want to find out more? Sign up now: <https://tryterra.co/products/graphapi>
* Improve default test graphs and graphs on exception

## Backend 💾

### Features

* Add Freestylelibre SDK trend calibration for both Libre Pro and One
* Updated unknown activity types for Strava
* Reference IDs are now included in `reauth` webhooks
* List users endpoint is now paginated
* Komoot activity types are now mapped correctly
* Garmin sleep payloads will now include resting heart rate
* Garmin daily now sends much faster
* Payloads are now cached for a day and can be requested for debugging purposes!
* Optimise the usage of fitbit requests
* All payloads will now contain calculated values when values:
  * Are not provided by wearable
  * Can be calculated by data provided by them. (for example average heart rate is not provided, but heart rate samples were, hence we can compute the average)
* RR-Interval data is now available (only for Apple Health at the moment)
* Added `timer_duration_seconds` field for samples in Apple Health payload
* Updated data generator to correctly reflect data returned and for new integrations
* Drastically improve Libre One calibration algorithm for SDK scans

### Bug fixes

* Fixed a bug where `wake_up_latency_seconds` field were not returning values in seconds for Biostrap
* Fixed a bug where sometimes Libre One values were not calibrated correctly (via SDK scans)
* Fixed a bug where Omron data timestamps were not in the correct timezone

***

## SDK 📱

### [TerraiOS](https://docs.tryterra.co/reference/terra-ios-package) v1.3.14

* Trigger events are made independent (i.e Activity, Daily, Sleep, etc. can trigger on their own more often)
* Fixed a bug where Menstruation data were not triggered by Background Delivery properly
* Fixed a bug where Terra.instance method did not recreate a new instance every time.
* Fixed a bug where Libre Pro trends do not get calibrated sometimes
* Fixed a bug where getBody does not return correctly sometimes
* Added trend data calibration
* Added Interbeats data for Body
* Added Distance in swimming indoors

### [TerraAndroid](https://docs.tryterra.co/reference/terraandroid-1) v1.4.11

* Add timezone to all payloads
* Sort Freestylelibre on return in ascending order according to timestamp
* Correctly initialise TerraManager everytime Terra.instance is called
* Added Trend data calibration for Libre 1 and Libre Pro
* Samsung data now sends payloads with timezone

### [React Native](https://docs.tryterra.co/docs/react-native-project) v1.4.12

* Updated Native SDKs

### React Native Realtime SDK v0.1.0 (Beta)

* Released a new SDK for real time streaming in react native! Currently in beta, you can find it here: <https://github.com/tryterra/terra-rt-react>

***

## Frontend📺

* New landing pages for our new products OdinAI and Graphs API


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tryterra.co/changelog/2023/2023-may-updates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
