Page tree
Skip to end of metadata
Go to start of metadata

FIXEdge 6.11.5 Release Notes

FIXEdge 6.11.5 is released on

New Features and improvements

  • An ability to disable/enable managed queues smart logic per session is implemented.
  • Smart logic while determining the FIX application version from the FIXVersion attribute is added. The attribute FIXVersion became compliant in FIX to FIXML converter output. 

Fixed bugs

  • Fixed the issue when FIXEdge corrupted FIX messages if reject was generated under high load. Race condition in FIX session while processing the validation errors during high session load was fixed.
  • Fixed the issue when FIXEdge crashed during order cancellation processing without tag 11 in the managed queue. The crash in order cancellation processing in Managed Queue if the request had missing required fields was fixed.

FIXEdge 6.11.4 Release Notes

FIXEdge 6.11.4 released on   

Fixed bugs

  • Fixed the issue when the JMS Producer lost messages during reconnection if it was unable to convert them to JMS Message objects.
  • Fixed the issue when the ManagedQueue erroneously sent out enqueued messages. A possible race condition during ManagedQueue initialization was fixed.
  • Fixed the issue when the validation of repeating groups could not be disabled. Checking repeating group bounds without at least one entry was made controllable with the VerifyRepeatingGroupBounds.

FIXEdge 6.11.3 Release Notes

FIXEdge 6.11.3 released on   

Fixed bugs

  • Fixed the infinite loop that occurred while handling an incorrect ResendRequest message.

FIXEdge 6.11.2 Release Notes

FIXEdge 6.11.2 released on  

The main feature of this release is compatibility with FIXICC H2 21Q2. Detailed info is located in the FIXICC H2 for FIXEdge C++ section of the Knowledge Base.

The FIXEdge Server now uses the updated version of FIX Integrated Control Center (FIXICC) (2.10.21) and all its features.

Fixed bugs

  • Fixed the issue when the connection to REST Admin API with SSL/TLS security was impossible.

  • Fixed the issue when schedule name parameter is being ignored by FIXEdge while processing creates session request via FIX Admin session.
  • Fixed the issue when parameters IncomingMessagesLimit, OutgoingQueueSizeLimit, IncomingThroughputLimit are being ignored by FIXEdge while processing creates session request via FIX Admin session.
  • Fixed the issue when a session couldn't be created if it is configured to move logs.
  • Fixed the issue when the Logon Handler logged INFO-level instead of WARN for authentication failures.

FIXEdge 6.11.0 Release Notes

FIXEdge 6.11.0 released on  

The most important features of this release the ability to assign a dedicated listen port for an acceptor session or group of sessions and the ability to use QuickFIX formatted dictionaries, see below. 

The dedicated listen ports allow the user to restrict an incoming connection(s) 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 via the API.

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

The FIXEdge Server now uses the latest version of FIXAntenna (2.28.0) and all its features.

New Features and improvements

  •  Added the capability to load FIX dictionaries in QuickFIX format

    FIXAntenna C++ now supports QuickFix dictionaries natively.

  •  Added the capability to support a custom symbol instead of SOH

    Added a new parameter for a session: tagsDelimiter
    You can configure this parameter through SessionExtraParameters and through the engine.properties file. In order to set the parameter through the config file, you can use a symbol or a hex-code, for example:

    • |
    • ^
    • 0xAD
    • 0xF5

    Make sure you use an allowed value. Check the table. You can also call the static function FAProperties::checkTagsDelimiterValue.
    The default value for tagsDelimiter parameter is 0x01 (SOH).

  •  Added the capability to dedicate listen port for FIX acceptor sessions

    The listening ports can be defined per acceptor session. The port is opened for listening only when the session is ready to accept a connection. It's possible to have several sessions on the same port as long as SSL configurations match.

  •  Added the capability to capture the response from the RestOutTA and put it into the FIXEdge reject message

    Added the capability to return the response code and error text from the RestOut TA, and retrieve them on BL with JS functions getErrorCode(), getErrorText().

  •  Added the capability to re-send a message via the RestOutTA if the destination system returns an error

    Messages can be re-transmitted via the RestOutTA in case of errors from the counter-party for particular codes defined by the user.

  •  Added an option 'ResetSeqNumFromFirstLogon' to reset sequence numbers with values taken from the first logon message

    A new option ResetSeqNumFromFirstLogon was added that allows the engine to handle sequence numbers at logon without Resend Requests.

    It can be configured with its own cron-based schedule or using an existing session schedule.

  •  Added an option 'ResetSeqNumOnNonGracefulTermination' to reset sequence numbers upon non-graceful termination

    A new property, ResetSeqNumOnNonGracefulTermination, was added that allows the session to reset local sequences to 1/1 upon a connection error or a failed Logon/Logout time frame check.

  •  Added an option 'confirmingLogonStrategy' to control behavior when a logout is received instead of a logon
    Added the confirmingLogonStrategy session parameter. The list of strategies can be found here.
  •  Set the default value for DuplicateResendRequestLimit to 2

    Set the recommended value of DuplicateResendRequestLimit = 2 to the default in engine.properties. This option allows the FIX Engine to ignore duplicate resend request and respond to multiple similar resend request messages only once. See DuplicateResendRequestLimit for details.

    Set the recommended value of FixLayer.FixEngine.Sessions.DefaultIgnoreDuplicateResendRequests to true in default FIXEdge.properties.  This option allows to ignore resend request duplicates and responds on multiple similar resend request messages only once. 
    See DefaultIgnoreDuplicateResendRequests (link) and IgnoreDuplicateResendRequests (link) for details

  •  Removed vc10/gcc44 suffix from FIXEdge C++ components

    When upgrading the FIXEdge, check if vc10/gcc44 suffixes are used in libraries naming, those suffixes should be excluded if any. For instance:

    • Windows: XXX-handler-vc10-MD.dll --> XXX-handler-MD.dll
    • Linux: XXX-handler-gcc44-MD.so --> XXX-handler-MD.so
  •  Added the Logon Handler plugin

    Logon Handler plugin delegates FIX-session authentication to third-party systems. Communication with the third-party systems is done via BE/BF messages over the FIX protocol. See details.

  •  Built FIXEdge against openssl statically linked

    FIXEdge for Linux is built statically with OpenSSL 1.1.1h and doesn't use the system library now.

Changes in Kafka transport adapter:

  •  Kafka TA Graceful Termination by FIXEdge

    Implemented the graceful closing of the Kafka connections on stopping the FIXEdge instance.

  •  Kafka TA Scheduling

    Kafka TA has the ability to configure the session's schedule using `ConnectTime` and `DisconnectTime` parameters on a per-session basis now. The configured schedule will set the valid time interval for sending messages to Kafka instance/cluster and will not affect the availability of the session in FIXEdge's BL.

  •  Kafka TA multiple instances

    Added support for multiple Kafka TA instances in FIXEdge configuration.

  •  Kafka TA authentication

    Added support for SSL certificate authentication, PLAIN, and GSSAPI (Kerberos) authentication mechanisms in Kafka transport adaptor.

  •  Kafka TA handle a disconnection with Kafka broker

    Implemented configurable logic in Kafka TA to handle temporary disconnections to Kafka server.

  •  Kafka TA Monitoring

    Implemented the functionality in Kafka TA to allow monitoring of adaptor state and statistics through Admin interfaces.

  •  Kafka TA Data Transformation Result Logging

    Added logging for default data serialization in Kafka TA.

Changes in ICE Trade Capture Solution

  • Multiple FIX Sessions to ICE are now supported.
  • New Data Request Mode was implemented. Now it is possible to subscribe for Trades and Security Definitions simultaneously.

Logging improvements

  •  Improved message reject reason for invalid repeating group size

    Detection of invalid group tags with the wrong group size was added.

  •  Improved license system message. Use INFO severity if 30 days remain.
    Previous message[WARN] <timestamp> <thread> [Engine] - The license for the '<company>' expires in 38 days. Please call +44 20 369-58-166 or contact us at SupportFIXAntenna@epam.com for further assistance.
    Current message[INFO] <timestamp> <thread> [Engine] - The license for the '<company>' expires in 38 days. Please call +44 20 369-58-166 or contact us at SupportFIXAntenna@epam.com for further assistance.
    [WARN] <timestamp> <thread> [Version] - The license for the '<company>' expires in 8 days. Please call +44 20 369-58-166 or contact us at SupportFIXAntenna@epam.com for further assistance.
  • Fixed the parser logic ignores the parameter 'VerifyReperatingGroupBounds' in some cases.
    Added alias 'VerifyRepeatingGroupBounds' for the parameter 'VerifyReperatingGroupBounds'(spelling fix).


Fixed bugs

  •  MQ Transport Adapter doesn’t properly process FIX messages of FIX 50+ version if tag ApplVerID (1128) is not located after tag 35

    Fixed FIX standard violation when FIXEdge forces the ApplVer(1128) tag to appear right after tag 35

  •  FIX Antenna C++ doesn't validate ApplVer(1128) tag for FIX50SP2

    Fixed the application stops when the ApplVer(1128) tag is not set for SMH in the dictionary but the tag is present in a FIX message.

  •  The REST Initiator TA had been failing to generate reject message for FIX 50 session on unsuccessful send attempt

    Fixed reject message forming in case of FIX5.0+ protocols without ApplVer(1128) tag. RestOut Non-raw conversion can handle messages without ApplVer(1128) tag.

  •  FIXT11 session was not initialized due to last message parsing error

    When using the FIXT1.1 protocol, a correct version of the session protocol is now used to validate storage on startup. This prevents occasional failures upon session initialization if the last message in the *.out storage does not contain the ApplVerID(1128) tag.

  •  A session stops and restarts if it is trying to send a session-level reject while the 373 tag does not have all the values in the dictionary

    Fixed a rare case when a session tries to reconnect after attempting to send a Session Level Reject(3) message that uses one of the following tags: 371, 372, 373, 1130, 1406, 1131, contains a value that is not presented in the dictionary, and validation is enabled.

  •  FIXEdge does not close a session if NextExpectedSeqNum(789) tag in an incoming logon is higher than expected

    Fixed the case when a FIX session does not react correctly when the NextExpectedSeqNum(789) tag in an incoming Logon message has a value higher than the sequence number that is next to be assigned. Now, a Logout message will be sent in a scenario like this, as described in the FIX specification.

  •  Incorrect count of the repeating group in the error message if the count of entry is zero

    Fixed the detection of the invalid number of entries in repeating groups. This occurs when there is no entry at all.

  •  The property AllowZeroNumInGroup doesn't work in FIXEdge
    Fixed the AllowZeroNumInGroup property. It allows zero-sized repeating groups in incoming messages when set to true.
  •  Sending out messages from Managed Queue is delayed

    Fixed the performance issue in ManagedQueue on the Linux system by sending a large number of pending messages (>100k).

  •  FIXEdge gets deadlocked if Managed Queue is used by multiple sessions

    Fixed possible deadlock in ManagedQueue with multithreaded configuration and high message rate.

  •  "Reset Sequences" feature does not work if user starts session from FIXICC

    Now FixAntenna's API call `resetSeqNum` is available when an initiator session is in an `Initial`, `CorrectlyTerminated`, and `NonGracefullyTerminated` state. Being called, this method will schedule the next Logon message to contain ResetSeqNum(141)=Y tag, as well as a sequence, reset to be performed on the next logon.

  •  FIXEdge server stops while the TIBCO RV server is started or stopped

    Fixed a case when the TIBCO transport adapter sends to observer two logons (without logout) leading to an exception. Sending logon/logout is based on connection status instead of common demon status now.

  •  Only first the TIBCO client from clients property is created (CentOS 7 scecific)

    Fixed a case when the TIBCO transport adapter was unable to initialize properly if the connection establishes too fast.

  •  FIXEdge did not switch to backup connection due to error

    Fixed a bug that can cause a session to stop reconnecting attempts. Relevant for session initiator.

  •  The CME STP TA does not restore connection after the CME network interrupts

    Fixed reconnection on network interrupts and updating the session status in the CME STP transport adaptor.

  •  FIXEdge Admin REST API function service/started doesn't work when starts as windows service

    FIXEdge now will correctly initialize REST Admin API and Components API when started as a service on Windows.

  •  The Kafka TA does not start with the FIX 5.0 message in Kafka storages

    Fixed inability to load session storage in case of the storage's FIX protocol version requires to use of the FIXT1.1 transport protocol

  •  Kafka TA does not log requred error message, when producer can not queued message

    Fixed message text for "Error handling the outgoing message" in Kafka TA logging.

  •  FIXEdge stops when session started on bound port (CentOS specific)

    Fix the issue when FIXEdge stops when a listening port is already in use.

  •  Username/Password are still visible in Debug / Trace mode in FIXEdge.log file even with enabled HiddenLogonCredentials and MaskedTags

    Fixed hiding the logon credentials in FIXEdge and FIXAntenna log files.

  •  FIXEdge stops when the ICESession and ICESession.SenderCompID parameters are empty

    Fixed stops in FIXEdge when BL handler fails to initialize. The obsolete parameter ICESession parameter is removed from the ICEHandler.

  •  Service message is not routed from session to session(if one session use custom dictionary)

    Fixed default conversion of messages to/from custom FIX50 protocol while routing to FIX session.

  •  FIXEdge does not indicate bound port for session (Windows 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.

Dictionaries updates

  •  Updated dictionaries according to the last specification (ICE Trade Capture 4.11, ICE Private Orders Feed 3.11)

    Recommendation about ICE Trade Capture DB Schema updates can be found here: ICE Solution DB upgrade procedures

FIXEdge 6.10.0 Release Notes

FIXEdge 6.10.0 released on Dec 17, 2020

The main feature of this release is a newly added Kafka transport adapter. It allows FIXEdge to route messages to/from the Kafka open-source distributed event streaming platform. See details.

Starting with this release we are discontinuing support of RHEL 6 since it came to the EOL. Currently supported platforms include RHEL 7 and Windows x64.

Additionally, this release has an average performance gain of about 10% in the scenario where FIXEdge converts messages from one protocol version to another.

New Features and improvements

Changes in ICE Trade Capture Solution

  • A new "InsertionTime" column has been appended to all tables. This feature saves time on row insertion time. Data is formatted as follows "YYYY-MM-DD-HH:MM:SS.sss".
  • FIX dictionaries have been updated according to ICE specification (ICE Trade Capture 4.9)

Changes in ICE Private Order Feed Drop Copy Solution

  • FIX dictionaries have been updated according to ICE specification (ICE Private Orders Feed 3.9)

FIXEdge was extended with new transport adapter for Kafka

The Rest initiator/acceptor TAs now fully support FIX 5.0+protocols.

The Rest initiator TA adapter now supports re-sending messages when faced with errors from counter-parties for particular, defined by user, codes.

Fixed bugs:

  •  The RestTA could not previously establish HTTPS connection along with the client's certificate validation

    The Rest acceptor TA now provides a list of Certificate Authorities allowed for client certificates in a CertificateRequest message on SSL handshake.

  •  JMSTA could not send extracted XML data from tag 213. Fixed property SmartXMLProcessing = true for JMS TA.

    Fixed property SmartXMLProcessing = true for JMS TA

  •  JavaScript function (save, update) couldn’t save 0 value inwhen there was a case of Numeric column type in BL.

    Fixed the bug due to which the Java script function saveToHistory was not able to parse a zero value "0".

  •  FE with MQ TA for Linux is building with 7 version of MQ SDK instead 8 (can lead to FE crash)

    MQ version on build machines was updated to V8.0.0.6

  •  [FE] Application level messages without tag 1128 are not processed if AsyncProcessing is enabled

    The bug has been fixed. Previously, when a session uses the FIXT11 protocol version and AsyncProcessing = true, it was still required to have the tag 1128 in messages. Now the session uses the version received from a Logon message and parses any massage without tag 1128.

  •  Rest Acceptor doesn't accept FIX messages with FIX Protocol FIX50+

    REST Acceptor TA now supports FIX50+ messages.

  •  [FE] FIXT11 Session was not initialized due to a last message parsing error.

    Using FIXT1.1 protocol, a correct version of the session protocol is now used to validate storage on startup. This prevents occasional failures during session initialization if the last message in the *.out storage does not contain ApplVerID(1128) tag.

  •  [FE Cpp]FE corruptes message after conversion in js

    Fixed a bug in BL Convert action that leads to duplication of custom tag values (i.e. tag number > 5000) to message root from 2+ level nested repeating groups

  •  MQ TA property SslKeyRepository did not work properly with a relative path

    MQ adapter now supports relative path in the SslKeyRepository property value

  •  ICE Trade Capture: Scripts are saving CurrentDate fields to DB in local timezones

    The application now uses UTC time zone to save date and time in the SQL database during message filtration.

Dictionaries updates:

  • CME STP FIX dictionaries include all changes up to Notice 20200505
  • FIX 5.0 SP2 dictionary has been updated with 258 Extension Packs.

Log replicator updates:


FIXEdge 6.9.0 Release Notes

FIXEdge 6.9.0 released on March 23, 2020

The main features released are the REST Initiator transport adapter, security mode support for the REST Acceptor transport adapter, Managed Queue functionality. Also, various critical and major bugs were fixed.  

New features and improvements

Managed Queue as a part of store-and-forward functionality is introduced providing a mechanism for storing messages and releasing them on a time-schedule basis.

Managed Queue features

  • Messages are stored and released  according to market schedule hours
  • Multiple queues can be configured for different order types \ venues
  • Rest Admin API is extended with the functionality of  viewing queues and  schedules 
  • Sequence reset doesn't affect the messages in a queue
  • Smart logic for Cancel, Cancel\Replace is implemented (disabled by default)

For more information on that please refer to the document.


REST Initiator Adapter is introduced for sending messages via HTTP/HTTPS POST requests

REST Initiator Adapter features

  • An outgoing HTTP message body can be formed in several modes:
    • raw FIX message with SOH as a delimiter
    • json representation of FIX messages tags and values
    • content of 213 tag of FIX message
  • Proxy server support
  • Message validation function
  • Security mode (HTTPS) support

For more information on that please refer to the document.


New features were added to REST Acceptor Adapter

New REST Acceptor Adapter features

  • raw FIX message type support
  • Security mode (HTTPS) support

For more information refer to the document.

ICE TC and POF Solutions

  • ICE TC: Implemented a possibility to disable saving 'Blocks' and 'Legs' to the DB
  • ICE TC: Speed up filtering and inserting records to DB
  • Dictionaries were updates according to last specification (ICE TC 4.7, ICE POF 3.8) 
  • Strategy harmonization conformance testing has been passed
  • The default value of FixLayer.FixEngine.Session.ICESession.AsyncProcessing.QueueSizeLimit parameter is set to -1 (Unlimited queue size)
  • SecDefs messages limitation of 256 000 bytes was increased up to 1 024 000 bytes

REST Admin API 

  • Rest Admin API was extended with FIX session management API:
    • get FIX session status
    • get FIX session statistics
    • Restart a FIX session
  • Configuration support absolute paths
  • Ability to specify network interface for listening
  • Plain HTTP mode was added for debugging \testing purposes

For more information refer to the document.

Logging

  • Removed unnecessary NUL symbols from the logs.
  • The severity of Rest Acceptor TA validation and parsing reject  was changed from TRACE to WARN

Other

  • OpenSSL dependency version updated to 1.0.2k for Linux package
  • JMS Transport Adapter stability was increased

Extension Packs:

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

Latest FIX Antenna C++ under the hood:

  • FIXEdge has been built with FIXAntenna 2.27.1 with changed logging format for a number of cases. See FIX Antenna C++ Release Notes for more details.

FIXICC

Fixed bugs

  • FIXEdge failures if updateHistory function is called with incorrect number of arguments
  • REST Admin API couldn't create a session if parameters InSeqNum,OutSeqNum,StorageType were not specified
  • FIXEdge requires both VS 2010 and  VS 2015 redistributable libraries packages
  • Unsent messages from JMS TA might be lost after FIXEdge restart
  • FIXEdge failures on shutdown if REST Acceptor TA is processing messages.
  • A memory leak in XML Socket monitoring functionality
  • Attempts to connect to unreachable host might lead to FIXICC malfunction
  • An initiator did not reestablish a connection after receiving a logout in some cases
  • An additional dictionary adds repeating groups incorrectly if leading tag is already present in the message
  • An additional dictionary adds repeating groups incorrectly if leading tag of the nested group becomes starting tag of the parent group

Log Replicator

  • Log replicator fails on start if one instance is already running
  • Log replication server fails after replication client stop
  • Log replication client stops replication if there is a broken storage
  • Log replication server fails if  log replication client cannot update a storage

FIXEdge 6.8.0 Release Notes

FIXEdge 6.8.0 released on July 4, 2019

New Features and improvements

SSL support changes:

  • An initiator can now use a certificate signed by counterparty's CA certificate for authentication
  • Added support for the following SSL certificates formats: pfx files, .pem encoded files, .der - binary encoded files in ASN1 standard.
  • Added support of SSL certificates with and without passwords. Settings SSLCertificatePassword and SSLPrivateKeyPassword were introduced.
  • SSLRequireClientCertificate property was replaced by SSLValidatePeerCertificate.
  • SSLCheckPrivateKey property was removed. Correspondence between the key and certificate will be checked automatically. FIX Edge does not establish session if the key doesn't correspond to the certificate. 

For more information see: Configuring FIX SessionsHow to configure built-in SSL support for FIX session in FIXEdge

Please note, that SSL-related properties: 

can be set via editing engine.properties and FIXEdge.properties only.

FIXICC

Changes in ICE Trade Capture Solution

Changes in ICE Private Order Feed Drop Copy Solution

Logging improvements:

  • Added logging of host:port for incoming connection event:

Host:port of incoming connection was added

Previous message

[NOTE] 20190129-06:56:49.319 [13100] [Engine] - New incoming connection was detected (from 127.0.0.1:60779)

Current message

[NOTE] 20190129-06:56:49.319 [13100] [Engine] - New incoming connection was detected (from 127.0.0.1:60779 to 127.0.0.1:9011)

  • VS 2010 C++ Redistributable Package (x64) required for installation added to FIXEdge's \Redist\VC10 directory.  Also refer to Installation.


Fixed critical bugs:

  • Reconnect mechanism doesn't work in FIXEdge's JMS adapter
  • FIXEdge failure if LDAP authentification has been used.  
  • FIXICC shows state of the session right after FIXEdge start incorrectly
  • FIX Admin Session prevents graceful termination of FIXEdge
  • REST Admin API has inconsistencies between parameters on POST session create request and GET session parameters.
  • Calling Java Script function saveToHistory with incorrect arguments leads to FIXEdge malfunction 

FIXEdge 6.7.1 Release Notes

FIXEdge 6.7.1 released on March 6, 2019

Changes in ICE Trade Capture Solution

    • Data Model was adjusted to store all the data coming in Defined Strategy (35=UDS) messages
    • Defined Strategies Subscriptions are implemented for UDS
    • StrategyPreference(9006) and PublishMktCreationRealtime(9010) tag values are set to "1" in Logon(35=A) to receive new Defined Strategy (35=UDS) messages published over the session in real time. Receiving Defined Strategy (35=UDS) messages is possible when switching to New Security Definition interface (StrategyPreference(9006)=1) only.
  • CurrentDate and SenderCompID columns are added to the Trade Capture Reports database tables
  • Fields data types and indexes were changed in Trade Capture Reports and Security Definitions tables to increase the speed of message processing.
  • The format of the additional dictionary was changed to resolve possible conflicts of the additional dictionaries in FIXEdge multiple connections configurations. See How to use dictionary from ICE Trade Capture Solution package based on FIXEdge 6.7.1 in previous versions.
  • Username and Password settings moved from Сustom Logon to the FIXEdge.properties configuration file.

See "How to upgrade" articles by the following links: 

Changes in ICE Private Order Feed Drop Copy Solution

    • Data Model was adjusted to store all the data coming in Allocation (35=J) messages
    • Message processing by JavaScript is implemented
    • The uniqueness of messages is determined by the set of values of the following tags: ExecID(17), Symbol(55), Side(54), ExecType(150) (added), TransactTime(60) (used instead of SendingTime(52))
      If TransactTime(60) tag isn't specified in the Execution Report, then the current time is inserted
      If the TransactTime field value wasn't specified in the Execution Report (it has been generated by JS), then TransactTimeWasNULL is set to 'Y'
    • TimeStampPreference(9007) tag set to "1" in Logon(35=A) message for increase time precision in SendingTime(52), TransactTime (60), and RFQTransactTime(9213) tag values
    • Table columns for storage and post-processing PossDupFlag(43) and PossResend(97) tag values were added
  • Configuration file FIXEdge.properties is extended with the following settings:
    • SSL settings were added
    • Username and Password setting are moved from Сustom Logon
    • Schedule for ICE Private Order Feed Drop Copy session was added

See "How to upgrade" articles by the following links: 

Extension Packs

FIXEdge 6.7.0 Release Notes

FIXEdge 6.7.0 released on December 19, 2018

New Features and improvements

Changes in ICE Trade Capture Solution

  • SSL for ICE session has been enabled in default configuration
  • Tables columns names are explicitly specified in stored procedure 
  • Added internal buffering for incoming messages from FIX session to mitigate of too high rate of Security Definition messages from ICE
  • Added support ICE FIX Trade Capture specification version 4.3

Changes in REST Admin API

Logging improvements:

Typo has been fixed:

Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JMSAdaptorTransportLayer.JMSTA] 1095492 Sending onStateChanged() to CORRECLTY_TERMINATED

Current message

2018-05-18 07:12:16,521 UTC DEBUG [JMSAdaptorTransportLayer.JMSTA] 1095492 Sending onStateChanged() to CORRECTLY_TERMINATED

Logging category has been changed:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' created. Sending onLogon to dispatcher.

Current message

2018-05-18 07:12:16,521 UTC INFO [JNI_WRAPPER] 1095492 Session 'SocGenProducer' created. Sending onLogon to dispatcher.

Logging category has been changed:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' connected.

Current message

2018-05-18 07:12:16,521 UTC INFO [JNI_WRAPPER] 1095492 Session 'SocGenProducer' connected.

Logging category has been changed:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' disconnected with reason [<reason>]. Sending onLogout to dispatcher.

Current message

2018-05-18 07:12:16,521 UTC INFO [JNI_WRAPPER] 1095492 Session 'SocGenProducer' disconnected with reason [<reason>]. Sending onLogout to dispatcher.

Logging category has been changed:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' destroyed.

Current message

2018-05-18 07:12:16,521 UTC INFO [JNI_WRAPPER] 1095492 Session 'SocGenProducer' destroyed.

Logging category has been changed:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' reconnect.

Current message

2018-05-18 07:12:16,521 UTC INFO [JNI_WRAPPER] 1095492 Session 'SocGenProducer' reconnect.

Logging category has been changed and reason has been added:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' creation error.

Current messages

2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 Session 'SocGenProducer' creation error.
2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 <reason>

Reason has been added:
Previous message

2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 Session 'SocGenProducer' send message error.

Current messages

2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 Session 'SocGenProducer' send message error.

2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 <reason>

Logging category has been changed and reason has been added:
Previous message

2018-05-18 07:12:16,521 UTC DEBUG [JNI_WRAPPER] 1095492 Session 'SocGenProducer' general error.

Current messages

2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 Session 'SocGenProducer' general error.

2018-05-18 07:12:16,521 UTC ERROR [JNI_WRAPPER] 1095492 <reason>

Fixed critical bugs:

  • Incorrect FIX Session state in FIXICC after restarting the session
  • Missing timestamps in session logs are after corrupted storage recovery
  • Sequence numbers are processed incorrectly in certain cases when DeliverAppMessagesOutOfOrder=true
  • Java Script function "createDateStr(DATETIMENanoUtc)" works incorrectly with undefined value for seconds on CentOS6
  • Incorrect decoding of Latin-1 in CME STP Transport Adapter
  • A  flag Q (for queued FIX messages) is not replicated in FIX logs replicator

Documentation:

FIXEdge configuration with the principle of least privilege has been documented

FIXEdge 6.6.1 Release Notes

FIXEdge 6.6.1 released on August 3, 2018

Critical bugs and fixes

  • Action 'SendToTier' generates incorrect reject in response to Execution Report message.

FIXEdge 6.6.0 Release Notes

FIXEdge 6.6.0 released on July 24, 2018

New Features and improvements

ICE Trade Capture

  • New interface of Security Definition (35=d) messages has been fully supported and enabled by default.
    Partial backward compatibility is supported - old interface of security definitions can be safely processed and stored in the data model.
  • Data Model has been adjusted to support and store all the data coming in new interface of Security Definition (35=d) messages.
  • Changes in FIX interface introduced by the latest ICE Trading Platform Release (June 8, 2018) have been supported.
  • The solution performance has been improved:

    • Introduced consequence requests of security definitions which prevent TCP buffer overflow and possible connection break. See updated ICE Trade Capture Overview and workflow overview for details.
    • Changed implementation of data storage mechanism: replaced JavaScript with SQL stored procedures.
    • Optimized indexes structure and their datatypes in Security Definitions tables.
    See "How to upgrade" article by the following link: Pure installation of the new version of ICE Trade Capture solution.

IBM MQ Transport Adaptor

  • ErrorsQueue has become enabled for all IBM MQ TA modes.

    All unprocessed messages will be routed to ErrorsQueue. Setup and handling ErrorsQueue on IBM MQ Manager is a client responsibility.

    See IBM MQ Series Adaptor Configuration for more information

  • MQ TA dependency (IBM MQ client library) has been updated to version 8.0.0.6.

    It is recommended to use IBM MQ Client library version 8.0.0.6

    IBM MQ manager and client versions compatibility is described here http://www-01.ibm.com/support/docview.wss?uid=swg21312967.

    However, current release was tested against IBM MQ Queue Manager 8.0.0.6 version only.

Logging improvements

Logging for getaddrinfo failure has been changed:

Previous message
... getaddrinfo(<hostName>) failed: <error code> 
Current message
... Nodename-to-address translation in protocol-independent manner failed - getaddrinfo(<hostName>) failed:  <error code>. Please check DNS configuration. Most likely this error means DNS configuration issue.
JMS TA logging for messages without timestamps has been improved:
Previous message2018-05-22 10:14:31,533 UTC INFO [JNI_WRAPPER] 11232 Timestamp not found in FIXML message.
Current message2018-05-22 10:14:31,533 UTC WARN [JNI_WRAPPER] 11232 There is no Timestamp in the delivered message. The delivery notification has been skipped.

Critical bugs and fixes

  • Accepting a session during FIXEdge initialization could lead the failure.
  • Accepting a session during shutdown could interrupt the graceful stop.
  • IBM MQ Transport Adapter's transaction cannot be rolled back in the case when FIXEdge failed to parse the first message of the batch.
  • Memory leak appears in RabbitMQ Transport Adapter.
  • Error message about repeating group size has an incorrect description.
  • Non-graceful termination leads to the loss of all messages in the persistentMM storage on Windows.
  • FMXML handler doesn't produce valid XML in case XML-reserved symbols are used.
  • Log Replicator doesn't work with growing log files.
  • Service created via replication tool can't start correctly.

FIXEdge 6.5.0 Release Notes

FIXEdge 6.5.0 released on March 16, 2018

New Features and improvements

ICE Trade Capture

  • New interface of Security Definition (35=d) messages has been supported and enabled by default;
  • Unique Option market IDs (OXXFXX) can be now requested via Security Definition Request (35=c) message;
  • Configuration has been extended to store all the fields (including MiFID II fields) of Trade Capture Report (35=AE) and Security Definition (35=d) messages in the database.

Extension Packs

FIXICC

Critical bugs and fixes

  • IntradayLogoutTolerance=false is ignored when SocketOpPriority is AGGRESSIVE_SEND_AND_RECEIVE;
  • MIC codes are outdated in FIX/FIXML dictionaries;
  • SMTP adaptor doesn't work with TLS encryption;
  • Incorrect conversion of UTCTimestamp in FIXML to FIX conversion.

Breaking changes

  • Windows version of FIXEdge has been built using VS 2015. VS 2015 C++ Redistributable Package (x64) is required for installation (it can be found in FIXEdge's \Redist directory or downloaded from Microsoft web-site). Also refer to Installation or Upgrade instruction;
  • Tibco TA - linking mode has been changed for Tibco client libs on Windows (static to dynamic): tibrv.dll, tibrvcm.dll, tibrvft.dll are supposed to be in PATH (or in bin directory).


FIXEdge SDK updates

  • Introduced ability to reject the connection with custom Logout in FE SDK;
  • Introduced ability to modify confirming Logon in FE SDK;
  • Introduced ability to send PreparedMessage messages from FE SDK Handlers/Adapters;
  • Introduced the same password secure mechanism like Transport Adapters to FE SDK Handler.

FIXEdge 6.4.0 Release Notes

FIXEdge 6.4.0 released on December 08, 2017

New Features and Improvements

CME ClearPort

  • CME ClearPort API handler has been improved to meet CME security requirements (see here)

Logging improvements


Old categoryOld formatNew CategoryNew format
Meaningless record has been removedINFO

[STPAdaptor] <thread> Received FIX Email message contains unknown sender name 'CMESTPFIX3:IRATFIRM', message was skipped. 



Severity has been changed, text has been changedERROR

[STPAdaptor] <thread> Send message to user failed, reason: 'Observer->send returns false'

DEBUG

[STPAdaptor] <thread> No rule matching message from STP has been found. Message: <FIX message>

improvements of tiers and permissions loggingINFO

[BL_RoutingTable] <thread> Tiers cache contains 31 strings

INFO

[BL_RoutingTable] <thread> Tiers cache contains 4 permission(s), 1 tier(s), 10 tier member(s).

Grammar has been improvedERROR

[EngineAdaptor] <thread> Session No. ACCEPTOR2 <FIXEDGE,FIXCLIENT2> cannot be created now. Reason: Schedule properties is empty

ERROR

[EngineAdaptor] <thread> Session No. ACCEPTOR2 <FIXEDGE,FIXCLIENT2> cannot be created now. Reason: Schedule properties are empty

extra symbol has been removedWARN

 [FL_FixEngine] <thread> Session limit 'IncomingThroughputLimit for the session FIXEDGEFIXCLIENT1 is reached. Current value: 1000, threshold value: 100

WARN

[FL_FixEngine] <thread> Session limit IncomingThroughputLimit for the session FIXEDGEFIXCLIENT1 is reached. Current value: 1000, threshold value: 100

extra symbol has been removedINFO

 [FL_FixEngine] <timestamp> INFO [FL_FixEngine] <thread> Session limit 'IncomingThroughputLimit for the session FIXEDGEFIXCLIENT1 is in range. Current value: 0, threshold value: 100

INFO

[FL_FixEngine] <thread> Session limit IncomingThroughputLimit for the session FIXEDGEFIXCLIENT1 is in range. Current value: 0, threshold value: 100

Grammar has been improved

Reconnection tryings is elapsed for the HTTPS client

... reconnect tries is elapsed


Reconnection tries are elapsed for the HTTPS client

... reconnect tries are elapsed

record has been removedERROR [JNI_WRAPPER TransportLayer.RMQTA] <thread> Exception occured while executing TA getMonitoringParameters().


Experimental features:

Business Layer

Extension Packs:

Critical bugs and fixes

  • ! Breaking change: Incoming session is accepted even if CreateSessionEvent finishes with errors - see Element CreateSessionEvent block.
  • FIX to XML conversion using action <Convert> doesn't work with microsecond precision tags.
  • XSLT transformation leads to a memory leak

FIXEdge 6.3.0 Release Notes

FIXEdge 6.3.0 released on September 20, 2017

New Features and Improvements

Session-level improvements

  • A mechanism for skipping duplicated resend requests has been implemented
  • An ability to limit the reply volume on resend request has been introduced
  • The default value of ResendMessagesBlockSize has been changed to 1000 to improve reliability of FIX connectivity

    To learn more about these improvements, please visit How to handle Resend Requests page.

Rest Acceptor Transport Adapter

Logging improvements

  • Logging category has been changed for a number of cases:

    MessageOld categoryNew categoryComment
    Session <sender, target> : Error during processing Logon message from 127.0.0.1:62358: Session is not waiting for connect: current state is <XXX>
    ERRORWARN
    transport is down - cancel requests, notify user
    INFO ERRORCME STP Transport Adaptor specific change



CME STP Trade Capture

  • Number of attempts of sending requests to CME STP in case of HTTPS transport error has been made configurable by means of SendingMaxAttempts property (equal to 2 by default).

    Snippet from FIXEdge.properties
    TransportLayer.CMESTP.SendingMaxAttempts = 2 
  • CME STP Transport Adapter has been improved to perform additional attempts to send HTTPS request in case of any CME STP transport error

ICE Trade Capture

  • Schedules for ICE Test and Prod environments were introduced into the ICE Trade Capture configuration. Check ICE Trade Capture FAQ for details

Critical bugs and fixes

  • Engine processes message after session is disconnected
  • FIX sessions are blocked for heartbeat in case resend request processing
  • JS function parseMessage doesn't use application version as hint for a parser 
  • FIXICC incorrectly handles FIX sessions with symbols  < , > and & in either targetCompID or senderCompID.
  • CME STP Transport Adapter sends wrong LastUpdateTm value

  • Messages may be lost while resending from persistent in RabbitMQ Transport Adapter

  • ICE Handler: FIXEdge requests the data from ICE that already has been received 

Known Issues

JMS Transport Adapter and Rabbit MQ Transport Adapter may not start due to issue with CVE-2017-1000364 update of RHEL | CentOS 6.9 (kernel 2.6.32-696.3.2.el6.x86_64).

Temporary solution. 

In order to fix it add "-Xss2m parameter into the Java Virtual Machine configuration file:

  • conf\jms-ta-distribution\etc\JVM_Options.jvmopts - for the JMS Transport Adapter
  • conf\amqp-ta-distribution\etc\JVM_Options.jvmopts - for the Rabbit MQ Transport Adapter 

Documentation


FIXEdge 6.2.0 Release Notes

FIXEdge 6.2.0 released on June 23, 2017

New Features and Improvements

Latest FIX Antenna C++ under the hood:

MIFID II support:

  • Timestamps with increased precision can be validated in incoming messages (for UTCTimestamp, UTCTimeOnly, TZTimestamp, TZTimeOnly formats)
  • Timestamps in SendingTime (52), OrigSendingTime (122) are filled with configurable precision (per-session configurable property)
  • BL CopyField action has been enriched with methods intended to receive messages from the session with one timestamp precision and send to the session with another timestamp precision
  • JavaScript functionality has been extended with getNSecsetNSecchangeNSec to support high-precision timestamps

Please note that even though FIX Antenna C++ and FIXEdge support high precision timestamps the real accuracy of timestamps is limited by the operation system and hardware.

For more MIFID II compliance details see https://www.b2bits.com/consulting/regulatory/mifid-ii.html.

Extension Packs:

RabbitMQ Transport Adapter 

FIXICC

  • The latest version of FIXICC 2.10.7 comes with the FIXEdge.

Others:

Critical bugs and fixes

  • FIXEdge cannot be started on Linux if directory name contains spaces 
  • FIXEdge cannot be started If two same sessions are listed in session list in config file
  • CME STP Transport Adaptor: FIX session can't connect to FIXEdge after several FIX session's simultaneous logout 
  • FIXEdge crashes if JavaScript functions are used incorrectly .
  • FIX dictionary for FIX 5.0, 5.0 SP1, 5.0 SP2: Tag CalculatedCcyLastQty (Tag = 1056) has incorrect requirement condition

Documentation

Known issues

  • Log Replicator incorrectly synchronizes logs if their timestamps precision is higher than a millisecond.
  • CME STP Transport Adapter sends wrong LastUpdateTm value

FIXEdge 6.1.0 Release Notes

FIXEdge 6.1.0 released on March 31, 2017

New Features and Improvements

  • FIXEdge has been built with latest FIX Antenna C++ Release (2.18.1)
  • Environment variables can be used in FIXEdge.properties and engine.properties (not supported through FIXICC UI though)

Bugfixes

  • RabbitMQ TA goes into infinite cycle
  • RabbitMQ TA doesn't reconnect according to schedule
  • RabbitMQ TA Consumer from group can't be created
  • CME STP adaptor falls into deadlock, causing FixEdge to stop accepting connections.
  • Logs are not deleted using FIXICC in Linux
  • Memory leak in In-Memory History
  • Memory corruption due to improper deinitialization of ODBC resources when working with ODBC History (postgresql specific)


Known issues

Since version 6.1.0 the JavaScript function getAsNumber works in another way in case the value can't be converted to a number. If previously it returned 0 if the whole string cannot be converted to a number, now it takes the substring till the first non-digit character and converts this substring. E.g. "20170321-05:00:00" is returned as 20170321 but not as 0 as it was in previous releases.

FIXEdge 6.0.0 Release Notes

FIXEdge 6.0.0 released on February 28, 2017

New Features and Improvements

Scheduler:

The following features have been introduced in session scheduler:

  1. ability to schedule the launch and termination of sessions at pre-defined times and dates;
  2. use CRON expressions for sessions schedule accurate to the second;
  3. ability to specify days off for sessions schedule;
  4. ability to specify time zone for sessions schedule;
  5. ability to assign one schedule to multiple sessions.

Guide for new functionality usage "How to upgrade Session Schedule to new format" and an article "Session Schedule Settings" with the description of all the new scheduler related properties are available in Products Knowledge Base.

Backward compatibility

FIXEdge 6.0 is backward compatible with the previous FIXEdge versions.

Critical bugs and fixes

The following bugs have been fixed:

  • FE doesn't start if doesn't have permissions for logs folder.
  • FE doesn't start when FIX50SP2EP is used as custom protocol.
  • FE doesn't output an error message to Linux syslog if there is no space on the disk.
  • Asynchronous connection for Initiator doesn't work in some cases.

FIXEdge 5.14.2 Release Notes

FIXEdge 5.14.2 released on December 29, 2016 

Critical bugs and fixes

The following bugs have been fixed:

  • Error on archiving logs (introduced in 5.13.0)
  • Error on multiple open file descriptors (introduced in 5.13.0)

FIXEdge 5.14.1 Release Notes

FIXEdge 5.14.1 released on December 16, 2016

New Features and Improvements

Adapters:


Protection:

  • Compile- and run-time checks to detect buffer overflows (FORTIFY_SOURCE option of gcc compiler) had been enabled. 

Critical bugs and fixes

The following bugs have been fixed:

  • Adding of user with a subnet range of IP's within the "Source IP Address" field under the "Security" tab doesn't work in FIXICC.
  • The second hidden tag is not masked in a logon message if the tags were divided by space.

FIXEdge 5.14.0 Release Notes

FIXEdge 5.14.0 released on November 23, 2016

New Features and Improvements

Adapters:

Performance:

  • JavaScript performance has been improved by introducing JIT in 1.8.5 version of SpiderMonkey library (both Linux and Windows versions).

Other features:

  • CentOS 5/ RHEL 5 support has been discontinued.

Critical bugs and fixes

The following bugs have been fixed:

  • FIXEdge application log rotation doesn't apply correctly in Windows system.
  • Several milliseconds delay may occur during session destroying when terminated non-gracefully.

FIXEdge 5.13.0 Release Notes

FIXEdge 5.13.0 released on November 17, 2016

New Features and improvements

Protection mechanism

Other improvements:

  • Ability to convert custom dictionaries has been improved: 'Convert' action in BL rules supports custom dictionaries conversion.

Critical bugs and fixes

The following bugs have been fixed:

  • Default value of HBI does not apply for Initiator.
  • FIX connection reject reason does not log for Acceptor.
  • JS function 'setNumField' doesn't process negative argument.
  •  Incoming message considers as garbled in specific conditions.

FIXEdge 5.12.2 Release Notes

FIXEdge 5.12.2 released on October, 18, 2016

New Features and improvements

Extension Packs:

Other improvements:

  • FIX session properties HiddenLogonCredentials and MaskedTags have been made configurable from FIXICC UI.
  • CME STP polling interval has been fixed according to CME requirements.

Documentation

FIXEdge 5.12.1 Release Notes

FIXEdge 5.12.1 released on September, 16, 2016

New Features and Improvements

Adapters:

FIXEdge 5.12.0 Release Notes

FIXEdge 5.12.0 released on August, 16, 2016

New Features and Improvements

Protection from abnormal user behavior:

  • The property for limitation of number of incoming simultaneous connections that haven't sent logon message yet from one host has been added (5 connections by default).

  • The property for limitation of connection time for an incoming connection that hasn't sent logon message yet has been added (5 seconds by default).
  • The property for limitation of the maximum size of the buffer of incoming messages has been added (no limitation by default).
  • CPU usage on receiving large messages (for messages greater than 64 KB) has been reduced.

Please see How to configure TCP protection in FIXEdge article for details.

Throttling or Overload protection mechanism

  • Added FIXEdge session property OutgoingQueueSize for monitoring of outgoing queue
  • Added FIX Edge session property IncomingThroughputLimit for monitoring of incoming throughput 
  • Added FIXEdge session property IncomingMessagesLimit for monitoring of number of messages received during a session

Please see Overload protection in FIXEdge article for more details.

Extension Packs:

Performance:

  • Performance of massive resend requests has been improved for the case when persistent storage type is used (1 million messages is resent up to 180 times faster). 
  • JavaScript perfomance has been improved by introducing JIT in 1.8.5 version of SpiderMonkey library (only windows version of FIXEdge).

Adapters:

  • The ability to prevent message loss in MQ TA and reduce the number of messages in transaction to meet MaxUncommittedMsgs limit in MQ queue manager has been added.
  • Filters that allows to make a decision how to handle incoming messages has been added to MQ TA.

Other improvements:

  • Error description for fast mapping has been improved.
  • DisableTCPBuffer has become the alias for TcpBufferDisabled property.

Critical bugs and fixes 

The following bugs and vulnerabilities have been fixed:

  • FIXEdge works wrong with absolute paths in FIXICC.PIDFile property.
  • FIXEdge doesn't start if a session from Sessions list is not described.
  • FIXEdge crashes when addressing to the non-existent tag in the repeating group.
  • FIXEdge connects to primary connection even if ActiveConnection = backup.
  • FIXEdge unable to recover availability after the limit of file descriptors was reached in Linux. 
  • Property Validation.ProhibitDuplicatedTags = true wasn't applied. 

  • FIXEdge hangs when the path in FixLayer.FixEngine.Sessions.ArchivePath is invalid.

  • FIXEdge logs wrong boolean values in JavaScript.

FIXEdge 5.11.3 Release Notes

FIXEdge 5.11.3 released on June, 7, 2016

New Features and improvements

  • Starting from FIXEdge 5.11.3 (with FIXICC 2.9.16) FIXICC and FIXICC Agent don't require the license file
  • Defining the IP addresses range in the FIXEdge.properties file using CIDR

Critical bugs and fixes

The following bugs have been fixed:

  • The comma separated IP addresses white list doesn't allow connecting to the session
  • MQ Transport Adaptor routes incoming messages to error queue when FE is shutting down
  • Tag 122 in Sequence Reset (4) message should be same as tag 52 (including milliseconds)
  • MQ TA waits recv timeout before pass partial batch to BL

FIXEdge 5.11.2 Release Notes

FIXEdge 5.11.2 released on March, 16, 2016

New Features and improvements

Critical bugs and fixes

The following bugs have been fixed:

  • Wrong behavior of the session while reconnecting
  • FIXEdge may delay processing messages with low number of workers under the high load
  • FIXEdge doesn't start when using the absolute path in Log.File.Name
  • FIX 4.4 Session Level Reject messages are generated with trimmed fields
  • Receiving a Logon message can lead to FIXEdge crash during Session termination
  • FIXEdge session's property TerminateTime is interpreted as UTC time
  • FIXEdge crashes on the JMS Transport Adaptor shutdown
  • JS element Transform fails if the source message is Logon

FIXEdge 5.11.1 Release Notes

FIXEdge 5.11.1 released on February, 10, 2016

Critical bugs and fixes

The following bugs and vulnerabilities have been fixed:

  • FIXEdge can't be re-started using FIXICC
  • Denial of service in handling of invalid message types
  • Exploit protections have been improved using advanced features provided by modern C++ compilers
  • CreateReject RejectType="application" creates Execution Report with wrong values
  • Impossible to read a group size field with getNumField method from JS script which is used in BL rules of FE

FIXEdge 5.11.0 Release Notes

FIXEdge 5.11.0 released on December 4, 2015.

New Features and improvements

  • The ODBC history performance has been increased up to 4 times
  • Processing of FIX versions in admin protocol has been added
  • Reconnection of FIX Initiator session is allowed if SSL is used
  • The record about using the SSL connection file has been added in the FIXEdge.log
  • Support of SSL in FIX backup connections has been added
  • JRE 1.8.0_65 has been added to the Linux package
  • Cleaning script FixEdge1.clean.sh now removes _fixedge.lock file
  • The latest version of FIXICC (2.9.4) has been added to the FIXEdge package
  • JS to the ODBC history interface has been improved
  • Thread affinity feature which allows setting CPU affinity for different threads has been added for performance tuning
  • Paths to PID file (FIXICC.PIDFile in FIXEdge.properties and PidFile in agent.properties) were made optional to simplify configuration files
  • The name of the directory with FIXEdge instance has been changed from FixEdge1 to FIXEdge1

Documentation

Critical bugs and fixes

The following bugs have been fixed:

  • Working FIXEdge as NT service with absolute paths in FIXEge.properties
  • FIXEdge with CME STP adaptor crashes on shutdown
  • Incorrect handling timezones in JMS TA
  • Decoding boolean fields in incoming FAST messages in CQG MD Adaptor
  • Processing <ActiveConnection> parameter
  • Establishing the session with parameter "HandleSeqNumAtLogon=true"
  • ICE Trade Capture Handler should allow establishing subscription with start date going up to 48 hours back in history
  • First message wasn't sent to IBM MQ TA after IBM MQ TA restart
  • Obsolete Currency tag(15) value for Turkish Lira in FIX dictionaries
  • MQ Client recovery removes messages of other MQ clients until restart
  • IBM MQ TA stops too long time
  • FIXEdge crashes in case of a huge size value of some repeating group field

FIXEdge 5.10.1 Release Notes

FIXEdge 5.10.1 released on September 1, 2015.

New features and improvements

Business Layer

FIXEdge 5.10 Release Notes

FIXEdge 5.10 released on 22 June, 2015.

Tools

  • Log Replicator tool has been added to address replication of storage in failover cluster

New Features and improvements

Documentation

Business Layer

  • JS function serializeMessage has been added to get the string representation of a FIX message in JavaScript
  • Authentication of FIX session through LDAP has been added: LDAPAuthenticate condition statement in BL

Critical bugs and fixes

  • The following critical bugs have been fixed: 
    • FIXEdge consumes a lot of memory
    • Memory leak during  processing the Business Layer Rules element "Action"
    • FIXEdge crashes when receiving TradeCaptureReport from CME STP
    • Errors when FIXEdge and FIXICC are installed into a path which contains spaces

FIXEdge 5.9.1 Release Notes

Critical bugs and fixes

  • The problem with establishing SSL connection from first attempt has been fixed

  • The bug with long time FIXEdge starting in case there are large session logs has been fixed
  • Memory leak in Business Layer has been fixed

FIXEdge 5.9.0 Release Notes

FIX Layer

  • Based on new high performance version of FIX engine: FIX Antenna 2.13
  • SSL support for FIX sessions has been implemented.
  • Session properties 'ReconnectMaxTries', 'ReconnectInterval' have been added.
  • Session properties 'Backup.ReconnectInterval', 'Backup.ReconnectMaxTries' have been added
  • Ability to connect FIX Initiator sessions one by one with configured interval has been implemented.
  • Different folders for backup sessions and FIX Edge backups has been configured. 'ArchivePath' property for FIX Edge backup folder has been added.

Business Layer

  • New BL actions <StartSession> <DisconnectSession> <TerminateSession> and JS functions startSession disconnectSession terminateSession have been added.

Handler Layer

  • ICE Handler 
    • The configuration option allowing to request security definition once a day has been added

Transport Layer

  •  CME STP Transport Adaptor  
    • Support of TLS 1.2 has been added
    • Support of snapshot request (SubReqTyp=0) has been implemented
    • Support of filters by Instrument, Date (trading or clearing), Input Source and Trade ID/Secondary Trade ID has been implemented.

Critical bugs and fixes

  • Fatal error in CH Transport Adapter when disconnecting FIX session has been fixed.
  • Fatal error in JMS Transport Adapter when stopping FIXEdge has been fixed.
  • Fatal error in FIXAntenna when switching to backup connection at session start has been fixed.
  • Fatal error in Transform Action execution has been fixed.
  • Bug "FMXML handler doesn't work with FIX5x messages" has been fixed.
  • Wrong interpretation of Linux freeTDS ODBC driver answer SQL_NO_DATA as error has been fixed.
  • Bug "Logs of backup FIX session are not moved to archive" has been fixed.
  • Bug "Fix session loads old logs at late start" has been fixed.

FIXEdge 5.8.2 Release Notes

Bugfix release.

Fixed bugs:

  • [FAST Decoder] crash on FAST message decoding if the message does not match FAST template.

 
Сhanges:
  • [FAST Decoder] FAST templates with ID but without tag 35 are ignored now
  • [FAST Decoder] Check of length of string field in input stream that will be converted to char has been added
  • [FAST Decoder] Check of length of integer field in input stream has been added
  • [FAST Decoder] Mapping of FAST string to FIX LocalMktDate has been added
  • [FIX Dictionary] Overriding of attribute 'name' in FIX message definition in additional FIX dictionary has been implemented
  • [ICEHandler] An option to request security definitions only once a day regardless of FIXEdge restart has been added
  • [ICEHandler] An option to reconnect all sessions to ICE in a defined interval between each other (as required by ICE) has been added

FIXEdge 5.8.1 Release Notes

Bugfix release.

Fixed bugs:

  • [CME CT API] Bug fixes for new fields support. CME Handler is able to process the following new tags in Trade Capture Report message:

    • <TrdCaptRpt>: AvgPx, TradeType, TradeSubType, TotNumLegRpts 

    • <RptSide>: AllocID, <RegTrdID> (including ID, Src, Evnt, Typ, LegRefID, Scope)

    • <Alloc> extended with allocation specific ID, Src, Evnt, Typ, LegRefID, Scope

  • [CME CT API] Fixed storing to CME_SideRegIDs table

  • [FAST Sessions] Checks for string length for mapping fast string->char has been added
  • [FAST Sessions] Deadlock in onLogoutEvent of FAST session has been fixed

  • [FAST Decoder] Access violation error has been fixed
  • [JSDateEntity] additional validations for input parameters have been added

  • [JSDateEntity] The issue with incorrect time handling in case of Daylight Saving Time is present in local time zone has been fixed

FIXEdge 5.8.0 Release Notes

New Interfaces to Chicago Mercantile Exchange (CME) APIs

  • CME STP API
  • CME Confirm Hub API

These APIs are in addition to the existing interface to CME Cleared Trades API, which has been also renovated to provide extended flexibility.

Trades from these API can be either routed to a FIX session or saved to a Database. Routing to all available middlewares (IBM MQ, TIBCO, JMS) is also supported both in FIX and FIXML (or other XML) format

FIX Layer

  • Certification with London Metal Exchange (LME) has been passed.
  • Use of custom FIX protocols and dialects in FIX sessions has been reworked to provide easy and flexible configuration
  • Sending Username and Password in Logon message when BackupConnection is used has been implemented. 

  • Support of UsernameTag and PasswordTag has been implemented (for Active and Backup connections).

Business Layer

  • Embedded JavaScript: getSourceSessionId() function has been added.

Package, documentation and logging

  • Linux installation guide has been updated
  • JMS Transport Adapter installation guide has been updated.
  • Deployment on CentOS / RedHat Linux has been simplified by removing several steps
  • FIXICC Agent has been embedded into Linux package
  • FIXEdge logs have been made configurable to address the demand of integration with logs parsing and monitoring systems. Logs format is now can be configured similar to Log4j/Log4net logging.
  • FIXEdge SDK for Transport Adaptors development has been released

Critical bugs and fixes

  • Memory leak in Bridge Transport Adaptor has been fixed.
  • Fatal error when stopping FIXEdge with JMS has been fixed.

FIXEdge 5.7.0 Release Notes

Package and documentation

  • Improved Windows installer interface
  • FIX Integrated Control Center was equipped with own local instance of Java
  • Improved documentation 

Transport Adapters, Handlers and FIX routing

  • Added FMXML handler and Splitter Transport Adapter for fast XML<->FIX transformations
  • Introduced Tibco RV Transport Adapter for Linux
  • Improved performance on XSL transformation (up to 40%)
  • Introduced CME MS Handler for polling CME ClearedTrades
  • Improved IBM MQ Transport Adapter: stability, using MQ transactions to improve performance
  • Actualized samples for Simple Sockets Transport Adapter 

Monitoring parameters in FIXICC for handlers / transport adapters

Introduced ability to monitor and configure parameters of the following Handlers and Transport Adapters

  • FMXML handler
  • HTTPS Transport Adapter
  • CME MS handler
  • Splitter Transport Adapter
  • IBM MQ Transport Adapter 

Critical bugs and fixes

  • [BBP-2063] FIX field's length in ODBC history
  • [BBP-1691] Error while parsing FIXML message from CME (CME Handler)
  • [BBP-1844] Session does not start at configured StartTime
  • [BBP-1639] - Due incorrect link to pid file FixEdge1.stop.sh script can't stop FE.
  • Fixed many issues with date / time conversions
  • Fixed memory leaks in InMemory History
  • Added flag /GS to compiler on Windows: Stack buffer overrun detection

FIXEdge 5.6.2 Release Notes

Bugfix release.

Fixed bugs:

  • [BBP-1844] Session does not start at configured StartTime

FIXEdge 5.6.1 Release Notes

2013-10-29

Bugfix release.

Fixed bugs:

  • BBP-1639 Due incorrect link to pid file FixEdge1.stop.sh script can't stop FE