------------------
**NOTICE**
- Requires alembic database migration for upgrading.
**API CHANGES**
- The semantic for client session token changes. (56, 58)
Clients may reuse the same session token across different sessions if only a single
session is running at a time.
The manager now returns an explicit error if the client request is going to violate
this constraint.
- In the API responses, Rate-Limit-Reset is gone away and now we have
Rate-Limit-Window value instead. (55)
Since we use a rolling counter, there is no explicit reset point but you are now
guaranteed to send at most N requests for the last 15 minutes (where N is the
per-user rate limit) at ANY moment.
- When continuing or sending user-inputs via the execute API, you
must set the mode field to "continue" or "input" respectively.
- You no longer have to specify a random run ID on the first request of a run during
session; if the field is set to null, the server will assign a new run ID
automatically. Note that you STILL have to specify the run ID on subsequent
requests for the run. (59)
All API responses now include its corresponding run ID regardless of whether it is
given by the client or assigned by the server, which eases client-side
demultiplexing of concurrent executions.
**OTHER IMPROVEMENTS**
- Fix atomicity of rate-limiting calculation in multi-core setups. (55)
- Remove simplejson from dependencies in favor of the standard library.
The stdlib has been updated to support all required features and use
an internal C-based module for performance.