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.

72 lines
4.6 KiB

  1. # Unreleased Changes
  2. ## vX.X
  3. Special thanks to external contributors on this release:
  4. Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermint).
  5. ### BREAKING CHANGES
  6. - CLI/RPC/Config
  7. - [config] \#5598 The `test_fuzz` and `test_fuzz_config` P2P settings have been removed. (@erikgrinaker)
  8. - [config] \#5728 `fast_sync = "v1"` is no longer supported (@melekes)
  9. - [cli] \#5772 `gen_node_key` prints JSON-encoded `NodeKey` rather than ID and does not save it to `node_key.json` (@melekes)
  10. - [cli] \#5777 use hyphen-case instead of snake_case for all cli commands and config parameters (@cmwaters)
  11. - Apps
  12. - [ABCI] \#5447 Remove `SetOption` method from `ABCI.Client` interface
  13. - [ABCI] \#5447 Reset `Oneof` indexes for `Request` and `Response`.
  14. - [ABCI] \#5818 Use protoio for msg length delimitation. Migrates from int64 to uint64 length delimiters.
  15. - P2P Protocol
  16. - Go API
  17. - [abci/client, proxy] \#5673 `Async` funcs return an error, `Sync` and `Async` funcs accept `context.Context` (@melekes)
  18. - [p2p] Removed unused function `MakePoWTarget`. (@erikgrinaker)
  19. - [libs/bits] \#5720 Validate `BitArray` in `FromProto`, which now returns an error (@melekes)
  20. - [proto/p2p] Renamed `DefaultNodeInfo` and `DefaultNodeInfoOther` to `NodeInfo` and `NodeInfoOther` (@erikgrinaker)
  21. - [proto/p2p] Rename `NodeInfo.default_node_id` to `node_id` (@erikgrinaker)
  22. - [libs/os] Kill() and {Must,}{Read,Write}File() functions have been removed. (@alessio)
  23. - [store] \#5848 Remove block store state in favor of using the db iterators directly (@cmwaters)
  24. - [state] \#5864 Use an iterator when pruning state (@cmwaters)
  25. - [types] \#6023 Remove `tm2pb.Header`, `tm2pb.BlockID`, `tm2pb.PartSetHeader` and `tm2pb.NewValidatorUpdate`.
  26. - Each of the above types has a `ToProto` and `FromProto` method or function which replaced this logic.
  27. - [light] \#6054 Move `MaxRetryAttempt` option from client to provider.
  28. - `NewWithOptions` now sets the max retry attempts and timeouts (@cmwaters)
  29. - [all] \#6077 Change spelling from British English to American (@cmwaters)
  30. - Rename "Subscription.Cancelled()" to "Subscription.Canceled()" in libs/pubsub
  31. - Rename "behaviour" pkg to "behavior" and internalized it in blockchain v2
  32. - Blockchain Protocol
  33. - Data Storage
  34. - [store/state/evidence/light] \#5771 Use an order-preserving varint key encoding (@cmwaters)
  35. ### FEATURES
  36. ### IMPROVEMENTS
  37. - [crypto/ed25519] \#5632 Adopt zip215 `ed25519` verification. (@marbar3778)
  38. - [privval] \#5603 Add `--key` to `init`, `gen_validator`, `testnet` & `unsafe_reset_priv_validator` for use in generating `secp256k1` keys.
  39. - [privval] \#5725 Add gRPC support to private validator.
  40. - [privval] \#5876 `tendermint show-validator` will query the remote signer if gRPC is being used (@marbar3778)
  41. - [abci/client] \#5673 `Async` requests return an error if queue is full (@melekes)
  42. - [mempool] \#5673 Cancel `CheckTx` requests if RPC client disconnects or times out (@melekes)
  43. - [abci] \#5706 Added `AbciVersion` to `RequestInfo` allowing applications to check ABCI version when connecting to Tendermint. (@marbar3778)
  44. - [blockchain/v1] \#5728 Remove in favor of v2 (@melekes)
  45. - [blockchain/v0] \#5741 Relax termination conditions and increase sync timeout (@melekes)
  46. - [cli] \#5772 `gen_node_key` output now contains node ID (`id` field) (@melekes)
  47. - [blockchain/v2] \#5774 Send status request when new peer joins (@melekes)
  48. - [consensus] \#5792 Deprecates the `time_iota_ms` consensus parameter, to reduce the bug surface. The parameter is no longer used. (@valardragon)
  49. - [store] \#5888 store.SaveBlock saves using batches instead of transactions for now to improve ACID properties. This is a quick fix for underlying issues around tm-db and ACID guarantees. (@githubsands)
  50. - [consensus] \#5987 Remove `time_iota_ms` from consensus params. Merge `tmproto.ConsensusParams` and `abci.ConsensusParams`. (@marbar3778)
  51. - [types] \#5994 Reduce the use of protobuf types in core logic. (@marbar3778)
  52. - `ConsensusParams`, `BlockParams`, `ValidatorParams`, `EvidenceParams`, `VersionParams`, `sm.Version` and `version.Consensus` have become native types. They still utilize protobuf when being sent over the wire or written to disk.
  53. ### BUG FIXES
  54. - [types] \#5523 Change json naming of `PartSetHeader` within `BlockID` from `parts` to `part_set_header` (@marbar3778)
  55. - [privval] \#5638 Increase read/write timeout to 5s and calculate ping interval based on it (@JoeKash)
  56. - [blockchain/v1] [\#5701](https://github.com/tendermint/tendermint/pull/5701) Handle peers without blocks (@melekes)
  57. - [blockchain/v1] \#5711 Fix deadlock (@melekes)