Release 1.0.0¶
2024-03-16
API Changes¶
Client¶
A new polling client to support easier integration with third-party vendor solutions.
This has been tested with the roq-tui
application and it is now used by the roq-python
package.
RateLimitsUpdate
¶
Last received exchange rate-limiter usage will be communicated through the RateLimitsUpdate
message.
Note
Not all exchange/transport protocols can support this. This is best-effort.
roq-market
/ roq-utils
¶
Warning
BREAKING CHANGE
Market utilities have been moved to the roq-market
package (from the roq-utils
package).
You may have to add roq-market
as a new dependency and also use the roq::market
namespace instead of roq::utils
.
libabseil vs Abseil-CPP¶
It was noticed that the abseil-cpp
package from conda-forge was no longer maintained and that the replacement
package is now libabseil
.
When using newer versions of the library, it was then noticed that the hash containers were not ABI compatible when used from debug build (often used together with the sanitizer compiler flags).
This has prompted us to replace all containers exposed in the C++ interfaces: we do not anymore use the absl::flat_*
or
absl::node_*
containers!
unordered_dense¶
This is the library we currently prefer when using hash containers.
Gateway Changes¶
Binance-Futures¶
There is now support for PAPI (portfolio margin mode).
CME¶
Gateway logic was rewritten to support PCAP replay.
A new tool roq-cme-import
was added to create event-logs from PCAP files.
This can be useful when implementing and simulating strategies.
Event-Logs¶
Warning
BREAKING CHANGE
Because event-logs can create relatively large files and may ultimately cause storage space issues without proper admin jobs (backup and/or purge), it was decided to make this an opt-in feature.
You should now explicitly set the --event_log_dir
flag to a directory before event-logs are saved.
CHANGELOG¶
Fixed¶
Changed¶
Make it possible to publish the same message multiple times (SBE Publisher) (#443).
Event-log is now opt-in (Server) (#442).
Suspend all activity when receiving the
Retry-After
HTTP header (Binance) (#441).Promote
Decimal
to (fromutils::Number
) and renamePrecision
(fromDecimals
) (API) (#439).Separate market functions from general utilities (Utilities) (#438).