- No longer scan the raft log when becoming a leader. (tikv#100)
- Added the ability to skip broadcast commit at runtime. (tikv#115)
- Documented all public API. (tikv#87)
- Refined a few points in the API in preparation for more work. (tikv#102)
- Configuration logic was moved into its own module. (tikv#91)
- Added
fail-rs
based tests. (tikv#114) - Added benchmarking using
criterion
. (tikv#110) - Expanded tested examples. (tikv#118)
- Improved documentation. (tikv#106)
- Refined the CI scripts to ensure strict linting. (tikv#117)
- Tests now output logs. Configure it with
RUST_LOG=raft=info
. (tikv#103) - Eased the
log
dependency. (tikv#116) - Formatting updates. (tikv#104)
- Updated some dependencies. (tikv#97)
- Use the clippy preview from Rustup. (tikv#95)
- Adopted a Code of Conduct. (tikv#107)
- Bugfix: Reset leader_id when becoming precandidate to resolve
prevote
andcheck_quorum
compatability (tikv#84) - Bugfix: Becoming a precandidate should reset votes (tikv#83)
- Fixed some typos, improve variable naming, and other small documentation fixes (tikv#77, tikv#79, tikv#78, tikv#80)
- Implemented
Default
forConfig
and fleshed out an example (tikv#81) - Improved our changelog format (tikv#85)
- Removed custom Rustfmt configuration (tikv#86)
- Supported configuring the election timeout range (tikv#63).
- Kept compatible with rust-protobuf 2.0 (tikv#64, tikv#75)
- Made Raft now
Send
(tikv#67) - Added documentation examples (tikv#69)
- Fixed a deadlock in the prevote migration process (tikv#42)
- Deprecated sync-log and add context (tikv#59)
- Fixed learner isolation bug (tikv#58)
- Ported several tests (tikv#54, tikv#41)
- Added examples (tikv#44)
- Added fxhash (tikv#48)
- initial release