From 2dfde37f448486df142b07327672ba52f603b410 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Fri, 21 Sep 2018 16:45:00 -0400 Subject: [PATCH 1/4] update changelog and upgrading --- CHANGELOG_PENDING.md | 35 ++++++++++++++++++++++++----------- UPGRADING.md | 6 ++++++ 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 52d90ec7..803f91ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,14 +1,25 @@ # Pending -Special thanks to external contributors with PRs included in this release: +Special thanks to external contributors on this release: +@scriptionist, @bradyjoestar, @WALL-E + +This release is mostly about the ConsensusParams - removing fields and enforcing MaxGas. +It also addresses some issues found via security audit, removes various unused +functions from `libs/common`, and implements +[ADR-012](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-012-peer-transport.md). + +Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermint). BREAKING CHANGES: * CLI/RPC/Config * [rpc] [\#2391](https://github.com/tendermint/tendermint/issues/2391) /status `result.node_info.other` became a map + * [types] \#2364 Remove `TxSize` and `BlockGossip` from `ConsensusParams` + * Maximum tx size is now set implicitly via the `BlockSize.MaxBytes` + * The size of block parts in the consensus is now fixed to 64kB * Apps - * [mempool] \#2310 Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. + * [mempool] \#2360 Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. * Go API * [libs/common] \#2431 Remove Word256 due to lack of use @@ -17,21 +28,23 @@ BREAKING CHANGES: * strings.go: cmn.IsHex, cmn.StripHex * int.go: Uint64Slice, all put/get int64 methods -* Blockchain Protocol - -* P2P Protocol - - FEATURES: +- [rpc] \#2415 New `/consensus_params?height=X` endpoint to query the consensus + params at any height (@scriptonist) +- [types] [\#1714](https://github.com/tendermint/tendermint/issues/1714) Add Address to GenesisValidator +- [metrics] \#2337 `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) IMPROVEMENTS: -- [libs/db] \#2371 Output error instead of panic when the given db_backend is not initialised (@bradyjoestar) +- [libs/db] \#2371 Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) +- [libs] \#2286 Enforce 0600 permissions on `autofile` and `db/fsdb` + - [mempool] [\#2399](https://github.com/tendermint/tendermint/issues/2399) Make mempool cache a proper LRU (@bradyjoestar) -- [types] [\#1714](https://github.com/tendermint/tendermint/issues/1714) Add Address to GenesisValidator -- [metrics] `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) - [p2p] \#2126 Introduce PeerTransport interface to improve isolation of concerns +- [libs/common] \#2326 Service returns ErrNotStarted BUG FIXES: - [node] \#2294 Delay starting node until Genesis time - [consensus] \#2048 Correct peer statistics for marking peer as good -- [rpc] \#2460 StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever. \ No newline at end of file +- [rpc] \#2460 StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever. +- [p2p] \#2047 Accept new connections asynchronously +- [tm-bench] \#2410 Enforce minimum transaction size (@WALL-E) diff --git a/UPGRADING.md b/UPGRADING.md index 16e397b2..81e56e58 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -3,6 +3,12 @@ This guide provides steps to be followed when you upgrade your applications to a newer version of Tendermint Core. +## v0.25.0 + +This release has minimal impact. + +If you use GasWanted in ABCI and want to enforce it, set the MaxGas in the genesis file (default is no max). + ## v0.24.0 New 0.24.0 release contains a lot of changes to the state and types. It's not From dde0936fb87256750e0ac0578ded063fabde392e Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Fri, 21 Sep 2018 17:37:40 -0400 Subject: [PATCH 2/4] linkify changelog --- CHANGELOG_PENDING.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 803f91ca..f2a2a257 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -14,37 +14,37 @@ BREAKING CHANGES: * CLI/RPC/Config * [rpc] [\#2391](https://github.com/tendermint/tendermint/issues/2391) /status `result.node_info.other` became a map - * [types] \#2364 Remove `TxSize` and `BlockGossip` from `ConsensusParams` + * [types] [\#2364](https://github.com/tendermint/tendermint/issues/2364) Remove `TxSize` and `BlockGossip` from `ConsensusParams` * Maximum tx size is now set implicitly via the `BlockSize.MaxBytes` * The size of block parts in the consensus is now fixed to 64kB * Apps - * [mempool] \#2360 Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. + * [mempool] [\#2360](https://github.com/tendermint/tendermint/issues/2360) Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. * Go API - * [libs/common] \#2431 Remove Word256 due to lack of use - * [libs/common] \#2452 Remove the following functions due to lack of use: + * [libs/common] [\#2431](https://github.com/tendermint/tendermint/issues/2431) Remove Word256 due to lack of use + * [libs/common] [\#2452](https://github.com/tendermint/tendermint/issues/2452) Remove the following functions due to lack of use: * byteslice.go: cmn.IsZeros, cmn.RightPadBytes, cmn.LeftPadBytes, cmn.PrefixEndBytes * strings.go: cmn.IsHex, cmn.StripHex * int.go: Uint64Slice, all put/get int64 methods FEATURES: -- [rpc] \#2415 New `/consensus_params?height=X` endpoint to query the consensus +- [rpc] [\#2415](https://github.com/tendermint/tendermint/issues/2415) New `/consensus_params?height=X` endpoint to query the consensus params at any height (@scriptonist) - [types] [\#1714](https://github.com/tendermint/tendermint/issues/1714) Add Address to GenesisValidator -- [metrics] \#2337 `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) +- [metrics] [\#2337](https://github.com/tendermint/tendermint/issues/2337) `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) IMPROVEMENTS: -- [libs/db] \#2371 Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) -- [libs] \#2286 Enforce 0600 permissions on `autofile` and `db/fsdb` +- [libs/db] [\#2371](https://github.com/tendermint/tendermint/issues/2371) Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) +- [libs] [\#2286](https://github.com/tendermint/tendermint/issues/2286) Enforce 0600 permissions on `autofile` and `db/fsdb` - [mempool] [\#2399](https://github.com/tendermint/tendermint/issues/2399) Make mempool cache a proper LRU (@bradyjoestar) -- [p2p] \#2126 Introduce PeerTransport interface to improve isolation of concerns -- [libs/common] \#2326 Service returns ErrNotStarted +- [p2p] [\#2126](https://github.com/tendermint/tendermint/issues/2126) Introduce PeerTransport interface to improve isolation of concerns +- [libs/common] [\#2326](https://github.com/tendermint/tendermint/issues/2326) Service returns ErrNotStarted BUG FIXES: -- [node] \#2294 Delay starting node until Genesis time -- [consensus] \#2048 Correct peer statistics for marking peer as good -- [rpc] \#2460 StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever. -- [p2p] \#2047 Accept new connections asynchronously -- [tm-bench] \#2410 Enforce minimum transaction size (@WALL-E) +- [node] [\#2294](https://github.com/tendermint/tendermint/issues/2294) Delay starting node until Genesis time +- [consensus] [\#2048](https://github.com/tendermint/tendermint/issues/2048) Correct peer statistics for marking peer as good +- [rpc] [\#2460](https://github.com/tendermint/tendermint/issues/2460) StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever. +- [p2p] [\#2047](https://github.com/tendermint/tendermint/issues/2047) Accept new connections asynchronously +- [tm-bench] [\#2410](https://github.com/tendermint/tendermint/issues/2410) Enforce minimum transaction size (@WALL-E) From ee8b8bbefb2855ff3076d9ba7830cba2dbf335be Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Fri, 21 Sep 2018 17:41:02 -0400 Subject: [PATCH 3/4] flush changelog pending, bump version --- CHANGELOG.md | 53 ++++++++++++++++++++++++++++++++++++++++++++ CHANGELOG_PENDING.md | 33 --------------------------- version/version.go | 4 ++-- 3 files changed, 55 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 726ca9ae..989f0d14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,58 @@ # Changelog +## v0.25.0 + +*September 22, 2018* + +Special thanks to external contributors on this release: +@scriptionist, @bradyjoestar, @WALL-E + +This release is mostly about the ConsensusParams - removing fields and enforcing MaxGas. +It also addresses some issues found via security audit, removes various unused +functions from `libs/common`, and implements +[ADR-012](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-012-peer-transport.md). + +Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermint). + +BREAKING CHANGES: + +* CLI/RPC/Config + * [rpc] [\#2391](https://github.com/tendermint/tendermint/issues/2391) /status `result.node_info.other` became a map + * [types] [\#2364](https://github.com/tendermint/tendermint/issues/2364) Remove `TxSize` and `BlockGossip` from `ConsensusParams` + * Maximum tx size is now set implicitly via the `BlockSize.MaxBytes` + * The size of block parts in the consensus is now fixed to 64kB + +* Apps + * [mempool] [\#2360](https://github.com/tendermint/tendermint/issues/2360) Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. + +* Go API + * [libs/common] [\#2431](https://github.com/tendermint/tendermint/issues/2431) Remove Word256 due to lack of use + * [libs/common] [\#2452](https://github.com/tendermint/tendermint/issues/2452) Remove the following functions due to lack of use: + * byteslice.go: cmn.IsZeros, cmn.RightPadBytes, cmn.LeftPadBytes, cmn.PrefixEndBytes + * strings.go: cmn.IsHex, cmn.StripHex + * int.go: Uint64Slice, all put/get int64 methods + +FEATURES: +- [rpc] [\#2415](https://github.com/tendermint/tendermint/issues/2415) New `/consensus_params?height=X` endpoint to query the consensus + params at any height (@scriptonist) +- [types] [\#1714](https://github.com/tendermint/tendermint/issues/1714) Add Address to GenesisValidator +- [metrics] [\#2337](https://github.com/tendermint/tendermint/issues/2337) `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) + +IMPROVEMENTS: +- [libs/db] [\#2371](https://github.com/tendermint/tendermint/issues/2371) Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) +- [libs] [\#2286](https://github.com/tendermint/tendermint/issues/2286) Enforce 0600 permissions on `autofile` and `db/fsdb` + +- [mempool] [\#2399](https://github.com/tendermint/tendermint/issues/2399) Make mempool cache a proper LRU (@bradyjoestar) +- [p2p] [\#2126](https://github.com/tendermint/tendermint/issues/2126) Introduce PeerTransport interface to improve isolation of concerns +- [libs/common] [\#2326](https://github.com/tendermint/tendermint/issues/2326) Service returns ErrNotStarted + +BUG FIXES: +- [node] [\#2294](https://github.com/tendermint/tendermint/issues/2294) Delay starting node until Genesis time +- [consensus] [\#2048](https://github.com/tendermint/tendermint/issues/2048) Correct peer statistics for marking peer as good +- [rpc] [\#2460](https://github.com/tendermint/tendermint/issues/2460) StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever. +- [p2p] [\#2047](https://github.com/tendermint/tendermint/issues/2047) Accept new connections asynchronously +- [tm-bench] [\#2410](https://github.com/tendermint/tendermint/issues/2410) Enforce minimum transaction size (@WALL-E) + ## 0.24.0 *September 6th, 2018* diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index f2a2a257..81c7a3a2 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,50 +1,17 @@ # Pending Special thanks to external contributors on this release: -@scriptionist, @bradyjoestar, @WALL-E - -This release is mostly about the ConsensusParams - removing fields and enforcing MaxGas. -It also addresses some issues found via security audit, removes various unused -functions from `libs/common`, and implements -[ADR-012](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-012-peer-transport.md). - -Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermint). BREAKING CHANGES: * CLI/RPC/Config - * [rpc] [\#2391](https://github.com/tendermint/tendermint/issues/2391) /status `result.node_info.other` became a map - * [types] [\#2364](https://github.com/tendermint/tendermint/issues/2364) Remove `TxSize` and `BlockGossip` from `ConsensusParams` - * Maximum tx size is now set implicitly via the `BlockSize.MaxBytes` - * The size of block parts in the consensus is now fixed to 64kB * Apps - * [mempool] [\#2360](https://github.com/tendermint/tendermint/issues/2360) Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. * Go API - * [libs/common] [\#2431](https://github.com/tendermint/tendermint/issues/2431) Remove Word256 due to lack of use - * [libs/common] [\#2452](https://github.com/tendermint/tendermint/issues/2452) Remove the following functions due to lack of use: - * byteslice.go: cmn.IsZeros, cmn.RightPadBytes, cmn.LeftPadBytes, cmn.PrefixEndBytes - * strings.go: cmn.IsHex, cmn.StripHex - * int.go: Uint64Slice, all put/get int64 methods FEATURES: -- [rpc] [\#2415](https://github.com/tendermint/tendermint/issues/2415) New `/consensus_params?height=X` endpoint to query the consensus - params at any height (@scriptonist) -- [types] [\#1714](https://github.com/tendermint/tendermint/issues/1714) Add Address to GenesisValidator -- [metrics] [\#2337](https://github.com/tendermint/tendermint/issues/2337) `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) IMPROVEMENTS: -- [libs/db] [\#2371](https://github.com/tendermint/tendermint/issues/2371) Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) -- [libs] [\#2286](https://github.com/tendermint/tendermint/issues/2286) Enforce 0600 permissions on `autofile` and `db/fsdb` - -- [mempool] [\#2399](https://github.com/tendermint/tendermint/issues/2399) Make mempool cache a proper LRU (@bradyjoestar) -- [p2p] [\#2126](https://github.com/tendermint/tendermint/issues/2126) Introduce PeerTransport interface to improve isolation of concerns -- [libs/common] [\#2326](https://github.com/tendermint/tendermint/issues/2326) Service returns ErrNotStarted BUG FIXES: -- [node] [\#2294](https://github.com/tendermint/tendermint/issues/2294) Delay starting node until Genesis time -- [consensus] [\#2048](https://github.com/tendermint/tendermint/issues/2048) Correct peer statistics for marking peer as good -- [rpc] [\#2460](https://github.com/tendermint/tendermint/issues/2460) StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever. -- [p2p] [\#2047](https://github.com/tendermint/tendermint/issues/2047) Accept new connections asynchronously -- [tm-bench] [\#2410](https://github.com/tendermint/tendermint/issues/2410) Enforce minimum transaction size (@WALL-E) diff --git a/version/version.go b/version/version.go index 337ce4ea..d8bab577 100644 --- a/version/version.go +++ b/version/version.go @@ -3,14 +3,14 @@ package version // Version components const ( Maj = "0" - Min = "24" + Min = "25" Fix = "0" ) var ( // Version is the current version of Tendermint // Must be a string because scripts like dist.sh read this file. - Version = "0.24.0" + Version = "0.25.0" // GitCommit is the current HEAD set using ldflags. GitCommit string From 97b43d875ae8ef1d8e177964fa296ea5800c4448 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Sun, 23 Sep 2018 01:23:31 -0400 Subject: [PATCH 4/4] update changelog --- CHANGELOG.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 989f0d14..6032fc20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,7 +23,10 @@ BREAKING CHANGES: * The size of block parts in the consensus is now fixed to 64kB * Apps - * [mempool] [\#2360](https://github.com/tendermint/tendermint/issues/2360) Mempool tracks the `ResponseCheckTx.GasWanted` and enforces `ConsensusParams.BlockSize.MaxGas` on proposals. + * [mempool] [\#2360](https://github.com/tendermint/tendermint/issues/2360) Mempool tracks the `ResponseCheckTx.GasWanted` and + `ConsensusParams.BlockSize.MaxGas` and enforces: + - `GasWanted <= MaxGas` for every tx + - `(sum of GasWanted in block) <= MaxGas` for block proposal * Go API * [libs/common] [\#2431](https://github.com/tendermint/tendermint/issues/2431) Remove Word256 due to lack of use @@ -37,11 +40,10 @@ FEATURES: params at any height (@scriptonist) - [types] [\#1714](https://github.com/tendermint/tendermint/issues/1714) Add Address to GenesisValidator - [metrics] [\#2337](https://github.com/tendermint/tendermint/issues/2337) `consensus.block_interval_metrics` is now gauge, not histogram (you will be able to see spikes, if any) +- [libs] [\#2286](https://github.com/tendermint/tendermint/issues/2286) Panic if `autofile` or `db/fsdb` permissions change from 0600. IMPROVEMENTS: - [libs/db] [\#2371](https://github.com/tendermint/tendermint/issues/2371) Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) -- [libs] [\#2286](https://github.com/tendermint/tendermint/issues/2286) Enforce 0600 permissions on `autofile` and `db/fsdb` - - [mempool] [\#2399](https://github.com/tendermint/tendermint/issues/2399) Make mempool cache a proper LRU (@bradyjoestar) - [p2p] [\#2126](https://github.com/tendermint/tendermint/issues/2126) Introduce PeerTransport interface to improve isolation of concerns - [libs/common] [\#2326](https://github.com/tendermint/tendermint/issues/2326) Service returns ErrNotStarted