Dragonboat Versions Save

A feature complete and high performance multi-group Raft library in Go.

v3.3.8

7 months ago

Dragonboat v3.3.8 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • fixed a tcp connection leak bug, thanks @wh-afra for fixing this issue.
  • upgraded a few dependencies.

v3.3.7

10 months ago

Dragonboat v3.3.7 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • fixed a bug in which state machines could be closed twice.

v3.3.6

1 year ago

Dragonboat v3.3.5 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • fixed a crash bug when waiting for an aborted snapshot to complete. thanks for @hulucc for reporting the bug.

v3.3.5

2 years ago

Dragonboat v3.3.5 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • reduced memory allocations
  • upgraded to a more recent version of golang.org/x/sys

v3.3.4

2 years ago

Dragonboat v3.3.4 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • fixed unreachable notification

v3.3.3

3 years ago

Dragonboat v3.3.3 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • fixed snapshot notification to always delay the SnapshotStatus message

v3.3.2

3 years ago

Dragonboat v3.3.2 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • switched to a more recent version of pebble

v3.3.1

3 years ago

Dragonboat v3.3.1 is a minor maintenance release. All v3.3 users are recommended to upgrade.

Improvements

  • fixed a transport issue that can cause unnecessary Raft elections.
  • fixed a resource leak issue when generating dummy snapshots for IOnDiskStateMachine instances.

Thanks for stffabi's contributions on resolving the above issues.

v3.3.0

3 years ago

Dragonboat v3.3 is a major release that comes with new features and improvements. All v3.2.x users are recommended to upgrade.

New features

  • Pebble, which is bidirectional compatible with RocksDB, has been made the default engine for storing Raft Logs. RocksDB and CGO are no longer required.
  • Added the ability to slow down incoming proposals when the Raft Logs engine is highly loaded.
  • Added the option to get notified when proposals and config changes are committed.
  • Added a gossip service to allow NodeHosts to use dynamically assigned IP addresses as RaftAddress.
  • Added the ability to better control memory footprint.
  • Added ARM64/Linux as a new targeted platform.

Note that Pebble provides bidirectional compatibility with RocksDB v6.2.1. Existing Dragonboat applications can upgrade to v3.3 without any conversion unless a newer version of RocksDB was used. RocksDB v6.4.x has been briefly tested and it seems to be compatible with Pebble as well.

Improvements

  • Optimized the read index implementation.
  • Reduced LogDB restart delays.
  • Made LogDB configurations accessible programmatically.
  • Added protobuf workaround to allow Dragonboat and etcd to be used in the same project.
  • Fixed a few data race issues.
  • Fixed a potential Raft election deadlock issue when nodes are highly loaded.
  • Allow incoming proposals to be rate limited when LogDB is busy.
  • Simplified many aspects of the library.

Breaking changes

  • The signature of config.LogDBFactoryFunc has been changed. Your application is not affected unless it uses a custom LogDB implementation.
  • Due to lack of user interests, C++ binding is no longer supported.
  • LevelDB based LogDB is no longer supported.
  • NodeHostConfig's FS and SystemTickerPrecision fields have been moved into NodeHostConfig.Expert.

v3.2.8

3 years ago

Dragonboat v3.2.8 is a minor maintenance release.

Improvements

  • upgraded to github.com/lni/goutils v1.2.2
  • fixed a potential data race
  • updated dummy certificates used in unit tests to avoid issues with Go1.5