dragonboat v3.2 Release Notes

Release Date: 2020-03-05 // about 1 month ago
  • ⬆️ Dragonboat v3.2 comes with new features and improvements. All v3.1.x users are recommended to upgrade.

    🆕 New features

    • ➕ Added snappy compression support for Raft entires and snapshots.
    • ➕ Added experimental witness support.
    • ➕ Added new API to allow LogDB compaction to be manually triggered.
    • ➕ Added event listener support to allow users to be notified for certain Raft events.
    • ➕ Added system event listener support to allow users to be notified for certain system events.
    • ➕ Added Raft related metrics to exported.
    • ➕ Added rate limit support to control the maximum bandwidth used for snapshot streaming.
    • ⚡️ Updated the C++ binding to cover all v3.1 features. Thanks JasonYuchen for working on that.
    • ➕ Added a virtual filesystem layer to support more filesystem related tests.
    • ➕ Added experimental Windows and FreeBSD support.

    👌 Improvements

    • ✂ Removed the restriction on max proposal payload size.
    • 👍 Re-enabled the range delete support in LogDB.
    • 👍 Better handling of concurrent snapshot streams.
    • 🐎 Extensive testing have been done on a high performance native Go KV store called Pebble.
    • 0️⃣ TolerateCorruptedTailRecords is now the default WAL recovery mode in the RocksDB based LogDB.

    💥 Breaking changes

    There is no breaking change for regular users. However,

    • If you have built customized transport module implementing the raftio.IRaftRPC interface, there is minor change to the config.RaftRPCFactoryFunc type. See github.com/lni/dragoboat/config/config.go for details.
    • The default transport module has been updated, it is no longer compatible with earlier versions of dragonboat.
    • The default LogDB data format is no longer backward compactible with v3.1 or earlier.

    Other changes

    • LevelDB support has been marked as depreciated. It will be removed from dragonboat in the next major release.

Previous changes from v3.1.5

  • 🚀 Dragonboat v3.1.5 is a minor maintenance release.

    👌 Improvements

    • 👍 allow RocksDB Raft Log settings to be tuned by users