v0.33.6
**
Special thanks to external contributors on this release:
Friendly reminder, we have a bug bounty program.
BREAKING CHANGES:
-
CLI/RPC/Config
- [consensus] #4582 RoundState:
Round
, LockedRound
& CommitRound
are now int32
- [consensus] #4582 HeightVoteSet:
round
is now int32
- [evidence] #4725 Remove
Pubkey
from DuplicateVoteEvidence
- [evidence] #4959 Add json tags to
DuplicateVoteEvidence
- [crypto] #4940 All keys have become
[]byte
instead of [<size>]byte
. The byte method no longer returns the marshaled value but just the []byte
form of the data.
- [crypto] \4988 Removal of key type multisig
- [crypto] #4989 Remove
Simple
prefixes from SimpleProof
, SimpleValueOp
& SimpleProofNode
.
merkle.Proof
has been renamed to ProofOps
.
- Protobuf messages
Proof
& ProofOp
has been moved to proto/crypto/merkle
SimpleHashFromByteSlices
has been renamed to HashFromByteSlices
SimpleHashFromByteSlicesIterative
has been renamed to HashFromByteSlicesIterative
SimpleProofsFromByteSlices
has been renamed to ProofsFromByteSlices
- [crypto] #4941 Remove suffixes from all keys.
- ed25519: type
PrivKeyEd25519
is now PrivKey
- ed25519: type
PubKeyEd25519
is now PubKey
- secp256k1: type
PrivKeySecp256k1
is now PrivKey
- secp256k1: type
PubKeySecp256k1
is now PubKey
- sr25519: type
PrivKeySr25519
is now PrivKey
- sr25519: type
PubKeySr25519
is now PubKey
- multisig: type
PubKeyMultisigThreshold
is now PubKey
- [light] #4946 Rename
lite2
pkg to light
, the lite cmd has also been renamed to light
. Remove lite
implementation.
- [rpc] #4792
/validators
are now sorted by voting power (@melekes)
- [rpc] #4937 Return an error when
page
pagination param is 0 in /validators
, tx_search
(@melekes)
- [rpc] #4968 JSON encoding is now handled by
libs/json
, not Amino
- [privval] #4582
round
in private_validator_state.json is no longer a string in json it is now a number.
- [proto] #5025 All proto files have been moved to
/proto
directory.
- [state] #4679
TxResult
is a Protobuf type defined in abci
types directory
- [types] #4939
SignedMsgType
has moved to a Protobuf enum types
- [types] #4939
Total
in Parts
& PartSetHeader
has been changed from a int
to a uint32
- [types] #4939 Vote:
ValidatorIndex
& Round
are now int32
- [types] #4939 Proposal:
POLRound
& Round
are now int32
- [types] #4939 Block:
Round
is now int32
- [types] #4962
ConsensusParams
, BlockParams
, EvidenceParams
, ValidatorParams
& HashedParams
are now Protobuf types
- [types] #4852 Vote & Proposal
SignBytes
is now func VoteSignBytes
& ProposalSignBytes
- [types] #5029 Rename all values from
PartsHeader
to PartSetHeader
to have consistency
-
Apps
- [abci] #4704 Add ABCI methods
ListSnapshots
, LoadSnapshotChunk
, OfferSnapshot
, and ApplySnapshotChunk
for state sync snapshots. ABCIVersion
bumped to 0.17.0.
- [abci] #4989
Proof
within ResponseQuery
has been renamed to ProofOps
-
P2P Protocol
-
Go API
- [crypto] #4721 Remove
SimpleHashFromMap()
and SimpleProofsFromMap()
(@erikgrinaker)
- [libs] #4831 Remove
Bech32
pkg from Tendermint. This pkg now lives in the cosmos-sdk
- [rpc/client] #4947
Validators
, TxSearch
page
/per_page
params become pointers (@melekes)
UnconfirmedTxs
limit
param is a pointer
- [types] #4798 Simplify
VerifyCommitTrusting
func + remove extra validation (@melekes)
- [types] #4845 Remove
ABCIResult
-
Blockchain Protocol
- [blockchain] #4637 Migrate blockchain reactor(s) to Protobuf encoding
- [evidence] #4780 Cap evidence to an absolute number (@cmwaters)
Add
max_num
to consensus evidence parameters (default: 50 items).
- [evidence] #4949 Migrate evidence reactor to Protobuf encoding
- [mempool] #4940 Migrate mempool from to Protobuf encoding
- [light] #4964 Migrate light reactor migration to Protobuf encoding
- [p2p/pex] #4973 Migrate
p2p/pex
reactor to Protobuf encoding
- [privval] #4985 Migrate
privval
reactor to Protobuf encoding
- [statesync] #4943 Migrate statesync reactor to Protobuf encoding
- [state] #4845 Include BeginBlock#Events, EndBlock#Events, DeliverTx#Events, GasWanted and GasUsed into
LastResultsHash
(@melekes)
- [state] #4679 Migrate state reactor to Protobuf encoding
BlockStoreStateJSON
is now BlockStoreState
and is encoded as binary in the database
- [store] #4778 Migrate store module to Protobuf encoding
- [types] #4792 Sort validators by voting power to enable faster commit verification (@melekes)
FEATURES:
- [abci] #5031 Add
AppVersion
to consensus parameters (@james-ray)
... making it possible to update your ABCI application version via EndBlock
response
- [evidence] #4532 Handle evidence from light clients (@melekes)
- [evidence] #4821 Amnesia evidence can be detected, verified and committed (@cmwaters)
- [light] #4532 Submit conflicting headers, if any, to a full node & all witnesses (@melekes)
- [p2p] #4981 Expose
SaveAs
func on NodeKey (@melekes)
- [rpc] #4532 Support
BlockByHash
query (@fedekunze)
- [rpc] #4979 Support EXISTS operator in
/tx_search
query (@melekes)
- [rpc] #5017 Add
/check_tx
endpoint to check transactions without executing them or adding them to the mempool (@melekes)
- [statesync] Add state sync support, where a new node can be rapidly bootstrapped by fetching state snapshots from peers instead of replaying blocks. See the
[statesync]
config section.
IMPROVEMENTS:
- [consensus] #4578 Attempt to repair the consensus WAL file (
data/cs.wal/wal
) automatically in case of corruption (@alessio)
- [evidence] #4722 Improved evidence db (@cmwaters)
- [evidence] #4839 Reject duplicate evidence from being proposed (@cmwaters)
- [evidence] #4892 Remove redundant header from phantom validator evidence (@cmwaters)
- [light] #4935 Fetch and compare a new header with witnesses in parallel (@melekes)
- [light] #4929 compare header w/ witnesses only when doing bisection (@melekes)
- [light] #4916 validate basic for inbound validator sets and headers before further processing them (@cmwaters)
- [p2p/conn] #4795 Return err on
signChallenge()
instead of panic
- [state] #4781 Export
InitStateVersion
for the initial state version (@erikgrinaker)
- [txindex] #4466 Allow to index an event at runtime (@favadi)
abci.EventAttribute
replaces KV.Pair
- [types] #4905 Add ValidateBasic to validator and validator set (@cmwaters)
The original WAL file will be backed up to
data/cs.wal/wal.CORRUPTED
.
BUG FIXES:
- [blockchain/v2] Correctly set block store base in status responses (@erikgrinaker)
- [consensus] #4895 Cache the address of the validator to reduce querying a remote KMS (@joe-bowman)
- [consensus] #4970 Stricter on
LastCommitRound
check (@cuonglm)