**
Special thanks to external contributors on this release:
Friendly reminder, we have a bug bounty program.
-
CLI/RPC/Config
- [evidence] #4725 Remove
Pubkey
from DuplicateVoteEvidence - [rpc] #4792
/validators
are now sorted by voting power (@melekes)
- [evidence] #4725 Remove
-
Apps
- [abci] #4704 Add ABCI methods
ListSnapshots
,LoadSnapshotChunk
,OfferSnapshot
, andApplySnapshotChunk
for state sync snapshots.ABCIVersion
bumped to 0.17.0.
- [abci] #4704 Add ABCI methods
-
P2P Protocol
-
Go API
- [crypto] #4721 Remove
SimpleHashFromMap()
andSimpleProofsFromMap()
(@erikgrinaker) - [privval] #4744 Remove deprecated
OldFilePV
(@melekes) - [mempool] #4759 Modify
Mempool#InitWAL
to return an error (@melekes) - [types] #4798 Simplify
VerifyCommitTrusting
func + remove extra validation (@melekes) - [libs] #4831 Remove
Bech32
pkg from Tendermint. This pkg now lives in the cosmos-sdk - [node] #4832
ConfigureRPC
returns an error (@melekes) - [rpc] #4836 Overhaul
lib
folder (@melekes) Move lib/ folder to jsonrpc/. Rename: rpc package -> jsonrpc package rpcclient package -> client package rpcserver package -> server package JSONRPCClient to Client JSONRPCRequestBatch to RequestBatch JSONRPCCaller to Caller StartHTTPServer to Serve StartHTTPAndTLSServer to ServeTLS NewURIClient to NewURI NewJSONRPCClient to New NewJSONRPCClientWithHTTPClient to NewWithHTTPClient NewWSClient to NewWS Unexpose ResponseWriterWrapper Remove unused http_params.go
- [crypto] #4721 Remove
-
Blockchain Protocol
- [pex] #4439 Use highwayhash for pex buckets (@tau3)
- [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. - [evidence] #4532 Handle evidence from light clients (@melekes)
- [lite2] #4532 Submit conflicting headers, if any, to a full node & all witnesses (@melekes)
- [abci/server] #4719 Print panic & stack trace to STDERR if logger is not set (@melekes)
- [types] #4638 Implement
Header#ValidateBasic
(@alexanderbez) - [txindex] #4466 Allow to index an event at runtime (@favadi)
- [evidence] #4722 Improved evidence db (@cmwaters)
- [buildsystem] #4378 Replace build_c and install_c with TENDERMINT_BUILD_OPTIONS parsing. The following options are available:
- nostrip: don't strip debugging symbols nor DWARF tables.
- cleveldb: use cleveldb as db backend instead of goleveldb.
- race: pass -race to go build and enable data race detection.
- [mempool] #4759 Allow ReapX and CheckTx functions to run in parallel (@melekes)
- [state] #4781 Export
InitStateVersion
for the initial state version (@erikgrinaker) - [p2p/conn] #4795 Return err on
signChallenge()
instead of panic - [evidence] #4839 Reject duplicate evidence from being proposed (@cmwaters)
- [rpc/core] #4844 Do not lock consensus state in
/validators
,/consensus_params
and/status
(@melekes)
- [blockchain/v2] #4761 Fix excessive CPU usage caused by spinning on closed channels (@erikgrinaker)
- [blockchain/v2] Respect
fast_sync
option (@erikgrinaker) - [light] #4741 Correctly return
ErrSignedHeaderNotFound
andErrValidatorSetNotFound
on corresponding RPC errors (@erikgrinaker) - [rpc] #4805 Attempt to handle panics during panic recovery (@erikgrinaker)
- [types] #4764 Return an error if voting power overflows in
VerifyCommitTrusting
(@melekes) - [privval] #4812 Retry
GetPubKey/SignVote/SignProposal
a few times before returning an error (@melekes)