Version History Archive

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

  • JAVA-1020 - Migration to onixs-utils 1.0.46

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

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

  • JAVA-469 - FAST/FIX Decoding Exception

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

1.9.40 (2012-Apr-13)

Improvement

  • JAVA-466 - Update to FIX dialect schema 2.9
  • JAVA-468 - Document that session management calls must be avoided in the session event listeners

1.9.39 (2012-Apr-06)

Improvement

  • JAVA-453 - Show how to get field value from repeating group
  • JAVA-459 - If the license file has expired, the corresponding Exception message should report the “Valid until” date.

Information Request

  • JAVA-449 - Reconnect for initiators using SessionScheduler

Task

1.9.38 (2012-Jan-03)

New Feature

  • JAVA-433 - Session.setSendBufferSize(int size)

1.9.37 (2011-Dec-26)

Bug

  • JAVA-398 - If out queue is full the Session.send() keeps lock after engine shutdown

  • JAVA-424 - Cannot decode fast message ArrayIndexOutOfBoundsException

Improvement

  • JAVA-422 - Add validation to SessionSchedule, WeeklyInterval, WeeklyIntervalList
  • JAVA-430 - Extract ProgramGenericScheduleSample from ProgramScheduleSample

New Feature

  • JAVA-409 - Add simple FAST encoding and decoding sample

1.9.36 (2011-Dec-16)

Bug

  • JAVA-427 - Heartbeat/TestRequest message shouldn't be sent in the AWAIT_CONFIRMING_LOGOUT state

Task

  • JAVA-425 - Migrate to new schema location at ref.onixs.biz
  • JAVA-426 - Migrate to scheduler-settings-1.5.xsd

1.9.35 (2011-Dec-09)

Improvement

  • JAVA-423 - Message.contains and Group.contains methods should not throw TagNotDefinedForThisMessageTypeException

1.9.34 (2011-Dec-05)

Improvement

  • JAVA-413 - Session scheduler should use “ConnectionRetries.Interval” and “ConnectionRetries.Number” from the engine settings
  • JAVA-416 - Aggregate javadoc from different modules
  • JAVA-419 - Thread creation listener is called from the newly created thread

Information Request

  • JAVA-417 - Questions regarding the Scheduler

New Feature

  • JAVA-414 - Add support of session schedule with 2 intervals
  • JAVA-415 - Add FIX 4.4 “AD” message type support

1.9.33 (2011-Nov-18)

Bug

  • JAVA-411 - Checking session state (for both acceptor and initiator in InboundApplicationMessageListener#onInboundApplicationMessage) causes messages loss

Improvement

  • JAVA-400 - Engine.init(..) method should be thread-safe
  • JAVA-401 - Every thread created must have a meaning name
  • JAVA-412 - Session.reset() should check whether changes to sequence numbers are required

New Feature

  • JAVA-399 - Session.setResendRequestMaximumRange(int range) method
  • JAVA-404 - Add listener for the thread creation event

1.9.32 (2011-Nov-11)

Improvement

  • JAVA-85 - Migrate to the SLF4J from the custom logger implementation

Information Request

  • JAVA-374 - Use local time in log files

New Feature

  • JAVA-334 - Migrate all samples to SLF4J

1.9.31 (2011-Nov-10)

Sub-task

  • JAVA-156 - Int64 field instruction implementation
  • JAVA-157 - uInt32 field instruction implementation
  • JAVA-158 - uInt64 field instruction implementation
  • JAVA-159 - String field instruction implementation
  • JAVA-160 - Length field instruction implementation
  • JAVA-161 - Sequence field instruction implementation
  • JAVA-162 - Decimal field instruction implementation

New Feature

Task

  • JAVA-403 - Upgrade to onixs-utils-1.0.12

1.9.30 (2011-Nov-07)

Bug

  • JAVA-402 - String delta operator with negative subtraction length works incorrectly

Improvement

  • JAVA-397 - Message.set(35,“NewMsgType”) should throw an exception if called more than once

New Feature

  • JAVA-396 -Session.setSpecifyLastMsgSeqNumProcessedField(bool specify) method

1.9.29 (2011-Oct-28)

Bug

  • JAVA-394 - Fix Engine exceptions with Java 7

Improvement

  • JAVA-393 - FIX benchmarks: add storage type configuration option

1.9.28.1 (2011-Oct-13)

Bug

  • JAVA-390 - Session method dispose() keeps sequence numbers even if keepSequenceNumbersAfterLogout flag is false
  • JAVA-392 - ThroughputAcceptorBenchmark + ThroughputInitiatorBenchmark: OutOfMemoryException after long period of run

Improvement

  • JAVA-385 - Load session storage at the session creation
  • JAVA-386 - Add convenient getters for standard session repositories

New Feature

  • JAVA-383 - Give access to the incoming messages from the session storage
  • JAVA-387 - Log warning if session storage loading takes too much time

1.9.27 (2011-Sep-13)

Bug

  • JAVA-360 - The log is saved on the same files and the engine doesn't create ‘.backup’ files even If I use Session.reset method
  • JAVA-373 - Stress test while session reconnecting
  • JAVA-378 - Fix sample scripts permissions under linux

Improvement

  • JAVA-365 - Remove duplicate logging from the Decoder/Encoder
  • JAVA-366 - Log dialect definition
  • JAVA-367 - Log EngineSettings changes
  • JAVA-368 - Log Session changes
  • JAVA-369 - Remove dependency from Ant tool
  • JAVA-370 - Compiled classes should be added to distribution package
  • JAVA-371 - Each *BuySide, *SellSide pair should be separate sample
  • JAVA-372 - Migrate to logback, move initialization to the Java code

Information Request

  • JAVA-375 - Logging time for application message

New Feature

  • JAVA-186 - Warn if user listener takes too long to process

Task

1.9.26 (2011-Jul-20)

Improvement

  • JAVA-346 - Update to FIX dialect schema 2.8
  • JAVA-347 - Upgrade to scheduler schema 1.3

New Feature

  • JAVA-343 - Add NextExpectedMsgSeqNum(789) tag support in Logon message
  • JAVA-357 - Add session scheduler schema 1.4 support
  • JAVA-359 - Add Group methods: getValuePtr, set(int, int, ByteBuffer), get(int, int, ValuePtr)

Task

1.9.25 (2011-Jun-07)

Bug

  • JAVA-348 - Shell start scripts don't work

Improvement

  • JAVA-346 - Update to FIX dialect schema 2.8
  • JAVA-350 - The SessionStorage#setMaxStorageSize should be implementation independent and always measured in messages
  • JAVA-351 - The Session#setScramblePassword should be file-based storage repository property, not session
  • JAVA-352 - Delegate unknown incoming session object creation to the user
  • JAVA-354 - StorageOutQueue implementation revision

Information Request

  • JAVA-329 - Sending Orders faster than 100 microseconds
  • JAVA-341 - How to avoid sending a ResendRequest message that causes other party to resend the same messages twice?
  • JAVA-345 - Fallback method to write application messages for unconnected sessions to disk in the event the queue fills up

New Feature

  • JAVA-344 - Flushing to the disk to avoid blocking if the message queue is full
  • JAVA-355 - Add host information to DynamicAcceptorArgs

Task

  • JAVA-353 - Add section with FIXML converter description

1.9.24 (2011-Apr-15)

Bug

  • JAVA-337 - Disconnect behavior on authentication failure
  • JAVA-339 - Wrong ParseException throw when used a custom dialect

Improvement

  • JAVA-336 - FIX benchmark sample - create separate start scripts for latency and throughput

1.9.23 (2011-Apr-05)

Bug

  • JAVA-319 - The findSentMessage has a int parameter to sequence number

Improvement

  • JAVA-321 - Remove offset field from file based storage prefixes
  • JAVA-324 - Move InboundMessageLogFilter property from Engine to EngineSettings class

Information Request

  • JAVA-320 - If our client sends a msg seq no that is lower than the next expected, the engine is not sending a logout message and does not disconnect the client connection

New Feature

  • JAVA-322 - Add upgrade notes document
  • JAVA-331 - Implement engine state and state change callback
  • JAVA-333 - Add Session.NULL_*_LISTENER implementations

Task

  • JAVA-326 - Add apidocs to the distribution bundle unpacked
  • JAVA-335 - Upgrade to Apache Commons Pool 1.5.6

1.9.22.3 (2011-Mar-11)

Bug

  • JAVA-305 - Error when get group of noRelatedSym
  • JAVA-308 - Send a message to a disconnected session when that session comes established
  • JAVA-310 - ReasonableTransmissionTime configuration parameter has no effect
  • JAVA-312 - Onixs doesn't close the socket properly
  • JAVA-313 - Class Group, method getInteger() doesn't return correct value, NPE
  • JAVA-315 - ConcurrentModificationException during engine shutdown

Improvement

  • JAVA-314 - Remove dom4j dependency, use Java SE core DOM parser

Information Request

  • JAVA-311 - java.lang.IllegalArgumentException: biz.onixs.fix.engine.storage.d is not an enum type

New Feature

  • JAVA-317 - Add Session.breakConnection() method

Task

  • JAVA-316 - Pack FIXML converter to the engine distribution package

1.9.21.5 (2011-Feb-25)

Improvement

  • JAVA-294 - Message .clear() or .reset() method(s)
  • JAVA-295 - Optimize vector-based session send method
  • JAVA-301 - Outgoing queue object re-using optimization
  • JAVA-302 - MsgSeqNum size

Information Request

New Feature

  • JAVA-306 - Make public default constructor of biz.onixs.fix.tag.Tag

Task

1.9.20.5 (2011-Jan-18)

Bug

  • JAVA-269 - Onixs library is stripping out non-numeric characters rather than failing

Improvement

  • JAVA-253 - Java Send Logout message before dropping link in case of Exception during Logon
  • JAVA-254 - Session Messages with mismatched SenderCompID's not being rejected
  • JAVA-272 - Upgrade to logback 0.9.27
  • JAVA-287 - Remove cloning from session send methods
  • JAVA-288 - Add a inbound session message factory

Information Request

  • JAVA-267 - Difference on close methods of pluggable message store
  • JAVA-268 - Message storage per FIX session

New Feature

  • JAVA-202 - Add session send method with timeout parameter
  • JAVA-277 - New Session.send methods
  • JAVA-281 - Add “Validate.OutboundMessages” configuration parameter

Task

  • JAVA-274 - Upgrade to Commons IO 2.0.1
  • JAVA-285 - Implement sending bunch of messages in a single socket send call

1.9.19.4 (2010-Nov-30)

Bug

  • JAVA-240 - Validate that message doesn't have multiple instances of the field with the same tag
  • JAVA-260 - Java selfConnect library does NOT use dialects when deserializing messages from FileBasedStorage upon receiving ResendRequest
  • JAVA-261 - Messages sent to session after client logout get disclosed to the client upon subsequent invalid logon attempt

1.9.18.6 (2010-Nov-09)

Bug

  • JAVA-249 - Fix Engine should use defaultAppVerID Version's parser to all the incoming messages in the session

Improvement

  • JAVA-245 - Link CSS to version history

Information Request

  • JAVA-242 - Retrieve a message using a seqNum

New Feature

  • JAVA-174 - Pluggable message storage
  • JAVA-246 - Ability to specify the Pluggable Session Storage on Unknown Incoming Sessions
  • JAVA-251 - Ability to specify MemoryBased Session Storage on Unknown Incoming Sessions
  • JAVA-255 - Add engine version getter
  • JAVA-256 - Log engine version in decoder and encoder

Task

1.9.17 (2010-Oct-27)

Bug

  • JAVA-203 - OnixS selfConnect Java library misses FIX50.SecurityType.IRS value

Information Request

  • JAVA-220 - Unable to load templates with templateRefs
  • JAVA-221 - Unable to load templates with templateRefs
  • JAVA-223 - Parsing messages from the storage log

New Feature

  • JAVA-32 - FIX 5.0 SP1 support
  • JAVA-33 - FIX 5.0 SP2 support
  • JAVA-222 - “templateRef” instruction support
  • JAVA-225 - Add uInt64 default operator decoding
  • JAVA-226 - Add length default operator decoding
  • JAVA-227 - Add simple decimal default operator decoding
  • JAVA-232 - ReasonableTransmissionTime configuration parameter
  • JAVA-235 - Output system properties to engine log on startup
  • JAVA-236 - Output EngineSettings on engine init
  • JAVA-237 - Add FIX 5.0 SP1 and SP2 support to FIX dialect definition

Task

  • JAVA-207 - Upgrade to FIX dictionary 1.0.7
  • JAVA-234 - Upgrade to logback v0.9.25

1.9.16 (2010-Sep-15)

Improvement

  • JAVA-218 - Upgrade to Joda Time 1.6.2.

New Feature

  • JAVA-217 - Decoder::maximumNumberOfRepeatingGroupEntries(int value) method

1.9.15 (2010-Sep-10)

Information Request

  • JAVA-209 - New application talk FAST FIX 5.0SP2

New Feature

  • JAVA-210 - OutboundQueueBytes() method
  • JAVA-211 - OutboundQueueCount() method
  • JAVA-212 - Add uInt64(copy) decode support
  • JAVA-213 - Add one component decimal(delta) decode support
  • JAVA-214 - Add int64(copy) decode support
  • JAVA-215 - Add one component decimal(noop) decode support

1.9.14 (2010-Aug-23)

Information Request

  • JAVA-208 - Binding Onix Fix adapter to an IP

New Feature

  • JAVA-144 - Option to specify acceptor bind address

1.9.13 (2010-Jul-30)

Bug

  • JAVA-201 - MemoryBasedSessionStorage under high throughput results in sequence gaps

Task

1.9.12 (2010-Jul-29)

New Feature

  • JAVA-199 - Add logon message to the Engine.UnknownIncomingConnectionEventArgs class

Task

  • JAVA-197 - Add custom repeating group support to the FIXML converter
  • JAVA-198 - Upgrade to SLF4J 1.6.1

1.9.11 (2010-Jul-16)

Improvement

  • JAVA-196 - Multiple decoder API improvements

New Feature

  • JAVA-195 - MemoryBasedSessionStorage should support maxStorageSize parameter

1.9.10 (2010-Jun-24)

Bug

  • JAVA-191 - FIX 5.0, message type “d”, tag 1017 is missing in the InstrmtLegGrp

Improvement

  • JAVA-190 - PropertyBasedSettings(String) constructor should load settings using default lookup schema

Task

  • JAVA-192 - Port 10000 usage should be replaced in the samples and tests
  • JAVA-194 - Upgrade to logback 0.9.22

Sub-task

  • JAVA-193 - Ability to remove field definition via FIX dialect

1.9.9 (2010-May-19)

Bug

  • JAVA-183 - Message: double to FIX value is locale dependant in setter method
  • JAVA-189 - Currency format error

Improvement

  • JAVA-188 - PrecisionTimer migration to nanoseconds

Task

1.9.8 (2010-Apr-13)

Bug

  • JAVA-180 - Engine shouldn't send next ResendRequest before response on the previous one received

Task

1.9.7 (2010-Mar-18)

Bug

  • JAVA-176 - Auto-calculated checksum value is not always returned as 3 chars long via getter

Improvement

  • JAVA-177 - Log event “WARN [Handler] b.o.f.f.Decoder - Template Id is not found in the byte stream, last one is used” should be changed to DEBUG priority

1.9.6 (2010-Mar-02)

Bug

  • JAVA-171 - PossDupFlag not always set on Resend
  • JAVA-173 - Heartbeat in response to test request is not sent in case of heavy message traffic

Task

1.9.5 (2010-Feb-08)

Bug

  • JAVA-167 - Nested repeating group must be supported in the XML dialect files

Improvement

  • JAVA-148 - Applications output can be more informative
  • JAVA-152 - Eliminate counterparty host resolution during incoming connection logon process
  • JAVA-168 - Add section about samples

New Feature

  • JAVA-151 - Add Message and Group setter/getter for long value
  • JAVA-165 - Add message and group getBytes(int tag) method

Task

  • JAVA-31 - Remove Session.dispose(boolean)
  • JAVA-149 - Upgrade to slf4j 1.5.10
  • JAVA-150 - Upgrade to logback 0.9.18

1.9.4 (2009-Dec-02)

Improvement

  • JAVA-146 - Change default reconnect interval from 5 to 90 secs
  • JAVA-147 - Session logout shouldn't clear the outgoing queue

1.9.3 (2009-Nov-19)

Bug

  • JAVA-131 - Sample run fails if JDK/JRE contains space in the directory
  • JAVA-142 - Javadoc is missing

Information Request

  • JAVA-143 - SenderSubID - sometimes but not always

Task

  • JAVA-132 - Combine Programmer's Guide and API docs

1.9.2 (2009-Nov-06)

Bug

  • JAVA-133 - Exception in the InboundSessionMessageListener, incoming Logon event: queued application message is sent before outgoing logout
  • JAVA-134 - Exception in the InboundSessionMessageListener, incoming Logon event: state is changed to DISCONNECTED

Improvement

  • JAVA-98 - Document and/or add sample to demo user/pwd verification
  • JAVA-135 - Session listener: thrown exception stacktrace should be printed to engine log
  • JAVA-136 - Simplify logout text if acceptor is rejected

New Feature

  • JAVA-138 - Add “Logon Password Verification” section

1.9.1 (2009-Oct-12)

Bug

  • JAVA-120 - License zip shouldn't be included in the distribution package
  • JAVA-126 - Cleanup “Configuration -> Remove Persistent Session Storage” section
  • JAVA-130 - Session creation with duplicate (sender, target, version) should raise exception

Improvement

  • JAVA-117 - Scheduler settings schema improvement - different settings types for acceptor and initiator
  • JAVA-118 - Scheduler settings schema - add descriptive comments (doc)
  • JAVA-127 - ‘Resending Messages’ section is needed
  • JAVA-128 - Session.MessageResendingListener should be described in the ‘Session Events and Listeners’ section of the Guide
  • JAVA-129 - Session.MessageResendingListener should be used in the SimpleBuySide and SimpleSellSide samples

New Feature

  • JAVA-114 - Add buyside and sellside with credentials
  • JAVA-115 - FIX <=> FIXML converter
  • JAVA-116 - Ability to accept FIX Session Without a Prior Creation of Session Object
  • JAVA-119 - Ability to send fields with empty values.

Task

  • JAVA-122 - Scheduler samples group: add eclipse project

1.9.0 (2009-Aug-27)

Improvement

  • JAVA-111 - BuySide / Reconnector: add reconnection strategy with a growth factor

New Feature

Task

  • JAVA-110 - Add sample with scheduled session logon and logout
  • JAVA-113 - Upgrade to logback 0.9.17

1.8.3 (2009-Jul-31)

Bug

  • JAVA-81 - Exception is not thrown if the acknowledgement Logon message has not been received during 36 sec
  • JAVA-99 - Message is not logged in the storage if incoming application message session listener throws exception

New Feature

  • JAVA-97 - Allow multiple Engine instances

Task

  • JAVA-108 - Check FileBasedSettings and PropertyBasedSettings to be case-sensitive and note this in the documentation

1.8.2 (2009-Jul-22)

Bug

Improvement

  • JAVA-82 - Log Files with Passwords in Clear Text
  • JAVA-100 - LicenseFile configuration setting should be documented
  • JAVA-101 - When the license file is not found, the path to the license file should be specified in the Exception text

New Feature

Task

1.8.1 (2009-Jun-26)

Bug

  • JAVA-73 - Multiple engine startup / shutdown causes error

Improvement

  • JAVA-91 - Invalid incoming messages should be logged too
  • JAVA-94 - EngineSettings: method to set dialect list is required

New Feature

  • JAVA-90 - Expose the Socket method setReceiveBufferSize(int size) on the Session class
  • JAVA-96 - EngineSettings: method to set license is required

Task

  • JAVA-92 - ResetSeqNumFlag is set to the correct value during reconnect
  • JAVA-95 - The “biz.onixs.util.url” package javadocs must be added to distro

1.8.0 (2009-Jun-17)

Bug

  • JAVA-72 - Eclipse Sample Project Errors
  • JAVA-79 - The location of the dialect file cannot be specified as an absolute reference

Improvement

  • JAVA-52 - The Initiator startup time maybe slow in the recovery/reconnection
  • JAVA-74 - FIX dialect: add revision attribute
  • JAVA-76 - Log loaded FIX dialects
  • JAVA-77 - Add to Eclipse Readme “1. Add something at the end that tells the developer to highlight the projects one at a time and use F5 to refresh them.”
  • JAVA-78 - Encrypt License Key
  • JAVA-82 - Log Files with Passwords in Clear Text
  • JAVA-87 - Documentation on biz.onixs.fix.engine.util.Settings Class
  • JAVA-88 - Session recovery process shouldn't fail on the corrupted record

New Feature

  • JAVA-69 - The EngineSettings class need to be introduced
  • JAVA-70 - Remove “Resending.QueueSize” configuration parameter

Task

  • JAVA-75 - FIX dialect schema is upgraded to version 2.4
  • JAVA-80 - Dialect file separator in the configuration file need to be changed from space character to ‘|’
  • JAVA-83 - The ICE sample needs to be extracted to a separate package
  • JAVA-84 - Upgrade to SLF4J 1.5.7
  • JAVA-86 - Mark Session.dispose(boolean) as deprecated

Legend for Earlier Versions

  • [+] New feature
  • [-] Bug-fix
  • [!] Change

1.7.11 (2009-May-20)

  • [!] The “Connection.OutputQueueSize” configuration parameter is now measured in messages (was in bytes) and has the default value 1000.
  • [+] The “Engine.DefaultHeartbeatInterval” configuration parameter is added.
  • [-] The “ConnectionRetries.Number” configuration parameter is checked to be >= 0.
  • [-] If the “ConnectionRetries.Number” configuration parameter is set to 0 then no reconnection attempt is performed by session-initiator (and no transition to RECONNECTING state).
  • [+] The “Memory Based Session Storage” section is added to Programmer's Guide.
  • [+] The new properties are added to the Session object: TargetSubID, SenderLocationID, TargetLocationID.
  • [+] The new Session methods are added: getOutboundQueueCount(), peakOutboundQueue().

1.7.10 (2009-Apr-17)

  • [+] The “Resending.QueueSize” configuration parameter is added.

1.7.9 (2009-Apr-15)

  • [-] The reconnecting bug is fixed.

1.7.8 (2009-Apr-14)

  • [!] The ICE FIX dialect is updated with accordance to the ICE Reference Manual 1.1.8.

1.7.7 (2009-Apr-14)

  • [-] The Session constructors set clearStart to false by default.
  • [!] Migrated to LOGBack 0.9.15.
  • [!] Multiple improvements to the FIX reconnect logic.
  • [!] The “slf4j-api-1.5.6.jar” is mandatory for the application classpath now.
  • [!] The “logback-core-0.9.15.jar”, “logback-classic-0.9.15.jar” are mandatory for the application classpath now or can be replaced with any supported logging facility implementation.

1.7.6 (2009-Apr-02)

  • [+] Inbound message log filtering depending on FIX message type.

1.7.5 (2009-Mar-31)

  • [+] Samples group “Util” is added.
  • [+] New engine settings are introduced: “Connection.TcpNoDelay”, “Connection.TcpSendBufferSize”, “Connection.TcpReceiveBufferSize”, “Connection.OutputQueueSize”.
  • [+] The “Session.logonAsInitiator(…)” method with resetSeqNumFlag parameter is added.
  • [!] The “biz.onixs.fix.util.Utils.configureLogback(…)” method was moved to “biz.onixs.util.LogbackConfigurator.configure(..)”.
  • [!] The “ConnectionRetries.Interval” default value is changed to 5000.
  • [-] Session reconnect bug is fixed.
  • [+] The FIX “engine.MessageFactory” property is added to “fast.Decode”.
  • [!] The “engine.MessageFactory” interface is extended with new method: “createMessage(String, Version)”.

1.7.4 (2009-Mar-16)

  • [-] DefaultApplVerID (tag 1137) is absent in the FIX 5.0 Logon message.
  • [!] Session event listeners are renamed from “Session.*EventHandler” to “Session.*Listener”.
  • [!] “Session.SessionRole” inner class is changed to top-level class.
  • [!] “Session.SessionState” inner class is changed to top-level class.
  • [!] “SessionState.ACTIVE” is renamed to “SessionState.ESTABLISHED”.
  • [!] “SessionState.LOGON_IN_PROGRESS” is renamed to “SessionState.AWAIT_CONFIRMING_LOGON”.
  • [!] “SessionState.LOGOUT_IN_PROGRESS” is renamed to “SessionState.AWAIT_CONFIRMING_LOGOUT”.
  • [!] “SessionState.AWAIT_LOGON” is introduced.
  • [!] “SessionState.AWAIT_DISCONNECT” is introduced.
  • [+] Eclipse workspace is pre-created for samples.
  • [!] The log directory is not created if listenPort is set to “-1”.

1.7.3 (2009-Mar-09)

  • [+] Script files (.sh and .cmd) are added to simplify samples running.
  • [!] FIX dialects schema is upgraded to version 2.3. The namespace is changed to “https://ref.onixs.biz/fix/dialects”. The main element is changed to “Dialect”.
  • [+] ICE sample is extended. ICE FIX dialect definition is updated.
  • [!] Default license file name is changed from “FIXForge.Java.FIX.Engine.lic” to “OnixS.lic”.

1.7.2 (2009-Feb-20)

  • [!] Java package “biz.onixs.fixforge” is renamed to “biz.onixs.fix”.
  • [!] Classes Tag and FIX?? are moved to “biz.onixs.fix.tag”.
  • [!] “ICE Trade Capture SSL” sample is added.
  • [!] FIX benchmarks are part of samples now.

1.7.1 (2009-Feb-13)

  • [!] FAST decoder performance is improved.
  • [!] The default FIX engine storage/log directory is changed from “MsgStorage” to “FixEngineStorage”.
  • [!] Settings.get(…) and Settings.set(…) methods are made protected. Settings.getString(…) and Settings.setString(…) should be used instead from now on.

1.7.0 (2009-Feb-02)

  • [+] FAST decoder is added.
  • [+] FIX Engine Session constructors throw exception if version argument equals to “Version.UNKNOWN”.
  • [+] FIX Message constructors throw exception if version argument equals to “Version.UNKNOWN”.

1.6.4 (2009-Jan-14)

  • [+] ICE TradeCapture example is added.
  • [!] The constructor Message(String rawMessage) now throws more descriptive exception in case of the garbled message parameter.
  • [+] The constructor Message(Version version, String rawMessage) is added.
  • [!] The Sell Side and Buy Side samples build files are changed to run simple applications by default.

1.6.3 (2008-Dec-19)

  • [-] Message by default allows unknown fields now.
  • [+] Message class: constructor public Message(String type, Version version, boolean enableUnknownFields) is added.

1.6.2 (2008-Dec-12)

  • [!] Session method setInitiatorSSL(…) is removed.
  • [!] Engine method setAcceptorSSL(…) is removed.
  • [+] Session method setSSLContext(…) is added.
  • [+] Engine method setSSLContext(…) is added.
  • [+] Class SSLContextFactory is added.
  • [+] Message method contains(int) is added.
  • [!] Configuration option “Log.FlushFileAfterEachMessage” is removed.

1.6.1 (2008-Oct-28)

  • [-] Exception in case of incorrect repeating group fields order is made more descriptive.
  • [-] Missing javadocs for multiple parser classes are added back.
  • [!] All buyside samples are joined to the single sample.
  • [!] All sellside samples are joined to the single sample.
  • [+] Dialect buyside and sellside samples are added.

1.6.0 (2008-Sep-26)

  • [+] FIX 5.0 support is added.

1.5.1 (2008-Sep-15)

  • [+] Inbound application level message factory support is added.

1.5.0 (2008-Sep-10)

  • [+] Per-session FIX dialect support is added.

1.4.0 (2008-Aug-26)

  • [+] SSL support is added.

1.3.27 (2008-Aug-01)

  • [-] Unknown fields are allowed in the message constructor.

1.3.26 (2008-Jul-15)

  • [+] Memory-based session storage is added.

1.3.25 (2008-Jul-07)

  • [!] Prefix ‘FixEngine.’ is removed from the configuration setting names.

1.3.24 (2008-Apr-03)

  • [!] DeliverToCompID (tag=128) field is not processed automatically anymore.

1.3.23 (2008-Apr-02)

  • [+] Connection error diagnostic is improved.

1.3.22 (2008-Mar-20)

  • [-] Invalid milliseconds in the outgoing SendingTime (tag 52) are fixed.
  • [+] Session.getTcpNoDelay(), Session.setTcpNoDelay(boolean on) methods are added.

1.3.21

  • [+] Group.getDouble is added.