**
Special thanks to external contributors on this release:
Friendly reminder, we have a bug bounty program.
-
CLI/RPC/Config
- [evidence] #4959 Add json tags to
DuplicateVoteEvidence
- [light] #4946
tendermint lite
cmd has been renamed totendermint light
- [privval] #4582
round
in private_validator_state.json is no longer a string in json it is now a number - [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)
- [evidence] #4959 Add json tags to
-
Apps
- [abci] #4704 Add ABCI methods
ListSnapshots
,LoadSnapshotChunk
,OfferSnapshot
, andApplySnapshotChunk
for state sync snapshots.ABCIVersion
bumped to 0.17.0. - [abci] #4989
Proof
withinResponseQuery
has been renamed toProofOps
- [abci]
CheckTxType
Protobuf enum names are now uppercase, to follow Protobuf style guide
- [abci] #4704 Add ABCI methods
-
P2P Protocol
- [blockchain] #4637 Migrate blockchain reactor(s) to Protobuf encoding
- [evidence] #4949 Migrate evidence reactor to Protobuf encoding
- [mempool] #4940 Migrate mempool from to Protobuf encoding
- [p2p/pex] #4973 Migrate
p2p/pex
reactor to Protobuf encoding - [statesync] #4943 Migrate state sync reactor to Protobuf encoding
-
Blockchain Protocol
- [evidence] #4780 Cap evidence to an absolute number (@cmwaters)
- Add
max_num
to consensus evidence parameters (default: 50 items).
- Add
- [evidence] #4725 Remove
Pubkey
fromDuplicateVoteEvidence
- [state] #4845 Include
BeginBlock#Events
,EndBlock#Events
,DeliverTx#Events
,GasWanted
andGasUsed
intoLastResultsHash
(@melekes) - [types] #4792 Sort validators by voting power to enable faster commit verification (@melekes)
- [evidence] #4780 Cap evidence to an absolute number (@cmwaters)
-
On-disk serialization
- [state] #4679 Migrate state module to Protobuf encoding
BlockStoreStateJSON
is nowBlockStoreState
and is encoded as binary in the database
- [store] #4778 Migrate store module to Protobuf encoding
- [state] #4679 Migrate state module to Protobuf encoding
-
Light client, private validator
- [light] #4964 Migrate light module migration to Protobuf encoding
- [privval] #4985 Migrate
privval
module to Protobuf encoding
-
Go API
- [light] #4946 Rename
lite2
pkg tolight
. Removelite
implementation. - [crypto] #4721 Remove
SimpleHashFromMap()
andSimpleProofsFromMap()
(@erikgrinaker) - [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
- The key has been moved to the Cosmos-SDK (https://github.com/cosmos/cosmos-sdk/blob/master/crypto/types/multisig/multisignature.go)
- [crypto] #4989 Remove
Simple
prefixes fromSimpleProof
,SimpleValueOp
&SimpleProofNode
.merkle.Proof
has been renamed toProofOps
.- Protobuf messages
Proof
&ProofOp
has been moved toproto/crypto/merkle
SimpleHashFromByteSlices
has been renamed toHashFromByteSlices
SimpleHashFromByteSlicesIterative
has been renamed toHashFromByteSlicesIterative
SimpleProofsFromByteSlices
has been renamed toProofsFromByteSlices
- [crypto] #4941 Remove suffixes from all keys.
- ed25519: type
PrivKeyEd25519
is nowPrivKey
- ed25519: type
PubKeyEd25519
is nowPubKey
- secp256k1: type
PrivKeySecp256k1
is nowPrivKey
- secp256k1: type
PubKeySecp256k1
is nowPubKey
- sr25519: type
PrivKeySr25519
is nowPrivKey
- sr25519: type
PubKeySr25519
is nowPubKey
- multisig: type
PubKeyMultisigThreshold
is nowPubKey
- ed25519: type
- [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
- [proto] #5025 All proto files have been moved to
/proto
directory.- Using the recommended the file layout from buf, see here for more info
- [state] #4679
TxResult
is a Protobuf type defined inabci
types directory - [types] #4939
SignedMsgType
has moved to a Protobuf enum types - [types] #4962
ConsensusParams
,BlockParams
,EvidenceParams
,ValidatorParams
&HashedParams
are now Protobuf types - [types] #4852 Vote & Proposal
SignBytes
is now funcVoteSignBytes
&ProposalSignBytes
- [types] #4798 Simplify
VerifyCommitTrusting
func + remove extra validation (@melekes) - [types] #4845 Remove
ABCIResult
- [types] #5029 Rename all values from
PartsHeader
toPartSetHeader
to have consistency - [types] #4939
Total
inParts
&PartSetHeader
has been changed from aint
to auint32
- [types] #4939 Vote:
ValidatorIndex
&Round
are nowint32
- [types] #4939 Proposal:
POLRound
&Round
are nowint32
- [types] #4939 Block:
Round
is nowint32
- [consensus] #4582 RoundState:
Round
,LockedRound
&CommitRound
are nowint32
- [consensus] #4582 HeightVoteSet:
round
is nowint32
- [light] #4946 Rename
- [abci] #5031 Add
AppVersion
to consensus parameters (@james-ray)- ... making it possible to update your ABCI application version via
EndBlock
response
- ... making it possible to update your ABCI application version via
- [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.
- [consensus] #4578 Attempt to repair the consensus WAL file (
data/cs.wal/wal
) automatically in case of corruption (@alessio)- The original WAL file will be backed up to
data/cs.wal/wal.CORRUPTED
.
- The original WAL file will be backed up to
- [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
replacesKV.Pair
- [types] #4905 Add
ValidateBasic
to validator and validator set (@cmwaters) - [rpc] #4968 JSON encoding is now handled by
libs/json
, not Amino - [mempool] Add RemoveTxByKey() exported function for custom mempool cleaning (@p4u)
- [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) - [proxy] #5078 Fix a bug, where TM does not exit when ABCI app crashes (@melekes)