Release v0.6.0
⭐ New Features
- [Feature]: Add membership change mechanism for CUPR consensus Protocol (Read design doc #306 for more details)
- [Feature]: Implement cluster server and client #464, #465
- [Feature]: Implement the graceful shutdown feature.
- [Feature]: Implement the xlinctl to communicate with the xline cluster. Currently, the xlinectl covers functionalities:
🪲 Bug Fixes
- [Bug]: benchmark client cannot connect to server #462
- [Bug]: remove stop in simulation tests #458
- [Bug]: execute out of order #454
- [Bug]: check the password on leader #435
- [Bug]: remove recovery of uncommitted pool #419
- [Bug]: CURP TLA+ quorum size calculation & property check #418
- [Bug]: fix propose doesn't handle SyncedError #407
🛠️ Refactor
- [Refactor]: reduce code duplication #407
- [Refactor]: Take into account the interleaving states of a request broadcast in TLA+ #429
- [Refactor]: Refine the bench client implementation #496
- [Refactor]: Simplified the error handling logic #480
- [Refactor]: Improve readability of bootstrap errors #432
- [Refactor]: Imporve command serialization in execution and after-sync #421, #422
❤️ Contributors
Note:
Known issue: If the cluster is shut down immediately after adding a member, the leader node may not shut down properly, continuously trying to send entries to the shut-down new node. Read issue #526 for more details.