Aeron v1.28.0 Release Notes

Release Date: 2020-05-25 // about 2 years ago
    • 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...