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.

80 lines
6.0 KiB

  1. # Pending
  2. Special thanks to external contributors with PRs included in this release: ackratos, james-ray, bradyjoestar,
  3. peerlink, Ahmah2009, bluele, b00f
  4. BREAKING CHANGES:
  5. * CLI/RPC/Config
  6. - [config] [\#2169](https://github.com/tendermint/tendermint/issues/2169) Replace MaxNumPeers with MaxNumInboundPeers and MaxNumOutboundPeers
  7. - [config] [\#2300](https://github.com/tendermint/tendermint/issues/2300) Reduce default mempool size from 100k to 5k, until ABCI rechecking is implemented.
  8. - [rpc] [\#1815](https://github.com/tendermint/tendermint/issues/1815) `/commit` returns a `signed_header` field instead of everything being top-level
  9. * Apps
  10. - [abci] Added address of the original proposer of the block to Header
  11. - [abci] Change ABCI Header to match Tendermint exactly
  12. - [abci] [\#2159](https://github.com/tendermint/tendermint/issues/2159) Update use of `Validator` (see
  13. [ADR-018](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-018-ABCI-Validators.md)):
  14. - Remove PubKey from `Validator` (so it's just Address and Power)
  15. - Introduce `ValidatorUpdate` (with just PubKey and Power)
  16. - InitChain and EndBlock use ValidatorUpdate
  17. - Update field names and types in BeginBlock
  18. - [state] [\#1815](https://github.com/tendermint/tendermint/issues/1815) Validator set changes are now delayed by one block
  19. - updates returned in ResponseEndBlock for block H will be included in RequestBeginBlock for block H+2
  20. * Go API
  21. - [lite] [\#1815](https://github.com/tendermint/tendermint/issues/1815) Complete refactor of the package
  22. - [node] [\#2212](https://github.com/tendermint/tendermint/issues/2212) NewNode now accepts a `*p2p.NodeKey` (@bradyjoestar)
  23. - [libs/common] [\#2199](https://github.com/tendermint/tendermint/issues/2199) Remove Fmt, in favor of fmt.Sprintf
  24. - [libs/common] SplitAndTrim was deleted
  25. - [libs/common] [\#2274](https://github.com/tendermint/tendermint/issues/2274) Remove unused Math functions like MaxInt, MaxInt64,
  26. MinInt, MinInt64 (@Ahmah2009)
  27. - [libs/clist] Panics if list extends beyond MaxLength
  28. - [crypto] [\#2205](https://github.com/tendermint/tendermint/issues/2205) Rename AminoRoute variables to no longer be prefixed by signature type.
  29. * Blockchain Protocol
  30. - [state] [\#1815](https://github.com/tendermint/tendermint/issues/1815) Validator set changes are now delayed by one block (!)
  31. - Add NextValidatorSet to State, changes on-disk representation of state
  32. - [state] [\#2184](https://github.com/tendermint/tendermint/issues/2184) Enforce ConsensusParams.BlockSize.MaxBytes (See
  33. [ADR-020](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-020-block-size.md)).
  34. - Remove ConsensusParams.BlockSize.MaxTxs
  35. - Introduce maximum sizes for all components of a block, including ChainID
  36. - [types] Updates to the block Header:
  37. - [\#1815](https://github.com/tendermint/tendermint/issues/1815) NextValidatorsHash - hash of the validator set for the next block,
  38. so the current validators actually sign over the hash for the new
  39. validators
  40. - [\#2106](https://github.com/tendermint/tendermint/issues/2106) ProposerAddress - address of the block's original proposer
  41. - [consensus] [\#2203](https://github.com/tendermint/tendermint/issues/2203) Implement BFT time
  42. - Timestamp in block must be monotonic and equal the median of timestamps in block's LastCommit
  43. - [crypto] [\#2239](https://github.com/tendermint/tendermint/issues/2239) Secp256k1 signature changes (See
  44. [ADR-014](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-014-secp-malleability.md)):
  45. - format changed from DER to `r || s`, both little endian encoded as 32 bytes.
  46. - malleability removed by requiring `s` to be in canonical form.
  47. * P2P Protocol
  48. - [p2p] [\#2263](https://github.com/tendermint/tendermint/issues/2263) Update secret connection to use a little endian encoded nonce
  49. - [blockchain] [\#2213](https://github.com/tendermint/tendermint/issues/2213) Fix Amino routes for blockchain reactor messages
  50. (@peerlink)
  51. FEATURES:
  52. - [types] [\#2015](https://github.com/tendermint/tendermint/issues/2015) Allow genesis file to have 0 validators (@b00f)
  53. - Initial validator set can be determined by the app in ResponseInitChain
  54. - [rpc] [\#2161](https://github.com/tendermint/tendermint/issues/2161) New event `ValidatorSetUpdates` for when the validator set changes
  55. - [crypto/multisig] [\#2164](https://github.com/tendermint/tendermint/issues/2164) Introduce multisig pubkey and signature format
  56. - [libs/db] [\#2293](https://github.com/tendermint/tendermint/issues/2293) Allow passing options through when creating instances of leveldb dbs
  57. IMPROVEMENTS:
  58. - [docs] Lint documentation with `write-good` and `stop-words`.
  59. - [scripts] [\#2196](https://github.com/tendermint/tendermint/issues/2196) Added json2wal tool, which is supposed to help our users restore (@bradyjoestar)
  60. corrupted WAL files and compose test WAL files (@bradyjoestar)
  61. - [mempool] [\#2234](https://github.com/tendermint/tendermint/issues/2234) Now stores txs by hash inside of the cache, to mitigate memory leakage
  62. - [mempool] [\#2166](https://github.com/tendermint/tendermint/issues/2166) Set explicit capacity for map when updating txs (@bluele)
  63. BUG FIXES:
  64. - [config] [\#2284](https://github.com/tendermint/tendermint/issues/2284) Replace `db_path` with `db_dir` from automatically generated configuration files.
  65. - [mempool] [\#2188](https://github.com/tendermint/tendermint/issues/2188) Fix OOM issue from cache map and list getting out of sync
  66. - [state] [\#2051](https://github.com/tendermint/tendermint/issues/2051) KV store index supports searching by `tx.height` (@ackratos)
  67. - [rpc] [\#2327](https://github.com/tendermint/tendermint/issues/2327) `/dial_peers` does not try to dial existing peers
  68. - [node] [\#2323](https://github.com/tendermint/tendermint/issues/2323) Filter empty strings from config lists (@james-ray)
  69. - [abci/client] [\#2236](https://github.com/tendermint/tendermint/issues/2236) Fix closing GRPC connection (@bradyjoestar)