Sourced from github.com/cosmos/cosmos-sdk's releases.
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 newSetOrderMigration
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
.
... (truncated)
Sourced from github.com/cosmos/cosmos-sdk's changelog.
v0.45.0 - 2022-01-18
State Machine Breaking
- #10833 fix reported tx gas used when block gas limit exceeded.
- (auth) #10536 Enable
SetSequence
forModuleAccount
.- (store) #10218 Charge gas even when there are no entries while seeking.
- (store) #10247 Charge gas for the key length in gas meter.
- (x/gov) #10740 Increase maximum proposal description size from 5k characters to 10k characters.
- #10814 revert tx when block gas limit exceeded.
API Breaking Changes
- #10561 The
CommitMultiStore
interface contains a newSetIAVLCacheSize
method- #10922, [/#10956](cosmos/cosmos-sdk#10956) Deprecate key
server.Generate*
functions and move them totestutil
and support custom mnemonics in in-process testing network. MovedTestMnemonic
fromtestutil
package totestdata
.Features
- #10614 Support in-place migration ordering
Improvements
- #10486 store/cachekv's
Store.Write
conservatively looks up keys, but also uses the map clearing idiom to reduce the RAM usage, CPU time usage, and garbage collection pressure from clearing maps, instead of allocating new maps.- (store) #10741 Significantly speedup iterator creation after delete heavy workloads. Significantly improves IBC migration times.
- (module) #10711 Panic at startup if the app developer forgot to add modules in the
SetOrder{BeginBlocker, EndBlocker, InitGenesis, ExportGenesis}
functions. This means that all modules, even those who have empty implementations for those methods, need to be added toSetOrder*
.- (types) #10076 Significantly speedup and lower allocations for
Coins.String()
.- (auth) #10022
AuthKeeper
interface inx/auth
now includes a functionHasAccount
.- #10393 Add
HasSupply
method to bank keeper to ensure that input denom actually exists on chain.Bug Fixes
- (std/codec) [/#10595](cosmos/cosmos-sdk#10595) Add evidence to std/codec to be able to decode evidence in client interactions.
- (types) #9627 Fix nil pointer panic on
NewBigIntFromInt
.- #10725 populate
ctx.ConsensusParams
for begin/end blockers.- #9829 Fixed Coin denom sorting not being checked during
Balance.Validate
check. Refactored the Validation logic to useCoins.Validate
forBalance.Coins
- #10061 and #10515 Ensure that
LegacyAminoPubKey
struct correctly unmarshals from JSON
b6c77e6
chore: release v0.45 changelog (#10964)8236b26
chore: move server.GenerateCoinKey and server.GenerateSaveCoinKey to testutil...90ffbce
feat: support custom mnemonics in in-process testing network (backport #10922...c1c1ad7
chore: v0.45.0 Release Notes (#10760)ba1e099
fix: revert tx when block gas limit exceeded (backport: #10770) (#10814)a5c60b7
feat!: x/gov: raise max description length to 10k chars (backport #10740) (#1...05656a2
fix: use full gas on overflow (backport #10897) (#10912)8932338
feat: support in-place migration ordering (backport #10614) (#10890)6d44d71
fix!: tx result don't report block gas used as tx gas used (#10833)71a168d
fix: recreate compat field, of null pubkeys in multisig (backport #10515) (#1...