exonum v1.0.0 Release Notes
Release Date: 2020-03-31 // almost 5 years ago-
๐ฅ Breaking Changes
exonum-api
ApiManagerConfig
was made non-exhaustive. (#1834)
๐ New Features
exonum-node
- Exonum nodes now gracefully terminate on receiving SIGINT, SIGTERM
๐ and SIGQUIT signals (on Unix platforms), or actrl + c
break (on Windows).
๐ฆ These signal handlers may be switched off by usingNodeBuilder::disable_signals()
.
(#1834)
๐ Bug Fixes
exonum-cli
- ๐ Fixed bug in
run-dev
command. Previously, using the existing configuration
files inblockchain-path
led to an error. (#1827)
Previous changes from v1.0.0-rc.3
-
๐ฅ Breaking changes
exonum
create_patch
andcommit
methods inBlockchainMut
have been generalized
๐ to support block skipping (see New Features section for more details). (#1820)
exonum-cli
run-dev
command has been reworked. It now does not clear database files
after the launch.artifacts-dir
parameter has been renamed to
๐งblockchain-path
. Configuration files are now stored insideconfig
subdirectory. (#1822)
exonum-supervisor
MigrationRequest
was made non-exhaustive. (#1823)POST
endpoints now expect JSON-encoded input rather than
hex-encoded Protobuf. (#1823)๐
supervisor_name
method was removed. UseSupervisor::NAME
instead. (#1823)๐ New Features
exonum-cli
- Several constants in the
command
module became public. (#1821)
exonum-node
Exonum nodes can now customize how they create block proposals. This can be
๐ used to whitelist / blacklist transaction authors or services, prioritize
transactions by advanced criteria, implement complex rate limiting, etc.
The functionality is available viaproposer
module. (#1820)Exonum nodes can now skip block generation at a certain epoch of the consensus
algorithm. This can be used to keep a "heartbeat" when the network load is low
without bloating the storage used by the nodes. (#1820)exonum-rust-runtime
ServiceApiScope::pb_endpoint_mut
allows to accept Protobuf-encoded messages
with the request content type set toapplication/octet-stream
in addition
to JSON-encoded messages. (#1829)
โ exonum-testkit
- โ Testkit can send Protobuf-encoded payloads to POST endpoints. (#1831)
๐ Bug Fixes
exonum-api
- ๐ Introduced a workaround for the HTTP restart hanging up on Windows. (#1828)
exonum-node
- ๐ Fixed a bug when a node created a propose with incorrect transactions.
๐ฒ This could lead to consensus failure or weird error messages in the node log.
(#1820)
exonum-rust-runtime
- ๐ Fixed updating HTTP endpoints if the Rust runtime does not contain
active services during node start. (#1831)
exonum-supervisor
- ๐
DeployRequest
andMigrationRequest
now have cryptographic seeds
to retry the same request multiple times. (#1823)