# March Updates

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

### New Integrations

* Added integration with Cronometer
* Added integration with MyFitnessPal

### New Features

* Added the ability for webhook requests to be retried if the target server did not respond with a 2xx status code. If a webhook request fails then it will be re-sent on an exponential backoff schedule for up to 6 times before giving up.
* Added API versioning to prevent breaking changes from being pushed and potentially breaking pre-existing implementations. The version can be changed on a per dev ID basis upon request in our discord.
* Added ability to filter the scopes requested during authentication to be a specific subset of all the scopes available from the provider upon request in our discord.
* Added deduplication for all data types to prevent sending duplicate payloads to webhook URLs where it would not be expected.
* Added readiness data to daily payloads where available from providers.
* Added support for deauthenticating users through the widget.
* Added support for localising the widget into languages other than English.

### Improvements

* New data model implementation for V2 of the API which improves consistency across field names and models.
* Improved Garmin historical data fetching to allow up to 5 years of data to be requested for a given user using their updated backfill API.
* Improves the appearance and functionality of the various widget provider login pages.
* Improved the data generator to prevent sending of invalid user IDs and providers, as well as adding in the data types that were missing.
* Improves FreestyleLibre integration by reducing the amount of time it takes to request data where possible.
* Providers are now automatically excluded from the widget where they would not be applicable for the user's device - for example removing Apple as a provider if the user is using an Android phone.
* Improve widget experience by removing the provider select page if only a single provider was given when the session was created.

### Bugfixes

* Fixed issue with Peloton activity duplication causing ongoing activities to be sent to the webhook URL instead of completed activities.
* Fixed issue with FreestyleLibre causing 6 hour chunks of data to be missing from payloads depending on the user's timezone.


---

# 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/general-updates/march-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.
