Skip to content

Releases: relab/hotstuff

Legacy API

27 Oct 11:02

Choose a tag to compare

Legacy API Pre-release
Pre-release

Legacy API Release

This release is made to retain an easy way to access the legacy API via the v0.5.0 version tag. We will keep this legacy API (essentially the module system) in the master branch and switch to main as the default branch based on the new package-restructuring branch and continue development on top of that work.

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

06 Dec 12:37

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

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

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

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

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

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

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.