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.
(x/bank) #15265 Update keeper interface to include GetAllDenomMetaData.
(client) #15458 Add a CmdContext field to client.Context initialized to cobra command's context.
(core) #15133 Implement RegisterServices in the module manager.
(x/gov) #14373 Add new proto field constitution of type string to gov module genesis state, which allows chain builders to lay a strong foundation by specifying purpose.
(x/genutil) #15301 Add application genesis. The genesis is now entirely managed by the application and passed to CometBFT at note instantiation. Functions that were taking a cmttypes.GenesisDoc{} now takes a genutiltypes.AppGenesis{}.
(cli) #14659 Added ability to query blocks by events with queries directly passed to Tendermint, which will allow for full query operator support, e.g. >.
(x/gov) #14720 Upstream expedited proposals from Osmosis.
(x/auth) #14650 Add Textual SignModeHandler. It is however NOT enabled by default, and should only be used for TESTING purposes until SIGN_MODE_TEXTUAL is fully released.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps cosmossdk.io/math from 1.0.0-beta.4 to 1.0.0.
Release notes
Sourced from cosmossdk.io/math's releases.
Changelog
Sourced from cosmossdk.io/math's changelog.
... (truncated)
Commits
ba9d4df
chore(math): fix changelog link (#15531)7204a5d
chore: math v1.0.0 (#15530)67dc594
fix: Makefile rocksdb (#15422)750d125
docs: remove ignite cli (#15521)370acbb
style: gofumpt everything (#15518)4db99fc
fix(math): Dec marshal shouldn't have side effects (#15506)d53b29b
build(deps): Bump google.golang.org/grpc from 1.53.0 to 1.54.0 (#15511)4995cd1
build(deps): Bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 (#15509)cc2d9cc
docs: sync release process (#15505)4866d9a
feat(autocli): add address validation (#15449)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)