Version History

Version history archive

2.3.2 (2018-Nov-12)

Improvement

  • JAVA-2057 - BREAKING CHANGE: SessionStorage.getOutboundMessages(..) method return type
  • JAVA-2031 - Include logon exchange into reconnect attempts cycle
  • JAVA-1979 - Refactoring Session.logonAsInitiator(..)/logonAsAcceptor() methods path

Bug

  • JAVA-2027 - If a parser exception is detected acceptor should shutdown the connection after optionally sending Logout message
  • JAVA-2003 - Logout while sending messages may cause a deadlock

Task

  • JAVA-1995 - BREAKING CHANGE: Session.getMaxStorageSize()/setMaxStorageSize(..) value type change from long to int

New Feature

2.3.1 (2018-Aug-2)

Bug

  • JAVA-1970 - FlatMessage fails to parse empty field value

Improvement

  • JAVA-1751 - Keep the out seq. number unchanged if Session.send(..) method call failed with I/O error

2.3.0 (2018-Jul-24)

New Feature

  • JAVA-1964 - Script to install the engine jars into the local Maven repository
  • JAVA-1942 - Implement Message.containsSame(..) method
  • JAVA-1872 - Option to delete previous log files that are older than the configured number of days during reset seq. number

Improvement

  • JAVA-1880 - BREAKING CHANGE: Session with same sender and target comp id but with different FIX version should be possible to create
  • JAVA-1961 - Session.getTimestampProvider() returns timestamp provider
  • JAVA-1960 - Session.setSpecifyApplVerIdField(..) sets whether to specify ApplVerID(1128) tag in all FIX messages when a FIX protocol version FIX 5.0 and above is used
  • JAVA-1915 - FlatMessage should be used internally only when there are corresponding callback subscriptions
  • JAVA-1913 - Sequence number of the sequence gap message should not be stored in the session storage
  • JAVA-1776 - Add Maven build files to samples
  • JAVA-1947 - Hide QuickFIXTranslator class from public API javadocs
  • JAVA-1763 - Add blocking note to the Session.sendTestRequest() method javadoc

Bug

  • JAVA-1959 - OriginalSendingTime(122) not in the format of the custom TimestampProvider
  • JAVA-1944 - ArrayIndexOutOfBoundsException in FlatMessage.containsSame(..) method

Task

  • JAVA-1916 - Add typed adders, getters and setter to FlatMessage

2.2.2 (2018-May-23)

Task

  • JAVA-1905 - Reverted breaking change JAVA-1847

Bug

  • JAVA-1898 - Header and Footer are ignored while using QuickFix dialect
  • JAVA-1897 - Overlay of field types while using QuickFix dialect
  • JAVA-1886 - Parsing Data tag failed
  • JAVA-1876 - CustomRepeatingGroupSample does not uses custom schema

New Feature

  • JAVA-1883 - SslNeedClientAuth option to specify whether client authentication should be required
  • JAVA-1819 - Get details for a specific field such as type and set of valid values

Improvement

  • JAVA-1845 - Sign OnixS Java Archive (JAR) files with the OnixS certificate

2.2.1 (2018-Mar-20)

Bug

  • JAVA-1853 - MsgType AS considered as Logon (A) message

2.2.0 (2018-Mar-13)

Task

  • JAVA-1847 - BREAKING CHANGE: ScaledDecimal.toString() method should print fields mantissa and exponent separately
  • JAVA-1795 - BREAKING CHANGE: Message FirstMessageNotLogonException.getReceivedMessage() to FixMessage FirstMessageNotLogonException.getReceivedMessage()
  • JAVA-1794 - BREAKING CHANGE: DynamicAcceptorArgs.setIncomingLogonMessage(Message) to DynamicAcceptorArgs.setIncomingLogonMessage(FixMessage)
  • JAVA-1793 - BREAKING CHANGE: Message DynamicAcceptorArgs.getIncomingLogonMessage() to FixMessage DynamicAcceptorArgs.getIncomingLogonMessage()
  • JAVA-1774 - BREAKING CHANGE: SessionStorage.storeInboundMessage(Message, ByteBuffer, long) to SessionStorage.storeInboundMessage(FixMessage, ByteBuffer, long)
  • JAVA-1773 - BREAKING CHANGE: MessageFilter.filter(Message) to MessageFilter.filter(FixMessage)
  • JAVA-1767 - BREAKING CHANGE: Remove Connection.OutputQueueSize configuration

Bug

  • JAVA-1843 - Session hang while reconnecting
  • JAVA-1836 - TestRequest message is sent incorrectly when session is configured to use SSL context
  • JAVA-1826 - Incorrect internal state of a session after a reconnect
  • JAVA-1783 - FixBlock.getDouble(..) return incorrect value in case of precise double
  • JAVA-1782 - Javadoc text unfinished
  • JAVA-1780 - Fix Session.send(..) documentation
  • JAVA-1766 - Infinite loop sending and receiving Logon message both containing ResetSeqNumFlag=Y

Sub-task

New Feature

  • JAVA-1809 - Flexible Messaging API
  • JAVA-1808 - Implement Session.setEventArgReuse(..)/isEventArgReuse() methods
  • JAVA-1804 - Implement Session.send(FlatMessage) method
  • JAVA-1803 - Implement Session.OutboundApplicationFlatMessageListener interface
  • JAVA-1802 - Implement Session.OutboundApplicationFlatMessageArgs class
  • JAVA-1801 - Implement Session.InboundSessionFlatMessageListener interface
  • JAVA-1800 - Implement Session.InboundSessionFlatMessageArgs class
  • JAVA-1799 - Implement Session.InboundApplicationFlatMessageListener interface
  • JAVA-1798 - Implement Session.InboundApplicationFlatMessageArgs class
  • JAVA-1797 - Implement FlatMessageFactory interface
  • JAVA-1796 - Implement Session.FlatMessageEventArgs class
  • JAVA-1791 - Implement FlatMessage class
  • JAVA-1790 - Implement SessionStorage.storeOutboundMessage(ByteBuffer rawMessage, long msgSeqNum) method
  • JAVA-1743 - Implement FixMessage class

2.1.1 (2018-Jan-17)

Bug

  • JAVA-1778 - Socket connections not cleaned up, eventually leading to 'too many files open' exception

Task

  • JAVA-1722 - BREAKING CHANGE: Remove Session.useMillisecondsInSendingTimeField(..) methods

2.1.0 (2017-Dec-07)

New Feature

  • JAVA-1740 - Log full FIX dialect information
  • JAVA-1733 - Engine.addSslListeningPort(int, SSLContext) method
  • JAVA-1725 - TimestampPicosProvider
  • JAVA-1724 - TimestampDateProvider
  • JAVA-1723 - Session.getSendingTimeFormat()/setSendingTimeFormat(..) methods
  • JAVA-1721 - FixBlock.set(..)/getHighResolutionTimestamp(..) methods
  • JAVA-1714 - Session.setSendSpinningTimeout(..)/getSendSpinningTimeout() methods
  • JAVA-1675 - Threads affinity
  • JAVA-1568 - Support the picosecond timestamps that are required by MiFID II

Improvement

  • JAVA-1735 - Send Logon to respond to Logon message with 141=Y when the initial Logon message was sent without this flag
  • JAVA-1661 - Migrate to Java 1.8

Bug

  • JAVA-1695 - Sequence gap state is not reset in case of disconnecting during processing of incoming message

Sub-task

2.0.0 (2017-Sep-11)

Improvement

  • JAVA-1654 - Use asynchronous networking IO API
  • JAVA-1657 - FixBlock.set(int tag, double value, int precision) should round towards nearest neighbor
  • JAVA-1600 - Include list of dependencies in the engine packages in pom.xml format

New Feature

  • JAVA-1656 - Implement TimestampMicrosProvider

Task

1.26.2 (2017-Jun-16)

Bug

  • JAVA-1590 - AsyncFileSessionStorage does not store incoming messages
  • JAVA-1583 - FIX version is parsed incorrectly in case BeginString=FIXT.1.1 and DefaultApplVerID=6

1.26.1 (2017-May-18)

Improvement

  • JAVA-1567 - ErrorListener should be called in case Session.logonAsInitiator(...) throws an exception
  • JAVA-1566 - Link error after sending Logout message

Bug

  • JAVA-1565 - Deadlock if link error occurs while engine shutdown in progress
  • JAVA-1562 - Incoming seq. number is incorrect in case validation of seq. numbers are turned off
  • JAVA-1560 - Incoming original application level messages are not stored in WAIT_FOR_RETRANSMISSION state
  • JAVA-1557 - Version is not updated in session state file

New Feature

  • JAVA-1556 - Session.isValidateSequenceNumbers()/setValidateSequenceNumbers(boolean validate) methods

1.26.0 (2017-Apr-14)

Task

  • JAVA-1537 - BREAKING CHANGE: Rename SessionStorage.getMessages(..) to SessionStorage.getOutboundMessages(..) method
  • JAVA-1536 - BREAKING CHANGE: Remove setKeepInMessages(..)/isKeepInMessages() methods from SessionStorage/SessionRepository interfaces
  • JAVA-1526 - BREAKING CHANGE: Split SessionStorage.storeMessage(..) method into SessionStorage.storeInboundMessage(..) and SessionStorage.storeOutboundMessage() methods
  • JAVA-1524 - BREAKING CHANGE: Remove SessionStorage.getMessage(MessageDirection direction, long sequenceNumber) method
  • JAVA-1521 - BREAKING CHANGE: Remove SessionStorage.open() method
  • JAVA-1543 - Migration to onixs-utils 1.0.54
  • JAVA-1400 - Add ValuePtr usage description into Programming Guide
  • JAVA-1262 - Add Venue Specific Settings: CME Specific Settings section into Programming Guide

Improvement

  • JAVA-1520 - Allow overriding the order of FIX tags in message standard header except tags 8, 9 and 35
  • JAVA-1517 - Inbound Message Reuse feature
  • JAVA-1514 - Session.resetLocalSequenceNumbers() method
  • JAVA-1511 - MessageDiff performance
  • JAVA-1498 - Hide stack trace of error messages from the engine log
  • JAVA-1496 - Exceptions thrown by user code should be reported via ErrorListener as well
  • JAVA-1495 - Receiving and processing of first message for acceptor session
  • JAVA-1485 - Logout in reply on Resend Request scenario
  • JAVA-1483 - Message.validate(..) method should also validate user-defined fields
  • JAVA-1405 - Message.set(..) methods should not validate unknown fields
  • JAVA-1347 - Update documentation for the Pluggable Storage sample
  • JAVA-1245 - ByteBuffer class
  • JAVA-1215 - Update documentation for the FIXML Converter

Bug

  • JAVA-1518 - Message deep-copy does not reset groups
  • JAVA-1509 - Message.reset() does not reset groups
  • JAVA-1497 - NPE when first logon message does not contains either SenderCompID or TargetCompID
  • JAVA-1395 - No Javadocs for biz.onixs.util

New Feature

  • JAVA-1503 - Group.getEntryBeginningTag() method
  • JAVA-1501 - FixBlock.getNumberOfGroups() method
  • JAVA-1500 - FixBlock.iteratorOverGroups() method
  • JAVA-1499 - Group.getLeadingTag() method
  • JAVA-1487 - FixBlock.set(int tag, double value, int precision) method
  • JAVA-1419 - Session.getStateChangeListener() method
  • JAVA-1434 - Quick FIX dialect format support
  • JAVA-1352 - SSL certificate validity warning
  • JAVA-1175 - Automatically detection of FIX/FIXML version for FIX to Fixml conversion

1.25.1 (2016-Dec-14)

Bug

  • JAVA-1480 - NPE when setting null via Session.setSenderSubID(..) and Session.setTargetSubID(..) methods

Improvement

  • JAVA-1476 - BREAKING CHANGE: Session.reset() rename to Session.resetLocalSequenceNumbers()
  • JAVA-1238 - Session.logonAsAcceptor() and Session.logonAsInitiator() methods should be called in DISCONNECTED state only otherwise exception must be thrown
  • JAVA-1194 - Update Exchanging Messages section of Programming Guide
  • JAVA-1478 - Add Using Component Block section into Programming Guide
  • JAVA-1186 - The dialect "override" mode should be described in Programming Guide
  • JAVA-1263 - Improve Accepting FIX Session Without a Prior Creation of Session Object section

New Feature

  • JAVA-1127 - Implement Session.resetSeqNumViaLogonExchange() and Session.resetLocalSequenceNumbers() methods

1.25.0 (2016-Dec-02)

Improvement

  • JAVA-1105 - Reduce GC load
  • JAVA-1458 - Avoid memory allocation in the sending path
  • JAVA-1460 - Avoid memory allocation in the receiving path
  • JAVA-1459 - Get ride of all ValuePtr from Message class getters
  • JAVA-1421 - Message.set(int tag, double value) should avoid memory allocation
  • JAVA-1396 - Message.getDouble(int tag) should avoid memory allocation
  • JAVA-1399 - Group.getDouble(int tag) should avoid memory allocation
  • JAVA-1437 - TimestampNanosProvider should not allocate temporary String
  • JAVA-1452 - Optimize interaction with MsgSeqNum in Sending/Receiving paths
  • JAVA-1427 - Move Message.hasFlag(..) and Message.setFlag(..) to FixBlock interface
  • JAVA-1428 - Implement Group.hasFlag(..) and Group.setFlag(..) methods
  • JAVA-1474 - Update Programming Guide
  • JAVA-1465 - Add to Programming Guide information about DirectMode
  • JAVA-1450 - Add threading model to Java programming guide
  • JAVA-1409 - Controlling Engine Logging section should be added to Programming Guide
  • JAVA-1401 - Reducing Garbage Collection Overhead section should be added to Programming Guide
  • JAVA-1303 - Update FIX Repeating Group section

New Feature

  • JAVA-1439 - DirectSend mode
  • JAVA-1438 - Session.warmUp(..) method warms up the sending path
  • JAVA-1462 - Message.iterator() iterate over structured internal representation
  • JAVA-1461 - BREAKING CHANGE: Current Message.iterator() method renamed to Message.iteratorOverRawMsg()
  • JAVA-1464 - FixBlock.contains(int tag, boolean nested) returns whether the field with the specified tag number is set
  • JAVA-1446 - FixBlock.hasGroup(..) checks whether repeating group belongs to the fix block and actually exists
  • JAVA-1397 - Message.getChar(int tag) method
  • JAVA-1398 - Group.getChar(int tag) method
  • JAVA-1467 - Add MessageFieldsIteration sample

Task

  • JAVA-1416 - Migration to onixs-utils 1.0.49
  • JAVA-1322 - Update documentation related to TimestampProvider interface

1.24.0 (2016-Aug-11)

Improvement

  • JAVA-1385 - Verification of FIX dialect
  • JAVA-1376 - OrigSendingTime for the Sequence Reset(Gap Fill) and resent messages should be specified with milliseconds precision
  • JAVA-1353 - Update stack trace of Session.logonAsInitiator method exceptions
  • JAVA-1346 - Message.get(Tag.BeginString) and Message.getVersion() should return same value
  • JAVA-1329 - Ignore token while finding acceptor for incoming connection
  • JAVA-1307 - TimestampProvider should populate SendingTime tag as well
  • JAVA-1196 - Specify ApplVerID(1128) tag optionally to the outgoing messages

Bug

  • JAVA-1371 - Exception is thrown during engine shutdown process
  • JAVA-1319 - Incorrect internal session object state after logout confirmation timeout
  • JAVA-1125 - Override mode of the FIX dictionary removes session level messages

New Feature

  • JAVA-1337 - Iterator support for GroupInstance class
  • JAVA-1336 - GroupInstance Group.getEntry(int index)
  • JAVA-1335 - FIX Repeating GroupInstance implementation
  • JAVA-1298 - GroupInstance single instance of FIX Repeating Group
  • JAVA-1252 - FixBlock.getSize() method
  • JAVA-1243 - Iterator support for Group class

Task

1.23.0 (2016-March-07)

Bug

  • JAVA-1297 - No session state change triggered upon Reject in response to ResendRequest
  • JAVA-1279 - Sequence gap state is not reset in case of an exception during processing of incoming message
  • JAVA-1272 - MessageDiff does not check the maximum(last) tag of the FIX message/group

New Feature

  • JAVA-1295 - Iterator support for Message class
  • JAVA-1294 - Group.addEntry() and Group.removeEntry(..) methods
  • JAVA-1289 - Implement EngineNotInitedException and EngineAlreadyInitedException
  • JAVA-1277 - Session.sendResendRequest(..) method
  • JAVA-1276 - Session.setConsiderRejectOnResendRequestAsGapFill(..) method
  • JAVA-1274 - Session.setIncomingMessageGapQueueMaximumSize(..) method
  • JAVA-1261 - Implement TimestampProvider interface
  • JAVA-1260 - High resolution timestamps provider for the storage files
  • JAVA-1213 - Message diff with logical comparison of repeating groups
  • JAVA-1179 - Convenience method set(int tag, Calendar value)

Task

Improvement

  • JAVA-1273 - Implemented handling of TestRequest while in WAIT_FOR_RETRANSMISSION state

1.22.1 (2015-Nov-17)

Improvement

  • JAVA-1232 - Add CannotEstablishLinkException to Session.logonAsInitiator method
  • JAVA-1207 - Fix Engine should throw an exception, if wrong file is provided as dialect file

Bug

  • JAVA-1214 - Connection lose before FIX session is established cause NPE

1.22.0 (2015-Oct-01)

New Feature

  • JAVA-1185 - Message should override equals(..) and hashCode()
  • JAVA-446 - Add FIX 5.0 support to FIX - FIXML converter

Improvement

  • JAVA-1171 - Option to turn off the formatting of resulting FIXML message
  • JAVA-1163 - Make standard Fixml schemas part of package
  • JAVA-1161 - Log warning if encountering an XML element / attribute that cannot be converted into FIX
  • JAVA-1160 - Converter should be more tolerant to the definition of fields with _enum_t prefix

Bug

  • JAVA-1197 - FIX dictionary generator does not generate LegSecAltIDGrp repeating group of FIX 5.0
  • JAVA-1189 - Data types of fields are incorrectly parsed from FIXML schema for version 5.0SP2
  • JAVA-1188 - Header of the generated FIXML message is incorrect for versions other than 4.4

1.21.1 (2015-Aug-12)

New Feature

  • JAVA-1150 - FixmlConverter.addCustomMessage(..)

Bug

  • JAVA-1157 - Message.reset() fails with NPE on messages which does not have repeating group in definition
  • JAVA-1154 - Validation of the number of repeating group instances is not work properly

1.21.0 (2015-Jul-31)

New Feature

  • JAVA-1133 - Implement Enhanced CME Globex Resend Logic
  • JAVA-1095 - Ability to selectively stop listening on certain ports
  • JAVA-1094 - Adding listening ports at runtime
  • JAVA-1091 - Session.reportNewMessagesWhileWaitingForMissedMessages(bool report) method

Improvement

  • JAVA-1145 - Reduce GC load in InboundMessageReuse mode
  • JAVA-1138 - Implement all subset of Fix Messages and Repeating Groups in FIXML Converter
  • JAVA-1131 - Migrate from commons-pool to commons-pool2
  • JAVA-1114 - Do not send heartbeat in AWAIT_CONFIRMING_LOGON state
  • JAVA-1088 - LicenseNotFoundException and LicenseExpiredException

Bug

  • JAVA-1146 - Creation of persistence storage is not thread safe
  • JAVA-1108 - Remove exception name from tag 58 of logout message sent on exception

1.20.0 (2015-Feb-12)

New Feature

  • JAVA-1073 - MessageSending listener for Session
  • JAVA-1072 - ReceivedBytes listener for Session
  • JAVA-1061 - Session.ErrorReason.EXCEPTION_DURING_PROCESSING_OF_INCOMING_MESSAGE

Improvement

  • JAVA-1081 - Add year to storage file name timestamp
  • JAVA-1064 - After sending the initial Logout message, the Logout initiator should not send any messages (unless requested to do so by the logout acceptor)

Task

  • JAVA-1077 - Create fix benchmark sample using MessageSending and ReceivedBytes listeners

Bug

  • JAVA-1074 - Incorrect link in Scheduler Samples section
  • JAVA-790 - Shutdown of engine does not clear dialects

1.19.0 (2014-Dec-10)

New Feature

  • JAVA-1053 - Dialect description should support Component Blocks
  • JAVA-1051 - Session.setListenPort(int listenPort) and Session.getListenPort() methods
  • JAVA-1047 - Session.getLocalPort() method
  • JAVA-1038 - Option to control validation of duplicate fields
  • JAVA-1036 - Session.setLocalPortRange(PortRange localPortRange) and Session.getLocalPortRange() methods
  • JAVA-1034 - Group.toString() method
  • JAVA-771 - Engine.WarningListener
  • JAVA-770 - Engine.ErrorListener

Improvement

  • JAVA-1046 - BREAKING CHANGE: Added validateDuplicatedField to Message class

Bug

  • JAVA-1040 - Incorrect behaviour of WeeklyInterval

1.18.1 (2014-Oct-9)

Bug

  • JAVA-1030 - Corruption of session state file

1.18.0 (2014-Aug-28)

Bug

  • JAVA-1022 - Logout message in case of invalid Logon message does not contain Tag 52

Task

1.17.0 (2014-Jul-21)

New Feature

  • JAVA-1013 - Engine.DynamicAcceptorArgs.getLocalPort()
  • JAVA-997 - IgnoreFileBasedStorageIntegrityErrors engine configuration parameter
  • JAVA-984 - Add ConfirmationLogonMessageException to "Session.logonAsInitiator" method
  • JAVA-983 - Add UnexpectedSequenceNumberException to "Session.logonAsInitiator" method
  • JAVA-982 - Add TimeoutException to "Session.logonAsInitiator" method
  • JAVA-981 - Add LinkErrorException to "Session.logonAsInitiator" method
  • JAVA-978 - Session.setResendingQueueSize() and Session.getResendingQueueSize()

1.16.0 (2014-May-20)

Bug

  • JAVA-974 - User-defined message doesn't have all header and trailer fields in FIX 5.0 SP1 and SP2

1.15.0 (2014-Apr-28)

Task

  • JAVA-954 - Migration to onixs-utils 1.0.45
  • JAVA-948 - BREAKING CHANGE: Remove deprecated method "biz.onixs.fix.engine.Session#getLogInboundMessages"

1.14.0 (2014-Apr-24)

Task

  • JAVA-945 - Migration to onixs-utils 1.0.44

Improvement

  • JAVA-944 - fix-benchmark: shouldn't show negative throughput on big message numbers
  • JAVA-942 - Acceptor shouldn't log "logon attempt #0"
  • JAVA-941 - fix-benchmark: "tf2-ThroughputInitiatorFileBenchmark.sh": fix "WARN | Write to out stream took..."
  • JAVA-939 - fix-benchmark: extract common part of the configuration files
  • JAVA-929 - Protect file-based session storage from simultaneous write

New Feature

  • JAVA-928 - Option to disable persisting of outgoing messages
  • JAVA-905 - Add FirstMessageNotLogonException to "Session.logonAsInitiator" method

1.13.0 (2014-Apr-14)

Task

  • JAVA-938 - fix-benchmark: throughput loopback benchmark shouldn't have telecom link error at the end
  • JAVA-935 - Upgrade "slf4j-api" dependency: 1.7.6 -> 1.7.7
  • JAVA-932 - Add "Distribution" module documentation
  • JAVA-931 - Java 6 compliance
  • JAVA-922 - Upgrade to "HdrHistogram-1.0.9.jar"
  • JAVA-921 - Upgrade "logback-core" and "logback-classic" jars to 1.1.2
  • JAVA-870 - CODE BREAKING CHANGE: Remove deprecated FileBasedStorageRepository options related to async mode
  • JAVA-940 - Migration to onixs-utils 1.0.43

Improvement

  • JAVA-937 - fix-benchmark: shouldn't show negative throughput and latency on big message numbers
  • JAVA-933 - fix-benchmark: change MessageNum parameter to long type
  • JAVA-930 - simple-fix: add "KeepSequenceNumbersAfterLogout" configuration parameter

New Feature

  • JAVA-934 - fix-benchmark: add "WarmUpMessageNum" and "LogStatNumber" parameters
  • JAVA-923 - Implement "biz.onixs.fix.fast.Decoder#decodeByteVector"
  • JAVA-920 - Controlling number of scheduler threads
  • JAVA-915 - Group field instruction decoding

1.12.0 (2014-Mar-31)

Improvement

  • JAVA-900 - "Session.dispose()" breaks reconnection immediately

New Feature

  • JAVA-898 - Session Scheduler notification callback

Task

  • JAVA-890 - CODE BREAKING CHANGE. Remove deprecated method "biz.onixs.fix.scheduler.SessionScheduler#register(Session, SessionSchedule)"

1.11.2 (2014-Mar-17)

Improvement

  • JAVA-897 - Session#setOutSeqNum saves sequence number to session storage
  • JAVA-893 - Make PluggableStorageSample non-interactive
  • JAVA-892 - ReconnectorBuySide shouldn't log ERROR during normal workflow
  • JAVA-889 - Make scheduler to manage session in the SimpleAcceptor app
  • JAVA-810 - Upgrade to "scheduler-settings-1.6.xsd"
  • JAVA-785 - Transition to the same state should not happen

1.11.1 (2014-Feb-26)

Bug

  • JAVA-891 - Message is validated before standard header fields are set

Improvement

  • JAVA-887 - Rename "biz.onixs.fix.scheduler.SessionScheduler#register(Session, SessionSchedule)" to registerAcceptor(...)
  • JAVA-882 - SingleDayLengthSchedule and MultiDayLengthSchedule should allow "(firstDay == lastDay) && (logonTime.compareTo(logoutTime) > 0)"
  • JAVA-875 - Re-work index page to simplify navigation
  • JAVA-874 - Add installation section
  • JAVA-865 - Update run script names in the documentation
  • JAVA-849 - Introduce async file storage as separate storage type

New Feature

  • JAVA-878 - Add field names
  • JAVA-877 - Add message names
  • JAVA-876 - FIX benchmarks: add GC logging
  • JAVA-861 - Overloaded Message.toString() method to print field names

Task

  • JAVA-869 - Migration to onixs-utils 1.0.42
  • JAVA-867 - Reconnector sample: add description page
  • JAVA-866 - FIXML converter samples: add description page
  • JAVA-818 - Improve API documentation of "biz.onixs.util.Converter"

1.11.0 (2014-Feb-07)

Task

  • JAVA-863 - Migrate to onixs-utils version 1.0.41
  • JAVA-862 - Sample classes are packaged to jar
  • JAVA-859 - Upgrade SLF4J to 1.7.6
  • JAVA-856 - Upgrade "logback-core" and "logback-classic" jars to 1.1.0
  • JAVA-853 - CODE BREAKING CHANGES: Move class "biz.onixs.fix.parser.ValuePtr" to "biz.onixs.util.ValuePtr"
  • JAVA-852 - CODE BREAKING CHANGES: Move class "biz.onixs.fix.util.Converter" to "biz.onixs.util.Converter"
  • JAVA-847 - Update "utils / StorageReader" to process new session storage format correctly
  • JAVA-841 - Move "biz.onixs.fix.util.Converter" to onixs-utils

Improvement

  • JAVA-851 - Optimize Message.contains() and Group.contains()
  • JAVA-842 - FIX benchmarks: correct names of benchmarks with file-based storage
  • JAVA-773 - Make message sequence number available in the application and session outgoing message listener

New Feature

  • JAVA-844 - Enhanced CME Globex Resend Logic
  • JAVA-838 - FIX benchmarks: calculate and report distribution

Information Request

  • JAVA-813 - Option to skip updating common header fields

1.10.13 (2014-Jan-24)

New Feature

  • JAVA-836 - FIX benchmarks: log latency to file
  • JAVA-835 - FIX benchmarks: calculate and report min and max latency
  • JAVA-834 - Add session benchmarks with file storage

Improvement

  • JAVA-828 - ValidateOutboundMessages and ValidateInboundMessages override other validation options

1.10.12 (2014-Jan-15)

Improvement

  • JAVA-823 - Improve message parsing benchmark

Task

1.10.11 (2013-Dec-23)

Bug

  • JAVA-819 - Broken links in Programming Guide
  • JAVA-815 - Possible bug in R0.summary file parser

New Feature

1.10.10 (2013-Nov-11)

Bug

  • JAVA-776 - Multiple initiator (host,port) pairs are processed incorrectly

Improvement

  • JAVA-764 - WARN in log when user sends session level message
  • JAVA-496 - Reduce in-memory FIX dictionary size

Task

  • JAVA-761 - Move "parser.exceptions.*" to "parser" package

1.10.9 (2013-Oct-15)

Improvement

  • JAVA-756 - Upgrade to "dialects-2_11.xsd"
  • JAVA-754 - Update to FIX dialect schema 2.11
  • JAVA-752 - In all license related messages info@onixs.biz should be replaced with support@onixs.biz

New Feature

  • JAVA-182 - Ability to remove and override entities like fields, repeating groups and messages in FIX dialect descriptions

1.10.8 (2013-Sep-16)

Bug

  • JAVA-745 - Acceptor session fails to establish if dialect is used and base version is not loaded

New Feature

  • JAVA-742 - Ability to specify custom logout messages
  • JAVA-382 - Enable dialect loading after FIX Engine initialization

Improvement

  • JAVA-735 - SSL: demonstrate configuring via system properties and ssl debug mode

Task

  • JAVA-734 - SSL: update code snippets with complete parameters list for ssl context factory method
  • JAVA-729 - Check all BuySide applications shouldn't listen for incoming connection
  • JAVA-728 - fix-benchmark: remove "SendQueueLatencyBenchmark" start scripts

1.10.7 (2013-Aug-14)

Improvement

  • JAVA-723 - Re-think and re-work "Sharing Engine Instance" guide section
  • JAVA-713 - SSL: enable setting key store and trust store passwords
  • JAVA-705 - Explain and demonstrate using ".pem" file for SSL session

New Feature

  • JAVA-420 - Ability to specify FIX versions/dialects to be loaded during the FIX Initialization

1.10.6 (2013-Aug-01)

Task

  • JAVA-710 - Scheduler doesn't work with quartz 2.2.0
  • JAVA-691 - Explain sharing engine instance between several applications

New Feature

  • JAVA-709 - Implement output stream write delay warning threshold
  • JAVA-706 - Engine shutdown via shutdown hook

1.10.5 (2013-Jun-14)

Bug

  • JAVA-673 - Incorrect file-based session storage resolution when compId contains '_'

Improvement

  • JAVA-676 - Convert Engine class methods to instance
  • JAVA-679 - If dynamic acceptor listener suspended other acceptor logon should be processed normally
  • JAVA-683 - DayOfWeek should accept short values (3 letters) like MON

1.10.4 (2013-May-23)

Bug

  • JAVA-659 - LogoutAndResetJob throws an Exception

New Feature

  • JAVA-660 - Explain message header and trailer fields set automatically

Task

  • JAVA-551 - Remove deprecated Message methods
  • JAVA-648 - Explain session maximum resend request range in the FAQ
  • JAVA-652 - Add common FAQ page

1.10.3 (2013-May-10)

Bug

  • JAVA-645 - Documentation error: FIX Repeating Group

Improvement

  • JAVA-645 - Option to turn off the update of SendingTime (tag 52) field in Session send
  • JAVA-645 - Scheduled sequence reset of the disconnected session
  • JAVA-645 - Fix EngineSettings javadoc

Task

  • JAVA-645 - Describe recent engine-level configuration parameters in the programming guide

1.10.2 (2013-Apr-19)

Improvement

  • JAVA-632 - Version history: add link to archive
  • JAVA-633 - Fix programming guides html pages headers not to end with the '-'
  • JAVA-634 - ExecutorRunner, MessageQueueRunner: change message processing time to 1 sec

1.10.1 (2013-Apr-09)

Bug

  • JAVA-566 - Eclipse .metadata is not added to the distribution package

Improvement

  • JAVA-553 - PluggableStorageSample console logging format should be simplified
  • JAVA-558 - Fill Message class javadoc gaps for public members
  • JAVA-564 - Extract logback config from fix-engine jar, re-configure all samples to use it
  • JAVA-567 - Reconnector initiator shouldn't log error during re-connection attempts

Task

  • JAVA-537 - Messages with PossDup=Y are not returned from a session storage
  • JAVA-552 - Output ERROR-level events to the console too

1.10 (2013-Mar-21)

Improvement

  • JAVA-244 - Message constructors with the same argument number and type but different sequence should avoided
  • JAVA-546 - Add start order number prefix to the start scripts where applicable

New Feature

  • JAVA-518 - Implement session property that specifies the number of messages that should be written to the outgoing TCP buffer together

1.9.53 (2013-Mar-01)

Improvement

  • JAVA-536 - Speed up session storage re-open

New Feature

  • JAVA-533 - Add "Resending.QueueSize" configuration option

Task

  • JAVA-531 - onixs-utils javadoc must be added to the distribution package
  • JAVA-544 - Add all modules javadoc jars for using inside IDE

1.9.52 (2013-Feb-04)

Task

  • JAVA-532 - Upgrade to onixs-utils 1.9.30

1.9.51 (2013-Jan-31)

Bug

  • JAVA-530 - Session stores additional empty storage if keepSequenceNumbersAfterLogout is set to false in constructor

New Feature

  • JAVA-527 - Add back Message/Group getter/setter for double with potential risk notice

1.9.50 (2012-Dec-13)

Improvement

  • JAVA-526 - Normalize decimal initial value from template

Task

  • JAVA-525 - Introduce and move scaled decimal implementation to "onixs-util" module

1.9.49 (2012-Dec-06)

Improvement

  • JAVA-514 - Simplify opening samples in Eclipse IDE
  • JAVA-517 - Move old version history entries to archive
  • JAVA-519 - Upgrade to dialect definition schema 2.10

1.9.48 (2012-Nov-30)

Bug

  • JAVA-515 - Javadocs attached as a directory are not recognized in the Eclipse IDE

Improvement

  • JAVA-512 - Remove methods with float/double parameters

New Feature

  • JAVA-516 - Add safe alternatives for methods with float/double parameters

1.9.47 (2012-Oct-26)

Improvement

  • JAVA-500 - Reconnector: add acceptor application
  • JAVA-501 - Scheduler: add acceptor application
  • JAVA-511 - Deprecate methods with float/double parameters
  • JAVA-513 - Deprecated members removal

1.9.46 (2012-Aug-28)

Bug

  • JAVA-499 - Fix linux package permissions for directories

Improvement

  • JAVA-461 - SequenceNumbers diagram should use the names of the existing FIX Session methods.
  • JAVA-494 - Explain more available engine settings
  • JAVA-495 - Sample code from "Message Exchange" section should include Session.InboundSessionMessageListener.
  • JAVA-498 - Add pause at the end of each start script

Task

  • JAVA-22 - Add distribution package content section to Programmer's Guide

1.9.45 (2012-Aug-08)

Improvement

  • JAVA-364 - Programmer's Guide should provide direct links to the corresponding API documentation

Task

  • JAVA-40 - Revise all example code snippets in the Programmer's Guide

1.9.44 (2012-Jun-15)

Bug

  • JAVA-487 - Message copy constructor and init method bind repeating groups to the original message object not its copy

New Feature

  • JAVA-486 - Single Message Object per Session

1.9.43 (2012-Jun-09)

Information Request

  • JAVA-458 - Trouble parsing the Millennium FAST template

1.9.42 (2012-May-21)

Bug

  • JAVA-482 - FAST decoder exception
  • JAVA-483 - Samples do not contain java source code

1.9.41 (2012-May-04)

Bug

Improvement

  • JAVA-470 - Add bug report page
  • JAVA-471 - Check Engine is inited in the Decoder and Encoder
  • JAVA-480 - Explain SessionListenerDelayWarningThreshold property

Task

  • JAVA-472 - Check byteVector encode/decode
  • JAVA-475 - Check templateRef encode/decode