From 55b7118c981e93b920cead4616b91ec58130e316 Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 15:35:32 +0100 Subject: [PATCH 01/10] Prep changelog: copy from pending & update version --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0ba675ae..4824c4f27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ # Changelog +## v0.31.1 + +*March 27th, 2019* + +### BREAKING CHANGES: + +* CLI/RPC/Config + +* Apps + +* Go API +- [libs/common] Remove RepeatTimer (also TimerMaker and Ticker interface) +- [rpc/client] \#3458 Include NetworkClient interface into Client interface + +* Blockchain Protocol + +* P2P Protocol + +### FEATURES: +- [rpc] \#3419 Start HTTPS server if `rpc.tls_cert_file` and `rpc.tls_key_file` are provided in the config (@guagualvcha) + +### IMPROVEMENTS: + +- [mempool] \#2778 No longer send txs back to peers who sent it to you + +### BUG FIXES: + +- [blockchain] \#2699 update the maxHeight when a peer is removed + + ## v0.31.0 *March 16th, 2019* From ed63e1f378eaf465b714084fa1edd6ac4761782f Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 16:03:25 +0100 Subject: [PATCH 02/10] Add more entries to the Changelog, fix formatting, linkify --- CHANGELOG.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4824c4f27..7eb690e80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ *March 27th, 2019* +Special thanks to external contributors on this release: + ### BREAKING CHANGES: * CLI/RPC/Config @@ -11,23 +13,30 @@ * Apps * Go API -- [libs/common] Remove RepeatTimer (also TimerMaker and Ticker interface) -- [rpc/client] \#3458 Include NetworkClient interface into Client interface + - [crypto] [\#3426](https://github.com/tendermint/tendermint/pull/3426) Remove `Ripemd160` helper method (@needkane) + - [libs/common] Remove `RepeatTimer` (also `TimerMaker` and `Ticker` interface) + - [rpc/client] [\#3458](https://github.com/tendermint/tendermint/issues/3458) Include `NetworkClient` interface into `Client` interface + - [types] [\#3448](https://github.com/tendermint/tendermint/issues/3448) Remove method `PB2TM.ConsensusParams` * Blockchain Protocol * P2P Protocol ### FEATURES: -- [rpc] \#3419 Start HTTPS server if `rpc.tls_cert_file` and `rpc.tls_key_file` are provided in the config (@guagualvcha) + + - [rpc] [\#3419](https://github.com/tendermint/tendermint/issues/3419) Start HTTPS server if `rpc.tls_cert_file` and `rpc.tls_key_file` are provided in the config (@guagualvcha) ### IMPROVEMENTS: -- [mempool] \#2778 No longer send txs back to peers who sent it to you +- [docs] [\#3140](https://github.com/tendermint/tendermint/issues/3140) Formalize proposer election algorithm properties +- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you +- [p2p] [\#3475](https://github.com/tendermint/tendermint/issues/3475) Simplify `GetSelectionWithBias` for addressbook +- [rpc/lib/client] [\#3430](https://github.com/tendermint/tendermint/issues/3430) Disable compression for HTTP client to prevent GZIP-bomb DoS attacks (@guagualvcha) ### BUG FIXES: -- [blockchain] \#2699 update the maxHeight when a peer is removed +- [blockchain] [\#2699](https://github.com/tendermint/tendermint/issues/2699) update the maxHeight when a peer is removed +- [mempool] [\#3478](https://github.com/tendermint/tendermint/issues/3478) Fix memory-leak related to `broadcastTxRoutine` (@HaoyangLiu) ## v0.31.0 From e3f840e6a6f81406c44e760e578e48fcd3fedf12 Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 16:04:43 +0100 Subject: [PATCH 03/10] reset CHANGELOG_PENDING.md --- CHANGELOG_PENDING.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index eaf08928d..470282aa9 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -9,20 +9,14 @@ * Apps * Go API -- [libs/common] Remove RepeatTimer (also TimerMaker and Ticker interface) -- [rpc/client] \#3458 Include NetworkClient interface into Client interface * Blockchain Protocol * P2P Protocol ### FEATURES: -- [rpc] \#3419 Start HTTPS server if `rpc.tls_cert_file` and `rpc.tls_key_file` are provided in the config (@guagualvcha) ### IMPROVEMENTS: -- [mempool] \#2778 No longer send txs back to peers who sent it to you - ### BUG FIXES: -- [blockchain] \#2699 update the maxHeight when a peer is removed From 52727863e187e85901e7f2e7285920a701d2a8e6 Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 16:07:03 +0100 Subject: [PATCH 04/10] add external contributors --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7eb690e80..6e87e2b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ *March 27th, 2019* Special thanks to external contributors on this release: +@guagualvcha, @HaoyangLiu, @needkane ### BREAKING CHANGES: From 3c7bb6b571ac47e050a47013e22dbdfd68f02745 Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 16:48:00 +0100 Subject: [PATCH 05/10] Add some numbers for #2778 --- CHANGELOG.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e87e2b76..4f2a9971f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,7 +30,15 @@ Special thanks to external contributors on this release: ### IMPROVEMENTS: - [docs] [\#3140](https://github.com/tendermint/tendermint/issues/3140) Formalize proposer election algorithm properties -- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you +- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you and limit to 65536 active peers. +This vastly improves the the b bandwidth consumption of nodes. +E.g. 250bytes txs for 120 sec. at 500 txs/sec. rate, so total 15MB: + - total bytes received from 1st node in 4 node localnet + - before: 42793967 (43MB) + - after: 30003256 (30MB) + - total bytes sent to 1st node in 4 node localnet + - before: 30569339 (30MB) + - after: 19304964 (19MB) - [p2p] [\#3475](https://github.com/tendermint/tendermint/issues/3475) Simplify `GetSelectionWithBias` for addressbook - [rpc/lib/client] [\#3430](https://github.com/tendermint/tendermint/issues/3430) Disable compression for HTTP client to prevent GZIP-bomb DoS attacks (@guagualvcha) From 233813483642c2ac370110dd42c3291556c26039 Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 16:52:19 +0100 Subject: [PATCH 06/10] bump versions --- version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/version.go b/version/version.go index b2202206c..9090fc7e6 100644 --- a/version/version.go +++ b/version/version.go @@ -20,7 +20,7 @@ const ( // Must be a string because scripts like dist.sh read this file. // XXX: Don't change the name of this variable or you will break // automation :) - TMCoreSemVer = "0.31.0" + TMCoreSemVer = "0.31.1" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.16.0" From ae88965ff6ddf174607a02eee83cfc5ed11c6cbb Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 17:46:29 +0100 Subject: [PATCH 07/10] changelog: add summary & fix link & add external contributor (#3490) --- CHANGELOG.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f2a9971f..1b3ee16d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ *March 27th, 2019* +This release contains a major improvement for the mempool that reduce the amount of sent data by about 30% +(see some numbers below). +It also fixes a memory leak in the mempool and gives you the ability to run HTTPS RPC servers (over TLS) by providing a certificate and key in the config. + Special thanks to external contributors on this release: @guagualvcha, @HaoyangLiu, @needkane @@ -15,7 +19,7 @@ Special thanks to external contributors on this release: * Go API - [crypto] [\#3426](https://github.com/tendermint/tendermint/pull/3426) Remove `Ripemd160` helper method (@needkane) - - [libs/common] Remove `RepeatTimer` (also `TimerMaker` and `Ticker` interface) + - [libs/common] [\#3429](https://github.com/tendermint/tendermint/pull/3429) Remove `RepeatTimer` (also `TimerMaker` and `Ticker` interface) - [rpc/client] [\#3458](https://github.com/tendermint/tendermint/issues/3458) Include `NetworkClient` interface into `Client` interface - [types] [\#3448](https://github.com/tendermint/tendermint/issues/3448) Remove method `PB2TM.ConsensusParams` @@ -30,7 +34,8 @@ Special thanks to external contributors on this release: ### IMPROVEMENTS: - [docs] [\#3140](https://github.com/tendermint/tendermint/issues/3140) Formalize proposer election algorithm properties -- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you and limit to 65536 active peers. +- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you. +Also, limit to 65536 active peers. This vastly improves the the b bandwidth consumption of nodes. E.g. 250bytes txs for 120 sec. at 500 txs/sec. rate, so total 15MB: - total bytes received from 1st node in 4 node localnet @@ -39,7 +44,7 @@ E.g. 250bytes txs for 120 sec. at 500 txs/sec. rate, so total 15MB: - total bytes sent to 1st node in 4 node localnet - before: 30569339 (30MB) - after: 19304964 (19MB) -- [p2p] [\#3475](https://github.com/tendermint/tendermint/issues/3475) Simplify `GetSelectionWithBias` for addressbook +- [p2p] [\#3475](https://github.com/tendermint/tendermint/issues/3475) Simplify `GetSelectionWithBias` for addressbook (@guagualvcha) - [rpc/lib/client] [\#3430](https://github.com/tendermint/tendermint/issues/3430) Disable compression for HTTP client to prevent GZIP-bomb DoS attacks (@guagualvcha) ### BUG FIXES: From ccfe75ec4a701ad7dcaf1f26df772b0881ab1184 Mon Sep 17 00:00:00 2001 From: Sean Braithwaite Date: Wed, 27 Mar 2019 18:51:57 +0100 Subject: [PATCH 08/10] docs: Fix broken links (#3482) (#3488) * docs: fix broken links (#3482) A bunch of links were broken in the documentation s they included the `docs` prefix. * Update CHANGELOG_PENDING * docs: switch to relative links for github compatitibility (#3482) --- docs/networks/docker-compose.md | 2 +- docs/spec/blockchain/blockchain.md | 8 ++++---- docs/spec/blockchain/encoding.md | 2 +- docs/spec/consensus/abci.md | 2 +- docs/spec/consensus/wal.md | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/networks/docker-compose.md b/docs/networks/docker-compose.md index 7e4adde8d..8db49af5e 100644 --- a/docs/networks/docker-compose.md +++ b/docs/networks/docker-compose.md @@ -4,7 +4,7 @@ With Docker Compose, you can spin up local testnets with a single command. ## Requirements -1. [Install tendermint](/docs/introduction/install.md) +1. [Install tendermint](../introduction/install.md) 2. [Install docker](https://docs.docker.com/engine/installation/) 3. [Install docker-compose](https://docs.docker.com/compose/install/) diff --git a/docs/spec/blockchain/blockchain.md b/docs/spec/blockchain/blockchain.md index 60a07d42a..9f88d6417 100644 --- a/docs/spec/blockchain/blockchain.md +++ b/docs/spec/blockchain/blockchain.md @@ -103,7 +103,7 @@ type PartSetHeader struct { } ``` -See [MerkleRoot](/docs/spec/blockchain/encoding.md#MerkleRoot) for details. +See [MerkleRoot](./encoding.md#MerkleRoot) for details. ## Time @@ -163,7 +163,7 @@ a _precommit_ has `vote.Type == 2`. Signatures in Tendermint are raw bytes representing the underlying signature. -See the [signature spec](/docs/spec/blockchain/encoding.md#key-types) for more. +See the [signature spec](./encoding.md#key-types) for more. ## EvidenceData @@ -190,7 +190,7 @@ type DuplicateVoteEvidence struct { } ``` -See the [pubkey spec](/docs/spec/blockchain/encoding.md#key-types) for more. +See the [pubkey spec](./encoding.md#key-types) for more. ## Validation @@ -209,7 +209,7 @@ the current version of the `state` corresponds to the state after executing transactions from the `prevBlock`. Elements of an object are accessed as expected, ie. `block.Header`. -See the [definition of `State`](/docs/spec/blockchain/state.md). +See the [definition of `State`](./state.md). ### Header diff --git a/docs/spec/blockchain/encoding.md b/docs/spec/blockchain/encoding.md index e8258e4a9..bde580a14 100644 --- a/docs/spec/blockchain/encoding.md +++ b/docs/spec/blockchain/encoding.md @@ -339,6 +339,6 @@ type CanonicalVote struct { The field ordering and the fixed sized encoding for the first three fields is optimized to ease parsing of SignBytes in HSMs. It creates fixed offsets for relevant fields that need to be read in this context. -For more details, see the [signing spec](/docs/spec/consensus/signing.md). +For more details, see the [signing spec](../consensus/signing.md). Also, see the motivating discussion in [#1622](https://github.com/tendermint/tendermint/issues/1622). diff --git a/docs/spec/consensus/abci.md b/docs/spec/consensus/abci.md index 82b88161e..226d22899 100644 --- a/docs/spec/consensus/abci.md +++ b/docs/spec/consensus/abci.md @@ -1 +1 @@ -[Moved](/docs/spec/software/abci.md) +[Moved](../software/abci.md) diff --git a/docs/spec/consensus/wal.md b/docs/spec/consensus/wal.md index 589680f99..6146ab9c0 100644 --- a/docs/spec/consensus/wal.md +++ b/docs/spec/consensus/wal.md @@ -1 +1 @@ -[Moved](/docs/spec/software/wal.md) +[Moved](../software/wal.md) From a49d80b89c9df3cb2497adb8175915c654479708 Mon Sep 17 00:00:00 2001 From: Ismail Khoffi Date: Wed, 27 Mar 2019 19:12:01 +0100 Subject: [PATCH 09/10] catch up with develop and rebase on current release to include #3482 --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b3ee16d5..69c4f6071 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ This release contains a major improvement for the mempool that reduce the amount It also fixes a memory leak in the mempool and gives you the ability to run HTTPS RPC servers (over TLS) by providing a certificate and key in the config. Special thanks to external contributors on this release: -@guagualvcha, @HaoyangLiu, @needkane +@brapse, @guagualvcha, @HaoyangLiu, @needkane, @TraceBundy ### BREAKING CHANGES: @@ -34,6 +34,7 @@ Special thanks to external contributors on this release: ### IMPROVEMENTS: - [docs] [\#3140](https://github.com/tendermint/tendermint/issues/3140) Formalize proposer election algorithm properties +- [docs] [\#3482](https://github.com/tendermint/tendermint/issues/3482) fix broken links (@brapse) - [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you. Also, limit to 65536 active peers. This vastly improves the the b bandwidth consumption of nodes. From 9390a810ebda0b1aebd90f6e8b8688562bdf7958 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Wed, 27 Mar 2019 21:03:28 -0400 Subject: [PATCH 10/10] minor changelog updates (#3499) --- CHANGELOG.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69c4f6071..31ee14c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,9 @@ *March 27th, 2019* -This release contains a major improvement for the mempool that reduce the amount of sent data by about 30% +This release contains a major improvement for the mempool that reduce the amount of sent data by about 30% (see some numbers below). -It also fixes a memory leak in the mempool and gives you the ability to run HTTPS RPC servers (over TLS) by providing a certificate and key in the config. +It also fixes a memory leak in the mempool and adds TLS support to the RPC server by providing a certificate and key in the config. Special thanks to external contributors on this release: @brapse, @guagualvcha, @HaoyangLiu, @needkane, @TraceBundy @@ -34,23 +34,23 @@ Special thanks to external contributors on this release: ### IMPROVEMENTS: - [docs] [\#3140](https://github.com/tendermint/tendermint/issues/3140) Formalize proposer election algorithm properties -- [docs] [\#3482](https://github.com/tendermint/tendermint/issues/3482) fix broken links (@brapse) -- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you. +- [docs] [\#3482](https://github.com/tendermint/tendermint/issues/3482) Fix broken links (@brapse) +- [mempool] [\#2778](https://github.com/tendermint/tendermint/issues/2778) No longer send txs back to peers who sent it to you. Also, limit to 65536 active peers. -This vastly improves the the b bandwidth consumption of nodes. -E.g. 250bytes txs for 120 sec. at 500 txs/sec. rate, so total 15MB: - - total bytes received from 1st node in 4 node localnet +This vastly improves the bandwidth consumption of nodes. +For instance, for a 4 node localnet, in a test sending 250byte txs for 120 sec. at 500 txs/sec (total of 15MB): + - total bytes received from 1st node: - before: 42793967 (43MB) - - after: 30003256 (30MB) - - total bytes sent to 1st node in 4 node localnet + - after: 30003256 (30MB) + - total bytes sent to 1st node: - before: 30569339 (30MB) - - after: 19304964 (19MB) + - after: 19304964 (19MB) - [p2p] [\#3475](https://github.com/tendermint/tendermint/issues/3475) Simplify `GetSelectionWithBias` for addressbook (@guagualvcha) - [rpc/lib/client] [\#3430](https://github.com/tendermint/tendermint/issues/3430) Disable compression for HTTP client to prevent GZIP-bomb DoS attacks (@guagualvcha) ### BUG FIXES: -- [blockchain] [\#2699](https://github.com/tendermint/tendermint/issues/2699) update the maxHeight when a peer is removed +- [blockchain] [\#2699](https://github.com/tendermint/tendermint/issues/2699) Update the maxHeight when a peer is removed - [mempool] [\#3478](https://github.com/tendermint/tendermint/issues/3478) Fix memory-leak related to `broadcastTxRoutine` (@HaoyangLiu)