Aeron v1.20.0 Release NotesRelease Date: 2019-07-12 // about 3 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_ptrto 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
watchoption to Java
AeronStatand 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
stopAllReplaysoperation 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
stopReplayto 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...