# Changelog

## 23-Feb-2022

### Fixes

* Error 500 changes for 400 when the body of /activate isn't well formated

## 16-Feb-2022

### Improvements

* Add GRPC communication between API proxy and API backend, with fallback on Lambda engine for infinite scalability

## 10-Feb-2022

### Improvements

* Asynchronous and batching engine for use case activation & cache assignments

## 01-Feb-2022

### Improvements

* Add 1mn based HTTP request caching (using body, path, query & headers as cache key)
* Add [bucket allocation](https://flagship.zendesk.com/hc/en-us/articles/4415732981906--Bucket-allocation) decision logic

## 06-Dec-2021

### Improvements

* Add extra account and environment information on the Decision API response

## 13-Oct-2021

### Improvements

* Add retries on synchronization API to handle too many requests on CDN invalidation

## 11-Aug-2021

### Improvements

* Manage timestamp on context events to handle hit delays for the data collect
* Increase DynamoDB timeouts to handle throttling issues

## 08-Jun-2021

### Improvements

* Remove monthly active users quota management as it is done on the API proxy

### Fixes

* Fix 1 visitor 1 experiment mode for single campaign calls

## 01-Sep-2020

### Improvements

* Murmur hash allocation improvements in bucketing mode.

## 03-Mar-2020

### Breaking Changes

* When retrieving a single campaign assignment, returns HTTP response code `204: No Content` instead of `400: Bad Request` if targeting does not match
* API-Key is now needed to call the Decision API
* Global distribution via eight new regional endpoints in Tokyo, Seoul, Sydney, Singapore, Frankfurt, Ireland, Oregon, Ohio, and Northern Virginia
* Error messages format change:
  * JSON object with “message” field
    * /activate: if one of the required fields is missing
      * `field: Field is mandatory`
    * /campaigns: if there is a variation assignment error (e.g. traffic allocation does not add up to 100%)
      * `Error on allocation: visitor untracked`
    * /campaigns: If clientId not found
      * `Client %s not found.` If the request is malformed (i.e. proto unmarshal fails), returns the proto error
    * /campaigns: If the campaignId (custom or generated) is not found
      * `The campaign %s is paused or doesn’t exist. Verify your customId or campaignId.`


---

# 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.abtasty.com/server-side/decision-api/decision-api-changelog.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.
