FIXEdge Java Release Notes
- 1 FIXEdge Java 1.12.1 Release Notes
- 2 FIXEdge Java 1.12.0 Release Notes
- 3 FIXEdge Java 1.11.0 Release Notes
- 4 FIXEdge Java 1.10.4 Release Notes
- 5 FIXEdge Java 1.10.3 Release Notes
- 6 FIXEdge Java 1.9.1 Release Notes
- 7 FIXEdge Java 1.9.0 Release Notes
- 8 FIXEdge Java 1.8.3 Release Notes
- 9 FIXEdge Java 1.8.2 Release Notes
- 10 FIXEdge Java 1.8.1 Release Notes
- 11 FIXEdge Java 1.8.0 Release Notes
- 12 FIXEdge Java 1.7.1 Release Notes
- 13 FIXEdge Java 1.5.1 Release Notes
- 14 FIXEdge Java 1.4.1 Release Notes
- 15 FIXEdge Java 1.4.0 Release Notes
- 16 FIXEdge Java 1.3.0 Release Notes
FIXEdge Java 1.12.1 Release Notes
FIXEdge Java 1.12.1 is released on Nov 11, 2025
Overview
This release introduces several stability and scalability improvements across core components of FIXEdge Java (FEJ), with a focus on REST API reliability, session management, and integration with FIXICC H2. It also addresses packaging consistency for smoother deployment.
Fixes and Improvements
REST API Stability
Resolved an issue where the REST API could encounter an Out of Memory exception after extended periods of operation.
This fix enhances long-term reliability for REST-based integrations.
Session Scalability
Added support for managing 500+ sessions when using FIXICC H2 as the configuration service.
Improves scalability for high-volume environments.
Connection Reliability
Improved stability of the connection between FIXICC H2 and FEJ, reducing intermittent disruptions.
Ensures smoother configuration synchronization and operational continuity.
FEJ Cluster Compatibility
Fixed issues affecting FEJ cluster operations when integrated with FIXICC H2.
Enhances compatibility and robustness in clustered deployments.
Package Path Consistency
Corrected discrepancies in folder paths within
.deband.rpmpackages.Ensures consistent deployment behavior across Linux distributions.
FIXEdge Java 1.12.0 Release Notes
FIXEdge Java 1.12.0 is released on Jul 2, 2025
New Features and Improvements
Support for JMS 3.0:
FIXEdge Java now supports Jakarta Messaging 3.0 (JMS 3.0), in addition to JMS 2.0 (detailed documentation can be found here - Configuring JMS endpoints)
JMS 3.0 introduces a modernized API aligned with Jakarta EE standards, including a namespace migration from javax.jms to jakarta.jms. This ensures compatibility with Jakarta EE 10+ environments and provides a future-proof messaging foundation for enterprise applications.
JSON Converter for FIXEdge Java supported endpoints:
A new JSON conversion capability has been introduced for FIXEdge Java endpoints, enabling seamless transformation between FIX and JSON formats JSON Converter for FIXEdge Java Endpoints.
Transformation is driven by FIX dictionary and implemented according to FIX Trading Community standards - Encoding FIX using JSON – FIX Trading Community
This feature allows:
Conversion logic to be implemented in the Business Layer (BL) using Groovy scripts.
FIX-to-JSON and JSON-to-FIX transformations to be handled dynamically at runtime.
This enhancement improves interoperability with modern systems that use JSON data format.
Product Stabilization and Internal Enhancements:
Numerous internal improvements and optimizations have been made to enhance the overall stability, performance, and reliability of the FIXEdge Java platform.
FIXEdge Java 1.11.0 Release Notes
FIXEdge Java 1.11.0 is released on Mar 11, 2025
Important Compatibility Notes
This release introduces changes that may impact backward compatibility with previous versions of FIXEdge Java. Please review the following carefully:
Java 17 Requirement: FIXEdge Java now mandates Java 17 as the minimum supported version. Older Java versions are no longer compatible.
Library Version Update: The cluster (Hazelcast and Aeron) configuration has been changed and requires an update. Please refer to the provided link for detailed instructions.
New Features and Improvements
Modernized Platform with Java 17 Support: FIXEdge Java now supports Java 17, providing access to the latest performance improvements, security features, and long-term Java ecosystem support for a future-proof platform.
Enhanced Stability and Reliability with Hazelcast and Jetty Updates: Upgraded to Hazelcast 5.3.7 and Jetty 12.0 for improved stability, performance, and security, ensuring a more robust infrastructure and addressing vulnerabilities.
Improved Session Management with Heartbeat Mechanism: A new heartbeat mechanism for FIXEdge Java and FIXICC H2 has been introduced to maintain a continuous connection between FIXEdge Java and FIXICC H2, preventing silent drops. To minimize downtime, it incorporates Server-Sent Events (SSE) connections with customizable heartbeat intervals and automatic reconnections.
Streamlined Deployment with Updated Packaging: The deployment process is simplified with updated deb/rpm packages that no longer use wrappers, making installation and management easier, especially in containerized environments.
Fixed Bugs
Resolved Critical Concurrency Issue in FIX Message Processing: Fixed a critical concurrency issue that could cause null values when retrieving FIX tag values under high load, ensuring data integrity and reliable message processing.
Fixed Backup Node Leader Election Issue: Resolved an issue where backup nodes failed to become leaders after a forced master shutdown in cluster environments, improving high-availability failover.
Resolved Configuration Folder Detection Problem: Fixed an issue preventing the server from correctly identifying the configuration folder in certain environments, ensuring reliable startup and configuration loading.
Corrected WebSocket Session State Reporting: Fixed an issue where WebSocket adaptor sessions incorrectly reported "Stopped" status in the FIXICC H2 UI, ensuring accurate monitoring and management of WebSocket connections.
Fixed MMF Storage Compatibility with Java 17: Resolved an exception preventing MMF storage from working correctly in Java 17 environments, restoring functionality for users utilizing Memory-Mapped File storage.
Improved DRools Configuration Update Process: Fixed an issue where DRools configuration update notifications were triggered prematurely before files were created, ensuring accurate and timely notifications.
Password Masking Improvement: Enhanced password masking to cover scenarios where passwords were not masked when received from FIXICC H2, improving security logging practices.
SMTP TLS/SSL Connection Fix: Resolved issues preventing SMTP endpoints with TLS and SSL from working correctly, restoring email notification functionality over secure connections.
Corrected FIX Storage Log Directory: Ensured FIX storage log files are created in the correct directory within the installation folder instead of the current working directory, improving log organization and predictability.
FIXEdge Java 1.10.4 Release Notes
FIXEdge Java 1.10.4 is released on 12.04.2024
New Features and Improvements
Other Features
Server registration without Consul:
This release enhances server visibility and manageability. Servers can now be registered and be visible in H2 without requiring Consul. FEJ now automatically checks the availability and statuses of servers, sending notifications to H2 if any of the servers are stopped.Repeating group in scope of Groovy DSL for BL:
As part of the FIXEdge Java 1.10.4 release, improvements have been made to the DSL functionality providing advanced features for handling Repeating Groups in FIX messages.DSL instructions for working with Repeating Groups on BL has been added, providing a higher level of abstraction of the existing API:
- Access to different levels of nesting of an entry has been provided.
- Operations on a group and its elements (entry, nested group) has been Implemented, including conditions on size, existence, and content, as well as actions such as adding, deleting, and editing.
- Support for working with tags and their contents for specific entries or templates (entryAny/entryAll), has been added similar to the existing operations with regular fields.The new functionality is an addition to the existing one and was developed for 'MessageRules' condition and action block.
For the full syntax and instructions, please refer to the corresponding documentation.
Fixed Bugs
Transition to an updated version of YAJSW has been made to maintain compatibility with the appropriate version of commons-text.jar. This move helps prevent potential arbitrary code execution by an attacker.
Improvement and correction of FEJ work through H2
FIXEdge Java Session Update
Problem description: When an update was made to the session Host and Port parameters, the new settings were not being applied. This issue was preventing the establishment of sessions.
Solution: FIXEdge Java properly applies new Host and Port parameters after receiving a session update. This fix ensures that session's host and port parameters are updated correctly.Issue with timestamps in the incoming FIX message log when metrics are enabled
Problem description: Problem with the incoming FIX message log incorrectly saving timestamps when metrics were activated. Different messages erroneously were been given the exact same timestamp.
Solution: When metrics are enabled, FIXEdge Java accurately logs timestamps in the incoming FIX message log. Every message will be correctly marked with a unique timestamp.Issue with nanoseconds saved in incoming FIX log when enabling metrics
Problem description: The incoming log possessed nanoseconds precision. The outgoing log possessed milliseconds precision.
Solution: Both incoming and outgoing logs can measure accuracy in seconds, milliseconds, microseconds or nanoseconds depending on the chosen parameters.FEJ FIX session cannot be stopped/connected after changing SenderCompID/TargetCompID
Problem description: After changing the Sender and Target CompIDs in H2 UI, the session could not be stopped or connected to. No errors were displayed on the UI or in the logs, and only a restart of FEJ would restore the session's functionality.
Solution: Even after changing the SenderCompID and TargetCompIDs, stopping and connecting to the session will function without needing a system restart.
FIXEdge Java 1.10.3 Release Notes
FIXEdge Java 1.10.3 is released on Jun 30, 2023.
Please note, that the new version requires a separate license file. If you plan to upgrade FIXEdge Java to the 1.10.3 version, please contact sales@btobits.com to get the appropriate license.
Support agreement covers only two latest FIXEdge Java versions.
New Features and Improvements
Transport Adapters
FIX Protocol Changes
Other Changes
Fixed Bugs
Fixed the issue when the SeqNums of the session were not displayed when it was stopped via FIXICC H2.
FIXEdge Java 1.9.1 Release Notes
January 27, 2021
New Features and Improvements
Spring beans as serializers/deserializers for Kafka endpoint.
Spring beans may be used by names in Kafka endpoint configuration via new options key.serializer.bean.name, key.deserializer.bean.name, value.serializer.bean.name and value.deserializer.bean.name.
3rd party dependencies with critical vulnerabilities were updated:
ActiveMQ Client: 5.14.5 -> 5.16.3
Apache Camel: 2.24.2 -> 3.0.0
Spring Security: 5.1.5.RELEASE -> 5.5.2
Apache Velocity: 1.7 -> 2.3
Bouncy Castle Provider: 1.51 ->1.69
Bugs and fixes
Kafka endpoint had CONNECTED status even if the Kafka server isn't available.
Problem description: Kafka clients, due to their nature, don't have a direct notification about the Kafka server availability. They can indirectly identify it only by the sending/receiving operations state.
Solution: Kafka endpoint state is changed to RUNNING instead of CONNECTING. Additionally, it provides the last message sent/receive timestamp to identify the last successful operation time.
REST API didn't provide statusGroup attribute for FIX endpoints.
Problem description: Answers for "Get the list of all sessions" and "Get info on single-session" REST requests didn't include statusGroup attribute.
Solution: The attribute was added.
FIXEdge Java 1.9.0 Release Notes
Oct 11, 2021
New Features and Improvements
REST API for monitoring endpoints.
Bugs and fixes
Fixed validation of the incoming parameter during updating FIX session via REST API.
Problem description: If the mandatory field like SenderCompID/TargetCompId is missed in the REST request, the FIX session was deleted.
Solution: Added validation of incoming parameters. In case of an invalid request, the FIX session will not be changed.
Kafka endpoint couldn't be started after stopping it via administrative API.
Problem description: KafkaProducer instance isn't reusable after stopping it. It can't be restarted.
Solution: Initialize a new instance of KafkaProducer during endpoint start
FIXEdge Java 1.8.3 Release Notes
Aug 11, 2021
New Features and Improvements
Force flushing for writing operations.
An operating system may use buffers for IO operations with files for better efficiency. This means that persisted data may not be stored at the moment when the application writes it. With enabled forced flush mode (storageFlushMode=Force), FEJ does the additional call for forcible flush IO buffers to the storage drive. Please be careful as the storageFlushMode option may affect the overall performance.
Bugs and fixes
There is no ability to disable the BouncyCastle security provider.
Problem description: The BouncyCastle security provider is used by Administrative Remote Shell CLI by default. There was no possibility to disable this security provider (if a user wanted to use their own).
Solution: The option org.apache.sshd.registerBouncyCastle was fixed for disabling the registration of the BouncyCastle security provider.
Remote Shell Command "server opts" prints invalid information about opened FIX ports.
Problem description: "server opts" command output was corrupted.
Solution: The command output was fixed to print a list of opened ports.
JMS Producer doesn't reconnect automatically.
Problem description: JMS Producer stopped reconnecting when an exceptional connection break occurred.
Solution: The reconnect logic was fixed.
Race conditions in JMS Producer after reconnect.
Problem description: JMS Producer did the reconnect procedure in two separate threads and started two sending threads at the same time.
Solution: The reconnect logic was fixed.
Incorrect value for the QueueMaxFileSize property for JMS clients.
Problem description: The QueueMaxFileSize property of JMS clients was initialized with a value from the QueueNormalFileSize property.
Solution: The misprint in the code was fixed.
The JMS Producer loses messages during reconnect.
Problem description: The JMS Producer was occasionally losing messages when it wasn't able to convert them to a JMS Message object.
Solution: The error handling logic was fixed.
The JMS Producer started but is not operable if its queue file is corrupted.
Problem description: The JMS Producer ignored problems with JMS queue initialization (queue file was corrupted). This led to the continuous problem with sending data by that Producer as data couldn't be added to the queue.
Solution: The JMS Producer fails to start if it has problems with its initialization.
FIXEdge Java 1.8.2 Release Notes
Jul 2, 2021
New Features and Improvements
Optional JMX disabling
JMX is used for monitoring and management of FEJ services. It can be switched on or off via the jmx.enable option in the fixedge.properties file.
Bugs and fixes
Freezing of FEJ REST Administrative API.
Problem description: FEJ REST Administrative API could be frozen after subscription to the session list events.
Solution: The problem was gone after replacing the Jersey/Netty REST service with an embedded Jetty server implementation.
FEJ doesn't reconnect the JMS endpoint.
Problem description: FEJ doesn't try to reconnect the JMS endpoint if the connection to the JMS broker is broken.
Solution: The reconnect logic of the JMS Producer endpoint was fixed.
FIXEdge Java 1.8.1 Release Notes
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
Ports for FIX sessions can be opened/closed dynamically during FIX acceptor session start/stop. (See Extended acceptor ports management.)
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.
A FIX 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.
A FIX 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 Java 1.8.0 Release Notes
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 anymore to define the schedule via the schdule.xml file. It can be done within the Endpoint configuration.
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 (see maskPasswordsInStorages configuration option).
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 may be easier installed and upgraded via Linux native 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.
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.