mirror of
https://github.com/tendermint/tendermint.git
synced 2026-02-06 20:11:08 +00:00
* WIP: switching to fixed offsets for SignBytes * add version field to sign bytes and update order * more comments on test-cases and add a tc with a chainID * remove amino:"write_empty" tag - it doesn't affect if default fixed size fields ((u)int64) are written or not - add comment about int->int64 casting * update CHANGELOG_PENDING * update documentation * add back link to issue #1622 in documentation * remove JSON tags and add (failing test-case) * fix failing test * update test-vectors due to added `Type` field * change Type field from string to byte and add new type alias - SignedMsgType replaces VoteTypePrevote, VoteTypePrecommit and adds new ProposalType to separate votes from proposal when signed - update test-vectors * fix remains from rebasing * use SignMessageType instead of byte everywhere * fixes from review
3.3 KiB
3.3 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)
-
Apps
- [abci] #2298 ResponseQuery.Proof is now a structured merkle.Proof, not just arbitrary bytes
-
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
- [types] #2598
VoteTypeXxxare now
-
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
- [state] #2587 Require block.Time of the fist block to be genesis time
- [types] Update SignBytes for
-
P2P Protocol
FEATURES:
- [crypto/merkle] #2298 General Merkle Proof scheme for chaining various types of Merkle trees together
- [abci] #2557 Add
Codespacefield toResponse{CheckTx, DeliverTx, Query}
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