From ccf6b2b51286193b9b9c582c202589facc4d053a Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Sat, 17 Nov 2018 16:04:05 -0500 Subject: [PATCH] Bucky/v0.26.3 (#2872) * update CONTRIBUTING with notes on CHANGELOG * update changelog * changelog and version --- CHANGELOG.md | 47 ++++++++++++++++++++++++++++++++++++++ CHANGELOG_PENDING.md | 17 +------------- CONTRIBUTING.md | 54 ++++++++++++++++++++++++++++++++++++-------- version/version.go | 2 +- 4 files changed, 93 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfdb9a50..e8cb63ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,52 @@ # Changelog +## v0.26.3 + +*November 17th, 2018* + +Special thanks to external contributors on this release: +@danil-lashin, @kevlubkcm, @krhubert, @srmo + +Friendly reminder, we have a [bug bounty +program](https://hackerone.com/tendermint). + +### BREAKING CHANGES: + +* Go API + - [rpc] [\#2791](https://github.com/tendermint/tendermint/issues/2791) Functions that start HTTP servers are now blocking: + - Impacts `StartHTTPServer`, `StartHTTPAndTLSServer`, and `StartGRPCServer` + - These functions now take a `net.Listener` instead of an address + - [rpc] [\#2767](https://github.com/tendermint/tendermint/issues/2767) Subscribing to events + `NewRound` and `CompleteProposal` return new types `EventDataNewRound` and + `EventDataCompleteProposal`, respectively, instead of the generic `EventDataRoundState`. (@kevlubkcm) + +### FEATURES: + +- [log] [\#2843](https://github.com/tendermint/tendermint/issues/2843) New `log_format` config option, which can be set to 'plain' for colored + text or 'json' for JSON output +- [types] [\#2767](https://github.com/tendermint/tendermint/issues/2767) New event types EventDataNewRound (with ProposerInfo) and EventDataCompleteProposal (with BlockID). (@kevlubkcm) + +### IMPROVEMENTS: + +- [dep] [\#2844](https://github.com/tendermint/tendermint/issues/2844) Dependencies are no longer pinned to an exact version in the + Gopkg.toml: + - Serialization libs are allowed to vary by patch release + - Other libs are allowed to vary by minor release +- [p2p] [\#2857](https://github.com/tendermint/tendermint/issues/2857) "Send failed" is logged at debug level instead of error. +- [rpc] [\#2780](https://github.com/tendermint/tendermint/issues/2780) Add read and write timeouts to HTTP servers +- [state] [\#2848](https://github.com/tendermint/tendermint/issues/2848) Make "Update to validators" msg value pretty (@danil-lashin) + +### BUG FIXES: +- [consensus] [\#2819](https://github.com/tendermint/tendermint/issues/2819) Don't send proposalHearbeat if not a validator +- [docs] [\#2859](https://github.com/tendermint/tendermint/issues/2859) Fix ConsensusParams details in spec +- [libs/autofile] [\#2760](https://github.com/tendermint/tendermint/issues/2760) Comment out autofile permissions check - should fix + running Tendermint on Windows +- [p2p] [\#2869](https://github.com/tendermint/tendermint/issues/2869) Set connection config properly instead of always using default +- [p2p/pex] [\#2802](https://github.com/tendermint/tendermint/issues/2802) Seed mode fixes: + - Only disconnect from inbound peers + - Use FlushStop instead of Sleep to ensure all messages are sent before + disconnecting + ## v0.26.2 *November 15th, 2018* diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 07f26e3b..fd340d4d 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,6 +1,6 @@ # Pending -## v0.26.3 +## v0.26.4 *TBD* @@ -16,28 +16,13 @@ program](https://hackerone.com/tendermint). * Apps * Go API - - [rpc] \#2791 Functions that start HTTP servers are now blocking: - - Impacts: StartHTTPServer, StartHTTPAndTLSServer, and StartGRPCServer, - - These functions now take a `net.Listener` instead of an address * Blockchain Protocol * P2P Protocol - ### FEATURES: -- [log] \#2843 New `log_format` config option, which can be set to 'plain' for colored - text or 'json' for JSON output - -- [types] \#2767 New event types EventDataNewRound (with ProposerInfo) and EventDataCompleteProposal (with BlockID). (@kevlubkcm) - ### IMPROVEMENTS: -- [rpc] \#2780 Add read and write timeouts to HTTP servers -- [state] \#2765 Make "Update to validators" msg value pretty (@danil-lashin) -- [p2p] \#2857 "Send failed" is logged at debug level instead of error. - ### BUG FIXES: -- [consensus] \#2819 Don't send proposalHearbeat if not a validator -- [p2p] \#2869 Set connection config properly instead of always using default diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a0057aae..3dab3b8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,17 +69,40 @@ vagrant ssh make test ``` -## Testing - -All repos should be hooked up to [CircleCI](https://circleci.com/). - -If they have `.go` files in the root directory, they will be automatically -tested by circle using `go test -v -race ./...`. If not, they will need a -`circle.yml`. Ideally, every repo has a `Makefile` that defines `make test` and -includes its continuous integration status using a badge in the `README.md`. - ## Changelog +Every fix, improvement, feature, or breaking change should be made in a +pull-request that includes an update to the `CHANGELOG_PENDING.md` file. + +Changelog entries should be formatted as follows: + +``` +- [module] \#xxx Some description about the change (@contributor) +``` + +Here, `module` is the part of the code that changed (typically a +top-level Go package), `xxx` is the pull-request number, and `contributor` +is the author/s of the change. + +It's also acceptable for `xxx` to refer to the relevent issue number, but pull-request +numbers are preferred. +Note this means pull-requests should be opened first so the changelog can then +be updated with the pull-request's number. +There is no need to include the full link, as this will be added +automatically during release. But please include the backslash and pound, eg. `\#2313`. + +Changelog entries should be ordered alphabetically according to the +`module`, and numerically according to the pull-request number. + +Changes with multiple classifications should be doubly included (eg. a bug fix +that is also a breaking change should be recorded under both). + +Breaking changes are further subdivided according to the APIs/users they impact. +Any change that effects multiple APIs/users should be recorded multiply - for +instance, a change to the `Blockchain Protocol` that removes a field from the +header should also be recorded under `CLI/RPC/Config` since the field will be +removed from the header in rpc responses as well. + ## Branching Model and Release All repos should adhere to the branching model: http://nvie.com/posts/a-successful-git-branching-model/. @@ -104,13 +127,14 @@ master constitutes a tagged release. - start on `develop` - run integration tests (see `test_integrations` in Makefile) - prepare changelog: - - copy `CHANGELOG_PENDING.md` to `CHANGELOG.md` + - copy `CHANGELOG_PENDING.md` to top of `CHANGELOG.md` - run `python ./scripts/linkify_changelog.py CHANGELOG.md` to add links for all issues - run `bash ./scripts/authors.sh` to get a list of authors since the latest release, and add the github aliases of external contributors to the top of the changelog. To lookup an alias from an email, try `bash ./scripts/authors.sh ` + - reset the `CHANGELOG_PENDING.md` - bump versions - push to release/vX.X.X to run the extended integration tests on the CI - merge to master @@ -127,3 +151,13 @@ master constitutes a tagged release. - merge hotfix-vX.X.X to master - merge hotfix-vX.X.X to develop - delete the hotfix-vX.X.X branch + + +## Testing + +All repos should be hooked up to [CircleCI](https://circleci.com/). + +If they have `.go` files in the root directory, they will be automatically +tested by circle using `go test -v -race ./...`. If not, they will need a +`circle.yml`. Ideally, every repo has a `Makefile` that defines `make test` and +includes its continuous integration status using a badge in the `README.md`. diff --git a/version/version.go b/version/version.go index aae54512..aa52a82e 100644 --- a/version/version.go +++ b/version/version.go @@ -18,7 +18,7 @@ const ( // TMCoreSemVer is the current version of Tendermint Core. // It's the Semantic Version of the software. // Must be a string because scripts like dist.sh read this file. - TMCoreSemVer = "0.26.2" + TMCoreSemVer = "0.26.3" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.15.0"