Releases: artiofix/artio
Releases · artiofix/artio
0.53
- 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 toCodecUtil.MISSING_INT
, char fields are initialized toCodecUtil.MISSING_CHAR
. This means that fields are initialized to the same value that aDecoder.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
- 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
- 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()
andlastSequenceResetTime()
values for sessions. Remove the oldlogonTime
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 ofpossDupFlag
in normal FIX replay ONLY catchup replays. - Fix bug with compositionality of the 'and' and 'or' fix message predicates
0.50
- 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
- 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
- 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
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
- 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
- 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
- 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.