Bug Fixes *
GHSA-47ww-ff84-4jrg Fix x/group can halt when erroring in EndBlockerBug Fixes *
GHSA-x5vx-95h7-rv4p Fix Group module can halt chain when handling a malicious proposalBug Fixes * Bump cosmossdk.io/math
to v1.4. * Fix
ABS-0043/ABS-0044
Limit recursion depth for unknown field detection and unpack anyBug Fixes * (x/feegrant,x/authz)
#20114 Follow up of GHSA-4j93-fm92-rp4m. The same issue was found inx/feegrant
and x/authz
modules. * (crypto)
#20027 secp256r1 keys now
implement gogoproto’s customtype interface. * (x/gov)
#19725 Fetch a failed
proposal tally from proposal.FinalTallyResult
in the gprc query. * (crypto)
#19691 Throw an error when
signing with incorrect Ledger.Bug Fixes * (x/staking) Fix a possible bypass of delagator slashing:
GHSA-86h5-xcpx-cfqc- (server) #19573 Use
proper
db_backend
type when reading chain-id
Bug Fixes * (x/auth/vesting) GHSA-4j93-fm92-rp4m Add
BlockedAddr
check in CreatePeriodicVestingAccount
. * (baseapp)
#19177 Fix baseapp
DefaultProposalHandler
same-sender non-sequential sequence.Improvements * (x/gov)
#18707 Improve genesis validation. * (server) #18478 Add command flag to disable colored logs. ### Bug Fixes * (baseapp) #18609 Fixed accounting in the block gas meter after BeginBlock and before DeliverTx, ensuring transaction processing always starts with the expected zeroed out block gas meter. * (server) #18537 Fix panic when defining minimum gas config as100stake;100uatom
. Use a ,
delimiter instead of ;
. Fixes the server config getter to use the correct
delimiter. * (client/tx)
#18472 Utilizes the correct
Pubkey when simulating a transaction.Features * (server)
#18110 Start gRPC & API server in standalone mode. ### Improvements * (baseapp) #17954 AddMempool()
method on BaseApp
to allow access to the mempool. * (x/gov)
#17780 Recover panics and
turn them into errors when executing x/gov proposals. ### Bug Fixes * (server)
#18254 Don’t hardcode gRPC
address to localhost. * (server)
#18251 Call
baseapp.Close()
when app started as grpc only. * (baseapp)
#17769 Ensure we respect
block size constraints in the DefaultProposalHandler
’s PrepareProposal
handler when a nil or no-op mempool is used. We provide a TxSelector
type to
assist in making transaction selection generalized. We also fix a comparison
bug in tx selection when req.maxTxBytes
is reached. * (config)
#17649 Fix
mempool.max-txs
configuration is invalid in app.config
. * (mempool)
#17668 Fix
PriorityNonceIterator.Next()
nil pointer ref for min priority at the end of
iteration. * (x/auth)
#17902 Remove tip
posthandler. * (x/bank)
#18107 Add missing keypair
of SendEnabled to restore legacy param set before migration. ### Client
Breaking Changes * (x/gov)
#17910 Remove telemetry for
counting votes and proposals. It was incorrectly counting votes. Use
alternatives, such as state streaming.Features * (client/rpc)
#17274 AddQueryEventForTxCmd
cmd to subscribe and wait event for transaction by hash.- (keyring) #17424 Allows
to import private keys encoded in hex. ### Improvements * (x/gov)
#17387 Add
MsgSubmitProposal
SetMsgs
method. * (x/gov) #17354 EmitVoterAddr
inproposal_vote
event. * (x/group, x/gov) #17220 Add--skip-metadata
flag indraft-proposal
to skip metadata prompt. * (x/genutil) #17296 AddMigrateHandler
to allow reuse migrate genesis related function. * In v0.46, v0.47 this function is additive to thegenesis migrate
command. However in v0.50+, adding custom migrations to thegenesis migrate
command is directly possible. ### Bug Fixes * (server) #17181 Fixdb_backend
lookup fallback fromconfig.toml
. * (runtime) #17284 Properly allow to combine depinject-enabled modules and non-depinject-enabled modules in app v2. - (baseapp) #17159
Validators can propose blocks that exceed the gas limit. * (baseapp)
#16547 Ensure a
transaction’s gas limit cannot exceed the block gas limit. * (x/gov,x/group)
#17220 Do not try validate
msgURL
as web URL indraft-proposal
command. * (cli) #17188 Fix--output-document
flag intx multi-sign
. * (x/auth) #17209 Internal error on AccountInfo when account’s public key is not set.
Features
- (sims) #16656 Add custom max gas for block for sim config with unlimited as default.
Improvements
- (cli) #16856 Improve
simd prune
UX by using the app default home directory and set pruning method as first variable argument (defaults to default).pruning.PruningCmd
rest unchanged for API compability, usepruning.Cmd
instead. - (testutil) #16704 Make app config configurator for testing configurable with external modules.
- (deps) #16565 Bump CometBFT to v0.37.2.
Bug Fixes
- (x/auth) #16994 Fix regression where querying transactions events with
<=
or>=
would not work. - (server) #16827 Properly use
--trace
flag (before it was setting the trace level instead of displaying the stacktraces). - (x/auth) #16554
ModuleAccount.Validate
now reports a nil.BaseAccount
instead of panicking. - #16588 Propogate snapshotter failures to the caller, (it would create an empty snapshot silently before).
- (x/slashing) #16784 Emit event with the correct reason in
SlashWithInfractionReason
.
Features * (baseapp)
#16290 Add circuit breaker setter in baseapp. * (x/group) #16191 Add EventProposalPruned event to group module whenever a proposal is pruned. * (tx) #15992 AddWithExtensionOptions
in tx Factory to allow SetExtensionOptions
with given
extension options. ### Improvements * (baseapp)
#16407 Make
DefaultProposalHandler.ProcessProposalHandler
return a ProcessProposal NoOp
when using none or a NoOp mempool. * (deps)
#16083 Bumps
proto-builder
image to 0.13.0. * (client)
#16075 Partly revert
#15953 and
factory.Prepare
now does nothing in offline mode. * (server)
#15984 Use
cosmossdk.io/log
package for logging instead of CometBFT logger. NOTE: v0.45
and v0.46 were not using CometBFT logger either. This keeps the same
underlying logger (zerolog) as in v0.45.x+ and v0.46.x+ but now properly
supporting filtered logging. * (gov)
#15979 Improve gov error
message when failing to convert v1 proposal to v1beta1. * (store)
#16067 Add local snapshots
management commands. * (server)
#16061 Add Comet bootstrap
command. * (snapshots)
#16060 Support saving and
restoring snapshot locally. * (x/staking)
#16068 Update simulation to
allow non-EOA accounts to stake. * (server)
#16142 Remove JSON
Indentation from the GRPC to REST gateway’s responses. (Saving bandwidth) *
(types) #16145 Rename
interface ExtensionOptionI
back to TxExtensionOptionI
to avoid breaking
change. * (baseapp) #16193
Add Close
method to BaseApp
for custom app to cleanup resource in graceful
shutdown. ### Bug Fixes * Fix
barberry
security vulnerability. * (server)
#16395 Do not override some
Comet config is purposely set differently in InterceptConfigsPreRunHandler
.- (store) #16449 Fix
StateSync Restore by excluding memory store. * (cli)
#16312 Allow any addresses
in
client.ValidatePromptAddress
. * (x/group) #16017 Correctly apply account number in group v2 migration. ### API Breaking Changes * (testutil) #14991 Thetestutil/testdata_pulsar
package has moved totestutil/testdata/testpb
. Chains will not notice this breaking change as this package contains testing utilities only used by the SDK internally.
Improvements
- (x/evidence) #15908 Update the equivocation handler to work with ICS by removing a pubkey check that was performing a no-op for consumer chains.
- (x/slashing) #15908 Remove the validators’ pubkey check in the signature handler in order to work with ICS.
- (deps) #15957 Bump CometBFT to v0.37.1.
- (store) #15683
rootmulti.Store.CacheMultiStoreWithVersion
now can handle loading archival states that don’t persist any of the module stores the current state has. - #15448 Automatically populate the block timestamp for historical queries. In contexts where the block timestamp is needed for previous states, the timestamp will now be set. Note, when querying against a node it must be re-synced in order to be able to automatically populate the block timestamp. Otherwise, the block timestamp will be populated for heights going forward once upgraded.
- #14019 Remove the interface casting to allow other implementations of a
CommitMultiStore
. - (simtestutil) #15903 Add
AppStateFnWithExtendedCbs
with moduleStateCb callback function to allow access moduleState.
Bug Fixes
- (baseapp) #15789 Ensure
PrepareProposal
andProcessProposal
respectInitialHeight
set by CometBFT when set to a value greater than 1. - (types) #15433 Allow disabling of account address caches (for printing bech32 account addresses).
- (client/keys) #15876 Fix the JSON output
<appd> keys list --output json
when there are no keys.
Features * (x/bank)
#15265 Update keeper interface to includeGetAllDenomMetaData
. * (x/groups)
#14879 Add Query/Groups
query to get all the groups. * (x/gov,cli)
#14718 Added
AddGovPropFlagsToCmd
and ReadGovPropFlags
functions. * (cli)
#14655 Add a new command to
list supported algos. * (x/genutil,cli)
#15147 Add
--initial-height
flag to cli init cmd to provide genesis.json
with
user-defined initial block height. ### Improvements * (x/distribution)
#15462 Add delegator
address to the event for withdrawing delegation rewards. *
#14609 Add RetryForBlocks
method to use in tests that require waiting for a transaction to be included
in a block. ### Bug Fixes * (baseapp)
#15487 Reset state before
calling PrepareProposal and ProcessProposal. * (cli)
#15123 Fix the CLI
offline
mode behavior to be really offline. The API of
clienttx.NewFactoryCLI
is updated to return an error. ### Deprecated *
(x/genutil) #15316 Remove
requirement on node & IP being included in a gentx.Features * (x/gov)
#15151 Addburn_vote_quorum
, burn_proposal_deposit_prevote
and burn_vote_veto
params to allow applications to decide if they would like to burn deposits *
(client) #14509 Added
AddKeyringFlags
function. * (x/bank)
#14045 Add CLI command
spendable-balances
, which also accepts the flag --denom
. * (x/slashing,
x/staking) #14363 Add the
infraction a validator commited type as an argument to a
SlashWithInfractionReason
keeper method. * (client)
#14051 Add --grpc
client
option. * (x/genutil)
#14149 Add
genutilcli.GenesisCoreCommand
command, which contains all genesis-related
sub-commands. * (x/evidence)
#13740 Add new proto field
hash
of type string
to QueryEvidenceRequest
which helps to decode the
hash properly while using query API. * (core)
#13306 Add a FormatCoins
function to in core/coins
to format sdk Coins following the Value Renderers
spec. * (math) #13306 Add
FormatInt
and FormatDec
functiosn in math
to format integers and
decimals following the Value Renderers spec. * (x/staking)
#13122 Add
UnbondingCanComplete
and PutUnbondingOnHold
to x/staking
module. *
#13437 Add new flag
--modules-to-export
in simd export
command to export only selected
modules. * #13298 Add
AddGenesisAccount
helper func in x/auth module which helps adding accounts
to genesis state. * (x/authz)
#12648 Add an allow list,
an optional list of addresses allowed to receive bank assets via authz MsgSend
grant. * (sdk.Coins) #12627
Make a Denoms method on sdk.Coins. * (testutil)
#12973 Add generic
testutil.RandSliceElem
function which selects a random element from the
list. * (client) #12936 Add
capability to preprocess transactions before broadcasting from a higher level
chain. * (cli) #13064 Add
debug prefixes
to list supported HRP prefixes via . * (ledger)
#12935 Generalize Ledger
integration to allow for different apps or keytypes that use SECP256k1. *
(x/bank) #11981 Create the
SetSendEnabled
endpoint for managing the bank’s SendEnabled settings. *
(x/auth) #13210 Add
Query/AccountInfo
endpoint for simplified access to basic account info. *
(x/consensus) #12905 Create
a new x/consensus
module that is now responsible for maintaining Tendermint
consensus parameters instead of x/param
. Legacy types remain in order to
facilitate parameter migration from the deprecated x/params
. App developers
should ensure that they execute baseapp.MigrateParams
during their chain
upgrade. These legacy types will be removed in a future release. * (client/tx)
#13670 Add validation in
BuildUnsignedTx
to prevent simple inclusion of valid mnemonics ###
Improvements * #14995 Allow
unknown fields in ParseTypedEvent
. * (store)
#14931 Exclude in-memory
KVStores, i.e. StoreTypeMemory
, from CommitInfo commitments. * (cli)
#14919 Fix never assigned
error when write validators. * (x/group)
#14923 Fix error while
using pagination in x/group
from CLI. * (types/coin)
#14715 sdk.Coins.Add
now
returns an empty set of coins sdk.Coins{}
if both coins set are empty. *
This is a behavior change, as previously sdk.Coins.Add
would return nil
in
this case. * (reflection)
#14838 We now require that
all proto files’ import path (i.e. the OS path) matches their fully-qualified
package name. For example, proto files with package name cosmos.my.pkg.v1
should live in the folder cosmos/my/pkg/v1/*.proto
relatively to the protoc
import root folder (usually the root proto/
folder). * (baseapp)
#14505 PrepareProposal and
ProcessProposal now use deliverState for the first block in order to access
changes made in InitChain. * (x/group)
#14527 Fix wrong address
set in EventUpdateGroupPolicy
. * (cli)
#14509 Added missing
options to keyring-backend flag usage. * (server)
#14441 Fix --log_format
flag not working. * (ante)
#14448 Return anteEvents
when postHandler fail. * (baseapp)
#13983 Don’t emit duplicate
ante-handler events when a post-handler is defined. * (x/staking)
#14064 Set all fields in
redelegation.String()
. * (x/upgrade)
#13936 Make downgrade
verification work again. * (x/group)
#13742 Fix
validate-genesis
when group policy accounts exist. * (store)
#13516 Fix state listener
that was observing writes at wrong time. * (simstestutil)
#15305 Add
AppStateFnWithExtendedCb
with callback function to extend rawState. *
(simapp) #14977 Move
simulation helpers functions (AppStateFn
and AppStateRandomizedFn
) to
testutil/sims
. These takes an extra genesisState argument which is the
default state of the app. * (cli)
#14953 Enable profiling
block replay during abci handshake with --cpu-profile
. * (store)
#14410
rootmulti.Store.loadVersion
has validation to check if all the module
stores’ height is correct, it will error if any module store has incorrect
height. * (store) #14189
Add config iavl-lazy-loading
to enable lazy loading of iavl store, to
improve start up time of archive nodes, add method SetLazyLoading
to
CommitMultiStore
interface. * (deps)
#14830 Bump to IAVL
v0.19.5-rc.1
. * (tools)
#14793 Dockerfile
optimization. * (x/gov)
#13010 Partial cherry-pick
of this issue for adding proposer migration. *
#14691 Change behavior of
sdk.StringifyEvents
to not flatten events attributes by events type. * This
change only affects ABCI message logs, and not the events field. *
#14692 Improve RPC queries
error message when app is at height 0. *
#14017 Simplify ADR-028 and
address.Module
. * This updates the
ADR-028
and enhance the address.Module
API to support module addresses and
sub-module addresses in a backward compatible way. * (snapshots)
#14608 Deprecate unused
structs SnapshotKVItem
and SnapshotSchema
. *
#15243
LatestBlockResponse
& BlockByHeightResponse
types’ field sdk_block
was
incorrectly cast proposer_address
bytes to validator operator address, now
to consensus address * (x/group, x/gov)
#14483 Add support for
[]string
and []int
in draft-proposal
prompt. * (protobuf)
#14476 Clean up protobuf
annotations {(accepts, implements)}_interface
. * (x/gov, x/group)
#14472 The recommended
metadata format for x/gov and x/group proposals now uses an array of strings
(instead of a single string) for the authors
field. * (crypto)
#14460 Check the signature
returned by a ledger device against the public key in the keyring. *
#14356 Add
events.GetAttributes
and event.GetAttribute
methods to simplify the
retrieval of an attribute from event(s). * (types)
#14332 Reduce state
export time by 50%. * (types)
#14163 Refactor (coins Coins) Validate()
to avoid unnecessary map. *
#13881 Optimize iteration
on nested cached KV stores and other operations in general. * (x/gov)
#14347 Support
v1.Proposal
message in v1beta1.Proposal.Content
. *
#13882 Add tx encode
and
decode
endpoints to amino tx service. * (config)
#13894 Support state
streaming configuration in app.toml
template and default configuration. *
(x/nft) #13836 Remove the
validation for classID
and nftID
from the NFT module. *
#13789 Add tx encode
and
decode
endpoints to tx service. *
#13619 Add new function
called LogDeferred to report errors in defers. Use the function in x/bank
files. * (deps) #13397 Bump
Go version minimum requirement to 1.19
. *
#13070 Migrate from
gogo/protobuf
to cosmos/gogoproto
. *
#12995 Add FormatTime
and
ParseTimeString
methods. *
#12952 Replace keyring
module to Cosmos fork. *
#12352 Move the
RegisterSwaggerAPI
logic into a separate helper function in the server
package. * #12876 Remove
proposer-based rewards. *
#12846 Remove
RandomizedParams
from the AppModuleSimulation
interface which is no longer
needed. * (ci) #12854 Use
ghcr.io to host the proto builder image. Update proto builder image to go 1.19- (x/bank) #12706 Added the
chain-id
flag to theAddTxFlagsToCmd
API. There is no longer a need to explicitly register this flag on commands whensAddTxFlagsToCmd
is already called. * #12717 Use injected encoding params in simapp. * #12634 Movesdk.Dec
to math package. * #12187 Add batch operation for x/nft module. * #12455 Show attempts count in error for signing. * #13101 Remove weights fromsimapp/params
andtestutil/sims
. They are now in their respective modules. - #12398 Refactor all
x
modules to unit-test via mocks and decouplesimapp
. * #13144 Add validator distribution info grpc gateway get endpoint. * #13168 Migrate tendermintdev/proto-builder to ghcr.io. New imageghcr.io/cosmos/proto-builder:0.8
* #13178 Addcosmos.msg.v1.service
protobuf annotation to allow tooling to distinguish between Msg and Query services via reflection. * #13236 Integrate Filter Logging * #13528 UpdateValidateMemoDecorator
to only check memo againstMaxMemoCharacters
param when a memo is present. * #13651 Updateserver/config/config.GetConfig
function. * #13781 Removeclient/keys.KeysCdc
. * #13802 Add —output-document flag to the export CLI command to allow writing genesis state to a file. * #13794types/module.Manager
now supports the * #14175 Addserver.DefaultBaseappOptions(appopts)
function to reduce boiler plate in root.go. ### State Machine Breaking * (baseapp, x/auth/posthandler) #13940 UpdatePostHandler
to receive therunTx
success boolean. * (store) #14378 TheCacheKV
store is thread-safe again, which includes improved iteration and deletion logic. Iteration is on a strictly isolated view now, which is breaking from previous behavior. * (x/bank) #14538 Validate denom in bank balances GRPC queries. * (x/group) #14465 Add title and summary to proposal struct. * (x/gov) #14390 Add title, proposer and summary to proposal struct. * (x/group) #14071 Don’t re-tally proposal after voting period end if they have been marked as ACCEPTED or REJECTED. * (x/group) #13742 Migrate group policy account from module accounts to base account. * (x/auth)#13780id
(type of int64) inAccountAddressByID
grpc query is now deprecated, update to account-id(type of uint64) to useAccountAddressByID
. * (codec) #13307 Register all modules’Msg
s with group’s ModuleCdc so that Amino sign bytes are correctly generated.* (x/gov) * (codec) #13196 Register all modules’Msg
s with gov’s ModuleCdc so that Amino sign bytes are correctly generated. * (group) #13592 Fix group types registration with Amino. * (x/distribution) #12852 DeprecateCommunityPoolSpendProposal
. Please execute aMsgCommunityPoolSpend
message via the new v1x/gov
module instead. This message can be used to directly fund thex/gov
module account. * (x/bank) #12610MsgMultiSend
now allows only a single input. * (x/bank) #12630 Migratex/bank
to self-managed parameters and deprecate its usage ofx/params
. * (x/auth) #12475 Migratex/auth
to self-managed parameters and deprecate its usage ofx/params
. * (x/slashing) #12399 Migratex/slashing
to self-managed parameters and deprecate its usage ofx/params
. * (x/mint) #12363 Migratex/mint
to self-managed parameters and deprecate it’s usage ofx/params
. * (x/distribution) #12434 Migratex/distribution
to self-managed parameters and deprecate it’s usage ofx/params
. * (x/crisis) #12445 Migratex/crisis
to self-managed parameters and deprecate it’s usage ofx/params
. * (x/gov) #12631 Migratex/gov
to self-managed parameters and deprecate it’s usage ofx/params
. * (x/staking) #12409 Migratex/staking
to self-managed parameters and deprecate it’s usage ofx/params
. * (x/bank) #11859 Move the SendEnabled information out of the Params and into the state store directly. * (x/gov) #12771 Initial deposit requirement for proposals at submission time. * (x/staking) #12967unbond
now creates only one unbonding delegation entry when multiple unbondings exist at a single height (e.g. through multiple messages in a transaction). * (x/auth/vesting) #13502 Add Amino Msg registration forMsgCreatePeriodicVestingAccount
. ### API Breaking Changes * Migrate to CometBFT. Follow the migration instructions in the upgrade guide. * (simulation) #14728 Rename theParamChanges
field toLegacyParamChange
andContents
toLegacyProposalContents
insimulation.SimulationState
. Additionally it adds aProposalMsgs
field tosimulation.SimulationState
. * (x/gov) #14782 Move themetadata
argument ingovv1.NewProposal
alongsidetitle
andsummary
. * (x/upgrade) #14216 Change upgrade keeper receiver to upgrade keeper pointers. * (x/auth) #13780 Querying withid
(type of int64) inAccountAddressByID
grpc query now throws error, use account-id(type of uint64) instead. * (store) #13516 Update State Streaming APIs: * Add methodListenCommit
toABCIListener
* MoveListeningEnabled
andAddListener
methods toCommitMultiStore
* RemoveCacheWrapWithListeners
fromCacheWrap
andCacheWrapper
interfaces * Remove listening APIs from the caching layer (it should only listen to therootmulti.Store
) * Add three new options to file streaming service constructor. * ModifyABCIListener
such that any error from any method will always halt the app viapanic
* (x/auth) #13877 RenameAccountKeeper
’sGetNextAccountNumber
toNextAccountNumber
. * (x/evidence) #13740 TheNewQueryEvidenceRequest
function now takeshash
as a HEX encodedstring
. - (server) #13485 The
Application
service now requires theRegisterNodeService
method to be implemented. * #13437 Add a list of modules to export argument inExportAppStateAndValidators
. * (simapp) #13402 Move simulation flags tox/simulation/client/cli
. * (simapp) #13402 Move simulation helpers functions (SetupSimulation
,SimulationOperations
,CheckExportSimulation
,PrintStats
,GetSimulationLog
) totestutil/sims
. - (simapp) #13402 Move
testutil/rest
package totestutil
. * (types) #13380 Remove deprecatedsdk.NewLevelDB
. * (simapp) #13378 Movesimapp.App
toruntime.AppI
. * (tx) #12659 Remove broadcast modeblock
. * (simapp) #12747 Removesimapp.MakeTestEncodingConfig
. Please usemoduletestutil.MakeTestEncodingConfig
(types/module/testutil
) in tests instead. * (x/bank) #12648NewSendAuthorization
takes a new argument of an optional list of addresses allowed to receive bank assests via authz MsgSend grant. You can passnil
for the same behavior as before, i.e. any recipient is allowed. * (x/bank) #12593 AddSpendableCoin
method toBaseViewKeeper
* (x/slashing) #12581 Removex/slashing
legacy querier. * (types) #12355 Remove the compile-timetypes.DBbackend
variable. Removes usage of the same in server/util.go * (x/gov) #12368 Gov keeper is now passed by reference instead of copy to make post-construction mutation of Hooks and Proposal Handlers possible at a framework level. * (simapp) #12270 RemoveinvCheckPeriod uint
attribute fromSimApp
struct as per migration ofx/crisis
to app wiring * (simapp) #12334 Movesimapp.ConvertAddrsToValAddrs
andsimapp.CreateTestPubKeys
to respectivelysimtestutil.ConvertAddrsToValAddrs
andsimtestutil.CreateTestPubKeys
(testutil/sims
) * (simapp) #12312 Movesimapp.EmptyAppOptions
tosimtestutil.EmptyAppOptions
(testutil/sims
) * (simapp) #12312 RemoveskipUpgradeHeights map[int64]bool
andhomePath string
fromNewSimApp
constructor as per migration ofx/upgrade
to app-wiring. * (testutil) #12278 Move all functions fromsimapp/helpers
totestutil/sims
* (testutil) #12233 Movesimapp.TestAddr
tosimtestutil.TestAddr
(testutil/sims
) * (x/staking) #12102 Staking keeper now is passed by reference instead of copy. Keeper’s SetHooks no longer returns keeper. It updates the keeper in place instead. * (linting) #12141 Fix usability related linting for database. This means removing the infix Prefix fromprefix.NewPrefixWriter
and such so that it isprefix.NewWriter
and makingdb.DBConnection
and such intodb.Connection
* (x/distribution) #12434x/distribution
moduleSetParams
keeper method definition is now updated to returnerror
. - (x/staking) #12409
x/staking
moduleSetParams
keeper method definition is now updated to returnerror
. * (x/crisis) #12445x/crisis
moduleSetConstantFee
keeper method definition is now updated to returnerror
. * (x/gov) #12631x/gov
module refactored to useParams
as single struct instead ofDepositParams
,TallyParams
&VotingParams
. * (x/gov) #12631 Migratex/gov
to self-managed parameters and deprecate it’s usage ofx/params
. * (x/bank) #12630x/bank
moduleSetParams
keeper method definition is now updated to returnerror
. * (x/bank) #11859 Move the SendEnabled information out of the Params and into the state store directly. * (appModule) RemoveRoute
,QuerierRoute
andLegacyQuerierHandler
from AppModule Interface. * (x/modules) Remove all LegacyQueries and related code from modules * (store) #11825 Make extension snapshotter interface safer to use, renamed the util functionWriteExtensionItem
toWriteExtensionPayload
. * (x/genutil)#12956genutil.AppModuleBasic
has a new attribute: genesis transaction validation function. The existing validation logic is implemented ingenutiltypes.DefaultMessageValidator
. Usegenutil.NewAppModuleBasic
to create a new genutil Module Basic. * (codec) #12964ProtoCodec.MarshalInterface
now returns an error when serializing unregistered types and a subsequentProtoCodec.UnmarshalInterface
would fail. * (x/staking) #12973 Removedstakingkeeper.RandomValidator
. Usetestutil.RandSliceElem(r, sk.GetAllValidators(ctx))
instead. * (x/gov) #13160 Remove custom marshaling of proposl and voteoption. * (types) #13430 Remove unused codeResponseCheckTx
andResponseDeliverTx
* (store) #13529 Add methodLatestVersion
toMultiStore
interface, add methodSetQueryMultiStore
to baesapp to support alternativeMultiStore
implementation for query service. - (pruning) #13609 Move
pruning package to be under store package *
#13794 Most methods on
types/module.AppModule
have been moved to ### CLI Breaking Changes * (genesis) #14149 Addsimd genesis
command, which contains all genesis-related sub-commands. * (x/genutil) #13535 Replace insimd init
, the--staking-bond-denom
flag with--default-denom
which is used for all default denomination in the genesis, instead of only staking.
Bug Fixes * (x/auth/vesting)
#15373 Add extra checks when creating a periodic vesting account. * (x/auth) #13838 Fix callingString()
and MarshalYAML
panics when pubkey is set on a BaseAccount``. * (x/evidence) [#13740](https://github.com/cosmos/cosmos-sdk/pull/13740) Fix evidence query API to decode the hash properly. * (bank) [#13691](https://github.com/cosmos/cosmos-sdk/issues/13691) Fix unhandled error for vesting account transfers, when total vesting amount exceeds total balance. * [#13553](https://github.com/cosmos/cosmos-sdk/pull/13553) Ensure all parameter validation for decimal types handles nil decimal values. * [#13145](https://github.com/cosmos/cosmos-sdk/pull/13145) Fix panic when calling
String()to a Record struct type. * [#13116](https://github.com/cosmos/cosmos-sdk/pull/13116) Fix a dead-lock in the
Group-TotalWeight
x/groupinvariant. * (types) [#12154](https://github.com/cosmos/cosmos-sdk/pull/12154) Add
baseAccountGetterto avoid invalid account error when create vesting account. * (x/staking) [#12303](https://github.com/cosmos/cosmos-sdk/pull/12303) Use bytes instead of string comparison in delete validator queue * (store/rootmulti) [#12487](https://github.com/cosmos/cosmos-sdk/pull/12487) Fix non-deterministic map iteration. * (sdk/dec_coins) [#12903](https://github.com/cosmos/cosmos-sdk/pull/12903) Fix nil
DecCoin creation when converting
Coinsto
DecCoins* (store) [#12945](https://github.com/cosmos/cosmos-sdk/pull/12945) Fix nil end semantics in store/cachekv/iterator when iterating a dirty cache. * (x/gov) [#13051](https://github.com/cosmos/cosmos-sdk/pull/13051) In SubmitPropsal, when a legacy msg fails it's handler call, wrap the error as ErrInvalidProposalContent (instead of ErrNoProposalHandlerExists). * (snapshot) [#13400](https://github.com/cosmos/cosmos-sdk/pull/13400) Fix snapshot checksum issue in golang 1.19. * (server) [#13778](https://github.com/cosmos/cosmos-sdk/pull/13778) Set Cosmos SDK default endpoints to localhost to avoid unknown exposure of endpoints. * (x/auth) [#13877](https://github.com/cosmos/cosmos-sdk/pull/13877) Handle missing account numbers during
InitGenesis. * (x/gov) [#13918](https://github.com/cosmos/cosmos-sdk/pull/13918) Propagate message errors when executing a proposal. ### Deprecated * (x/evidence) [#13740](https://github.com/cosmos/cosmos-sdk/pull/13740) The
evidence_hash field of
QueryEvidenceRequesthas been deprecated and now contains a new field
hashwith type
string`. * (x/bank)
#11859 The
Params.SendEnabled field is deprecated and unusable.