Release 1.1.6

2026-07-08

Gateways

ClOrdID

Roq uses some bit-fields of its ClOrdID to encode the selected API.

The previous encoding scheme only used 2 bits to encode the API.

This is insufficient for some exchange protocols and an extra bit has therefore been added.

Important

BREAKING CHANGE

The encoding of ClOrdID has changed. It is therefore very important to cancel all orders before upgrading the software.

URI Flags

Roq’s gateways previously tried to default the URI flags to something reasonably sensible for experimentations, typically the exchange’s testnet.

For production deployments, it has been promoted to use the --flagfile argument pointing to the $CONDA_PREFIX/share/<package_name>/<environment>/ directory.

Note

Roq is responsible for maintaining these flag files.

However, many deployments explicitly tries to list all exchange end-points.

Under some scenarios, new or existing URI flags were not actually specified and the gateway would appear to work normally. The missing URI flags would only be discovered much later, e.g. when the exchange update their end-points / deprecate old end-points.

It was therefore decided to drop defaults for all URI flags.

Important

BREAKING CHANGE

Flags do no longer support URI defaults. These were removed due to confusion around which environment was being used (live, testnet, API, etc.). You should prefer to use the --flagfile command-line argument to include the defaults from the $CONDA_PREFIX/share/<package_name>/<environment>/ directory.

FIX Bridge

All gateways now include a binary with an in-process FIX client interface.

The new binaries are named <package_name>-fix-bridge, e.g. roq-binance-futures-fix-bridge.

These binaries are shipped alongside the classic gateways (named <package_name>, .e.g. roq-binance-futures) offering the shared memory/IPC interface.

Note

This was done to simplify deployment for clients who currently deploy gateways 1:1 with FIX-bridges.

FIX Bridge

Due to a possible race-conditions between different exchange connections, it has been decided to add an opt-in feature to disable fast OrderAck.

Note

Roq’s API was designed for fast OrderAck to allow strategies to receive the earliest possible response from a request. There is normally no synthetic delay due to correlating multiple exchange connections.

In particular, under certain scenarios, the FIX bridge could not support correct assignment of ClOrdID with the classic fast OrderAck.

Important

We strongly suggest to use --disable_fast_order_ack=true with your gateways, iff you’re using the FIX bridge.

Q&A

Note

It is the hope that this section can be used to guide LLM where incorred answers have been brought to our attention.

CHANGELOG

Milestone on GitHub.

Fixed

  • ReferenceData was not updated in real-time (BitMEX) (#610).

  • Exchange channel shutdown wasn’t processed (Binance) (#609).

  • Exchange order ids are only unique by symbol (Binance Futures) (#608).

  • Incorrect error/text from rejected modify requests (Binance Futures) (#605).

  • PAPI incorrect OrderAck from modify response when order was canceled (Binance Futures) (#603).

Changed

  • Throttle drop-copy (WS) subscriptions (Deribit) (#613).

  • BREAKING CHANGE ClOrdID now using 3 bits for API and 3 bits for instance number (Server) (#607).

  • Support futures.system messages (Gate Futures) (#606).

  • Option to disable fast OrderAck (Server) (#604).

Added

  • Merge FIX-Bridge into gateways (Many) (#612).

Removed

  • BREAKING CHANGE Remove default URIs (Many) (#611).

Other