Unreleased Changes
Friendly reminder: We have a bug bounty program.
vX.X
Month, DD, YYYY
Special thanks to external contributors on this release:
BREAKING CHANGES
-
CLI/RPC/Config
-
Apps
- [tendermint/spec] #7804 Migrate spec from spec repo.
- [abci] #7984 Remove the locks preventing concurrent use of ABCI applications by Tendermint. (@tychoish)
-
P2P Protocol
- [p2p] #7035 Remove legacy P2P routing implementation and associated configuration options. (@tychoish)
- [p2p] #7265 Peer manager reduces peer score for each failed dial attempts for peers that have not successfully dialed. (@tychoish)
- [p2p] #7594 always advertise self, to enable mutual address discovery. (@altergui)
-
Go API
-
Blockchain Protocol
FEATURES
- [rpc] #7270 Add
header
and header_by_hash
RPC Client queries. (@fedekunze)
- [rpc] [#7701] Add
ApplicationInfo
to status
rpc call which contains the application version. (@jonasbostoen)
- [cli] #7033 Add a
rollback
command to rollback to the previous tendermint state in the event of non-determinstic app hash or reverting an upgrade.
- [mempool, rpc] #7041 Add removeTx operation to the RPC layer. (@tychoish)
- [consensus] #7354 add a new
synchrony
field to the ConsensusParameter
struct for controlling the parameters of the proposer-based timestamp algorithm. (@williambanfield)
- [consensus] #7376 Update the proposal logic per the Propose-based timestamps specification so that the proposer will wait for the previous block time to occur before proposing the next block. (@williambanfield)
- [consensus] #7391 Use the proposed block timestamp as the proposal timestamp. Update the block validation logic to ensure that the proposed block's timestamp matches the timestamp in the proposal message. (@williambanfield)
- [consensus] #7415 Update proposal validation logic to Prevote nil if a proposal does not meet the conditions for Timelyness per the proposer-based timestamp specification. (@anca)
- [consensus] #7382 Update block validation to no longer require the block timestamp to be the median of the timestamps of the previous commit. (@anca)
- [consensus] #7711 Use the proposer timestamp for the first height instead of the genesis time. Chains will still start consensus at the genesis time. (@anca)
IMPROVEMENTS
- [internal/protoio] #7325 Optimized
MarshalDelimited
by inlining the common case and using a sync.Pool
in the worst case. (@odeke-em)
- [consensus] #6969 remove logic to 'unlock' a locked block.
- [evidence] #7700 Evidence messages contain single Evidence instead of EvidenceList (@jmalicevic)
- [evidence] #7802 Evidence pool emits events when evidence is validated and updates a metric when the number of evidence in the evidence pool changes. (@jmalicevic)
- [pubsub] #7319 Performance improvements for the event query API (@creachadair)
- [node] #7521 Define concrete type for seed node implementation (@spacech1mp)
- [rpc] #7612 paginate mempool /unconfirmed_txs rpc endpoint (@spacech1mp)
- [light] #7536 rpc /status call returns info about the light client (@jmalicevic)
- [types] #7765 Replace EvidenceData with EvidenceList to avoid unnecessary nesting of evidence fields within a block. (@jmalicevic)
BUG FIXES
- fix: assignment copies lock value in
BitArray.UnmarshalJSON()
(@lklimek)
- [light] #7640 Light Client: fix absence proof verification (@ashcherbakov)
- [light] #7641 Light Client: fix querying against the latest height (@ashcherbakov)
- [cli] #7837 fix app hash in state rollback. (@yihuang)