All Versions
Latest Version
Avg Release Cycle
25 days
Latest Release
1268 days ago

Changelog History
Page 2

  • v1.25.0 Changes

    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 Changes

    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 Changes

    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
  • v1.22.1 Changes

    October 11, 2019
    • ๐Ÿ›  Fix command message validation which failed to take account of message offset. Issue #690.
    • โž• Address some false sharing issues in the Java and C++ clients which can add 50ns of latency to RTT.
    • ๐Ÿ“œ Provide original channel URI in error message when parsing fails to port for an endpoint address. PR #714.
    • โฌ†๏ธ Rewrite messages from older clients to the archive to allow for gradual upgrade of clients to the new archive. This support will last for only one minor version.
    • Separate versioning schema for network protocol from file formats for the archive to allow them to evolve independently.
    • Only check concurrent recording limits upfront in the archive to avoid later asynchronous errors.
    • Reclaim mapped memory for IPC publications as soon as ref count is 0 and drained by subscriptions without going into 10 second linger.

    Java binaries can be found here...

  • v1.22.0 Changes

    October 09, 2019
    • ๐Ÿš€ This release increases the major version on the archive wire protocol and file format. To upgrade it is necessary to update all archive clients and the archive at the same time. Also an archive migration is required by running the CatalogTool with the migrate option. Be sure to backup the archive first before doing a migrate.
    • โž• Add recording signal reporting on the control stream for an archive. The RecordingSignalAdapter can be used to track signals of operations happening to recordings such as START, STOP, EXTEND, REPLICATE, MERGE, etc.
    • ๐Ÿ‘Œ Improved Javadoc for archive configuration.
    • ๐Ÿ‘Œ Improved checking for clashing session-ids for manually configured publications.
    • โšก๏ธ Reduce heartbeat updates to mark files to once per second to reduce IO traffic.
    • 0๏ธโƒฃ Reclaim mapped memory for images by not lingering when the last subscription is closed. This can reclaim the mapped memory 10 seconds sooner by default.
    • ๐Ÿ›  Fix ref counting to send channel endpoints which could cause a stream to get stopped early when multiple publications use the same channel.
    • โž• Add Archive replication feature which replicate a recording from one archive to another with the option of merging with a live multicast stream and continuing to support multiple redundant recordings.
    • โฌ‡๏ธ Reduce Java memory footprint of Archive client.
    • โฌ‡๏ธ Reduce default max concurrent recordings and replay in the archive from 50 to 20.
    • ๐Ÿ‘Œ Improve consistency of error codes and command validation to both Java and C Media Drivers.
    • โž• Add Image.activeTransportCount() to track active transports when using MDS which can be used to make ReplayMerge more reliable.
    • โž• Add correlation id to RegistrationException to help with debugging.
    • ๐Ÿ“œ Allocate non-sparse files in Java media driver at safepoint to help avoid Time-To-SafePoint (TTSP) issues.
    • โž• Add the ability to configure congestion control as a channel URI param with the cc=static or cc=cubic options.
    • ๐Ÿ– Handle channel endpoint errors in the C++ client.
    • โž• Add support to the Java client for adding an removing destinations to publications and subscriptions asynchronously.
    • Catch errors when opening receive destinations and report them to the client.
    • ๐Ÿ Clean up bound ports on Windows when destinations are removed from MDS Subscripitons.
    • ๐Ÿ‘Œ Improve error messages on channel conflicts.
    • โž• Add rejoin URI param to channels so that when an image gets timed out to configure if it should stream or not.
    • Don't try to send archive client close messages when publication is not connected to avoid exceptions.
    • ๐Ÿ‘Œ Improve reliability of counter active and reuse checks.
    • Clean up pending setup messages when a channel when endpoints are closed.
    • ๐Ÿ”ง Use heartbeat timestamp counters to indicate client liveness rather than command messages. This gives more stable behaviour on configurations with multiple clients sending many commands.
    • Reworking of C Media Driver internals to more easily accommodate other media APIs such as ef_vi and DPDK.
    • โž• Add option to delete the aeron.dir on shutdown of the media drivers.
    • ๐Ÿ‘‰ Make MediaDriver.close() idempotent.
    • Abort further reading of archive control stream once listed descriptors have been read so further messages are not missed.
    • ๐Ÿ‘Œ Improve reliability and precision of ReplayMerge.
    • โšก๏ธ Update session-id in catalog entries when an archive recording is extended.
    • โž• Add 'group' URI param to indicate if receiver group semantics, e.g. multicast NAK semantics, can be applied to Multi-Destination-Cast.
    • ๐ŸŒฒ More efficient and less allocating IP address dissection in logging agent.
    • ๐Ÿ”„ Change Java RecordingReader and CatalogTool so they can read active recordings.
    • ๐Ÿ‘Œ Improve handling of thread interrupt in Java client and archive client.
    • โž• Add INVOKER option and config check to C media driver.
    • โž• Add Java client Aeron.Context.awaitingIdleStrategy() configuration option for what to use when making a synchronous call to the driver.
    • โž• Add log started event with timestamp when logging is enabled.
    • โž• Add cncVersion to configuration print on driver start.
    • ๐Ÿ›  Fix potential out of bounds access for bytes received update in C media driver.
    • ๐Ÿ’… Upgrade to Checkstyle 8.24.
    • โฌ†๏ธ Upgrade to Mockito 3.1.0.
    • โฌ†๏ธ Upgrade to javadoc-links 4.1.2.
    • โฌ†๏ธ Upgrade to Gradle 5.6.2.
    • โฌ†๏ธ Upgrade to build-scan 2.4.2.
    • โฌ†๏ธ Upgrade to SBE 1.13.3.
    • โฌ†๏ธ Upgrade to Agrona 1.0.8.

    Java binaries can be found here...

  • v1.21.2 Changes

    August 19, 2019
    • โž• Add client close handler to C++ client which can be used to detect close after client/driver timeouts for cleanup. It will be called on any client close including the shared pointer going out of scope and will be called only once.
    • Try to call all the unavailable handlers in Java and C++ clients regardless of how the client gets closed, especially in the case of timeouts.
    • โž• Add addition relevant fields to Image.toString() method for debugging.
    • ๐ŸŒฒ Correct log position in some cluster event messages which had the potential to be wrong.
    • โฌ†๏ธ Upgrade to SBE 1.13.2.

    Java binaries can be found here...

  • v1.21.1 Changes

    August 14, 2019
    • Enable timestamping of sequenced events in cluster at greater precision than milliseconds.
    • Avoid seg faults by not incrementing error counters when starvation timeouts occur.
    • โœ… Check for thread interrupt in spin loops so agents can be interrupted and tests can abort more cleanly.
    • โฑ Coordinate agent shutdown in the Archive on timeout for a more clean shutdown.
    • Detect timeouts due to resource starvation in Archive and Cluster and terminate to avoid seg faults.
    • ๐Ÿ‘ Allow the setting of an Aeron client in the Archive without an invoker.
    • โฌ†๏ธ Upgrade to javadoc-links 3.8.4.
    • โฌ†๏ธ Upgrade to SBE 1.13.1.
    • โฌ†๏ธ Upgrade to Agrona 1.0.7.

    Java binaries can be found here...

  • v1.21.0 Changes

    August 02, 2019
    • Complete work on IPC messages from services and reliable timers for Cluster.
    • Simplify logic in Image.controlledPeek methods and correct return value on closed on Java client.
    • ๐Ÿ‘Œ Support OSGi manifest headers. PR #690.
    • โž• Add missing Javadoc to public classes.
    • โž• Add AeronException.Category enum to Aeron exceptions for Java and C++ by separating warn, error, and fatal categories of exception.
    • ๐Ÿšš Ability to add and remove close handlers on Java Aeron client to avoid use after close and segfaults due to unmapped files.
    • Check for Aeron client close in Archive due to starvation to avoid segfaults.
    • โœ‚ Remove layer of indirection from Subscription to Image in C++ client to help avoid cache misses.
    • โšก๏ธ Update licence references to https.
    • โฌ†๏ธ Upgrade to Mockito 3.0.0.
    • ๐Ÿ’… Upgrade to Checkstyle 8.23.
    • โฌ†๏ธ Upgrade to javadoc-links 3.8.1.
    • โฌ†๏ธ Upgrade to Gradle 5.5.1.
    • โฌ†๏ธ Upgrade to SBE 1.13.0.
    • โฌ†๏ธ Upgrade to Agrona 1.0.6.

    Java binaries can be found here...

  • v1.20.0 Changes

    July 12, 2019
    • โž• Add pre-touch option for memory mapped files in clients to fault in pages to reduce latency spikes on first cycle around log buffers.
    • ๐ŸŒฒ Rework C++ client to share log buffer mappings between publications and subscriptions when possible to reduce mapping costs.
    • Rework C++ client to manage images via shared_ptr to help avoid memory reclamation issues. Issue #467.
    • Rework management of C++ client resources to be more O(1) when reacting to events from the driver.
    • Set error handler on Aeron client in Archive client when set. PR #687.
    • Check for reentrant calls to Aeron client from C++ callbacks and call error handler if detected.
    • โž• Add watch option to Java AeronStat and separate out counter reader. PR #684.
    • Tighten up logic to avoid use of C++ Aeron client after close.
    • ๐ŸŽ Replace division operations with shifts where possible to improve performance on startup in Java implementation.
    • ๐Ÿ‘Œ Support adding and removing counters availability handlers after client connect and to support multiple handlers in Java and C++ clients.
    • โž• Add the ability to do archive replays bounded by a counter to Java and C++ implementations.
    • ๐Ÿ‘Œ Improve and expand Java and C++ samples.
    • ๐Ÿ Some fixes for the Windows native build which is still experimental.
    • โœ‚ Remove unused linger feature from flow control to reduce footprint and improve performance.
    • ๐Ÿ›  Fix concurrency issue with buffer cleaning which could result in a stream locking up and being in a permanent back-pressure state.
    • โž• Add stopAllReplays operation to the Archive which can be on a specific recording or wildcarded to all recordings.
    • Don't treat explicit client closes as timeouts. PR #681.
    • Limit resend window to half a term length to avoid unnecessary under runs.
    • โž• Add observed values in timeout exception messages. PR #680.
    • ๐ŸŽ Reduce allocation when using logging agent and improve its performance.
    • ๐Ÿ‘‰ Use more efficient clock implementations in C media driver.
    • ๐Ÿ‘‰ Use correct message encoder when sending a stopReplay to the archive. PR #676.
    • Correctly initialise send and clean positions on publications when a non-zero start is required in the C driver.
    • โž• Add semantic versioning to CnC files. Issue #624.
    • ๐Ÿ›  Fix Subscription::isConnected() in C++ client.
    • Many improvements to Cluster which is not yet GA.
    • โฌ†๏ธ Upgrade to Mockito 2.28.2.
    • โฌ†๏ธ Upgrade to javadoc-links 3.7.5.
    • ๐Ÿ’… Upgrade to Checkstyle 8.22.
    • โฌ†๏ธ Upgrade to Shadow 5.1.0.
    • โฌ†๏ธ Upgrade to SBE 1.12.8.
    • โฌ†๏ธ Upgrade to Agrona 1.0.3.

    Java binaries can be found here...