diff --git a/CHANGELOG.md b/CHANGELOG.md index 64d37e68b..2ec6b1d94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## v0.27.0 -*November 29th, 2018* +*December 5th, 2018* Special thanks to external contributors on this release: @danil-lashin, @srmo @@ -18,7 +18,8 @@ This release is primarily about fixes to the proposer selection algorithm in preparation for the [Cosmos Game of Stakes](https://blog.cosmos.network/the-game-of-stakes-is-open-for-registration-83a404746ee6). It also makes use of the `ConsensusParams.Validator.PubKeyTypes` to restrict the -key types that can be used by validators. +key types that can be used by validators, and removes the `Heartbeat` consensus +message. ### BREAKING CHANGES: @@ -45,22 +46,26 @@ key types that can be used by validators. ### IMPROVEMENTS: - [state] [\#2929](https://github.com/tendermint/tendermint/issues/2929) Minor refactor of updateState logic (@danil-lashin) +- [node] \#2959 Allow node to start even if software's BlockProtocol is + different from state's BlockProtocol +- [pex] \#2959 Pex reactor logger uses `module=pex` ### BUG FIXES: -- [types] [\#2938](https://github.com/tendermint/tendermint/issues/2938) Fix regression in v0.26.4 where we panic on empty - genDoc.Validators +- [p2p] \#2968 Panic on transport error rather than continuing to run but not + accept new connections +- [p2p] \#2969 Fix mismatch in peer count between `/net_info` and the prometheus + metrics +- [rpc] \#2408 `/broadcast_tx_commit`: Fix "interface conversion: interface {} in nil, not EventDataTx" panic (could happen if somebody sent a tx using `/broadcast_tx_commit` while Tendermint was being stopped) - [state] [\#2785](https://github.com/tendermint/tendermint/issues/2785) Fix accum for new validators to be `-1.125*totalVotingPower` instead of 0, forcing them to wait before becoming the proposer. Also: - do not batch clip - keep accums averaged near 0 +- [txindex/kv] [\#2925](https://github.com/tendermint/tendermint/issues/2925) Don't return false positives when range searching for a prefix of a tag value +- [types] [\#2938](https://github.com/tendermint/tendermint/issues/2938) Fix regression in v0.26.4 where we panic on empty + genDoc.Validators - [types] [\#2941](https://github.com/tendermint/tendermint/issues/2941) Preserve val.Accum during ValidatorSet.Update to avoid it being reset to 0 every time a validator is updated -- [p2p] \#2968 Panic on transport error rather than continuing to run but not - accept new connections -- [p2p] \#2969 Fix mismatch in peer count between `/net_info` and the prometheus - metrics - ## v0.26.4 diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 3c26f2137..7063efc39 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -21,4 +21,3 @@ Special thanks to external contributors on this release: ### IMPROVEMENTS: ### BUG FIXES: -- [rpc] \#2408 `/broadcast_tx_commit`: Fix "interface conversion: interface {} in nil, not EventDataTx" panic (could happen if somebody sent a tx using /broadcast_tx_commit while Tendermint was being stopped) \ No newline at end of file diff --git a/UPGRADING.md b/UPGRADING.md index f55058a8e..63f000f59 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -5,6 +5,20 @@ a newer version of Tendermint Core. ## v0.27.0 +This release contains some breaking changes to the block and p2p protocols, +but does not change any core data structures, so it should be compatible with +existing blockchains from the v0.26 series that only used Ed25519 validator keys. +Blockchains using Secp256k1 for validators will not be compatible. This is due +to the fact that we now enforce which key types validators can use as a +consensus param. The default is Ed25519, and Secp256k1 must be activated +explicitly. + +It is recommended to upgrade all nodes at once to avoid incompatibilities at the +peer layer - namely, the heartbeat consensus message has been removed (only +relevant if `create_empty_blocks=false` or `create_empty_blocks_interval > 0`), +and the proposer selection algorithm has changed. Since proposer information is +never included in the blockchain, this change only affects the peer layer. + ### Go API Changes #### libs/db @@ -32,7 +46,7 @@ file). ## v0.26.0 -New 0.26.0 release contains a lot of changes to core data types and protocols. It is not +This release contains a lot of changes to core data types and protocols. It is not compatible to the old versions and there is no straight forward way to update old data to be compatible with the new version.