Skip to content

Releases: relab/hotstuff

v0.4.0

06 Dec 12:37
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

This release includes bug fixes and improvements to several modules.

Highlights:

  • add an implementation of the Twins strategy for testing protocol safety
  • the event loop has been improved
  • logging package moved out of internal
  • log levels can now be set on a per-package basis

API changes (generated by gorelease)

github.com/relab/hotstuff/consensus

incompatible changes

Executor.Exec: changed from func(Command) to func(*Block)
Executor: changed from Executor to Executor
ForkHandler.Fork: changed from func(Command) to func(*Block)
ForkHandler: changed from ForkHandler to ForkHandler

compatible changes

(*OptionsBuilder).SetShouldVerifyVotesSync: added
ExecutorExt: added
ForkHandlerExt: added
Modules.EventLoop: added
Options.ShouldVerifyVotesSync: added

github.com/relab/hotstuff/consensus/byzantine

compatible changes

Byzantine: added

github.com/relab/hotstuff/eventloop

incompatible changes

(*EventLoop).RegisterAsyncHandler: removed
(*EventLoop).RegisterAsyncObserver: removed

compatible changes

(*EventLoop).Tick: added

github.com/relab/hotstuff/logging

compatible changes

package added

github.com/relab/hotstuff/modules

compatible changes

GetModule: added
Modules.EventLoop: added
RegisterModule: added

github.com/relab/hotstuff/synchronizer

compatible changes

(*Synchronizer).OnLocalTimeout: added

github.com/relab/hotstuff/twins

compatible changes

package added

Documentation update

06 Sep 11:59
Compare
Choose a tag to compare
Documentation update Pre-release
Pre-release
v0.3.1

plotting: make it possible to create CSV files

v0.3.0

27 Aug 11:30
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

This release incorporates months of work on updating the experimentation workflow for hotstuff. Now we have a brand new tool that can deploy and execute experiments on remote servers and collect results -- all written in Go!

This release also introduces a new module system, an implementation of a simplified hotstuff protocol, and other improvements.

Some of the APIs are now maturing, while many are changed since the last release. I have more experience with the system as a whole now, so I hope the APIs will remain somewhat stable in the future.

Pre-release v0.2.2

17 Feb 13:46
Compare
Choose a tag to compare
Pre-release v0.2.2 Pre-release
Pre-release

This release fixes some spelling mistakes in the documentation.

Pre-release v0.2.1

17 Feb 13:40
Compare
Choose a tag to compare
Pre-release v0.2.1 Pre-release
Pre-release

This release includes bug fixes and documentation updates.

Modular version

12 Feb 12:03
Compare
Choose a tag to compare
Modular version Pre-release
Pre-release

This is the first pre-release of a modular relab/hotstuff.

Pre-rewrite

12 Feb 12:01
Compare
Choose a tag to compare
Pre-rewrite Pre-release
Pre-release

This is the old version of relab/hotstuff before it was rewritten with modularity in mind.