mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-06 13:26:23 +00:00
* types: dont use SimpleHashFromMap for header. closes #1841 * changelog and spec * comments
4.4 KiB
4.4 KiB
Pending
Special thanks to external contributors on this release: @goolAdapter, @bradyjoestar
BREAKING CHANGES:
-
CLI/RPC/Config
- [config] #2232 timeouts as time.Duration, not ints
- [config] #2505 Remove Mempool.RecheckEmpty (it was effectively useless anyways)
- [config]
mempool.walis disabled by default - [rpc] #2298
/abci_querytakesproveargument instead oftrustedand switches the default behaviour toprove=false - [privval] #2459 Split
SocketPVMsgs implementations into Request and Response, where the Response may contain a error message (returned by the remote signer) - [state] #2644 Add Version field to State, breaking the format of State as encoded on disk.
- [rpc] #2654 Remove all
node_info.other.*_versionfields in/statusand/net_info
-
Apps
- [abci] #2298 ResponseQuery.Proof is now a structured merkle.Proof, not just arbitrary bytes
- [abci] #2644 Add Version to Header and shift all fields by one
- [abci] #2662 Bump the field numbers for some
ResponseInfofields to make room forAppVersion
-
Go API
- [node] Remove node.RunForever
- [config] #2232 timeouts as time.Duration, not ints
- [rpc/client] #2298
ABCIQueryOptions.Trusted->ABCIQueryOptions.Prove - [types] #2298 Remove
IndexandTotalfields fromTxProof. - [crypto/merkle & lite] #2298 Various changes to accomodate General Merkle trees
- [crypto/merkle] #2595 Remove all Hasher objects in favor of byte slices
- [crypto/merkle] #2635 merkle.SimpleHashFromTwoHashes is no longer exported
- [types] #2598
VoteTypeXxxare now of typeSignedMsgType byteand namedXxxType, eg.PrevoteType,PrecommitType.
-
Blockchain Protocol
- [types] Update SignBytes for
Vote/Proposal/Heartbeat:- #2459 Use amino encoding instead of JSON in
SignBytes. - #2598 Reorder fields and use fixed sized encoding.
- #2598 Change
Typefield fromtstringtobyteand use newSignedMsgTypeto enumerate.
- #2459 Use amino encoding instead of JSON in
- [types] #2512 Remove the pubkey field from the validator hash
- [types] #2644 Add Version struct to Header
- [state] #2587 Require block.Time of the fist block to be genesis time
- [state] #2644 Require block.Version to match state.Version
- [types] #2670 Header.Hash() builds Merkle tree out of fields in the same order they appear in the header, instead of sorting by field name
- [types] Update SignBytes for
-
P2P Protocol
- [p2p] #2654 Add
ProtocolVersionstruct with protocol versions to top of DefaultNodeInfo and requireProtocolVersion.Blockto match during peer handshake
- [p2p] #2654 Add
FEATURES:
- [crypto/merkle] #2298 General Merkle Proof scheme for chaining various types of Merkle trees together
- [abci] #2557 Add
Codespacefield toResponse{CheckTx, DeliverTx, Query} - [abci] #2662 Add
BlockVersionandP2PVersiontoRequestInfo
IMPROVEMENTS:
- Additional Metrics
- [config] #2232 Added ValidateBasic method, which performs basic checks
- [crypto/ed25519] #2558 Switch to use latest
golang.org/x/cryptothrough our fork at github.com/tendermint/crypto - [tools] #2238 Binary dependencies are now locked to a specific git commit
- [crypto] #2099 make crypto random use chacha, and have forward secrecy of generated randomness
BUG FIXES:
- [autofile] #2428 Group.RotateFile need call Flush() before rename (@goolAdapter)
- [node] #2434 Make node respond to signal interrupts while sleeping for genesis time
- [consensus] #1690 wait for timeoutPrecommit before starting next round
- [consensus] #1745 wait for Proposal or timeoutProposal before entering prevote
- [evidence] #2515 fix db iter leak (@goolAdapter)
- [common/bit_array] Fixed a bug in the
Orfunction - [common/bit_array] Fixed a bug in the
Subfunction (@james-ray) - [common] #2534 Make bit array's PickRandom choose uniformly from true bits
- [consensus] #1637 Limit the amount of evidence that can be included in a block
- [p2p] #2555 fix p2p switch FlushThrottle value (@goolAdapter)
- [libs/event] #2518 fix event concurrency flaw (@goolAdapter)
- [state] #2616 Pass nil to NewValidatorSet() when genesis file's Validators field is nil
- [p2p] #2668 Reconnect to originally dialed address (not self-reported address) for persistent peers