exonum v0.8 Release Notes
Release Date: 2018-05-31 // almost 6 years ago-
๐ฅ Breaking Changes
exonum
handle_commit
method inService
trait has been renamed toafter_commit
. (#715)๐
TimeoutAdjusterConfig
has been removed along with different timeout adjusters. Current behavior is similar to theDynamic
timeout adjuster and can be modified throughmin_propose_timeout
,max_propose_timeout
andpropose_timeout_threshold
fields in theConsensusConfig
. (#643)
Migration path:
Constant
timeout adjuster can be emulated by setting equalmin_propose_timeout
andmax_propose_timeout
values.- For
Dynamic
timeout adjuster simply movemin
,max
andthreshold
values intomin_propose_timeout
,max_propose_timeout
andpropose_timeout_threshold
correspondingly. There is no possibility to emulate
MovingAverage
now, soDynamic
should be used as the closest alternative.- Network connections are now encrypted using Noise Protocol. Nodes compiled with old version will not connect to the new ones. Therefore you need to update all node instances for the network to work. (#678)
storage::Error
constructor has been made private. (#689)ConsensusConfig::validate_configuration
method has been renamed to thewarn_if_nonoptimal
. (#690)
exonum-time
- ๐จ The service has been refactored and the following public structs has been
moved to separate modules:
TimeSchema
toexonum_time::schema
,TimeProvider
andMockTimeProvider
toexonum_time::time_provider
,ValidatorTime
toexonum_time::api
. (#604)
๐ New Features
exonum
๐ Private API now support CORS. (#675)
The
--public-allow-origin
and--private-allow-origin
parameters have been added to thefinalize
command. (#675)๐ IPv6 addressing is now supported. (#615)
Field
,CryptoHash
,StorageValue
andExonumJson
traits have been implemented forchrono::Duration
structure. (#653)before_commit
method has been added inService
trait. (#667) (#715)Field
,CryptoHash
,StorageKey
,StorageValue
andExonumJson
traits have been implemented forrust_decimal::Decimal
. (#671)๐ง Maintenance CLI command for node management has been added. Currently the only supported command is
clear-cache
which clears node message cache. (#676)StoredConfiguration
validation has been extended withtxs_block_limit
parameter check. (#690)A warning for non-optimal
StoredConfiguration::txs_block_limit
value has been added. (#690)Private api
/v1/network/
endpoint now returns core version in addition to service info. (#701)
exonum-timestamping
- โ Additional service example has been added along with frontend. (#646)
exonum-cryptocurrency-advanced
- Advanced cryptocurrency example becomes a public library (is published on crates.io). (#709)
๐ Bug Fixes
exonum
Already processed transactions are rejected now in
NodeHandler::handle_incoming_tx
method. (#642)๐ Fixed bug with shutdown requests handling. (#666)
๐ Fixed deserialization of the
MapProof
data structure. (#674)๐ Fixed a bug which prevented the node from reaching the actual round. (#680 #681)
๐ง exonum-configuration
- Error description has been added to the return value of the transactions. (#695)
exonum-time
- Error description has been added to the return value of the transactions. (#695)
exonum-cryptocurrency-advanced
- โก๏ธ Frontend has been updated to reflect latest backend changes. (#602 #611)
Internal Improvements
exonum
0๏ธโฃ Default implementation of
check
method was added toField
trait to reduce boilerplate. (#639)Metrics are now using
chrono::DateTime<Utc>
instead ofSystemTime
. (#620)
๐ง exonum-configuration
- Method
ProposeData::set_history_hash
has been removed. (#604)