Release 0.8.3¶
2022-03-22
Authentication¶
Mandatory with this release.
API¶
The cache utilities now supports
GatewaySettings
andGatewayStatus
.Header files have been renamed to
.hpp
(from.h
).Mask
has been promoted to API (from utils)String
has been renamed (fromstring_buffer
)
Order Download¶
There is now generic support for order download with the following features
StreamStatus
supportingORDERS
is used to notify state changes. (A gateway may only create one such stream per account.)OrderUpdate
has anupdate_type
field which can have the valueSNAPSHOT
(download) orINCREMENTAL
(live update).Downloaded orders will only be published while the stream status is not
READY
.Live order updates will only be published while the stream status is
READY
.
Gateways¶
Several gateways have been updated to reflect this
Binance
Binance Futures
BitMEX
Bybit Futures
Deribit
FTX
Kraken Futures
OKX
FIX Bridge¶
The FIX Bridge has also been updated to support downloaded orders. (This is however non-trivial since the FIX protocol does not allow for a disconnected state where orders are in an “unknown” state.)
Clients will be disconnected when
StreamStatus
changes fromREADY
.Clients are again allowed to connect when
StreamStatus
changes toREADY
.After reconnect, clients are expected to recover order state using
OrderStatusRequest
.
Note
This is opt-in using the --block_client_on_not_ready
flag.
Algo Framework¶
Interfaces and changes have been prepared for the algo framework (scheduled for 2022-Q2).
The roq-cpp-samples
project will track development and can be followed on
GitHub.
Note
It is important to note that the roq-cpp-samples
project will gradually
demonstrate how the algo framework develops.
In particular, libraries and implementations will change and eventually link
to a roq-algo
library.
CHANGELOG¶
Added¶
Changed¶
Remove separator when appending
routing_id
toClOrdID
(Server) (#197).Renamed header files to
.hpp
(API) (#195).Order download (Server) (#39).
Order download (FIX Bridge) (#38).
Support redundant license manager configuration (Server) (#193).
Conda packaging should pin versions to match
x.x.x
(#189).The
--timer_freq
flag was incorrectly defaulting to zero (Client) (#188).Config file should separate account alias from real name (FTX) (#185).
Fixed¶
Incorrectly dispatching working order update when completed (BitMEX) (#196).
Outbound buffer was not flushed on forced disconnect (FIX Bridge) (#194).
Page alignment issues on macOS/ARM64 (Client) (#187).
Exception handler didn’t catch protocol error (FIX Bridge) (#184).
Invalid client order id’s when using
routing_id
(Binance) (#183).
Other¶
Now using Catch2 for testing (API)