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
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
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
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-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.