Releases: real-logic/artio
Releases · real-logic/artio
0.150
- Fix typo in FixArchivePrinter
- Fix an issue in sole-library mode, where reconnecting sessions many times and a library timeout can lead to an exception such as the one below.
This issue was due to the engine keeping offline sessions and attempting to encode more sessions than the encoding permits into a ControlNotification.
java.lang.IllegalArgumentException: count outside allowed range: count=1142 at uk.co.real_logic.artio.messages.ControlNotificationEncoder$SessionsEncoder.wrap(ControlNotificationEncoder.java:226) at uk.co.real_logic.artio.messages.ControlNotificationEncoder.sessionsCount(ControlNotificationEncoder.java:203) at uk.co.real_logic.artio.protocol.GatewayPublication.saveControlNotification(GatewayPublication.java:1009) at uk.co.real_logic.artio.engine.framer.Framer.saveControlNotification(Framer.java:1917) at uk.co.real_logic.artio.engine.framer.Framer.onLibraryConnect(Framer.java:1851) at uk.co.real_logic.artio.protocol.EngineProtocolSubscription.onLibraryConnect(EngineProtocolSubscription.java:224) at uk.co.real_logic.artio.protocol.EngineProtocolSubscription.onFragment(EngineProtocolSubscription.java:80) at uk.co.real_logic.artio.protocol.ProtocolSubscription.lambda$of$0(ProtocolSubscription.java:59) at io.aeron.ControlledFragmentAssembler.onFragment(ControlledFragmentAssembler.java:123) at io.aeron.Image.controlledPoll(Image.java:369) at io.aeron.Subscription.controlledPoll(Subscription.java:235) at uk.co.real_logic.artio.engine.framer.Framer.sendOutboundMessages(Framer.java:447) at uk.co.real_logic.artio.engine.framer.Framer.doWork(Framer.java:382) at org.agrona.concurrent.AgentRunner.doWork(AgentRunner.java:304) at org.agrona.concurrent.AgentRunner.workLoop(AgentRunner.java:296) at org.agrona.concurrent.AgentRunner.run(AgentRunner.java:162) at java.base/java.lang.Thread.run(Thread.java:840)
- Upgraded to ByteBuddy 1.14.14.
0.139.5
- Fix an issue in sole-library mode, where reconnecting sessions many times and a library timeout can lead to an exception such as the one below.
This issue was due to the engine keeping offline sessions and attempting to encode more sessions than the encoding permits into a ControlNotification.
java.lang.IllegalArgumentException: count outside allowed range: count=1142 at uk.co.real_logic.artio.messages.ControlNotificationEncoder$SessionsEncoder.wrap(ControlNotificationEncoder.java:226) at uk.co.real_logic.artio.messages.ControlNotificationEncoder.sessionsCount(ControlNotificationEncoder.java:203) at uk.co.real_logic.artio.protocol.GatewayPublication.saveControlNotification(GatewayPublication.java:1009) at uk.co.real_logic.artio.engine.framer.Framer.saveControlNotification(Framer.java:1917) at uk.co.real_logic.artio.engine.framer.Framer.onLibraryConnect(Framer.java:1851) at uk.co.real_logic.artio.protocol.EngineProtocolSubscription.onLibraryConnect(EngineProtocolSubscription.java:224) at uk.co.real_logic.artio.protocol.EngineProtocolSubscription.onFragment(EngineProtocolSubscription.java:80) at uk.co.real_logic.artio.protocol.ProtocolSubscription.lambda$of$0(ProtocolSubscription.java:59) at io.aeron.ControlledFragmentAssembler.onFragment(ControlledFragmentAssembler.java:123) at io.aeron.Image.controlledPoll(Image.java:369) at io.aeron.Subscription.controlledPoll(Subscription.java:235) at uk.co.real_logic.artio.engine.framer.Framer.sendOutboundMessages(Framer.java:447) at uk.co.real_logic.artio.engine.framer.Framer.doWork(Framer.java:382) at org.agrona.concurrent.AgentRunner.doWork(AgentRunner.java:304) at org.agrona.concurrent.AgentRunner.workLoop(AgentRunner.java:296) at org.agrona.concurrent.AgentRunner.run(AgentRunner.java:162) at java.base/java.lang.Thread.run(Thread.java:840)
0.149
0.148
- Fix a bug where sometimes a sequence reset would result in the replay index deleting only some of the index segment files.
- Fix a bug where an exception was triggered when logging slow consumers in FixSenderEndPoint.
- Upgrade to Aeron 1.44.0, SBE 1.31.0, Agrona 1.21.1.
- Upgrade to ByteBuddy 1.14.13.
- Upgrade to ASM 9.7.
0.139.4
0.147
0.146
- Invalid/unnecessary JavaDocs on toEncoder/copyTo methods are no longer generated.
- Added optional support for encoding any fields.
- Started testing with Java 21.
- Upgraded to JUnit 5.10.2.
- Upgraded to ByteBuddy 1.14.12.
- Upgraded to Versions 0.51.0.
0.145
- Artio will now detect when it receives a FIX message too large to fit in the receiver buffer and disconnect the session (#499).
- Change the return type of
EngineConfiguration.replayIndexFileCapacityToBytes()
to long to prevent overflows. - Clean up CodeQL warnings.
- Switch to JUnit Platform for running the tests.
- Upgrade to Aeron 1.43.0, SBE 1.30.0, Agrona 1.20.0.
- Upgrade to ByteBuddy 1.14.10.
- Upgrade to JUnit 5.10.1.
- Upgrade to ASM 9.6.
- Upgrade to Versions 0.50.0.
0.144
- Fix a bug which would cause a replay index record to be missed after a Sequence Reset to a higher sequence number.
- Fix a bug where a Sequence Reset to a lower sequence number would corrupt the replay index, potentially preventing subsequent resend requests from being serviced with an error like:
IllegalStateException: [...] Error in resend request, count(0) < expectedCount (1), newSequenceNumber(3), endSeqNo(2)
. - Fix a bug where the index would ignore a redact seen before any inbound message.
- Fix a bug where listing sessions with admin API would fail if some sessions haven't been fully initialised yet (#489).
- Fix a bug where a FIXP endpoint would constantly report exceptions if it disconnected while being slow (#490).
0.139.3
- Fix a bug which would cause a replay index record to be missed after a Sequence Reset to a higher sequence number.
- Fix a bug where a Sequence Reset to a lower sequence number would corrupt the replay index, potentially preventing subsequent resend requests from being serviced with an error like:
IllegalStateException: [...] Error in resend request, count(0) < expectedCount (1), newSequenceNumber(3), endSeqNo(2)
. - Fix a bug where the index would ignore a redact seen before any inbound message.