FIX Antenna C/C++/.NET Release Notes

FIX Antenna C/C++/.NET Release Notes

 

FIX Antenna ANSI C is discontinued starting version 2.18.1.

FIX Antenna 2.34.0

FIXAntenna C++/.NET/Python 2.34.0 is released on Aug 22, 2025 .

Breaking changes

  • Scheduler Component: The day of the week is now represented as 1-7 (Monday is 1, Sunday is 7) to align with standard calendar conventions. This is a change from the previous 0-6 format.

New Features and Improvements

Fixed Bugs

  • Sender/Target Mismatch: Fixed an issue where the reject message in a sender/target mismatch returned "N/A." The message now correctly includes the actual data.

  • Reconnect Interval: Resolved a bug where the session reconnect interval was ignored when the reconnectFlag_ was set in the onLogoutEvent() callback. The session now respects the specified interval.

 

FIX Antenna 2.33.0

Starting with the FIX Antenna 2.33.0 release, only Microsoft Visual C++ Redistributable version 14.40.33810.0 and later are supported.

Please note that FIX Antenna 2.33.0 is the final release to support CentOS 7. Starting with version 2.34.0, we will transit to supporting Rocky Linux 9.

FIX Antenna 2.33.0 is released on Oct 17, 2024.

New Features and Improvements

  • Added FIXMessage::getReceiveTimestamp() and a new configuration parameter, ReceiveTimestamps.Enable, for precise message reception tracking.

  • CPU thread affinity settings now support up to 256 CPUs on Linux OSes, optimizing performance on high-end hardware.

  • FIX Antenna Python Enhancements:

    • Added to_json and from_json methods for FixMessage objects, facilitating easy JSON conversion.

    • Introduced the ability to set up custom SSL configurations, offering enhanced security customization.

  • Changed the UDP auxiliary Port to a number greater than 10,000.

  • Eliminated the need in the deprecated libnsl library, simplifying installations and reducing potential compatibility issues.

  • Enhanced the initialization process to allow FIX Antenna to start without an immediate network connection, increasing robustness and flexibility.

  • Improved CSRefCounterPtr class by modifying the dereference operator (operator*) to return T& instead of T const& for const auto-pointers.

  • Removed B2BITS_StringUtils.hB2BITS_MethodsPtr.h, and B2BITS_Bind.h from the FIX Antenna API.

Fixed Bugs

  • Improved the handling of cron expressions, fixing issues with the last day of the month and expanding support for various formats.

  • Resolved an issue where messages containing custom tags would incorrectly convert without raising an error. With this fix, any message with an unknown custom tag will now be properly rejected, preventing erroneous data processing.

  • Fixed the issue when the AggressiveAsyncSpinWaitTimeUs property was defined using the system time when the SocketOpPriority was set to the 'AGGRESSIVE_SEND_ASYNC' value.

FIX Antenna 2.32.1

FIX Antenna 2.32.1 is released on May 17, 2024.

New Features and Improvements

  • FIX Antenna C++ now supports custom values in the Tag 8-BeginString field. This feature allows customers to utilize specific, non-standard values for BeginString, catering to their unique needs, e.g., integrate with trading partners who use custom BeginString values or comply with exchange requirements. Please refer to the How to Use a Custom Value for Tag 8-BeginString in FIX Antenna C++ user guide for more details.

FIX Antenna 2.32.0

FIX Antenna 2.32.0 is released on Apr 3, 2024 .

New Features and Improvements

  • FIX Antenna C++ now enables clients to securely access their Username and Password credentials stored in trusted third-party systems such as vaults, databases, and more. Clients can retrieve these credentials using customized scripts according to their needs and incorporate additional actions related to the login process within the same script.

  • The new session parameter is added: InvalidLogonStrategy which defines how Acceptor and Initiator respond to invalid Logon messages. 

  • Added a thread-safe version of the FIXMessage::toRaw() method that uses an external buffer for serialization.

Fixed Bugs

  • Fixed bug when FIX Antenna C++ can handle incorrectly messages with XML field length bigger than actual data size.

  • Fixed the issue when events from the old schedule could occur unexpectedly after the Scheduler replacement.

  • Send logout in case a message with the wrong BeginString is received during the session.

  • Fixed bug when there was no heartbeat interval reset on an invalid message.

  • Fixed the issue when the engine didn't populate session level messages with all required tags specified by the dictionary.

  • Fixed random affinity assignment of FIX timer and DBL threads if no explicit affinity was defined.

FIX Antenna 2.31.0

FIX Antenna 2.31.0 is released on Apr 6, 2023.

New Features and Improvements

API Changes

Documentation Changes

Other Changes

Fixed Bugs

  • Fixed the issue when the value of the TargetLocationID was not applied for the session.

  • Fixed the issue when FIX Antenna C++ generated Reject with incorrect SessionRejectReason for FIX messages containing tag value(s) with <SOH> symbol.

  • Fixed the issue when FIX Antenna C++ generated Reject with incorrect SessionRejectReason for FIX messages containing undefined tag(s).

  • Fixed the issue when FIX Antenna C++ generated Reject with incorrect SessionRejectReason for FIX messages containing out-of-boundaries tag value(s).

  • Fixed the issue when FIX Antenna C++ generated Reject with an unclear description in 58 tag for FIX messages containing repeating group(s) with incorrect NumInGroup count.

  • Fixed the issue when FIX Antenna C++ could not be started when the LogDirectory property was specified with the Directory Junction link.

  • Fixed issue when the createSession() API function ignored the value of the ParserVersion property set in the engine.properties file for the session and default session.

  • Fixed the issue when the Session::disconnectSync() API function call caused the application's admin thread to stop responding to any further admin commands.

FIX Antenna 2.30.1

FIX Antenna 2.30.1 is released on Nov 3, 2022.

FIX Antenna 2.30.1 is a customer-demanded release providing backward compatible repeating groups parser.

FIX Antenna 2.30.0

FIX Antenna 2.30.0 is released on  Oct 14, 2022.

New Features and Improvements

Logging Improvements

FIX Protocol Changes

API Changes

Other Changes

  • MOEX ASTS Market Data Adapter was decommissioned.

  • The obsolete DefaultApplicationProtocol property was removed.

  • Documentation in the FIX Antenna Python package was improved.

  • The CyclicSwitchBackupConnection parameter was renamed to EnableCyclicSwitchBackupConnection.

  • Removed deprecated property Monitoring.ListenPort from the FIX Antenna C++ headers.

  • The new MaximumParsersAllowed property was added.

Fixed Bugs

  • Fixed the issue with replacing the standard FIXT parser with a custom FIXT parser.

  • Fixed the issue with the unexpected SequenceReset(4) message when the 789 tag was present in the Logon message.

  • Fixed the issue when CRON expressions parser could not accept numbers starting from '0' such as '08' or '09'.

  • Fixed the issue when the Admin session was started with logs persistence enabled by default.

FIX Antenna 2.29.0

FIX Antenna 2.29.0 is released on Dec 14, 2021

New features and improvements

Logging improvements

API changes

  • The old spelling is removed from the API: The validation option 'verifyReperatingGroupBounds' is no longer available via API, the verifyRepeatingGroupBounds should be used instead. The getVerifyReperatingGroupBounds method is no longer available via API, the getVerifyRepeatingGroupBounds'should be used instead.

Fixed bugs

  • Fixed the compatibility issue with scheduling the session events in FIXEdge and running the child process.

  • Fixed the bug due to which a session couldn't send a message during the Wait For Confirm Logout statement even when enableMessageRejecting = **false.

  • Fixed issue when FIX Antenna stops receiving messages after receiving a message with a seq number lower than expected.

  • Fixed the issue when FIX Antenna C++ and FIXEdge crashed on user-modified dictionaries.

  • Fixed the application crash when the tag 1128 is not set for SMH in the dictionary but the tag was present in a FIX message.

  • Fixed the possible infinite loop while handling the incorrect ResendRequest message.

  • Fixed the issue when FIXEdge didn't indicate the bound port for the session (Win specific). Removed usage of SO_REUSEADDR socket option on Windows to make behavior the same on Windows and Linux in case if listening port is already in use.

  • Fixed the issue when the VerifyReperatingGroupBounds parameter was ignored in some cases. The alias 'VerifyRepeatingGroupBounds' for the parameter 'VerifyReperatingGroupBounds'(spelling fix) was added. 

  • Fixed the issue when FIXEdge C++ wrote incorrect tag 8 in storage if the FIX protocol version is FIX5.0.

  • Fixed the issue when validation of repeating groups could not be disabled.

  • Fixed the issue when there was an incorrect SessionRejectReason when the tag position was not correct: 373=2 instead of 373=14.

  • Fixed the issue when the default engine properties file contained incorrect ForceReconnect property.

FIX Antenna 2.28.0

FIX Antenna 2.28.0 is released on Feb 22, 2021.

The most important features of this release are the dedicated listen ports for acceptor sessions and the ability to use QuickFIX formatted dictionaries.

Dedicated listen ports allow the user to restrict an incoming connection to one dedicated port (regardless of whether it is secured or not) for a session via the engine properties file, and to a number of secured or unsecured ports within the API.

QuickFIX formatted dictionaries can now be used the same way as FixAntenna formatted dictionaries.

Starting with this release, build configurations are reduced to Visual Studio 2015 x64, RedHat/Centos 7 gcc4.8, Redhat/Centos 7 gcc5.2, Ubuntu gcc6.1

Features and Improvements

API improvements

Logging improvements

Fixed bugs

FIX Protocol specifications updates

Documentation

FIX Antenna 2.27.1

FIX Antenna 2.27.1 is released on Jan 30, 2020

The major features of this release are the Scheduler component and flexible affinity mask setup, see below. The scheduler component allows users to build and execute flexibly defined schedules and override actions execution if required, see the documentation

This is the last release that supports RHEL / Centos 6 and Visual Studio compilers prior to Visual Studio 2015. So, please be informed that RHEL 6 configurations along with Visual Studio prior to 2015 will be discontinued starting the next release. Windows configurations will be reduced to only one - Visual studio 2015 in particular since starting 2015 studio ABI  compatibility is maintained across compilers versions, So the library built with 2015 studio can be used with 2015/2017/2019. Linux configurations will be reduced to only three: RHEL 7 gcc4.8, RHEL 7 gcc5.2, Ubuntu gcc6.1

 

Breaking changes

  • (SD4906754) Port accepted the connection is passed to the public API method:

    virtual bool onIncomingConnection( const FIXMessage& logonMsg, const IPAddr& remoteAddr, int remotePort, int localPort )

     

    B2BITS_Events.h:

    The following methods signatures have been changed:

    B2BITS_Events.h

    NewIncomingConnection( const std::string& address, int port ); NewIncomingConnectionError( const std::string& address, int port, const std::string& msg ); SessionLogonError( const SessionId& sessionId, const std::string& address, int port, const std::string& aReason ); SessionLogonWarning(const SessionId& sessionId, const std::string& address, int port, const std::string& aReason); SessionWasRejected( const SessionId& sessionId, const std::string& address, int port, const std::string& aReason );

    with

    B2BITS_Events.h

    NewIncomingConnection( const std::string& remoreAddress, int remotePort, const std::string& localAddress, int localPort ); NewIncomingConnectionError( const std::string& remoreAddress, int remotePort, const std::string& localAddress, int localPort, const std::string& msg ); SessionLogonError( const SessionId& sessionId, const std::string& remoreAddress, int remotePort, const std::string& localAddress, int localPort, const std::string& aReason ); SessionLogonWarning(const SessionId& sessionId, const std::string& remoreAddress, int remotePort, const std::string& localAddress, int localPort, const std::string& aReason); SessionWasRejected( const SessionId& sessionId, const std::string& remoreAddress, int remotePort, const std::string& localAddress, int localPort, const std::string& aReason );
  • Type MessageStorageType has been changed to class. So MessageStorageType can't be used as a key in 'switch' anymore. User should use 'if..else if ...' instead of 'switch'. User application may require minor changes.

 

Features and improvements

  • Scheduler component is implemented. 

  • SSLCACertificate is mandatory if peer certificate validation is enabled.

  • Improve logging of errors for unhandled exceptions generating business rejects during processing the message.

  • Parameter Session.Default.SocketTcpMaxSeg is added. It configures the TCP_MAXSEG parameter of the session's TCP/IP connection. It is applicable to initiator sessions only,

  • Added callbacks onAfterMessageIsParsed and onBeforeMessageIsSerialized to FA.NET

  • Improved FIX message parser scalability in a multi-threaded environment.

  • Improved performance and reduced response time of the Session::put method in aggressive_send mode in case if the message can't be sent on spot(engine overload, broken connection, etc).

  • CPU resources consumption is optimized while receiving in even mode( using threads pool) that causes response time decreasing on message path from input to Session::process method.

  • Session parameter "Role" is case insensitive in engine.properties now,

  • New timestamp formats %date{FIXus}, %date{FIXns} %date{ISO8601us}, %date{ISO8601ns} with micro and nano precisions are added for application log output. see: Format of log entries in the log file

  • FIX Antenna accepts Hexadecimal values as a CPU affinity mask.

  • Affinity mask for CPU cores can be specified as comma-separated, semicolon-separated lists or as a range see details (Core binding and affinity mask usage in FIX Antenna C++ products).

  • Improve description of AggressiveReceiveDelay parameter

  • EchoServer sample is redesigned to utilize new Engine::SessionsManager::onSessionTerminated callback.

 

API improvements

  • Engine::SessionsManager callbacks sink is extended with onSessionTerminated that is called when a session termination happens. This allows user application to react and force the session to reconnect if desired. See documentation.

 

API changes

 

Logging improvements

  • (SD4906754) Extended logging of incoming connection event

  • Improved logging of errors for unhandled exceptions generating business rejects during processing the message.

  • Improved text of FIX Dictionary load warnings

  • Improved exception in the logs for loading dictionary failure

  • A WARN record is logged in case when affinity configuration can't be applied

  • FIX Antenna prints the resulted affinity configuration in the log.

 

Fixed bugs

  • (SD4016506) Fixed a bug when session keeps disconnected state for several minutes after disconnection.

  • ConnectToGateway sample segfaults on Linux if the target endpoint is not available.

  • Fixed a typo in the thread name: was 'dispacher', replaced with 'dispatcher'.

  • Fixed a bug when SSL Ciphers list can't be passed to SSLContextConfigurator.

  • Fixed a bug when additional dictionary adds repeating groups incorrectly if leading tag is already present in the message.

  • Fixed a bug when additional dictionary adds repeating groups incorrectly if leading tag of the nested group becomes starting tag of the parent group.

  • Session's storage files occupy unnecessary large space in certain cases.

  • Certificate path was passed into SSL context instance setup routine instead of ciphers list in some cases.

  • FIX Antenna postpones the creation of dedicated sending threads for aggressive send mode instead of creating them on session get connected.

  • EPMBFIXSUP-3642, An initiator doesn't reestablish connection after receiving logout.

  • Fixed incorrect session state transition to WaitForConfirmLogout causing delays on Engine shutdown if DelayedProcessing.MaxDeliveryTries property was configured.

  • Fixed a bug when SourceIPAddress parameter works incorrectly via administrative session

 

Connectivity updates

  • CME iLink DropCopy dictionaries includes all changes till 31th of December  2019

  • FIX 5.0 SP2 dictionary has been updated with 248-252 Extension Packs

 

Documentation

FIX Antenna 2.26.0

FIX Antenna 2.26.0 is released on Jan 23, 2019

New Features and improvements

SSL support changes:

  • An initiator can use a certificate signed by counterparty's CA certificate for authentication

  • FIX Session configuring API improved to support loading SSL certificates of types : pfx files, .pem encoded files, .der - binary encoded files in ASN1 standard. SSL certificates with and without passwords are supported.

  • API was extended with the class SSLContextConfigurator for getting certificates and passwords from the user. 

  • API was extended with SSLContextConfiguratorConverter interface to serialize/deserialize class SSLContextConfigurator to/from string. If user uses custom SSLContextConfigurator implementation, user should implement SSLContextConfiguratorConverter in order to avoid information loss. 

  • SSLRequireClientCertificate property was replaced by SSLValidatePeerCertificate.

  • Settings SSL, SSLCertificatePassword and SSLPrivateKeyPassword were introduced.

  • SSLCheckPrivateKey property was removed. Correspondence between the key and certificate will be checked automatically. FIX Antenna does not establish session if the key doesn't correspond to the certificate. 

For more information see:

Fixed critical bugs

  • AGGRESSIVE* (see SocketOpPriority) SSL FIX session sometimes stops message sending for long time.

  • A  flag Q (for queued FIX messages, see OutOfSequenceMessagesStrategy) is not replicated in FIX logs replicator

  • Missing timestamps in session logs after corrupted storage recovery        

FIX Antenna C++/.NET Market Data Adapters:

will be removed from the package starting the next release.

Market Data Adapters will be delivered as a separate package to simplify the release process, speed up the delivery of updates including bug fixes, and improve its integration with custom code.

FIX Antenna 2.25.1

FIX Antenna 2.25.1 is released on Oct 9, 2018.

New Features and improvements