Aeron v1.20.0 Release Notes

Release Date: 2019-07-12 // almost 5 years ago
    • โž• 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...