Merge PR #4902: Changelog Flow Updates

This commit is contained in:
Alexander Bezobchuk 2019-08-13 16:00:28 -04:00 committed by GitHub
parent f90d969ded
commit 7d42f62f90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 158 additions and 135 deletions

View File

@ -1,16 +0,0 @@
sections:
breaking: Breaking Changes
features: Features
improvements: Improvements
bugfixes: Bugfixes
tags:
- keys
- store
- abci
- rest
- cli
- modules
- simulation
- types
- tendermint

View File

@ -9,7 +9,7 @@ v If a checkbox is n/a - please still include it but + a little note why
- [ ] Linked to github-issue with discussion and accepted design OR link to spec that describes this work. - [ ] Linked to github-issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Wrote tests - [ ] Wrote tests
- [ ] Updated relevant documentation (`docs/`) - [ ] Updated relevant documentation (`docs/`)
- [ ] Added a relevant changelog entry: `clog add [section] [-t <tag>] [-m <msg>]` - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the github PR explorer - [ ] Re-reviewed `Files changed` in the github PR explorer
______ ______

View File

@ -1,2 +0,0 @@
All REST responses now wrap the original resource/result. The response
will contain two fields: height and result.

View File

@ -1,3 +0,0 @@
#4665 Refactored `x/gov` module structure and dev-UX:
- Prepare for module spec integration
- Update gov keys to use big endian encoding instead of little endian

View File

@ -1,2 +0,0 @@
[\#4837](https://github.com/cosmos/cosmos-sdk/pull/4837) Remove /version and /node_version
endpoints in favor of refactoring /node_info to also include application version info.

View File

@ -1 +0,0 @@
#4783 The balance field in the DelegationResponse type is now sdk.Coin instead of sdk.Int

View File

@ -1,2 +0,0 @@
#4868 Context#CacheContext now sets a new EventManager. This prevents unwanted events
from being emitted.

View File

@ -1 +0,0 @@
#4891 Disable querying with proofs enabled when the query height <= 1.

View File

@ -1 +0,0 @@
Return height in responses when querying against BaseApp

View File

@ -1 +0,0 @@
Sort state JSON during export and initialization

View File

@ -1 +0,0 @@
#4639 Fix `CheckTx` by verifying the message route

View File

@ -1 +0,0 @@
#4763 fix flag `--min-self-delegation` for staking `EditValidator`

View File

@ -1 +0,0 @@
#4870 Disable the `withdraw-all-rewards` command when `--generate-only` is supplied

View File

@ -1 +0,0 @@
Fix ledger custom coin type support bug

View File

@ -1 +0,0 @@
#4338 fix multisig key output for CLI

View File

@ -1,2 +0,0 @@
#4795 restrict module accounts from receiving transactions.
Allowing this would cause an invariant on the module account coins.

View File

@ -1 +0,0 @@
#4823 Update the `DefaultUnbondingTime` from 3 days to 3 weeks to be inline with documentation.

View File

@ -1 +0,0 @@
#4831 Prevent community spend proposal from transferring funds to a module account

View File

@ -1,3 +0,0 @@
#4858 Do not return an error in BroadcastTxCommit when the tx broadcasting
was successful. This allows the proper REST response to be returned for a
failed tx during `block` broadcasting mode.

View File

@ -1,2 +0,0 @@
[\#4861](https://github.com/cosmos/cosmos-sdk/pull/4861) Fix non-determinism simulation
by using CLI flags as input and updating Makefile target.

View File

@ -1,2 +0,0 @@
[\#4880](https://github.com/cosmos/cosmos-sdk/pull/4880) Fix error check in
IAVL `Store#DeleteVersion`.

View File

@ -1 +0,0 @@
#4879 Don't terminate the process immediately after startup when run in standalone mode.

View File

@ -1,2 +0,0 @@
#4843 Add RegisterEvidences function in the codec package to register
Tendermint evidence types with a given codec.

View File

@ -1,4 +0,0 @@
#4724 Multistore supports substore migrations upon load.
New `rootmulti.Store.LoadLatestVersionAndUpgrade` method
Baseapp supports `StoreLoader` to enable various upgrade strategies
No longer panics if the store to load contains substores that we didn't explicitly mount.

View File

@ -1 +0,0 @@
#4775 Refactor CI config

View File

@ -1 +0,0 @@
Upgrade IAVL to v0.12.4

View File

@ -1 +0,0 @@
#4611 store keys in simapp now use a map instead of using individual literal keys

View File

@ -1 +0,0 @@
# 4762 Deprecate remove and add permissions in ModuleAccount.

View File

@ -1 +0,0 @@
#4751 update `x/genutils` to match module spec

View File

@ -1 +0,0 @@
#4760 update `x/auth` to match module spec

View File

@ -1 +0,0 @@
#4814 Add security contact to Validator description

View File

@ -1 +0,0 @@
# 3867 Allow querying for genesis transaction when height query param is set to zero.

View File

@ -1,2 +0,0 @@
#4566 Export simulation's parameters and app state to JSON in order to reproduce bugs
and invariants.

View File

@ -1,2 +0,0 @@
#4640 improve import/export simulation errors by extending `DiffKVStores`
to return an array of `KVPairs` that are then compared to check for inconsistencies.

View File

@ -1 +0,0 @@
#4717 refactor `x/slashing` to match the new module spec

View File

@ -1 +0,0 @@
#4758 update `x/genaccounts` to match module spec

View File

@ -1 +0,0 @@
# 4824 PrintAllInvariants flag will print all failed invariants

View File

@ -1 +0,0 @@
# 4490 add `InitialBlockHeight` flag to resume a simulation from a given block

View File

@ -1,2 +0,0 @@
#4670 Update simulation statistics to JSON format
- Support exporting the simulation stats to a given JSON file

View File

@ -1 +0,0 @@
#4792 panic on non-registered store

View File

@ -1 +0,0 @@
Upgrade Tendermint to v0.32.2

View File

@ -1,2 +0,0 @@
#4821 types/errors package added with support for stacktraces
Meant as a more feature-rich replacement for sdk.Errors in the mid-term

View File

@ -1,6 +1,74 @@
<!--
Guiding Principles:
Changelogs are for humans, not machines.
There should be an entry for every single version.
The same types of changes should be grouped.
Versions and sections should be linkable.
The latest version comes first.
The release date of each version is displayed.
Mention whether you follow Semantic Versioning.
Usage:
Change log entries are to be added to the Unreleased section under the
appropriate stanza (see below). Each entry should ideally include a tag and
the Github issue reference in the following format:
* (<tag>) \#<issue-number> message
The issue numbers will later be link-ified during the release process so you do
not have to worry about including a link manually, but you can if you wish.
Types of changes (Stanzas):
"Features" for new features.
"Improvements" for changes in existing functionality.
"Deprecated" for soon-to-be removed features.
"Bug Fixes" for any bug fixes.
"Breaking" for breaking API changes.
Ref: https://keepachangelog.com/en/1.0.0/
-->
# Changelog # Changelog
## 0.36.0 ## [Unreleased]
### Breaking Changes
* (modules) [\#4665](https://github.com/cosmos/cosmos-sdk/issues/4665) Refactored `x/gov` module structure and dev-UX:
* Prepare for module spec integration
* Update gov keys to use big endian encoding instead of little endian
* (rest) [\#4783](https://github.com/cosmos/cosmos-sdk/issues/4783) The balance field in the DelegationResponse type is now sdk.Coin instead of sdk.Int
### Features
* (store) [\#4724](https://github.com/cosmos/cosmos-sdk/issues/4724) Multistore supports substore migrations upon load. New `rootmulti.Store.LoadLatestVersionAndUpgrade` method in
`Baseapp` supports `StoreLoader` to enable various upgrade strategies. It no
longer panics if the store to load contains substores that we didn't explicitly mount.
### Improvements
* (modules) [\#4762](https://github.com/cosmos/cosmos-sdk/issues/4762) Deprecate remove and add permissions in ModuleAccount.
* (modules) [\#4760](https://github.com/cosmos/cosmos-sdk/issues/4760) update `x/auth` to match module spec.
* (modules) [\#4814](https://github.com/cosmos/cosmos-sdk/issues/4814) Add security contact to Validator description.
* (sdk) [\#4566](https://github.com/cosmos/cosmos-sdk/issues/4566) Export simulation's parameters and app state to JSON in order to reproduce bugs and invariants.
* (sdk) [\#4640](https://github.com/cosmos/cosmos-sdk/issues/4640) improve import/export simulation errors by extending `DiffKVStores` to return an array of `KVPairs` that are then compared to check for inconsistencies.
* (sdk) [\#4717](https://github.com/cosmos/cosmos-sdk/issues/4717) refactor `x/slashing` to match the new module spec
* (sdk) [\#4758](https://github.com/cosmos/cosmos-sdk/issues/4758) update `x/genaccounts` to match module spec
* (simulation) [\#4824](https://github.com/cosmos/cosmos-sdk/issues/4824) PrintAllInvariants flag will print all failed invariants
* (simulation) [\#4490](https://github.com/cosmos/cosmos-sdk/issues/4490) add `InitialBlockHeight` flag to resume a simulation from a given block
* Support exporting the simulation stats to a given JSON file
* (store) [\#4792](https://github.com/cosmos/cosmos-sdk/issues/4792) panic on non-registered store
* (types) [\#4821](https://github.com/cosmos/cosmos-sdk/issues/4821) types/errors package added with support for stacktraces. It is meant as a more feature-rich replacement for sdk.Errors in the mid-term.
### Bug Fixes
* (cli) [\#4763](https://github.com/cosmos/cosmos-sdk/issues/4763) Fix flag `--min-self-delegation` for staking `EditValidator`
* (keys) Fix ledger custom coin type support bug
## [v0.36.0] - 2019-08-13
### Breaking Changes ### Breaking Changes
@ -162,12 +230,19 @@
Replace complex Context construct with a simpler immutible struct. Replace complex Context construct with a simpler immutible struct.
Only breaking change is not to support `Value` and `GetValue` as first class calls. Only breaking change is not to support `Value` and `GetValue` as first class calls.
We do embed ctx.Context() as a raw context.Context instead to be used as you see fit. We do embed ctx.Context() as a raw context.Context instead to be used as you see fit.
Migration guide: Migration guide:
`ctx = ctx.WithValue(contextKeyBadProposal, false)` -> ```go
`ctx = ctx.WithContext(context.WithValue(ctx.Context(), contextKeyBadProposal, false))` ctx = ctx.WithValue(contextKeyBadProposal, false)
```
Now becomes:
```go
ctx = ctx.WithContext(context.WithValue(ctx.Context(), contextKeyBadProposal, false))
```
A bit more verbose, but also allows `context.WithTimeout()`, etc and only used A bit more verbose, but also allows `context.WithTimeout()`, etc and only used
in one function in this repo, in test code. in one function in this repo, in test code.
* [\#3685](https://github.com/cosmos/cosmos-sdk/issues/3685) Add `SetAddressVerifier` and `GetAddressVerifier` to `sdk.Config` to allow SDK users to configure custom address format verification logic (to override the default limitation of 20-byte addresses). * [\#3685](https://github.com/cosmos/cosmos-sdk/issues/3685) Add `SetAddressVerifier` and `GetAddressVerifier` to `sdk.Config` to allow SDK users to configure custom address format verification logic (to override the default limitation of 20-byte addresses).
@ -222,8 +297,8 @@
methods. methods.
* [\#4654](https://github.com/cosmos/cosmos-sdk/issues/4654) validator slash event stored by period and height * [\#4654](https://github.com/cosmos/cosmos-sdk/issues/4654) validator slash event stored by period and height
* [\#4681](https://github.com/cosmos/cosmos-sdk/issues/4681) panic on invalid amount on `MintCoins` and `BurnCoins` * [\#4681](https://github.com/cosmos/cosmos-sdk/issues/4681) panic on invalid amount on `MintCoins` and `BurnCoins`
- skip minting if inflation is set to zero * skip minting if inflation is set to zero
* Sort state JSON during export and initialization * Sort state JSON during export and initialization
## 0.35.0 ## 0.35.0
@ -2468,3 +2543,8 @@ BUG FIXES:
##### September 22, 2016 ##### September 22, 2016
* Basecoin compiles again * Basecoin compiles again
<!-- Release links -->
[Unreleased]: https://github.com/cosmos/cosmos-sdk/compare/v0.36.0...HEAD
[v0.36.0]: https://github.com/cosmos/cosmos-sdk/releases/tag/v0.36.0

View File

@ -1,18 +1,19 @@
# Contributing # Contributing
- [ADR](#adr) - [Contributing](#contributing)
- [Pull Requests](#pull-requests) - [Architecture Decision Records (ADR)](#architecture-decision-records-adr)
- [Process for reviewing PRs](#process-for-reviewing-prs) - [Pull Requests](#pull-requests)
- [Updating Documentation](#updating-documentation) - [Process for reviewing PRs](#process-for-reviewing-prs)
- [Forking](#forking) - [Updating Documentation](#updating-documentation)
- [Dependencies](#dependencies) - [Forking](#forking)
- [Testing](#testing) - [Dependencies](#dependencies)
- [Branching Model and Release](#branching-model-and-release) - [Testing](#testing)
- [PR Targeting](#pr-targeting) - [Branching Model and Release](#branching-model-and-release)
- [Development Procedure](#development-procedure) - [PR Targeting](#pr-targeting)
- [Pull Merge Procedure](#pull-merge-procedure) - [Development Procedure](#development-procedure)
- [Release Procedure](#release-procedure) - [Pull Merge Procedure](#pull-merge-procedure)
- [Point Release Procedure](#point-release-procedure) - [Release Procedure](#release-procedure)
- [Point Release Procedure](#point-release-procedure)
Thank you for considering making contributions to Cosmos-SDK and related Thank you for considering making contributions to Cosmos-SDK and related
repositories! repositories!
@ -21,24 +22,27 @@ Contributing to this repo can mean many things such as participated in
discussion or proposing code changes. To ensure a smooth workflow for all discussion or proposing code changes. To ensure a smooth workflow for all
contributors, the general procedure for contributing has been established: contributors, the general procedure for contributing has been established:
1. either [open](https://github.com/cosmos/cosmos-sdk/issues/new/choose) or 1. Either [open](https://github.com/cosmos/cosmos-sdk/issues/new/choose) or
[find](https://github.com/cosmos/cosmos-sdk/issues) an issue you'd like to help with, [find](https://github.com/cosmos/cosmos-sdk/issues) an issue you'd like to help with
2. participate in thoughtful discussion on that issue, 2. Participate in thoughtful discussion on that issue
3. if you would then like to contribute code: 3. If you would like to contribute:
1. if a the issue is a proposal, ensure that the proposal has been accepted, 1. If a the issue is a proposal, ensure that the proposal has been accepted
2. ensure that nobody else has already begun working on this issue, if they have 2. Ensure that nobody else has already begun working on this issue, if they have
make sure to contact them to collaborate, make sure to contact them to collaborate
3. if nobody has been assigned the issue and you would like to work on it 3. If nobody has been assigned the issue and you would like to work on it
make a comment on the issue to inform the community of your intentions make a comment on the issue to inform the community of your intentions
to begin work, to begin work
4. follow standard github best practices: fork the repo, branch from the 4. Follow standard Github best practices: fork the repo, branch from the
top of `master`, make some commits, and submit a PR to `master`, - for core developers working within the cosmos-sdk repo, HEAD of `master`, make some commits, and submit a PR to `master`
to ensure a clear ownership of branches, branches must be named with the convention `yourname/{issue-}feature-name`. - For core developers working within the cosmos-sdk repo, to ensure a clear
5. include `WIP:` in the PR-title to and submit your PR early, even if it's ownership of branches, branches must be named with the convention
incomplete, this indicates to the community you're working on something and `{moniker}/{issue#}-branch-name`
allows them to provide comments early in the development process. When the code 5. Be sure to submit the PR in `Draft` mode submit your PR early, even if
is complete it can be marked as ready-for-review by replacing `WIP:` with it's incomplete as this indicates to the community you're working on
`R4R:` in the PR-title. something and allows them to provide comments early in the development process
6. When the code is complete it can be marked `Ready for Review`
7. Be sure to include a relevant change log entry in the `Unreleased` section
of `CHANGELOG.md` (see file for log format)
Note that for very small or blatantly obvious problems (such as typos) it is Note that for very small or blatantly obvious problems (such as typos) it is
not required to an open issue to submit a PR, but be aware that for more complex not required to an open issue to submit a PR, but be aware that for more complex
@ -196,16 +200,20 @@ only pull requests targeted directly against master.
### Release Procedure ### Release Procedure
- start on `master` - Start on `master`
- create the release candidate branch `rc/v*` (going forward known as **RC**) and ensure it's protected against pushing from anyone except the release manager/coordinator. **no PRs targeting this branch should be merged unless exceptional circumstances arise** - Create the release candidate branch `rc/v*` (going forward known as **RC**)
- on the `RC` branch, use `clog` to prepare the `CHANGELOG.md` and kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks). and ensure it's protected against pushing from anyone except the release
- if errors are found during the simulation testing or if any last minute changes manager/coordinator
need to be introduced, create a new `RC` branch (making sure to increment the `rcN`) - **no PRs targeting this branch should be merged unless exceptional circumstances arise**
based off of the current `RC` branch and commit any fixes or changes - On the `RC` branch, prepare a new version section in the `CHANGELOG.md`
- the above requires that any commits introduced must also be merged back into `master` - All links must be link-ified: `$ python ./scripts/linkify_changelog.py CHANGELOG.md`
- after simulation has successfully completed, create the release branch (`release/vX.XX.X`) from the `RC` branch - Kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks)
- merge the release branch to `master` to incorporate the `CHANGELOG.md` updates - If errors are found during the simulation testing, commit the fixes to `master`
- delete the `RC` branches and create a new `RC` branch (making sure to increment the `rcN`)
- After simulation has successfully completed, create the release branch
(`release/vX.XX.X`) from the `RC` branch
- Create a PR to `master` to incorporate the `CHANGELOG.md` updates
- Delete the `RC` branches
### Point Release Procedure ### Point Release Procedure

View File

@ -42,15 +42,14 @@ mkfile_dir := $(shell cd $(shell dirname $(mkfile_path)); pwd)
TOOLS_DESTDIR ?= $(GOPATH)/bin TOOLS_DESTDIR ?= $(GOPATH)/bin
GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint
STATIK = $(TOOLS_DESTDIR)/statik STATIK = $(TOOLS_DESTDIR)/statik
GOIMPORTS = $(TOOLS_DESTDIR)/goimports GOIMPORTS = $(TOOLS_DESTDIR)/goimports
CLOG = $(TOOLS_DESTDIR)/clog RUNSIM = $(TOOLS_DESTDIR)/runsim
RUNSIM = $(TOOLS_DESTDIR)/runsim
all: tools all: tools
tools: statik clog runsim goimports golangci-lint tools: statik runsim goimports golangci-lint
golangci-lint: $(GOLANGCI_LINT) golangci-lint: $(GOLANGCI_LINT)
$(GOLANGCI_LINT): $(mkfile_dir)/install-golangci-lint.sh $(GOLANGCI_LINT): $(mkfile_dir)/install-golangci-lint.sh
@ -66,18 +65,13 @@ $(GOIMPORTS):
@echo "Get goimports@v0.0.0-20190628034336-212fb13d595e" @echo "Get goimports@v0.0.0-20190628034336-212fb13d595e"
@go get golang.org/x/tools/cmd/goimports@v0.0.0-20190628034336-212fb13d595e @go get golang.org/x/tools/cmd/goimports@v0.0.0-20190628034336-212fb13d595e
clog: $(CLOG)
$(CLOG):
@echo "Get clog"
@go get github.com/cosmos/tools/cmd/clog
runsim: $(RUNSIM) runsim: $(RUNSIM)
$(RUNSIM): $(RUNSIM):
@echo "Get runsim" @echo "Get runsim"
@go get github.com/cosmos/tools/cmd/runsim @go get github.com/cosmos/tools/cmd/runsim
tools-clean: tools-clean:
rm -f $(STATIK) $(GOIMPORTS) $(CLOG) $(GOLANGCI_LINT) $(RUNSIM) rm -f $(STATIK) $(GOIMPORTS) $(GOLANGCI_LINT) $(RUNSIM)
rm -f tools-stamp rm -f tools-stamp
.PHONY: all tools tools-clean .PHONY: all tools tools-clean

View File

@ -0,0 +1,15 @@
import fileinput
import re
# This script goes through the provided file, and replaces any " \#<number>",
# with the valid mark down formatted link to it. e.g.
# " [\#number](https://github.com/cosmos/cosmos-sdk/issues/<number>)
# Note that if the number is for a PR, github will auto-redirect you when you click the link.
# It is safe to run the script multiple times in succession.
#
# Example:
#
# $ python ./scripts/linkify_changelog.py CHANGELOG.md
for line in fileinput.input(inplace=1):
line = re.sub(r"\s\\#([0-9]+)", r" [\\#\1](https://github.com/cosmos/cosmos-sdk/issues/\1)", line.rstrip())
print(line)