1.20.0
- 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 JavaAeronStat
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...