FIX Antenna C/C++/.NET Release Notes
- 1 FIX Antenna 2.34.0
- 2 FIX Antenna 2.33.0
- 3 FIX Antenna 2.32.1
- 4 FIX Antenna 2.32.0
- 5 FIX Antenna 2.31.0
- 6 FIX Antenna 2.30.1
- 7 FIX Antenna 2.30.0
- 8 FIX Antenna 2.29.0
- 9 FIX Antenna 2.28.0
- 10 FIX Antenna 2.27.1
- 11 FIX Antenna 2.26.0
- 12 FIX Antenna 2.25.1
- 13 FIX Antenna 2.24.0
- 14 FIX Antenna 2.23.0
- 15 FIX Antenna 2.22.0
- 16 FIX Antenna 2.21.0
- 17 FIX Antenna 2.20.2
- 18 FIX Antenna 2.20.1
- 19 FIX Antenna 2.20.0
- 20 FIX Antenna 2.19.0
- 21 FIX Antenna 2.18.1
- 22 FIX Antenna 2.18.0
- 23 FIX Antenna 2.17.3
- 24 FIX Antenna 2.17.2
- 25 FIX Antenna 2.17.0
- 26 FIX Antenna 2.16.0
- 27 FIX Antenna 2.15.1
- 28 FIX Antenna 2.15.0
- 29 FIX Antenna 2.14.1
- 30 FIX Antenna 2.14.0
- 31 FIX Antenna 2.13.1
- 32 FIX Antenna 2.13.0
- 33 FIX Antenna 2.12.0
- 34 FIX Antenna 2.10.16.4
- 35 FIX Antenna 2.10.16.3
- 36 FIX Antenna 2.10.16.2
- 37 FIX Antenna 2.10.16.1
- 38 FIX Antenna 2.10.16.0
- 39 FIX Antenna 2.10.15.6
- 40 FIX Antenna 2.10.15.5
- 41 FIX Antenna 2.10.15.4
- 42 FIX Antenna 2.10.15.3
- 43 FIX Antenna 2.10.15.2
- 44 FIX Antenna 2.10.15.1
- 45 FIX Antenna 2.10.15.0
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.h, B2BITS_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
The new FixEngine::cancelScheduledSessionRestart() API function to cancel the session restart scheduled using the onSessionTerminated() callback.
The new FixEngine::getLicenseExpirationDate() API function to get the license expiration date.
The new API functions were added to FixDictionary2::Protocol class to get the tag by name and name by tag.
Documentation Changes
The description of the Log.Device property was improved.
The information on the How to configure FIX messages validation page was updated:
The description of the AllowZeroNumInGroup property was added to the Engine Level properties section.
The description of the Session.<SenderId>/<TargetId>.Validation.AllowZeroNumInGroup property was added to the Session Level properties section.
The How to configure Monitoring WebUI for FIX Antenna-based applications page was added.
The description of the new IncludeProperties parameter was added.
The Configure throttling of incoming messages section was added to the How to configure FIX messages throttling in FIX Antenna C++ page.
Other Changes
FIX Antenna C++ is built with OpenSSL 3.0.5.
FIXAntenna C++ API is C++17 compliant.
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
FIX message API is extended with traversal capabilities that allow fast iteration over the message.
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
Engine::SessionExtraParameters::cpuAffinity_ and friends type has been changed to TriAffinity64 that is compatible with the previous one. So no changes to the existing user code are expected.
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
Added the article: Multi-Language CJK (Chinese-Japanese-Korean) characters support in FIX Antenna/FIX-Protocol
Added the article: Core binding with affinity mask and threads management in FIX Antenna C++ products
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
Windows x32 platform support is discontinued starting from this release.
Role, Host, Port, HBI, version and custom logon message can be configured in engine.properties (see How to configure FIX Sessions with engine.properties file#Createpre-configuredsessionsfromapropertiesfile.)
Function for getting list of pre-configured sessions from engine properties has been introduced to API: ConfiguredSessionsMap getConfiguredSessions(const Engine::SessionRole filterInRole = NA_SESSION_ROLE) const;