Aeron v1.25.0 Release Notes

Release Date: 2020-01-12 // 12 days ago
    • 🐎 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...