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 3th of rd of April 2019
Breaking changes:
Libraries 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 libV12and 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 where a connection has been accepted on number for accepted connection.
Info The method signature was changed. User's application modification is required.
...
Added a new session property AllowGapFillWithoutPossDupFlag to support to support some exchanges that stepping aside from FIX protocol restrictions and sending 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
...
- (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 resend the requestprocessing 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) Extended logging of A log record about incoming connection event has been extended with accepting portip 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>).
...
- Allowed to pause/resume session socket reading to prevent overload on the application side, see “Router” sample for more details.
- Introduced a 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
- 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
...