Skip to content

Latest commit

 

History

History
91 lines (76 loc) · 6.18 KB

CHANGELOG.md

File metadata and controls

91 lines (76 loc) · 6.18 KB

0.6.0 - 2021-06-16

  • Joint Consensus became a stable feature (#379, #380, #382, #383, #385, #386, #411)
  • Ported aggresive flow control from etcd/raft (#354)
  • Introduced group commit to force geo replication safety (#359)
  • Harden read index (#355, #363)
  • Support limiting uncommited logs (#398)
  • Support asynchronous ready (#403, #410, #417, #433)
  • Fast log append rejection (#367)
  • bytes::Bytes is used for protos if feature protobuf-codec is enabled (by default) (#438)
  • Switched to thiserror (#435)
  • Implemented committed entries pagination (#440)

0.6.0-alpha - 2019-07-24

  • Protos now is a separate crate (tikv#247)
  • raft-rs is rust-2018 compatible (tikv#184)
  • Optional support for batch MsgAppend (tikv#179)
  • Harden follower read (tikv#220)
  • Migrate to slog (tikv#185)
  • Several code refactor and API clean up
  • Optional support for prost

0.5.0 - 2019-02-11

  • Introduced an experimental Joint Consensus based arbitrary membership change feature. (tikv#101)
  • Harmonized protobuf dependency to match important downstreams. (tikv#181)
  • Unified the Progress collections inside ProgressSet. (tikv#108)
  • Raft::new() now returns a Result. (tikv#122)
  • Removed the Progress.is_learner field. Check via function in ProgressSet instead. (tikv#119)
  • Added Appvevor. Added then removed bors. (tikv#137, tikv#134)
  • Introduced getters and setters for various Ready fields. (tikv#120)
  • Reduced memory allocation on reset. (tikv#130)
  • Added issue templates, more links. (tikv#133, tikv#126)
  • Moved poll and quorum checking functionality into ProgressSet. (tikv#121)
  • The leader is now trivially in the replicate state. (tikv#146)
  • Fixed a problem with lease based read-only requests interacting with check_quorum wrong. (tikv#141)
  • Corrected the single_mem_node example. (tikv#162)
  • Fixed typos. (tikv#159)
  • Adopted Hashbrown over FxHash. (tikv#160)
  • Corrected learner checking in handle_transfer_leader. (tikv#165)
  • Resolved some lints (tikv#174, tikv#168, tikv#142, tikv#124)
  • Fixed uses of #[feature(_)] so that we can build on stable cleanly. (tikv#180)

0.4.0 - 2018-09-18

  • 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)

0.3.1 - 2018-07-10

  • Bugfix: Reset leader_id when becoming precandidate to resolve prevote and check_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 for Config and fleshed out an example (tikv#81)
  • Improved our changelog format (tikv#85)
  • Removed custom Rustfmt configuration (tikv#86)

0.3.0 - 2018-06-07

  • 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)

0.2.0 - 2018-05-14

0.1.0 - 2018-02-26

  • initial release