Table of Contents |
---|
FIX Antenna HFT 1.0.16 - Release Notes
FIX Antenna HFT 1.0.16 released on 27th of February 2024
New Features and Improvements
- A new audit trail tool has been introduced to satisfy the requirements for CME iLink 3 certification.
- LiteFixMessage now allows for tags with numbers higher than 65535.
- The logs converter tool has been updated to support CME MDP 3 and BrokerTec protocols.
- Users can now substitute the default iLink 3 binary parser with a custom parser implementation.
- FIX Antenna HFT can now handle several FIX sessions with the same SenderCompID and TargetCompID by using the FIXCompIdCutoffMarker property.
- Added ability to set iLink 3 SendingTimeEpoch automatically for the messages that support it.
- Introduced the ability to measure latency before data is sent through the socket and comprehensive measurement of full processing latency while sending.
Critical bugs and fixes:
- FIX Antenna HFT has been fixed to allow for the establishment of a FIX session when connected to CME BrokerTec.
- A segmentation fault caused by the UseTCPDispatcher property being set to 'true' and receiving incomplete initial FIX message data is now resolved.
- The iLink3_logs_converter now correctly populates audit fields (6, 28) for Order Cancel or Cancel Replace Reject messages.
FIX Antenna HFT 1.0.14 - FA 2.9.53 Release Notes
FIX Antenna HFT 1.0.14 based on FIX Antenna 2.9.53.276 released on 28th of April 2021
New Features and Improvements
- Added support of iLink3 binary protocol v7. Details can be found at iLink3 support guide page .
- Added iLink3 binary logs to FIX/ HumanReadable converter available as sample.
- Added CME Audit Trail report generation tool available as sample.
FIX Antenna HFT 1.0.13 - FA 2.9.51 Release Notes
FIX Antenna HFT 1.0.13 based on FIX Antenna 2.9.51.213 released on 3rd of April 2019
Breaking changes:
Library for platform RHEL 6 using C++ 98 ABI is deprecated and will be removed from the package starting next release
Restored FIX-Protocol compatibility when a session is terminated if re-transmitted GapFill (35=4) message does not have PossDup flag (43=Y).
The previous behavior can be enabled with the following configuration set:Code Block language xml title engine.properties AllowMessageWithoutPossDupFlag = true AllowGapFillWithoutPossDupFlag = true
Rejected messages are not filtered out and replaced with gap-fill messages in resend request replies.
Info The counterparty now is responsible for increment sequence numbers in case of rejecting invalid messages in order to prevent endless resending. Changed naming convention libV12-gcc63-MD-x64.so → libV12-gcc52-MD-x64.so.
Info The C++11 ABI is compatible with GCC 5.x and above so library can be used with any GGC newer 5.1. The libraries libV12-gcc48-MD-x64.so and libV12-gcc44-MD-x64.so are considered as depreciated. Support C98 Standard and Red Hat 6 platform will be discontinued in one of the next releases.
(SD4906754) Engine::SessionsManager::onIncomingConnection callback API has been extended with delivering the port number for accepted connection.
Info The method signature was changed. User's application modification is required.
New Features and Improvements
Added a new session property AllowGapFillWithoutPossDupFlag to support some exchanges that stepping aside from FIX protocol restrictions and sending GapFill (35=4) messages without PossDup flag (43=Y) and avoid such sessions termination.
- Add smart delay balancing logic to avoid wrong unsuccessful attempts of system calls to map cache of persistentCached storage type in case of very large log files being opened simultaneously.
- Speedup detection of corrupted storages
(SD4906754) Added public API methods: FAProperties::getListenPorts(), FixEngine::getListenPorts() which returning a list of ports for acceptors.
(SD4906754) Added public API methods: FAProperties::getNonAccelListenPorts(), FixEngine::getNonAccelListenPorts() which returning a list of ports for acceptors using non-accelerated dispatcher.
Info The list of non-accelerated ports is used only when OpenOnload accelerated dispatcher is enabled so all ports are accelerated
Critical bugs and fixes:
- (SD4998782) Fixed a bug when the engine can try to close random file descriptors at destroying.
- Fixed a bug when the engine stops sending heartbeats to all sessions if one session is locked e.g. due to long processing of the resend request message.
- Fixed a bug when any resend requests processing takes too much time (several seconds) on the large FIX-messages storages (about 10 GB).
Logging improvements:
(SD4906754) A log record about incoming connection event has been extended with ip and port that have accepted the connection
text has been changed:
Previous message
<severity> <timestamp> <thread> [Engine] - New incoming connection was detected (from <target ip>:<target port>).
Current message
<severity> <timestamp> <thread> [Engine] - New incoming connection was detected (from <target ip>:<target port> to <local ip>:<local port>).
Known issues
- New Incoming connection event is raised on any small amount of received data (e.g. even 1 byte)
- OpenOnload accelerated dispatcher and standard dispatcher act differently if an incoming invalid message has sequence lower than expected. Standard dispatcher disconnects sessions according to FIX-protocol recommendations but OpenOnload accelerated dispatcher keeps the session alive.
FIX Antenna HFT 1.0.11 Release Notes
FIX Antenna HFT 1.0.11 released on 13 April 2018
New Features and Improvements:
- Search in the FIX Antenna HFT Programmer's Guide has been added
The following bugs have been fixed:
- Failures on flushing session log cache lead to FIX Engine termination
- Session picks up logs of previous year instead of the latest logs from the log directory
- EchoServer sample: engine.log contains messages without logging level and spaces
FIX Antenna HFT 1.0.10 Release Notes
New Features and Improvements
- Allowed to pause/resume session socket reading to prevent overload on the application side, see “Router” sample for more details.
- Introduced ability to deliver SessionLevelReject LiteFixMessage in the same form as application level LiteFixMessages, see “Router” sample for more details.Limited attempts to deliver incoming message to the last busy (not-ready) session in order to avoid delay in processing incoming messages in other sessionsa new callback Engine::Application::onSessionLevelRejectEvent used for passing FIXMessageProcessElem flags toLiteFixMessage Rejects (35=3) , see "Router" sample for more details.
- Added error message in the log file for the case when PossDupFlag(43) is required but absent in the incoming message.
...
- Session onLogout callback is called twice in some cases
- Data races result in timer Timer thread sometimes doesn't call ThreadsPool::Listener::onNewThreadCreated() (callback that allows a user to setup thread affinity)
- canThrottle flag is always set to “false”
...
The following bugs have been fixed:
- TCP reader stops reading in some cases on receiving new connection
- Milliseconds are truncated after serialization for fields with types UTCTimestamp and UTCTimeOnly when milliseconds value is 000
FIX Antenna HFT 1.0.7 Release Notes
...
- Processing of garbled messages is incorrect
- Tag 122 in Sequence Reset (4) message should be same as tag 52 (including milliseconds)
- Session A session is hanging on receiving non-valid Logon message