Skip to content

Commit

Permalink
chore: add cosmovisor v1.1 release notes (cosmos#11162)
Browse files Browse the repository at this point in the history
### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
  • Loading branch information
robert-zaremba authored Feb 11, 2022
1 parent 2e1c328 commit 2d1686e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 38 deletions.
6 changes: 1 addition & 5 deletions cosmovisor/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
### Features

* [\#10285](https://github.com/cosmos/cosmos-sdk/pull/10316) Added `run` command to run the associated app.
* [\#10533](https://github.com/cosmos/cosmos-sdk/pull/10649) Added environmental variable `DAEMON_BACKUP_DIR` to allow node to set a custom backup directory.

### Features

* [\#10649](https://github.com/cosmos/cosmos-sdk/pull/10649) Customize backup directory. When `DAEMON_BACKUP_DIR` env variable is set, cosmovisor will backup the app data directory in that directory before running the update.
* [\#10649](https://github.com/cosmos/cosmos-sdk/pull/10649) Customize backup directory. Added new env variable: `DAEMON_BACKUP_DIR`. If it is set, cosmovisor will backup the app data in ``DAEMON_BACKUP_DIR` before running the update.

### Deprecated

Expand Down
59 changes: 26 additions & 33 deletions cosmovisor/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,26 @@
# Cosmovisor v1.0.0 Release Notes

This is the first major release of Cosmovisor.
It changes the way Cosmovisor is searching for an upgrade event from an app.
Instead of scanning standard input and standard output logs, the Cosmovisor
observes the `$DAEMON_HOME/upgrade-info.json` file, that is produced by the
`x/upgrade` module. The `upgrade-info.json` files is created by the `x/upgrade`
module and contains information from the on-chain upgrade Plan record.
Using the file based approach solved many outstanding problems: freezing when
logs are too long, race condition with the `x/upgrade` handler, and potential
exploit (if a chain would allow to log an arbitrary message, then an attacker
could produce a fake upgrade signal and halt a chain or instrument a download
of modified, hacked binary when the auto download option is enabled).

## Auto downloads

Cosmovisor v1.0 supports auto downloads based on the information in the
`data/upgrade-info.json`. In the Cosmos SDK `< v0.44`, that file doesn't contain
`upgrade.Plan.Info`, that is needed for doing auto download. Hence Cosmovisor `v1.0`
auto download won't work with Apps updating from `v0.43` and earlier.

NOTE: we **don't recommend using auto download** functionality. It can lead to potential
chain halt when the upgrade Plan contains a bad link or the resource with the
binary will be temporarily unavailable. We are planning on adding a upgrade
verification command which can potentially solve this issue.

## Other updates

* Changed default value of `DAEMON_RESTART_AFTER_UPGRADE` to `true`.
* Added `version` command, which prints both the Cosmovisor and the associated app version.
* Added `help` command, which prints the Cosmovisor help without passing it to the associated version. This is an exception, because normally, Cosmovisor passes all arguments to the associated app.

For more details, please see the [CHANGELOG](https://github.com/cosmos/cosmos-sdk/blob/cosmovisor/v1.0.0/cosmovisor/CHANGELOG.md).
# Cosmovisor v1.1.0 Release Notes

### New execution model

With this release we are shifting to a new CLI design:
* in the past, Cosmovisor was designed to act as a wrapper for a Cosmos App. An admin could link it and use it instead of the Cosmos App. When running it will pass all options and configuration parameters to the app. Hence the only way to configure the Cosmovisor was through environment variables.
* now, we are moving to a more traditional model, where Cosmovisor has it's own command set and is a true supervisor.

New commands have been added:
* `run` will start the Cosmos App and pass remaining arguments to the app (similar to `npm run`)
* `help` will display Cosmovisor help
* `version` will display both Cosmovisor and the associated app version.

The existing way of starting an app with Cosmovisor has been deprecated (`cosmovisor [app params]`) and will be removed in the future version. Please use `cosmovisor run [app pararms]` instead.

### New Features

We added a new configuration option: `DAEMON_BACKUP_DIR` (as env variable). When set, Cosmovisor will create backup the app data backup in that directory (instead of using the app home directory) before running the update. See the [README](https://github.com/cosmos/cosmos-sdk/blob/master/cosmovisor/README.md#command-line-arguments-and-environment-variables) file for more details.

### Bug Fixes

* Fixed `cosmovisor version` output when installed using 'go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/[email protected]'.

### Changelog

For more details, please see the [CHANGELOG](https://github.com/cosmos/cosmos-sdk/blob/cosmovisor/v1.1.0/cosmovisor/CHANGELOG.md).

0 comments on commit 2d1686e

Please sign in to comment.