Skip to content

Releases: artiofix/artio

0.53

19 Feb 13:24
Compare
Choose a tag to compare
  • Added the FixEngine.allSession operation to get list of session information, including for offline sessions. This change renames the old SessionInfo interface to ConnectedSessionInfo and introduces a more minimal SessionInfo interface.
  • Pass validation result of FIX session messages to SessionHandler
  • Add an option to turn off duplicate fields validation
  • Enable implementation of TcpChannelSupplier by a class with non artio package
  • Remove timestamp / thread name information from the information passed to a DebugAppender. It is retained in the default printing strategy.
  • Improved validation behaviour when a repeating group number is too small or too large
  • Improved Decoder field initialization: float fields are initialized to NaN and int fields are initialized to CodecUtil.MISSING_INT, char fields are initialized to CodecUtil.MISSING_CHAR. This means that fields are initialized to the same value that a Decoder.reset() results in.
  • Fix bug where a reused session objects after a disconnect could result in updating a different Aeron counters
  • Fix bug where Invalid Resend Requests could be executed.

0.52

08 Feb 10:39
Compare
Choose a tag to compare
  • Remove allocation from the debuglogger internally and introduce an API in order to allow backing the debug logger into an external logging system such as log4j or slf4j
  • Improve flexibility of metadata writes: allow updates to subsequences of Session metadata, rather than just replacement.
  • Add a more garbage friendly appendTo() API for debugging FIX codecs and also a low GC toString() method.
  • Fix bug where rejected messages could still update the saved sequence number for a session.

0.51

31 Jan 15:54
Compare
Choose a tag to compare
  • Allow FixLibrary.requestSession to request an offline session - ie a session in a disconnected state.
  • Allow offline sessions to "send" messages - these are stored for future resend requests.
  • Cache Session objects and return the same old ones when a reconnect happens. NB: These are cached via weak references so only returned if your application holds a reference to it and garbage collected otherwise.
  • Add the ability to request a replay of messages received on a given session at a time other than requesting a session.
  • Add lastLogonTime() and lastSequenceResetTime() values for sessions. Remove the old logonTime concept for a session.
  • Update the SessionHandler.onMessage callback with an info object and expose the message status to API consumers
  • Remove the possDupFlag from catchup replays. NB: this does not affect usage of possDupFlag in normal FIX replay ONLY catchup replays.
  • Fix bug with compositionality of the 'and' and 'or' fix message predicates

0.50

22 Jan 09:07
Compare
Choose a tag to compare
  • Add metadata API (https://github.com/real-logic/artio/wiki/Session-MetaData) including
  • making the readMetaData and writeMetaData methods no longer experimental.
  • Pass latest metadata to the session acquire handler.
  • Add the ability to end a FIX message with metadata.
  • Upgrade to Aeron 1.25.1, SBE 1.16.1, and Agrona 1.3.0.
  • Change the SessionAcquireHandler API in preparation for 1.0
  • Fix metadata file locking issue on windows.

0.49

14 Jan 20:19
Compare
Choose a tag to compare
  • Add extra optional validation for the sender and target comp ids of every message.
  • Add support for multiple FIX versions as an acceptor.
  • Add experimental API for writing and reading session metadata. This feature should be considered subject to change.
  • Extra validation around sentinel enum value attempted to be encoded - now throws an Exception.
  • Upgrade to Aeron 1.25.0, SBE 1.16.0, and Agrona 1.2.0.
  • Fix bug with an NPE when a library connects at the same time that a session has connected but not yet exchanged logon messages.

0.48

13 Dec 14:56
Compare
Choose a tag to compare
  • Upgrade to HdrHistogram 2.1.12.
  • Improve SessionCustomisationStrategy so that it can apply a customisation to the Header of any message.
  • Add support for publishing into custom repositories.
  • Fix bug in parsing a DecimalFloat from a String of "0".
  • Fix bug in validation for components where groups declared on a component would not be validated.

0.47

05 Dec 17:17
Compare
Choose a tag to compare

Add support for scientific notation for floating point numbers.
Add the option to defer binding to the network when starting up
Fix bug where the update and initialise methods don't left out the trailing zeros from timestamp encoding
Fix bug where TestRequest out of sequence could trigger a heartbeat being sent
Fix bug where no logon disconnect timeout didn't works with a SOLE_LIBRARY initialAcceptedSessionOwner

0.46

29 Nov 13:07
Compare
Choose a tag to compare
  • Add ability to bind and unbind of the acceptor TCP socket at runtime.
  • Add an authentication timeout, so that if an implementor of the AuthenticationStrategy never accepts or rejects then the connection will eventually be rejected.
  • Provide logon sequence number and sequence index to the SessionExistsHandler in order to give it more flexibility as to how to handle logons.
  • Fix a bug where a number format exception in the session parser wouldn't be handled properly if it happened in the library.
  • Rename soleLibraryMode to initialAcceptedSessionOwner and convert it to an enum.
  • Rename the PersistenceLevel enum values to something easier to understand. Deprecate the old options and leave them working for now.

0.45

24 Nov 21:47
Compare
Choose a tag to compare
  • Increase the size of message type field supported from 2 characters to 8 characters. This also results in an API change where messageType parameters are long rather than int values.
  • Update aeron to 1.24.0, agrona to 1.1.0 and SBE to 1.15.0.
  • validate that DecimalFloat values aren't NaNs when encoding

0.44

20 Nov 11:01
Compare
Choose a tag to compare
  • Added an option to delete the log file dir on start. This can be used by users without persistent sequence
    numbers / state.
  • Stop including the authentication time in the no logon disconnect timeout.
  • Change configuration defaults to improve fairness on the Framer thread and reduce the probability of Library / Engine timeouts:
  • Reduce DEFAULT_OUTBOUND_LIBRARY_FRAGMENT_LIMIT to 20
  • Increase DEFAULT_REPLY_TIMEOUT_IN_MS to 10_000L
  • Fix bug #191
  • Fix bug where DecimalFloat.fromString() wouldn't throw an exception when it was passed an invalid number.