exonum v0.5 Release Notes
Release Date: 2018-01-30 // about 6 years ago-
๐ฅ Breaking Changes
- The order of bytes and bits in the
DBKey
keys ofProofMapIndex
became consistent. (#419)
The change influences how Merkle Patricia trees are built for
ProofMapIndex
: the bits in each byte of aDBKey
are now enumerated from the least significant bit (LSB) to the most significant bit (MSB), compared to MSB-to-LSB ordering used before. Note: this change will break old storages using map proofs.The
Database
trait is simplified: it is no longer required to implement state-sharingclone
method. Instead, themerge
method now takes a shared reference toself
. (#422)message!
andencoding_struct!
no longer require manualSIZE
and offset specification. (#413)๐
from_raw(raw: RawMessage)
method is moved to theMessage
trait. To migrate, adduse exonum::messages::Message
. (#427)๐ Changed iterators over
Patch
andChanges
data into custom types instead of standard collection iterators. (#393)
<!-- spell-checker:disable -->
- ๐ Fixed typo in
SparceListIndexKeys
andSparceListIndexValues
. (#398)
<!-- spell-checker:enable -->
โ Removed default
state_hash
implementation in theService
trait. (#399)โ Removed
info
method from theTransaction
. (#402)Replaced config param
timeout_events_capacity
withinternal_events_capacity
. (#388)The
Transaction
trait now inherits fromExonumJson
. (#402)๐ Renamed
DBKey
toProofPath
and moved a part of its functionality to theBitsRange
trait. (#420)
๐ New Features
- โ Added
patch
method to theFork
structure. (#393) - โ Added a public
healthcheck
endpoint. (#405) - โ Added serialization support of floating point types through special wrapper
(
F32
andF64
). This feature is hidden behindfloat_serialize
gate. Note: special values (Infinity and NaN) aren't supported. (#384) - Added a possibility to set maximum message size (
pub max_message_len
field inConsensusConfig
). (#426) - โ Added support for CORS. (#406)
- โ Added
run-dev
command that performs a simplified node launch for testing purposes. (#423)
๐ Bug Fixes
- ๐ Fixed consensus on the threshold of 1/3 sleeping validators. (#388)
- ๐ Fixed a bunch of inconsistencies and mistakes in the docs. (#439)
- ๐ Fixed a bug with message header validation. (#430)
Internal Improvements
- โช The list of peer connections is now restored to the latest state after the process is restarted. (#378)
- โก๏ธ Log dependency was updated to 0.4, which can cause issues with the previous versions. (#433)
- ๐ Better error reporting for configs in the
.toml
format. (#429)
- The order of bytes and bits in the