mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-03 03:35:19 +00:00
upgrading.md additions (#5049)
## Description - expand `upgrading.md` - alphabetize the changelog - update swagger with changes Closes: #XXX
This commit is contained in:
@@ -10,18 +10,11 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi
|
||||
|
||||
- CLI/RPC/Config
|
||||
|
||||
- [evidence] \#4725 Remove `Pubkey` from DuplicateVoteEvidence
|
||||
- [rpc] [\#4792](https://github.com/tendermint/tendermint/pull/4792) `/validators` are now sorted by voting power (@melekes)
|
||||
- [blockchain] \#4637 Transition blockchain reactor(s) to Protobuf encoding
|
||||
- [types] \#4382 `SignedMsgType` has moved to a Protobuf enum types
|
||||
- [types] \#4382 `Total` has been changed from a `int` to a `uint32`
|
||||
- [types] \#4582 Vote: `ValidatorIndex` & `Round` are now int32
|
||||
- [types] \#4582 Proposal: `POLRound` & `Round` are now int32
|
||||
- [types] \#4582 Block: `Round` is now int32
|
||||
- [types] \#4962 `ConsensusParams`, `BlockParams`, `EvidenceParams`, `ValidatorParams` & `HashedParams` are now Protobuf types
|
||||
|
||||
- [consensus] \#4582 RoundState: `Round`, `LockedRound` & `CommitRound` are now int32
|
||||
- [consensus] \#4582 HeightVoteSet: `round` is now int32
|
||||
- [privval] \#4582 `round` in private_validator_state.json is no longer a string in json it is now a number.
|
||||
- [evidence] \#4725 Remove `Pubkey` from DuplicateVoteEvidence
|
||||
- [evidence] \#4959 Add json tags to `DuplicateVoteEvidence`
|
||||
- [crypto] \#4940 All keys have become `[]byte` instead of `[<size>]byte`. The byte method no longer returns the marshaled value but just the `[]byte` form of the data.
|
||||
- [crypto] \4988 Removal of key type multisig
|
||||
- The key has been moved to the Cosmos-SDK (https://github.com/cosmos/cosmos-sdk/blob/master/crypto/types/multisig/multisignature.go)
|
||||
@@ -40,21 +33,20 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi
|
||||
- sr25519: type `PubKeySr25519` is now `PubKey`
|
||||
- multisig: type `PubKeyMultisigThreshold` is now `PubKey`
|
||||
- [light] \#4946 Rename `lite2` pkg to `light`, the lite cmd has also been renamed to `light`. Remove `lite` implementation.
|
||||
- [rpc] [\#4792](https://github.com/tendermint/tendermint/pull/4792) `/validators` are now sorted by voting power (@melekes)
|
||||
- [rpc] \#4937 Return an error when `page` pagination param is 0 in `/validators`, `tx_search` (@melekes)
|
||||
- [state] \#4679 `TxResult` is a Protobuf type defined in `abci` types directory
|
||||
- [state] \#4679 `state` reactor migration to Protobuf encoding
|
||||
- [evidence] \#4959 Add json tags to `DuplicateVoteEvidence`
|
||||
- [p2p/pex] \#4973 `p2p/pex` reactor migration to Protobuf encoding
|
||||
- [light] \#4964 `light` reactor migration to Protobuf encoding
|
||||
- [store] \#4778 Transition store module to protobuf encoding
|
||||
- `BlockStoreStateJSON` is now `BlockStoreState` and is encoded as binary in the database
|
||||
- [rpc] \#4968 JSON encoding is now handled by `libs/json`, not Amino
|
||||
- [types] \#4852 Vote & Proposal `SignBytes` is now func `VoteSignBytes` & `ProposalSignBytes`
|
||||
- [privval] \#4985 `privval` reactor migration to Protobuf encoding
|
||||
- [evidence] \#4949 `evidence` reactor migration to Protobuf encoding
|
||||
- [indexer] \#5006 Tx indexer now relies on the application to tell it what to index. `tx.height` & `tx.hash` will always be indexed when using the `kv` indexer.
|
||||
- [proto] \#5025 All proto files have been moved to `/proto` directory.
|
||||
- [privval] \#4582 `round` in private_validator_state.json is no longer a string in json it is now a number.
|
||||
- [proto] \#5025 All proto files have been moved to `/proto` directory.
|
||||
- Using the recommended the file layout from buf, [see here for more info](https://buf.build/docs/lint-checkers#file_layout)
|
||||
- [state] \#4679 `TxResult` is a Protobuf type defined in `abci` types directory
|
||||
- [types] \#4939 `SignedMsgType` has moved to a Protobuf enum types
|
||||
- [types] \#4939 `Total` in `Parts` & `PartSetHeader` has been changed from a `int` to a `uint32`
|
||||
- [types] \#4939 Vote: `ValidatorIndex` & `Round` are now int32
|
||||
- [types] \#4939 Proposal: `POLRound` & `Round` are now int32
|
||||
- [types] \#4939 Block: `Round` is now int32
|
||||
- [types] \#4962 `ConsensusParams`, `BlockParams`, `EvidenceParams`, `ValidatorParams` & `HashedParams` are now Protobuf types
|
||||
- [types] \#4852 Vote & Proposal `SignBytes` is now func `VoteSignBytes` & `ProposalSignBytes`
|
||||
- [types] \#5029 Rename all values from `PartsHeader` to `PartSetHeader` to have consistency
|
||||
|
||||
- Apps
|
||||
@@ -67,52 +59,60 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi
|
||||
- Go API
|
||||
|
||||
- [crypto] [\#4721](https://github.com/tendermint/tendermint/pull/4721) Remove `SimpleHashFromMap()` and `SimpleProofsFromMap()` (@erikgrinaker)
|
||||
- [types] \#4798 Simplify `VerifyCommitTrusting` func + remove extra validation (@melekes)
|
||||
- [libs] \#4831 Remove `Bech32` pkg from Tendermint. This pkg now lives in the [cosmos-sdk](https://github.com/cosmos/cosmos-sdk/tree/4173ea5ebad906dd9b45325bed69b9c655504867/types/bech32)
|
||||
- [rpc/client] \#4947 `Validators`, `TxSearch` `page`/`per_page` params become pointers (@melekes)
|
||||
`UnconfirmedTxs` `limit` param is a pointer
|
||||
- [types] \#4798 Simplify `VerifyCommitTrusting` func + remove extra validation (@melekes)
|
||||
- [types] \#4845 Remove `ABCIResult`
|
||||
|
||||
- Blockchain Protocol
|
||||
|
||||
- [types] [\#4792](https://github.com/tendermint/tendermint/pull/4792) Sort validators by voting power to enable faster commit verification (@melekes)
|
||||
- [blockchain] \#4637 Migrate blockchain reactor(s) to Protobuf encoding
|
||||
- [evidence] [\#4780](https://github.com/tendermint/tendermint/pull/4780) Cap evidence to an absolute number (@cmwaters)
|
||||
Add `max_num` to consensus evidence parameters (default: 50 items).
|
||||
- [mempool] \#4940 Migrate mempool from amino binary encoding to Protobuf
|
||||
- [statesync] \#4943 Migrate statesync reactor from amino binary encoding to Protobuf
|
||||
- [evidence] \#4949 Migrate evidence reactor to Protobuf encoding
|
||||
- [mempool] \#4940 Migrate mempool from to Protobuf encoding
|
||||
- [light] \#4964 Migrate light reactor migration to Protobuf encoding
|
||||
- [p2p/pex] \#4973 Migrate `p2p/pex` reactor to Protobuf encoding
|
||||
- [privval] \#4985 Migrate `privval` reactor to Protobuf encoding
|
||||
- [statesync] \#4943 Migrate statesync reactor to Protobuf encoding
|
||||
- [state] \#4845 Include BeginBlock#Events, EndBlock#Events, DeliverTx#Events, GasWanted and GasUsed into `LastResultsHash` (@melekes)
|
||||
- [state] \#4679 Migrate state reactor to Protobuf encoding
|
||||
- `BlockStoreStateJSON` is now `BlockStoreState` and is encoded as binary in the database
|
||||
- [store] \#4778 Migrate store module to Protobuf encoding
|
||||
- [types] [\#4792](https://github.com/tendermint/tendermint/pull/4792) Sort validators by voting power to enable faster commit verification (@melekes)
|
||||
|
||||
### FEATURES:
|
||||
|
||||
- [statesync] Add state sync support, where a new node can be rapidly bootstrapped by fetching state snapshots from peers instead of replaying blocks. See the `[statesync]` config section.
|
||||
- [evidence] [\#4532](https://github.com/tendermint/tendermint/pull/4532) Handle evidence from light clients (@melekes)
|
||||
- [light] [\#4532](https://github.com/tendermint/tendermint/pull/4532) Submit conflicting headers, if any, to a full node & all witnesses (@melekes)
|
||||
- [rpc] [\#4532](https://github.com/tendermint/tendermint/pull/4923) Support `BlockByHash` query (@fedekunze)
|
||||
- [rpc] \#4979 Support EXISTS operator in `/tx_search` query (@melekes)
|
||||
- [p2p] \#4981 Expose `SaveAs` func on NodeKey (@melekes)
|
||||
- [evidence] [#4821](https://github.com/tendermint/tendermint/pull/4821) Amnesia evidence can be detected, verified and committed (@cmwaters)
|
||||
- [rpc] \#5017 Add `/check_tx` endpoint to check transactions without executing them or adding them to the mempool (@melekes)
|
||||
- [abci] \#5031 Add `AppVersion` to consensus parameters (@james-ray)
|
||||
... making it possible to update your ABCI application version via `EndBlock` response
|
||||
- [evidence] [\#4532](https://github.com/tendermint/tendermint/pull/4532) Handle evidence from light clients (@melekes)
|
||||
- [evidence] [#4821](https://github.com/tendermint/tendermint/pull/4821) Amnesia evidence can be detected, verified and committed (@cmwaters)
|
||||
- [light] [\#4532](https://github.com/tendermint/tendermint/pull/4532) Submit conflicting headers, if any, to a full node & all witnesses (@melekes)
|
||||
- [p2p] \#4981 Expose `SaveAs` func on NodeKey (@melekes)
|
||||
- [rpc] [\#4532](https://github.com/tendermint/tendermint/pull/4923) Support `BlockByHash` query (@fedekunze)
|
||||
- [rpc] \#4979 Support EXISTS operator in `/tx_search` query (@melekes)
|
||||
- [rpc] \#5017 Add `/check_tx` endpoint to check transactions without executing them or adding them to the mempool (@melekes)
|
||||
- [statesync] Add state sync support, where a new node can be rapidly bootstrapped by fetching state snapshots from peers instead of replaying blocks. See the `[statesync]` config section.
|
||||
|
||||
### IMPROVEMENTS:
|
||||
|
||||
- [txindex] [\#4466](https://github.com/tendermint/tendermint/pull/4466) Allow to index an event at runtime (@favadi)
|
||||
- `abci.EventAttribute` replaces `KV.Pair`
|
||||
- [consensus] [\#4578](https://github.com/tendermint/tendermint/issues/4578) Attempt to repair the consensus WAL file (`data/cs.wal/wal`) automatically in case of corruption (@alessio)
|
||||
- [evidence] [\#4722](https://github.com/tendermint/tendermint/pull/4722) Improved evidence db (@cmwaters)
|
||||
- [state] [\#4781](https://github.com/tendermint/tendermint/pull/4781) Export `InitStateVersion` for the initial state version (@erikgrinaker)
|
||||
- [p2p/conn] \#4795 Return err on `signChallenge()` instead of panic
|
||||
- [evidence] [\#4839](https://github.com/tendermint/tendermint/pull/4839) Reject duplicate evidence from being proposed (@cmwaters)
|
||||
- [evidence] [\#4892](https://github.com/tendermint/tendermint/pull/4892) Remove redundant header from phantom validator evidence (@cmwaters)
|
||||
- [types] [\#4905](https://github.com/tendermint/tendermint/pull/4905) Add ValidateBasic to validator and validator set (@cmwaters)
|
||||
- [consensus] [\#4578](https://github.com/tendermint/tendermint/issues/4578) Attempt to repair the consensus WAL file (`data/cs.wal/wal`) automatically in case of corruption (@alessio)
|
||||
The original WAL file will be backed up to `data/cs.wal/wal.CORRUPTED`.
|
||||
- [light] [\#4935](https://github.com/tendermint/tendermint/pull/4935) Fetch and compare a new header with witnesses in parallel (@melekes)
|
||||
- [light] [\#4929](https://github.com/tendermint/tendermint/pull/4929) compare header w/ witnesses only when doing bisection (@melekes)
|
||||
- [light] [\#4916](https://github.com/tendermint/tendermint/pull/4916) validate basic for inbound validator sets and headers before further processing them (@cmwaters)
|
||||
- [p2p/conn] \#4795 Return err on `signChallenge()` instead of panic
|
||||
- [state] [\#4781](https://github.com/tendermint/tendermint/pull/4781) Export `InitStateVersion` for the initial state version (@erikgrinaker)
|
||||
- [txindex] [\#4466](https://github.com/tendermint/tendermint/pull/4466) Allow to index an event at runtime (@favadi)
|
||||
- `abci.EventAttribute` replaces `KV.Pair`
|
||||
- [types] [\#4905](https://github.com/tendermint/tendermint/pull/4905) Add ValidateBasic to validator and validator set (@cmwaters)
|
||||
The original WAL file will be backed up to `data/cs.wal/wal.CORRUPTED`.
|
||||
|
||||
### BUG FIXES:
|
||||
|
||||
- [blockchain/v2] Correctly set block store base in status responses (@erikgrinaker)
|
||||
- [consensus] [\#4895](https://github.com/tendermint/tendermint/pull/4895) Cache the address of the validator to reduce querying a remote KMS (@joe-bowman)
|
||||
- [consensus] \#4970 Stricter on `LastCommitRound` check (@cuonglm)
|
||||
- [blockchain/v2] Correctly set block store base in status responses (@erikgrinaker)
|
||||
|
||||
35
UPGRADING.md
35
UPGRADING.md
@@ -19,10 +19,7 @@ if you want to learn more & support it (with cosmos-sdk you get it
|
||||
empty.
|
||||
|
||||
`KV.Pair` has been replaced with `abci.EventAttribute`. `EventAttribute.Index`
|
||||
field allows ABCI applications to dictate which events should be indexed
|
||||
ignoring the `tx_index.index_keys` config setting. See
|
||||
[\#4877](https://github.com/tendermint/tendermint/issues/4877), where we're
|
||||
discussing future direction of indexing.
|
||||
field allows ABCI applications to dictate which events should be indexed.
|
||||
|
||||
### P2P Protocol
|
||||
|
||||
@@ -70,6 +67,36 @@ With this release we are happy to announce the full protobuf migration of the Te
|
||||
- A few notable changes in the abci:
|
||||
- In `ValidatorUpdates` the public key type has been migrated to a protobuf `oneof` type. Since Tendermint only supports ed25519 validator keys this is the only available key in the oneof.
|
||||
|
||||
### Consensus Params
|
||||
|
||||
Various parameters have been added to the consensus parameters.
|
||||
|
||||
#### Version Params (New)
|
||||
|
||||
- `AppVersion` - this contains the ABCI application version
|
||||
|
||||
#### Evidence Params
|
||||
|
||||
- `MaxNum` - cap the total amount of evidence by a absolute number (Default: 50)
|
||||
- `ProofTrialPeriod` - duration (blocks) in which a node has to provide proof of correctly executing a lock change in the event of amnesia evidence (Default: 50000, half MaxAgeNumBlocks)
|
||||
|
||||
### Crypto
|
||||
|
||||
#### Keys
|
||||
|
||||
All keys have removed there type prefix. Ed25519 Pubkey went from `PubKeyEd25519` to `PubKey`. This way when calling the key you are not duplicating information (`ed25519.PubKey`). All keys are now slice of bytes(`[]byte`), previously they were a array of bytes (`[<size>]byte`).
|
||||
|
||||
The multisig that was previously located in Tendermint has now migrated to a new home within the [Cosmos-SDK](https://github.com/cosmos/cosmos-sdk/blob/master/crypto/types/multisig/multisignature.go).
|
||||
|
||||
#### Merkle
|
||||
|
||||
From the merkle package `SimpleHashFromMap()` and `SimpleProofsFromMap()` were removed along with all the prefixes of `Simple`. If you are looking for `SimpleProof` it has been renamed to `Proof` within the merkle pkg. Previously there were protobuf messages located in the merkle pkg, these have since been moved to the `/proto` directory. The protobuf message `Proof` that contained multiple ProofOp's has been renamed to `ProofOps`. This change effects the ABCI type `ResponseQuery`, the field that was named Proof is now named `ProofOps`.
|
||||
|
||||
### Libs
|
||||
|
||||
The Bech32 pkg has been migrated to a new home, you can find it in the [Cosmos-SDK](https://github.com/cosmos/cosmos-sdk/tree/4173ea5ebad906dd9b45325bed69b9c655504867/types/bech32)
|
||||
|
||||
|
||||
## v0.33.4
|
||||
|
||||
### Go API
|
||||
|
||||
@@ -1223,8 +1223,8 @@ components:
|
||||
type: string
|
||||
example: "1262196"
|
||||
earliest_block_time:
|
||||
type: string
|
||||
example: "2019-08-01T11:52:22.818762194Z"
|
||||
type: string
|
||||
example: "2019-08-01T11:52:22.818762194Z"
|
||||
catching_up:
|
||||
type: boolean
|
||||
example: false
|
||||
@@ -1384,8 +1384,8 @@ components:
|
||||
- "hash"
|
||||
properties:
|
||||
total:
|
||||
type: string
|
||||
example: "1"
|
||||
type: number
|
||||
example: 1
|
||||
hash:
|
||||
type: string
|
||||
example: "CB02DCAA7FB46BF874052EC2273FD0B1F2CF2E1593298D9781E60FE9C3DB8638"
|
||||
@@ -1511,8 +1511,8 @@ components:
|
||||
type: string
|
||||
example: "1262085"
|
||||
round:
|
||||
type: string
|
||||
example: "0"
|
||||
type: number
|
||||
example: 0
|
||||
block_id:
|
||||
$ref: "#/components/schemas/BlockID"
|
||||
timestamp:
|
||||
@@ -1522,8 +1522,8 @@ components:
|
||||
type: string
|
||||
example: "000001E443FD237E4B616E2FA69DF4EE3D49A94F"
|
||||
validator_index:
|
||||
type: string
|
||||
example: "0"
|
||||
type: number
|
||||
example: 0
|
||||
signature:
|
||||
type: string
|
||||
example: "DBchvucTzAUEJnGYpNvMdqLhBAHG4Px8BsOBB3J3mAFCLGeuG7uJqy+nVngKzZdPhPi8RhmE/xcw/M9DOJjEDg=="
|
||||
@@ -1852,8 +1852,8 @@ components:
|
||||
- "hash"
|
||||
properties:
|
||||
total:
|
||||
type: "string"
|
||||
example: "1"
|
||||
type: number
|
||||
example: 1
|
||||
hash:
|
||||
type: "string"
|
||||
example: "CB02DCAA7FB46BF874052EC2273FD0B1F2CF2E1593298D9781E60FE9C3DB8638"
|
||||
@@ -1898,8 +1898,8 @@ components:
|
||||
type: "string"
|
||||
example: "1311801"
|
||||
round:
|
||||
type: "string"
|
||||
example: "0"
|
||||
type: number
|
||||
example: 0
|
||||
block_id:
|
||||
required:
|
||||
- "hash"
|
||||
@@ -1914,8 +1914,8 @@ components:
|
||||
- "hash"
|
||||
properties:
|
||||
total:
|
||||
type: "string"
|
||||
example: "1"
|
||||
type: number
|
||||
example: 1
|
||||
hash:
|
||||
type: "string"
|
||||
example: "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
||||
@@ -2151,8 +2151,8 @@ components:
|
||||
type: "string"
|
||||
example: "1311801"
|
||||
round:
|
||||
type: "string"
|
||||
example: "0"
|
||||
type: number
|
||||
example: 0
|
||||
step:
|
||||
type: "number"
|
||||
example: 3
|
||||
@@ -2224,8 +2224,8 @@ components:
|
||||
type: "object"
|
||||
type: "object"
|
||||
locked_round:
|
||||
type: "string"
|
||||
example: "-1"
|
||||
type: number
|
||||
example: -1
|
||||
valid_round:
|
||||
type: "string"
|
||||
example: "-1"
|
||||
@@ -2259,8 +2259,8 @@ components:
|
||||
type: "string"
|
||||
example: "BA{100:____________________________________________________________________________________________________} 0/170220253 = 0.00"
|
||||
commit_round:
|
||||
type: "string"
|
||||
example: "-1"
|
||||
type: number
|
||||
example: -1
|
||||
last_commit:
|
||||
x-nullable: true
|
||||
required:
|
||||
@@ -2398,16 +2398,16 @@ components:
|
||||
- "hash"
|
||||
properties:
|
||||
total:
|
||||
type: "string"
|
||||
example: "0"
|
||||
type: number
|
||||
example: 0
|
||||
hash:
|
||||
type: "string"
|
||||
example: ""
|
||||
type: "object"
|
||||
proposal_pol_round:
|
||||
x-nullable: true
|
||||
type: "string"
|
||||
example: "-1"
|
||||
type: number
|
||||
example: -1
|
||||
proposal_pol:
|
||||
x-nullable: true
|
||||
type: "string"
|
||||
@@ -2422,16 +2422,16 @@ components:
|
||||
example: "____________________________________________________________________________________________________"
|
||||
last_commit_round:
|
||||
x-nullable: true
|
||||
type: "string"
|
||||
example: "0"
|
||||
type: number
|
||||
example: 0
|
||||
last_commit:
|
||||
x-nullable: true
|
||||
type: "string"
|
||||
example: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
catchup_commit_round:
|
||||
type: "string"
|
||||
type: number
|
||||
x-nullable: true
|
||||
example: "-1"
|
||||
example: -1
|
||||
catchup_commit:
|
||||
x-nullable: true
|
||||
type: "string"
|
||||
|
||||
Reference in New Issue
Block a user