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.
- [ ] Wrote tests
- [ ] 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
______

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
## 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
@ -162,12 +230,19 @@
Replace complex Context construct with a simpler immutible struct.
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.
Migration guide:
`ctx = ctx.WithValue(contextKeyBadProposal, false)` ->
`ctx = ctx.WithContext(context.WithValue(ctx.Context(), contextKeyBadProposal, false))`
```go
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
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).
@ -222,8 +297,8 @@
methods.
* [\#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`
- skip minting if inflation is set to zero
* Sort state JSON during export and initialization
* skip minting if inflation is set to zero
* Sort state JSON during export and initialization
## 0.35.0
@ -2468,3 +2543,8 @@ BUG FIXES:
##### September 22, 2016
* 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
- [ADR](#adr)
- [Pull Requests](#pull-requests)
- [Process for reviewing PRs](#process-for-reviewing-prs)
- [Updating Documentation](#updating-documentation)
- [Forking](#forking)
- [Dependencies](#dependencies)
- [Testing](#testing)
- [Branching Model and Release](#branching-model-and-release)
- [PR Targeting](#pr-targeting)
- [Development Procedure](#development-procedure)
- [Pull Merge Procedure](#pull-merge-procedure)
- [Release Procedure](#release-procedure)
- [Point Release Procedure](#point-release-procedure)
- [Contributing](#contributing)
- [Architecture Decision Records (ADR)](#architecture-decision-records-adr)
- [Pull Requests](#pull-requests)
- [Process for reviewing PRs](#process-for-reviewing-prs)
- [Updating Documentation](#updating-documentation)
- [Forking](#forking)
- [Dependencies](#dependencies)
- [Testing](#testing)
- [Branching Model and Release](#branching-model-and-release)
- [PR Targeting](#pr-targeting)
- [Development Procedure](#development-procedure)
- [Pull Merge Procedure](#pull-merge-procedure)
- [Release Procedure](#release-procedure)
- [Point Release Procedure](#point-release-procedure)
Thank you for considering making contributions to Cosmos-SDK and related
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
contributors, the general procedure for contributing has been established:
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,
2. participate in thoughtful discussion on that issue,
3. if you would then like to contribute code:
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
make sure to contact them to collaborate,
3. if nobody has been assigned the issue and you would like to work on it
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
2. Participate in thoughtful discussion on that issue
3. If you would like to contribute:
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
make sure to contact them to collaborate
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
to begin work,
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,
to ensure a clear ownership of branches, branches must be named with the convention `yourname/{issue-}feature-name`.
5. include `WIP:` in the PR-title to and submit your PR early, even if it's
incomplete, this indicates to the community you're working on something and
allows them to provide comments early in the development process. When the code
is complete it can be marked as ready-for-review by replacing `WIP:` with
`R4R:` in the PR-title.
to begin work
4. Follow standard Github best practices: fork the repo, branch from the
HEAD of `master`, make some commits, and submit a PR to `master`
- For core developers working within the cosmos-sdk repo, to ensure a clear
ownership of branches, branches must be named with the convention
`{moniker}/{issue#}-branch-name`
5. Be sure to submit the PR in `Draft` mode submit your PR early, even if
it's incomplete as this indicates to the community you're working on
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
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
- 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**
- 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).
- if errors are found during the simulation testing or if any last minute changes
need to be introduced, create a new `RC` branch (making sure to increment the `rcN`)
based off of the current `RC` branch and commit any fixes or changes
- the above requires that any commits introduced must also be merged back into `master`
- after simulation has successfully completed, create the release branch (`release/vX.XX.X`) from the `RC` branch
- merge the release branch to `master` to incorporate the `CHANGELOG.md` updates
- delete the `RC` branches
- 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**
- On the `RC` branch, prepare a new version section in the `CHANGELOG.md`
- All links must be link-ified: `$ python ./scripts/linkify_changelog.py CHANGELOG.md`
- Kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks)
- If errors are found during the simulation testing, commit the fixes to `master`
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

View File

@ -42,15 +42,14 @@ mkfile_dir := $(shell cd $(shell dirname $(mkfile_path)); pwd)
TOOLS_DESTDIR ?= $(GOPATH)/bin
GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint
STATIK = $(TOOLS_DESTDIR)/statik
GOIMPORTS = $(TOOLS_DESTDIR)/goimports
CLOG = $(TOOLS_DESTDIR)/clog
RUNSIM = $(TOOLS_DESTDIR)/runsim
GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint
STATIK = $(TOOLS_DESTDIR)/statik
GOIMPORTS = $(TOOLS_DESTDIR)/goimports
RUNSIM = $(TOOLS_DESTDIR)/runsim
all: tools
tools: statik clog runsim goimports golangci-lint
tools: statik runsim goimports golangci-lint
golangci-lint: $(GOLANGCI_LINT)
$(GOLANGCI_LINT): $(mkfile_dir)/install-golangci-lint.sh
@ -66,18 +65,13 @@ $(GOIMPORTS):
@echo "Get 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):
@echo "Get runsim"
@go get github.com/cosmos/tools/cmd/runsim
tools-clean:
rm -f $(STATIK) $(GOIMPORTS) $(CLOG) $(GOLANGCI_LINT) $(RUNSIM)
rm -f $(STATIK) $(GOIMPORTS) $(GOLANGCI_LINT) $(RUNSIM)
rm -f tools-stamp
.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)