This release has a number of potentially breaking changes. Please review the descriptions here before updating the software.
Strategy Parameters (NEW)#
It is now possible to manage strategy parameters. This may allow you to
Control strategies, e.g. start, stop, set target position, etc.
Update model parameters in real-time
Persist values between restarts
Capture all changes into the event-log
Design documentation can be found here.
REST Interface (NEW)#
A generic web-interface is now available to query gateways for internal state, for example
List of users and connection state
List of accounts
Public data (reference data, market status, top of book, etc.)
This is designed to have zero impact on the latency of the core operation of the gateway.
Reference documentation can be found here.
Filenames and directories now use
private (instead of
To better align with new conventions, you may want to move existing
om directories to
private after you update the software.
It is not a strict requirement to rename/move directories.
The software should automatically find the event-logs following previous naming conventions.
Prometheus queries may also have to be updated
If you have been explicitly filtering on
ParametersUpdate (plural) was renamed from
This should be a simple code-change and your project should then build again.
--service_listen_address was renamed from
There is backwards compatibility: A warning will appear if you still use
Please update to using
--service_listen_address as this compatibility mode will later be removed.
--metrics_query_path was removed.
New flags have been introduced to deal with the HTTP 403 response code.
Order Download (CHANGE)#
A fix was added to prevent clients from sending order requests during download (between
The reason for enforcing this restriction is that it should not be possible to modify the state of cached objects while these objects are being downloaded.
There are some strategies to follow if the goal is to auto-cancel downloaded orders:
OrderCancelPolicywhen configuring the client. This can instruct the gateway to try and auto-cancel orders upon detecting client disconnect.
order_id’s during download and send the order cancelation requests immediately upon seeing
Collection should potentially take into account that download is per-account.
Cache (Filesystem) (CHANGE)#
--auth_cache_dir flag has been removed.
The new flag is
It became necessary to cache the history of mapped id’s from user names.
Since a filesystem cache for authentication tokens is also needed, it seems natural to align these use-cases.
The sub-directory structure is now
type is currently one
The previous naming convention for authentication tokens were
Users (Gateway Configuration) (CHANGE)#
Due to user id’s being encoded into the
ClOrdId sent to the exchange, it became apparent that the
mapping from name to id must not change between gateway sessions.
A new cache directory has been introduced to retain the history of mappings from name to id.
Throttle downloading of orders and fills (KuCoin) (#298).
Event-log filenames now use public/private instead of md/om (Server) (#297).
Delay initial authentication request (Server) (#296).
Improved error reporting when parsing flags (Core) (#285).
Unable to parse datetime (Kraken) (#295).
OrderAck was missing when HTTP response was HTML (instead of JSON) (Binance) (#293).
Order action requests should be rejected while download is in progress (Client) (#291).
Mapping of user name to id must be persisted (Server) (#287).
Prevent possible errors by computing
max_order_idoutside loop over accounts (Server) (#286).
Remove deprecated functions (API) (#281).