Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

FIXEdge/J 1.8.1

May 26, 2021

New Features and Improvements

  • Load/reload FIX sessions via administrative interfaces
    • Remote Shell CLI and JMX API support a new operation on adding a new FIX session in runtime or update its configuration from configuration files.
  • Log details about incoming SSL connection
    • FIXEdge Java logs information about negotiated cipher suite, SSL/TLS version, and used SSL certificate for incoming secure FIX connections.
  • Inject Message converters for a JMS endpoint as Spring beans
    • JMS endpoint can resolve a message converter from Spring configuration by its ID.
  • Start FIX Edge server without listening FIX ports
  • Custom Keystore format for Administrative Remote Shell CLI
    • Administrative Remote Shell CLI can be configured to use secure keys from custom secure Keystores (HSM with JCA support, Bouncy Castle).

Bugs and fixes

  • Message lost in JMS endpoint
    • Problem description: One message is lost in case of a network interrupts between a broker and the JMS endpoint. The outgoing message wasn't returned to the queue inside the JMS endpoint due to a concurrency issue in this case.
    • Solution: The queue implementation was fixed.
  • An acceptor session in the DISCONNECTED state could not be started or stopped.
    • Problem description: If an acceptor session had been connected first and then a counterparty broke the connection, the acceptor got the DISCONNECTED state. Anyway, it wasn't possible to start or stop such a session via administrative APIs.
    • Solution: Disconnected but not stopped acceptor session gets the WAITING_FOR_CONNECTION state now. Such an acceptor session can be stopped, it gets the DISCONNECTED state and stops accepting new incoming connections.
  • An acceptor session in the WAITING_FOR_CONNECTION state could not be reloaded.
    • Problem description: An acceptor session in the WAITING_FOR_CONNECTION state could not be reloaded via administrative APIs due to a logical error.
    • Solution: Implementation of a command for session reload was fixed.
  • Messages lost after reloading an SnF session.
    • Problem description:  Messages from the SnF queue were not delivered after the FIX session reload. The problem was related to the SnF queue initialization and warm-up. 
    • Solution: The warm-up functionality for the SnF queue was temporarily disabled.
  • The same JMS endpoint can be started multiple times.
    • Problem description: Administrative APIs incorrectly validated an endpoint state.
    • Solution: The state validation was fixed.
  • JMS endpoint could not be stopped if automatic reconnect is enabled.
    • Problem description: Auto-reconnect functionality for the JMS endpoint didn't count an endpoint state.
    • Solution: Auto-reconnect functionality for the JMS endpoint was fixed.

FIXEdge/J 1.8.0

April 21, 2021

New Features and Improvements

  • Automatic Start of endpoints
    • Non-FIX endpoints (JMS, Kafka, and another) will be started with FEJ server initialization automatically. The automatic endpoint start might be changed via the startOnload property.
  • Schedule endpoints start/stop within their configuration files
    • There is no need any more to define the schedule via the schdule.xml file. It can be done within the endpoint configuration. See more (TODO: add a link to FIX properties).
  • The default configuration for groups of FIX sessions
    • Configuration of FIX sessions may be grouped with folders and each folder may have a separate default configuration, common for all included sessions.
  • Password obfuscation in FIX storages and application logs
    • Secret information is masked inside persisted FIX sessions data.
  • The single authentication mechanism for all administrative interfaces
    • All users for different administrative interfaces are defined within the admin-users.properties file. Access to a specific interface is defined by a user role.
  • RPM and DEB packages
  • FEJ system configuration files are moved to a separate folder.
    • System configuration files were moved into a separate folder (sysconf) for further easier FEJ server maintenance and upgrade. User-related configs (security, endpoint, routing configuration) remained in the conf directory.
  • Encrypted keys for Remote Shell configuration
    • Remote Shell uses a private key for establishing connections. Private keys may be represented via protected keystores.
  • Configuration values from environment variables
    • Secure passwords and other important configuration values may be defined as environment variables and then used within FEJ configuration. See more (TODO: link to a description of FIX session configuration).

Bugs and fixes

  • SSL acceptor session with a defined acceptor port couldn't be started.
    • Problem description: The SSL FIX server instance wasn't defined and started during FEJ server initialization and thereby SSL acceptors can be connected as no opened SSL ports.
    • Solution: The SSL FIX server instance is initialized during FEJ server start.
  • SSL Acceptor couldn't restrict connection by a specific version of SSL protocol.
    • Problem description: The configuration property sslProtocol works differently for an acceptor session. It defines a family of allowed SSL protocols for an acceptor.
    • Solution: A newacceptedSslServerProtocols option is added to restrict a connection via a specific SSL protocol.
  • Session storage type is spontaneously changed after reloading a FIX session via FIXICC UI.
    • Problem description: All FIX acceptors held the link to the same instance of the configuration object and any change of such configuration affected all acceptors sessions.
    • Solution: The acceptor session receives a clone of a configuration object during its initialization.
  • FEJ didn't log an error in case of failed FIX session authorization.
    • Problem description: FEJ does not log a validation error if the FIX session connects with invalid credentials or without them.
    • Solution: Logging of such a type of error was added.
  • FEJ incorrectly interpreted empty username/password properties.
    • Problem descriptionFEJ expected the Logon(A) message with empty Username(553) and Password(554) tags in case of username/password properties are configured without values.
    • Solution: FEJ ignores username/password properties if they are empty.
  • An acceptor session sent incoming username/password back.
    • Problem description: An acceptor session sent an incoming username/password back, but it just had to match them with the configured ones.
    • Solution: The acceptor session validates an incoming username/password and doesn't send them back in the Logon(A) answer.
  • Sequence reset for FIX session via RemoteShell didn't work.
    • Problem description: The "session reset <session_id>" command returned an error message and didn't reset FIX session sequences.
    • Solution: The RemoteShell command is fixed.
  • Invalid SSL parameters of the particular FIX session locked the entire FEJ initialization.
    • Problem description: An error during starting of a FIX session with invalid SSL parameters (invalid path to key/trustStore, invalid passwords, invalid stores types, etc.) broke the scheduler thread and it failed to start the rest sessions.
    • Solution: Errors during a session start are isolated.
  • FEJ server couldn't be started from a folder that has a space in its name.
    • Problem description: Paths in the start script wasn't properly quoted.
    • Solution: The FEJ server start script is fixed.

FIXEdge/J 1.7.1

December 03, 2020

New Features and Improvements

  • Integration with the FIXICC H2 web UI application to provide:
    • Adding, modifying and removing session and schedule configurations;
    • Managing session control operations (start, stop, restart session);
    • Managing to send and change sequence number operations;
    • Managing session schedules (set start and stop time for several sessions in the same schedule configuration);

Further information in the FIXICC H2 Release Notes.

  • FIXEdge/J dependencies installer
    • The package includes a script that installs FIXEdge/J libraries with a public API to the customer repository. This simplifies the development of custom extensions for FIXEdge/J. 

Bugs and fixes

  • Acceptor with a defined SSL connection couldn't be connected.
    • Problem description: The secure FIX server, which should handle the incoming SSL connection, wasn't started by the default FEJ configuration.
    • Solution: Management of the secure FIX server component was added.
  • The invalid SSL configuration of a particular FIX session caused the start of the whole FEJ server to fail. 
    • Problem description: An error that occurred during FIX session start led to the failure of the whole FEJ server initialization.
    • Solution: The error processing was fixed.

FIXEdge/J 1.5.1

June 1, 2020

New Features and Improvements

  • Improved support for FIX Integrated Control Center.
    • FIX Integrated Control Center is able to monitor and manage FIX sessions (including scheduled ones) and can reload updated session configurations without restarting FIX Edge Java. Please see more.
  • SMTP endpoint is implemented.
    • SMTP endpoint allows routing of FIX messages and systems events (like FIX session connect/disconnect events) to emails. Please see the documentation about SMTP Endpoint here.

Bugs and fixes

  • Kafka Endpoint can't publish/consume messages in a custom format. 
    • Problem description:  serializer/deserializer classes were hardcoded to work with FIX messages in key-value string format. 
    • Solution: Hardcode was removed and new interfaces for serialization/deserialization of MessageEvent instance into custom format were provided.
  • The scheduler doesn't start the session in the middle of the day.
    • Problem description:  FIX session does not start if FEJ server has started after its start time but before its stop time.
    • Solution: The scheduler logic was fixed and now it can start FIX sessions if the FEJ is started during their working hours.


FIXEdge/J 1.4.1

March 6, 2020

Bugs and fixes

  • Kafka Endpoint can't be started by the scheduler. 
    • Problem description: All Kafka Endpoints are started right after the initialization and it's impossible to manage them later by the scheduler tasks.
    • Solution: The flexibility of initialization for Kafka Endpoints was enhanced.

FIXEdge/J 1.4.0

April 3, 2019

New Features and Improvements

  • Event API extension was added.
    • Added the ability to pass and handle different types of events from endpoints and scheduler in groovy routing rules (handle FIX session connect/disconnect, for example).
  • Integration with Apache Kafka streaming platform.
    • Kafka Endpoint implementation is based on FIX Antenna Java Kafka Adapter and uses internally Kafka Producer and Consumer API.
  • Integration with Apache Camel.
    • Camel Endpoint is added into FIXEdge Java as a destination endpoint which allows publishing the messages to the wide range of its connectors.
  • Scheduler functionality was enhanced.
  • Username/password validation is enabled for FIX sessions.
    • Username and password properties may be defined in FIX session configuration to send them to the counterparty or to authorize the client.
  • Custom FIX dictionaries for FIX sessions.
    • Custom dictionaries with their own IDs for FIX sessions can be defined in the configuration now. Read more.
  • JMX controls for Kafka and JMS endpoints were added.
  • Store And Forward logic can be used within a cluster.
    • REPLICATED persistence mode was added to support the replication of queued messages to backup nodes.
  • New options to control Store and Forward queues.
    • Added new options maxNumberOfMessagesInMemory and maxQueueWaitingTimeInMsec for Store And Forward queue.
  • Strategy for automatic leader election was implemented.
    • The logic for election the next leader node was moved to a separate interface. It is accessible for implementation. Also a new strategy with the prioritized list of nodes was provided(TODO:link to strategy and description)
  • Automatic reelection of a leader in the cluster.
    • Implemented an ability to automatically choose a new leader if the previous was disappeared. This feature is disabled by default.
  • Measure routing performance benchmark sample was added.
    • Find a source code of sample in benchmarks directory.
  • Spring Security 5.2 update
    • Authorization for administrative connections gets more configuration options with Spring Security 5.2
  • FIX Antenna Java 2.21.1 update.

Bugs and fixes

  • The invalid stale period calculation for messages in Store and Forward queue. 
    • Problem description: Stale period for messages in Store and Forward queue (storeAndForward.stalePeriod option) worked differently in different time zones. 
    • Solution: a strategy for managing 'stale' messages was fixed.
  • FIX session disappears right after disconnect.
    • Problem description: disposeOnDisconnect option was active by default and FIX sessions are destroyed in case of any disconnect  (due to network problems for example).
    • Solution: option is disabled in default FIX session configuration.
  • Reconnecting FIX session doesn't stop when the cluster node is switched to backup mode.
    • Problem description: When a new leader is elected in the cluster, initiator sessions, which are trying to reconnect on previous leader node, aren't stopped. As a result, it may lead to restoring FIX connection with the wrong node.
    • Solution: All sessions are disposed when the cluster node role switches from leader to backup.
  • FIX Endpoint may send a Heartbeat(0) message before Logon(A) on connect.
    • Problem description: There was a bug in FIX Antenna Java and it may send a Heartbeat(0) message before Logon(A) for a new FIX session.
    • Solution: FIX Antenna Java updated to version 2.21.1, which includes fix for sync_noqueue mode.

FIXEdge/J 1.3.0

April 3, 2019

New Features and Improvements

  • Added key-value in-memory data storage.
    •  FIXEdge/J provides an ability to store information in the memory for purposes of message enrichment during the routing process. Please find additional information in the article In-memory data context.
  • Added Store-And-Forward intermediate queue.
    • FIXEdge/J provides functionality that messages are stored and forwarded in the event that a connection with one of the counterparties is dropped and messages are not delivered. For additional information please refer to the article Store and Forward Queue.
  • Configuration and deployment to WildFly were added.
    • Added ability to deploy and configure FIXEdge/J on a Wildfly server. For additional information please refer to the article Installation in WildFly
  • Added support for session qualifiers.
    • Session qualifier gives the user an ability to create several sessions with the same SenderCompId and TargetCompId.
  • FIXEdge/J 1.3.0 is based on the FIX Antenna Java 2.20.0.

Bugs and fixes

  • FIXEdge/J does not log the session initialization/registration event.
    • Problem description: FIXEdge/J creates/registers/initializes session according to the schedule. The record about this event doesn't appear in the log.
    • Solution: Logging process of such events was fixed.
  • No labels