Releases: cosmos/cosmos-sdk
v0.44.7
Cosmos SDK v0.44.7 Release Notes
This release introduces bug fixes and improvements on the Cosmos SDK v0.44 series:
- The
everything
prune strategy now keeps the latest 2 heights (instead of only the latest one). If this flag is set, state sync is automatically disabled. - The bank keeper has a new
WithMintCoinsRestriction
method to allow custom module-specific restrictions on minting (e.g. only minting a certain denom). This function is not on thebank.Keeper
interface, so it's not API-breaking, but only additive on theKeeper
implementation; please use casting to access this method. - Fix data race in store trace component.
See the Cosmos SDK v0.44.7 Changelog for the exhaustive list of all changes.
Full Changelog: v0.44.6...v0.44.7
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 tonpm run
)help
will display Cosmovisor helpversion
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 file for more details.
Bug Fixes
- Fixed
cosmovisor version
output when installed using 'go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0'.
Changelog
For more details, please see the CHANGELOG.
v0.44.6
Cosmos SDK v0.44.6 Release Notes
This release introduces bug fixes and improvements on the Cosmos SDK v0.44 series:
- Populate
ctx.ConsensusParams
for begin/end blockers. - Significantly speedup iterator creation after delete heavy workloads, which significantly improves IBC migration times.
- Ensure that
LegacyAminoPubKey
struct correctly unmarshals from JSON. - Add evidence to std/codec to be able to decode evidence in client interactions.
⚠️ State-Machine Breaking Change
Update March 9th 2022. After the SDK team released v0.44.6, a subtle state-machine breaking change has been discovered (thanks to the crypto.com team) in the item "Populate ctx.ConsensusParams
for begin/end blockers" above (see relevant commit). The behaviour can differ compared to older v0.44.* versions when an evidence that is too old is broadcasted, see code.
See the Cosmos SDK v0.44.6 Changelog for the exhaustive list of all changes.
Full Changelog: v0.44.5...v0.44.6
v0.45.1
This release introduces bug fixes and improvements on the Cosmos SDK v0.45 series:
Highlights
- Added the missing
iavl-cache-size
config parameter parsing to set a desired IAVL cache size. The default value is way to small for big chains, and causes OOM failures. - Added a check in
x/upgrade
module'sBeginBlock
preventing accidental binary downgrades - Fix: the
/cosmos/tx/v1beta1/txs/{hash}
endpoint returns correct return code (404) for a non existing tx.
See the Cosmos SDK v0.45.1 Changelog for the exhaustive list of all changes and check other fixes in 0.45.x release series.
Full Diff: v0.45.0...v0.45.1
Cosmos SDK v0.45.0
Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.
State-Breaking Changes
There are few important changes in gas consumption, which improve the gas economics:
- We now charge gas in two new places: on
.Seek()
even if there are no entries, and for the key length (on top of the value length). - When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.
Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.
API-Breaking Changes
- The
BankKeeper
interface has a newHasSupply
method to ensure that input denom actually exists on chain. - The
CommitMultiStore
interface contains a newSetIAVLCacheSize
method for a configurable IAVL cache size. AuthKeeper
interface inx/auth
now includes a functionHasAccount
.- Moved
TestMnemonic
fromtestutil
package totestdata
.
Finally, when using the SetOrder*
functions in simapp, e.g. SetOrderBeginBlocker
, we now require that all modules be present in the function arguments, or else the node panics at startup. We also added a new SetOrderMigration
function to set the order of running module migrations.
Improvements
- Speedup improvements (e.g. speedup iterator creation after delete heavy workloads, lower allocations for
Coins.String()
, reduce RAM/CPU usage inside store/cachekv'sStore.Write
) are included in this release. - Upgrade Rosetta to v0.7.0 .
- Support in-place migration ordering.
- Copied and updated
server.GenerateCoinKey
andserver.GenerateServerCoinKey
functions to thetestutil
package. These functions inserver
package are marked deprecated and will be removed in the next release. In thetestutil.GenerateServerCoinKey
version we added support for custom mnemonics in in-process testing network.
See our CHANGELOG for the exhaustive list of all changes, or a full commit diff.
Cosmos SDK v0.45.0 Release Candidate 1
Release Notes
Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.
State-Breaking Changes
There are few important changes in gas consumption, which improve the gas economics:
- We now charge gas in two new places: on
.Seek()
even if there are no entries, and for the key length (on top of the value length). - When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.
Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.
API-Breaking Changes
- The
BankKeeper
interface has a newHasSupply
method to ensure that input denom actually exists on chain. - The
CommitMultiStore
interface contains a newSetIAVLCacheSize
method for a configurable IAVL cache size. AuthKeeper
interface inx/auth
now includes a functionHasAccount
.
Finally, when using the SetOrder*
functions in simapp, e.g. SetOrderBeginBlocker
, we now require that all modules be present in the function arguments, or else the node panics at startup. We also added a new SetOrderMigration
function to set the order of running module migrations.
Improvements
- Speedup improvements (e.g. speedup iterator creation after delete heavy workloads, lower allocations for
Coins.String()
, reduce RAM/CPU usage inside store/cachekv'sStore.Write
) are included in this release. - Upgrade Rosetta to v0.7.0 .
- Support in-place migration ordering.
See our CHANGELOG for the exhaustive list of all changes, or a full commit diff.
DB v1.0.0-beta.1
github.com/cosmos/cosmos-sdk/db
(cosmos-sdk/db here an after) is a module in the Cosmos SDK repository. It is used in store/v2
instead of tendermint/tm-db
which is now deprecated.
cosmos-sdk/db
extends the tendermint/tm-db
interface. however, it only supports BaggerDB and RocksDB (the databases we tested, which provide snapshot functionality necessary for store/v2 and ADR-040 implementation).
Cosmos SDK v0.42.11
This release includes a client-breaking change for HTTP users querying account balances by denom:
- <base_url>/cosmos/bank/v1beta1/balances/<address>/<denom>
+ <base_url>/cosmos/bank/v1beta1/balances/<address>/by_denom?denom=<denom>
This change was made to fix querying IBC denoms via HTTP.
v0.42.11 also includes multiple bugfixes and performance improvements, such as:
- Upgrade IAVL to 0.17.3 to solve race condition bug in IAVL.
- Bump Tendermint to v0.34.14.
Finally, when querying for transactions, we added an Events
field to the TxResponse
type that captures all events emitted by a transaction, unlike Logs
which only contains events emitted during message execution. Logs
and Events
may currently contain duplicate data, but Logs
will be deprecated in a future version.
See our CHANGELOG for the exhaustive list of all changes, or a full commit diff.
Cosmos SDK v0.44.5 Release Notes
This release introduces bug fixes and improvements on the Cosmos SDK v0.44 series:
- Emit ante handler events for failed transactions: ant events can cause blockchain change (eg tx fees) and related events should be emitted.
- (fix) Upgrade IAVL to 0.17.3 to solve race condition bug in IAVL.
See the Cosmos SDK v0.44.5 Changelog for the exhaustive list of all changes and check other fixes in 0.44.x release series.
Full Diff: v0.44.4...v0.44.5
Cosmos SDK v0.44.4 Release Notes
This release introduces bug fixes and improvements in the Cosmos SDK v0.44 series.
SDK v0.44.0-v0.44.3 x/auth migration has a vesting account bug, which vanishes delegated_vesting
field from BaseVestingAccount
. Recovery, unfortunately, is complicated and either involves manually overwriting it or querying an old state.
We had to change the order of module migration by pushing x/auth to the end. Auth module state depends on x/stake and should be run last. We have updated the documentation to provide more details how to change module migration order. This is technically a breaking change, but only impacts updates between the major version change, hence migrating from the previous patch release (0.44.x) doesn't cause new migration and doesn't break the state.
Other bug fixes:
- grpc-gateway query account balance by IBC denom had an incorrect endpoint (correct one is
"/cosmos/bank/v1beta1/balances/{address}/by_denom"
) - use
sdk.GetConfig().GetFullBIP44Path()
insteadsdk.FullFundraiserPath
to generate key - this correctly resets hdpath when runningapp testnet
.
This release enables Auto Download feature for Cosmovisor >= v1.0.0. Now, you will be able to use Auto Download with the latest Cosmovisor when you will plan the next upgrade to the next major release (v0.45.0),
Finally, we updated the IAVL to v0.17.2 and take a benefit of the new IAVL iterator, which improves the iteration performance.
See the Cosmos SDK v0.44.4 Changelog for the exhaustive list of all changes.
Full Diff: v0.44.3...v0.44.4