All Versions
Latest Version
Avg Release Cycle
21 days
Latest Release
4 days ago

Changelog History
Page 1

  • v1.28.2

    May 28, 2020
    • 🛠 Fix issue with replaying cluster log when a snapshot is invalidated after a clean termination.
    • 🚀 Correct arguments to onReplayNewLeadershipTerm which got transposed in 1.27.0 release.
    • 🛰 Validate lower bound of MTU in config so payload must have some contents.

    Java binaries can be found here...

  • v1.28.1

    May 27, 2020
    • 🛠 Fix race condition when calling size on C queues.
    • ✂ Remove clashing non const ExclusivePublication::channelStatus() method. Issue #946.
    • ⬆️ Upgrade to SBE 1.18.2.
    • ⬆️ Upgrade to Agrona 1.5.1.

    Java binaries can be found here...

  • v1.28.0

    May 25, 2020
    • An experimental C API client is now available. We are happy to take feedback but be aware the API is subject to change as it gets refined.
    • 🚀 Cluster has changed status from experimental to being a preview feature. Many refinements and bug fixes have been made to cluster in the last few months as a result of significant destructive testing. The API is now stable as of this release and will only change before going GA if a significant issue is found. Support is commercially available.
    • Correct implementation of Cubic congestion control implementation to align with spec.
    • ➕ Add support to the C media driver for session-specific and multi-destination subscriptions (MDS), plus complete the functionality so the C media driver can support Archive.
    • 👌 Support using 0 for port on endpoint or control so OS assigns the port without conflict and then make it available on Publication or Subscription via each getting a new localSocketAddresses() method. Local socket addresses also get their own counters.
    • ⬇️ Reduced CPU time spent scanning for loss in Java and C drivers so they can scale to a larger number of connections.
    • 🔀 Apply consistent approach to merge window for ReplayMerge, Archive replication, and Cluster catchup.
    • ➕ Add the ability to stop a recording by recording identity when the recording id is known.
    • 🔧 Use CRC if configured and any possible data to help recover last fragments in a recording that may straddle a OS page after an unclean Archive shutdown.
    • 👌 Support common short name alias for idle strategies in config for both Java and C media driver such as noop, spin, yield, and backoff.
    • ⚡️ Update false sharing protection to support Java 15 class layout and add it to ExclusivePublication.
    • 👌 Improve Java and C++ samples so they are up to date and give more consistent performance numbers.
    • Java client close operations for publications, subscriptions, and counters now happen asynchronously so the client does not wait for acknowledgement. This allows for more rapid close of resources.
    • ➕ Add notifications for client heartbeat counters becoming available and unavailable so Aeron clients can be tracked.
    • 👍 Allow for race in creating a new recording in catalog and first segment being written which can happen when a replay is set up right after a recording starts.
    • ⬆️ Upgrade to javadoc-links 5.1.0.
    • ⬆️ Upgrade to ByteBuddy 10.10.1.
    • ⬆️ Upgrade to JUnit 5.6.2.
    • ⬆️ Upgrade to Gradle 6.4.1.
    • ⬆️ Upgrade to SBE 1.18.1.
    • ⬆️ Upgrade to Agrona 1.5.0.

    Java binaries can be found here...

  • v1.27.0

    April 01, 2020
    • 🔧 Drivers can be named and names are gossiped between drivers so that they can be used to simplify configuration for endpoints. Driver Name Resolution.
    • 🛠 Fix header file dependencies for C++ archive client.
    • Spy subscriptions can now match on channel tag for publications.
    • Multicast flow control is selected when using manual or dynamic MDC (Multi-Destination-Cast).
    • ➕ Add tryStopRecording methods to the archive clients so they can be called without raising an exception if no recording is active.
    • ➕ Add a counter for the number of active control session on the archive.
    • ➕ Add autoStop overload when starting a recording in the archive so it is automatically cleaned up when the first matching recordings stops.
    • Resend recording progress events after back pressure to detect tail progress.
    • 👌 Improve URI channel parsing validation. Issue #887.
    • ⬇️ Reduce allocation when churning publications.
    • ➕ Add CentOS 7 build to CI.
    • ⬆️ Upgrade to BND 5.0.1.
    • ⬆️ Upgrade to Junit 5.6.1.
    • ⬆️ Upgrade to Gradle 6.3.
    • ⬆️ Upgrade to SBE 1.17.0.
    • ⬆️ Upgrade to Agrona 1.4.1.

    Java binaries can be found here...

  • v1.26.0

    March 04, 2020
    • ➕ Add correlation-id to ArchiveException and provide the ability to get the last used correlation-id in AeronArchive client.
    • ➕ Add re-resolution of endpoints when they timeout and become unconnected which can happen when machines migrate in a cloud environment to the Java driver.
    • ➕ Add TaggedMulticastFlowControl and ability to configure flow control via URI params for Java and C media drivers.
    • 🗄 Deprecate PreferredMulticastFlowControl.
    • 🛠 Fix mutexes for the C media driver on Windows. PR #867.
    • 🛠 Fix handling of sockets the C media driver on Windows. PR #866.
    • 🛠 Fix thread handling for the C media driver on Windows. PR #864.
    • 🛠 Fix mmap on Windows for the C media driver. PR #865.
    • 🏁 SetWaitableTimer expects a duration in 100-nanosecond intervals on Windows in C media driver. PR #868.
    • 🛠 Fix NPE when -checksum flag is not used, and validation Checksum classname if it is used with ArchiveTool.
    • 🔀 Deal with asynchronous errors from the archive when replicating or Replay Merge.
    • 🛠 Fixes for Windows C driver. PR #861.
    • ⚠ Warnings clean up in native code.
    • 🛠 Fix socket close on Windows for C driver. PR #857.
    • 🛠 Fix getting a random value in C driver on Windows. PR #854.
    • ⬇️ Reduce allocation of direct buffers in the archive to minimum of what is required depending on configuration.
    • 👌 Improve archive behaviour from unexpected outcomes of file read operations.
    • 🔌 Migrate to Gradle maven-publish plugin.
    • 👌 Improve closing of resources in aborted or interrupted operation for Java client and modules.
    • 🛠 Fix unexpected unavailable image which could occur with mixed use of wildcard and session specific subscriptions on the same channel.
    • 🛠 Fix deadlock which could occur in C++ client if destroyed too quickly after creation. Issue #844.
    • 👌 Improve performance of Archive replay. Gains are 25%-50% depending on message length and platform.
    • ➕ Add client shared library support to C++ client. PR #836.
    • Only use MDS for archive replicate when joining a live stream or using a tagged subscription. This allows for multiple concurrent replication streams of recordings which are not joining live or being tagged.
    • 🔀 Make receiver id channel endpoint specific so multi-destination subscriptions get flow controlled independently as they use different sockets. This results in less loss when using Replay Merge.
    • 👌 Improve performance of logging agent to file by batching event writes.
    • ⬆️ Upgrade to Gradle 6.2.1.
    • ⬆️ Upgrade to Versions 0.28.0.
    • ⬆️ Upgrade to Mockito 3.3.0.
    • ⬆️ Upgrade to HdrHistogram_c 0.9.13.
    • ⬆️ Upgrade to BND 5.0.0.
    • ⬆️ Upgrade to SBE 1.16.3.
    • ⬆️ Upgrade to Agrona 1.4.0.

    Java binaries can be found here...

  • v1.25.1

    January 21, 2020
    • 🐎 Log to ring buffer with zero copy semantics for improved logging performance. PR #831.
    • 🏁 Retain file handle after establishing mapping in Windows C++ client. Issue #826.
    • 👌 Improve encoding performance of logging to file.
    • 🌲 Log all events in a consistent manner with standard header.
    • 🐎 Be consistent with the use of positional reads and writes in the archive for supported OS synchronisation and slightly improved performance.
    • 🔧 Configure Java DistinctErrorLog to be US-ASCII rather than UTF-8 for compatibility with native driver.
    • ✅ Run slow tests daily in CI.
    • ➕ add GNU_SOURCE to clock for native builds on CentOS.
    • ⬆️ Upgrade to Agrona 1.3.0.
    • ⬆️ Upgrade to SBE 1.16.1.
    • ⬆️ Upgrade to JUnit 5.6.0.

    Java binaries can be found here...

  • v1.25.0

    January 12, 2020
    • 🐎 Where possible only weave in hooks logging when enabled in the Java driver. This can help performance for those who are only logging a few events.
    • ➕ Add ability to log the control channel responses from the Archive.
    • 🛠 Fix issue with truncating recordings when truncate position equals stop position and start of segment to ensure file is deleted.
    • 🛠 Fix issue with unaligned access to fields in LossReport.
    • ✅ Introduce interceptor bind framework to C driver for supporting loss testing, logging, and media layers other than BSD sockets.
    • ✅ Apply system tests to C driver when running in CI. When apply this a number of bugs got fixed in the C media driver.
    • 🐧 Move CI from Travis to GitHub Actions and test on Windows, Linux, and OSX.
    • 👌 Support for agent logging in the C driver to file to match Java with the aeron.event.log.filename.
    • 👌 Support for adding checksums to archive recordings as CRCs which can be verified to detect file corruption.
    • ➕ Add support for applying and verifying checksums to recordings via ArchiveTool.
    • ➕ Add support for fixing recordings after after a system crash running an Archive.
    • 👌 Improve crash recovery for the archive when restarting.
    • ➕ Add cached clocks to C media driver to reduce the overhead of clock calls and improve performance, especially in cloud environments. Issue #606.
    • 🛠 Fix thread local storage for Windows C media driver. PR #795.
    • 🛠 Fixes for Windows C media driver. PR #794.
    • 👌 Improve EOS reporting in Image.toString() method. PR #792.
    • 🛠 Fix recovery of stop position in crashed archive when start position was non-zero.
    • Provide API for for features that existed in CatalogTool in new ArchiveTool.
    • Don't linger replay publications in ReplayMerge so resources can be reclaimed sooner.
    • ⚠ Default warning of Aeron direction existing on media driver start to false.
    • ➕ Add poll support to C media driver on Windows. PR #784.
    • 🌲 Name log buffers based on correlation id.
    • 0️⃣ Provide timestamp with stacktraces in default client error logger. PR #774.
    • Reject concurrent publications that specify init-term-id, term-id, and term-offset. PR #773.
    • ➕ Add sample illustrating how to build an index and basic time series on a recording that is also replicated in IndexedReplicatedRecording.
    • 👌 Improve performance for getting Header.position() in Java fragment handler.
    • ➕ Add BasicAuthenticator to C++ archive client samples.
    • 🛠 Fix issue with configuring threading mode in C media driver. Issue #785.
    • 👌 Improve validation when extending recordings in the archive.
    • ➕ Add taggedReplicate operation to the archive for replicating a stream with provided tags so an external subscription can follow along.
    • ⚡️ Don't update the recording position in the archive if an exception occurs during a write. Previous behaviour could have erroneously reported progress when disk was full or underlying storage failure.
    • 🛠 Fix issue in C media driver when a subscription could have go away yet the publication considered it was still connected.
    • 🛠 Fix issue with incremental build dependencies. PR #762.
    • 🛠 Fix recording events enabled property name.
    • ➕ Add authentication support to C++ archive client.
    • ⬆️ Upgrade to Agrona 1.2.0.
    • ⬆️ Upgrade to SBE 1.16.0.
    • ⬆️ Upgrade to JUnit 5.6.0-RC1.
    • 💅 Upgrade to Checkstyle 8.28.
    • ⬆️ Upgrade to HdrHistogram 2.1.12.
    • ⬆️ Upgrade to ByteBuddy 1.10.5.
    • ⬆️ Upgrade to Gradle 6.0.1.
    • ⬆️ Upgrade to javadoc-links 4.1.6.
    • ⬆️ Upgrade to Mockito 3.2.0.
    • ⬆️ Upgrade to gtest 1.10.0.
    • ⬆️ Upgrade to HdrHistogram_c 0.9.12.

    Java binaries can be found here...

  • v1.24.0

    November 24, 2019
    • ➕ Add bi-directional version identification to the archive network protocol
    • ➕ Add support for authenticated sessions to the archive.
    • 👌 Support setting of session-id on publications in the C media driver. Issue #623.
    • 🛠 Fix setting of initial position on an exclusive publication in the C driver when the initial position is beyond the first term. Issue #750.
    • 👍 Allow for archive error log to be stored in archive mark file when running out of process from a media driver.
    • Trim down unneeded dependencies in agent and all shadow JARs.
    • Clean up allocated resources in C++ and Java clients when URI errors occur.
    • ➕ Add boundedPoll to Image for C++ and Java. Issue #744.
    • Only include what is used in C++ publication headers. Issue #743.
    • Provide unique type ids to error counters. Issue #741.
    • ➕ Add new archive control messages to agent logging and improve overall agent performance.
    • 🛠 Fix pointcut for Archive control message logging. Issue #740.
    • 🏁 Close files in Windows C++ client to prevent memory leak. Issue #737.
    • 👌 Improve the performance for MDC dynamic mode in the Java driver.
    • Set javadoc encoding to UTF-8.
    • 👌 Improve validation of channel URIs for endpoint, control, tags, and distinguishing characteristics in both C and Java drivers.
    • 🛠 Fix calculation for archive truncate when offset is beyond first term in a segment.
    • 👻 Check for reentrant calls when in Archive callbacks and throw an exception if detected.
    • 🔄 Change sample scripts to use the aeron-all JAR as a better example.
    • ⬆️ Upgrade to javadoc-links 4.1.4.
    • ⬆️ Upgrade to Build Scan 3.0.0.
    • ⬆️ Upgrade to Shadow 5.2.0.
    • ⬆️ Upgrade to ByteBuddy 1.10.2.
    • ⬆️ Upgrade to SBE 1.15.0.
    • ⬆️ Upgrade to Agrona 1.1.0.

    Java binaries can be found here...

  • v1.23.1

    November 06, 2019
    • ⚡️ Correct bug when setting MediaDriver.Context.rejoinStream which set reliableStream property by mistake and update configuration output dump.
    • ➕ Add bind address and port to channel endpoint counter label to help with debugging connections.
    • 🛠 Fix narrowing type conversion in C++ client for subscription images. PR #726.
    • ➕ Add progress checks to ReplayMerge and a new terminal state of FAILED which is entered on exception or lost connection to the archive.
    • Track close following connections with MDS without timing them out which can help with ReplayMerge.
    • 👌 Support manual control on MDC not requiring the control address:port to be specified so it can be automatically assigned.
    • ➕ Add ability to disable the recording events publication in the archive to save resources when it is not required.
    • ➕ Add protocol version of the server to the connect response for archive clients.
    • ⬆️ Upgrade to SBE 1.14.1.
    • ⬆️ Upgrade to Agrona 1.0.11.

    Java binaries can be found here...

  • v1.23.0

    October 26, 2019