v2.0.0 release
Bug fixes:
- Peer's next log index overflow (#227).
- Config loss caused by the restart during joining cluster (#232).
- Missing configuration log during snapshot creation (#244).
- Incorrect log index in
get_peer_info
(#246). - Duplicate
save_state
call during vote (#262). - New member's target priority issue during catch-up (#270).
- Missing role change during pre-vote (#277).
- Memory leak caused by internal commit data (#278, #296).
- Debugging log overflows (#289, #290, #363).
- Leadership validity checking (#291).
- Race between term update and client request (#294).
- Missing commit results for auto-forwarding in async mode (#350).
- Disruptive leader election during a leadership takeover request (#357).
- Segfault during snapshot installation (#373).
- Missing
RemovedFromCluster
callback (#382).
Features:
- Background async snapshot IO (#228).
- New APIs to pause/resume state machine execution (#234).
- Callbacks for tracking lifecycles of ASIO worker threads (#245).
- Full consensus mode (#248).
- Selective quorum support (#263).
- Extended
append_entries
API (#273). - Parallel log appending (#283).
- New API to create a snapshot manually (#360).
- Custom resolver (#361).
- Automatic timestamp generation for each log (#368).
- Randomized snapshot creation timing (#372).