diff --git a/UPGRADING.md b/UPGRADING.md index 7152a9400..065e9822d 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -8,8 +8,12 @@ This guide provides instructions for upgrading to specific versions of Tendermin This release is not compatible with previous blockchains due to changes to the encoding format (see "Protocol Buffers," below) and the block header (see "Blockchain Protocol"). +Note also that Tendermint 0.34 also requires Go 1.15 or higher. + ### ABCI Changes +* The `ABCIVersion` is now `0.17.0`. + * New ABCI methods (`ListSnapshots`, `LoadSnapshotChunk`, `OfferSnapshot`, and `ApplySnapshotChunk`) were added to support the new State Sync feature. Previously, syncing a new node to a preexisting network could take days; but with State Sync, @@ -61,7 +65,7 @@ fields. Tendermint now relies on the application to tell it which transactions to index. This means that in the `config.toml`, generated by Tendermint, there is no longer a way to specify which -transactions to index. `tx.height` & `tx.hash` will always be indexed when using the `kv` indexer. +transactions to index. `tx.height` and `tx.hash` will always be indexed when using the `kv` indexer. Applications must now choose to either a) enable indexing for all transactions, or b) allow node operators to decide which transactions to index. @@ -107,7 +111,7 @@ Tendermint 0.34 includes new and updated consensus parameters. #### Evidence Parameters -* `MaxNum`, which caps the total amount of evidence by a absolute number. The default is 50. +* `MaxBytes`, which caps the total amount of evidence. The default is 1048576 (1 MB). ### Crypto @@ -168,16 +172,31 @@ Other user-relevant changes include: ### `privval` Package All requests are now accompanied by the chain ID from the network. -This is a optional field and can be ignored by key management systems. -It is recommended to check the chain ID if using the same key management system for multiple chains. +This is a optional field and can be ignored by key management systems; +however, if you are using the same key management system for multiple different +blockchains, we recommend that you check the chain ID. + ### RPC -`/unsafe_start_cpu_profiler`, `/unsafe_stop_cpu_profiler` and -`/unsafe_write_heap_profile` were removed. -For profiling, please use the pprof server, which can -be enabled through `--rpc.pprof_laddr=X` flag or `pprof_laddr=X` config setting -in the rpc section. +* `/unsafe_start_cpu_profiler`, `/unsafe_stop_cpu_profiler` and + `/unsafe_write_heap_profile` were removed. + For profiling, please use the pprof server, which can + be enabled through `--rpc.pprof_laddr=X` flag or `pprof_laddr=X` config setting + in the rpc section. +* The `Content-Type` header returned on RPC calls is now (correctly) set as `application/json`. + +### Version + +Version is now set through Go linker flags `ld_flags`. Applications that are using tendermint as a library should set this at compile time. + +Example: + +```sh +go install -mod=readonly -ldflags "-X github.com/tendermint/tendermint/version.TMCoreSemVer=$(go list -m github.com/tendermint/tendermint | sed 's/ /\@/g') -s -w " -trimpath ./cmd +``` + +Additionally, the exported constant `version.Version` is now `version.TMCoreSemVer`. ## v0.33.4