You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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.wal
is disabled by default
- [rpc] #2298
/abci_query
takes prove
argument instead of trusted
and switches the default
behaviour to prove=false
- [privval] #2459 Split
SocketPVMsg
s 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.*_version
fields in /status
and
/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
ResponseInfo
fields to make room for
AppVersion
-
Go API
- [node] Remove node.RunForever
- [config] #2232 timeouts as time.Duration, not ints
- [rpc/client] #2298
ABCIQueryOptions.Trusted
-> ABCIQueryOptions.Prove
- [types] #2298 Remove
Index
and Total
fields from TxProof
.
- [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
VoteTypeXxx
are now of type SignedMsgType byte
and named XxxType
, 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
Type
field fromt string
to byte
and use new
SignedMsgType
to enumerate.
- [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
-
P2P Protocol
- [p2p] #2654 Add
ProtocolVersion
struct with protocol versions to top of
DefaultNodeInfo and require ProtocolVersion.Block
to match during peer handshake
FEATURES:
- [crypto/merkle] #2298 General Merkle Proof scheme for chaining various types of Merkle trees together
- [abci] #2557 Add
Codespace
field to Response{CheckTx, DeliverTx, Query}
- [abci] #2662 Add
BlockVersion
and P2PVersion
to RequestInfo
IMPROVEMENTS:
- Additional Metrics
- [config] #2232 Added ValidateBasic method, which performs basic checks
- [crypto/ed25519] #2558 Switch to use latest
golang.org/x/crypto
through 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
Or
function
- [common/bit_array] Fixed a bug in the
Sub
function (@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