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.

88 lines
4.4 KiB

  1. # Pending
  2. Special thanks to external contributors on this release:
  3. @goolAdapter, @bradyjoestar
  4. BREAKING CHANGES:
  5. * CLI/RPC/Config
  6. * [config] \#2232 timeouts as time.Duration, not ints
  7. * [config] \#2505 Remove Mempool.RecheckEmpty (it was effectively useless anyways)
  8. * [config] `mempool.wal` is disabled by default
  9. * [rpc] \#2298 `/abci_query` takes `prove` argument instead of `trusted` and switches the default
  10. behaviour to `prove=false`
  11. * [privval] \#2459 Split `SocketPVMsg`s implementations into Request and Response, where the Response may contain a error message (returned by the remote signer)
  12. * [state] \#2644 Add Version field to State, breaking the format of State as
  13. encoded on disk.
  14. * [rpc] \#2654 Remove all `node_info.other.*_version` fields in `/status` and
  15. `/net_info`
  16. * Apps
  17. * [abci] \#2298 ResponseQuery.Proof is now a structured merkle.Proof, not just
  18. arbitrary bytes
  19. * [abci] \#2644 Add Version to Header and shift all fields by one
  20. * [abci] \#2662 Bump the field numbers for some `ResponseInfo` fields to make room for
  21. `AppVersion`
  22. * Go API
  23. * [node] Remove node.RunForever
  24. * [config] \#2232 timeouts as time.Duration, not ints
  25. * [rpc/client] \#2298 `ABCIQueryOptions.Trusted` -> `ABCIQueryOptions.Prove`
  26. * [types] \#2298 Remove `Index` and `Total` fields from `TxProof`.
  27. * [crypto/merkle & lite] \#2298 Various changes to accomodate General Merkle trees
  28. * [crypto/merkle] \#2595 Remove all Hasher objects in favor of byte slices
  29. * [crypto/merkle] \#2635 merkle.SimpleHashFromTwoHashes is no longer exported
  30. * [types] \#2598 `VoteTypeXxx` are now of type `SignedMsgType byte` and named `XxxType`, eg. `PrevoteType`,
  31. `PrecommitType`.
  32. * Blockchain Protocol
  33. * [types] Update SignBytes for `Vote`/`Proposal`/`Heartbeat`:
  34. * \#2459 Use amino encoding instead of JSON in `SignBytes`.
  35. * \#2598 Reorder fields and use fixed sized encoding.
  36. * \#2598 Change `Type` field fromt `string` to `byte` and use new
  37. `SignedMsgType` to enumerate.
  38. * [types] \#2512 Remove the pubkey field from the validator hash
  39. * [types] \#2644 Add Version struct to Header
  40. * [state] \#2587 Require block.Time of the fist block to be genesis time
  41. * [state] \#2644 Require block.Version to match state.Version
  42. * [types] \#2670 Header.Hash() builds Merkle tree out of fields in the same
  43. order they appear in the header, instead of sorting by field name
  44. * P2P Protocol
  45. * [p2p] \#2654 Add `ProtocolVersion` struct with protocol versions to top of
  46. DefaultNodeInfo and require `ProtocolVersion.Block` to match during peer handshake
  47. FEATURES:
  48. - [crypto/merkle] \#2298 General Merkle Proof scheme for chaining various types of Merkle trees together
  49. - [abci] \#2557 Add `Codespace` field to `Response{CheckTx, DeliverTx, Query}`
  50. - [abci] \#2662 Add `BlockVersion` and `P2PVersion` to `RequestInfo`
  51. IMPROVEMENTS:
  52. - Additional Metrics
  53. - [consensus] [\#2169](https://github.com/cosmos/cosmos-sdk/issues/2169)
  54. - [p2p] [\#2169](https://github.com/cosmos/cosmos-sdk/issues/2169)
  55. - [config] \#2232 Added ValidateBasic method, which performs basic checks
  56. - [crypto/ed25519] \#2558 Switch to use latest `golang.org/x/crypto` through our fork at
  57. github.com/tendermint/crypto
  58. - [tools] \#2238 Binary dependencies are now locked to a specific git commit
  59. - [crypto] \#2099 make crypto random use chacha, and have forward secrecy of generated randomness
  60. BUG FIXES:
  61. - [autofile] \#2428 Group.RotateFile need call Flush() before rename (@goolAdapter)
  62. - [node] \#2434 Make node respond to signal interrupts while sleeping for genesis time
  63. - [consensus] [\#1690](https://github.com/tendermint/tendermint/issues/1690) wait for
  64. timeoutPrecommit before starting next round
  65. - [consensus] [\#1745](https://github.com/tendermint/tendermint/issues/1745) wait for
  66. Proposal or timeoutProposal before entering prevote
  67. - [evidence] \#2515 fix db iter leak (@goolAdapter)
  68. - [common/bit_array] Fixed a bug in the `Or` function
  69. - [common/bit_array] Fixed a bug in the `Sub` function (@james-ray)
  70. - [common] \#2534 Make bit array's PickRandom choose uniformly from true bits
  71. - [consensus] \#1637 Limit the amount of evidence that can be included in a
  72. block
  73. - [p2p] \#2555 fix p2p switch FlushThrottle value (@goolAdapter)
  74. - [libs/event] \#2518 fix event concurrency flaw (@goolAdapter)
  75. - [state] \#2616 Pass nil to NewValidatorSet() when genesis file's Validators field is nil
  76. - [p2p] \#2668 Reconnect to originally dialed address (not self-reported
  77. address) for persistent peers