v0.46.16 - 2023-11-07
EOL notice. This is the last release of the v0.46.x
line. Per this version, the v0.46.x line reached its end-of-life.
- (server) #18254 Don't hardcode gRPC address to localhost.
v0.46.15 - 2023-08-21
- (x/gov) #17387 Add
MsgSubmitProposal
SetMsgs
method. - (x/gov) #17354 Emit
VoterAddr
inproposal_vote
event. - (x/genutil) #17296 Add
MigrateHandler
to allow reuse migrate genesis related function.- In v0.46, v0.47 this function is additive to the
genesis migrate
command. However in v0.50+, adding custom migrations to thegenesis migrate
command is directly possible.
- In v0.46, v0.47 this function is additive to the
- (server) #17181 Fix
db_backend
lookup fallback fromconfig.toml
.
v0.46.14 - 2023-07-17
- (sims) #16656 Add custom max gas for block for sim config with unlimited as default.
- (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. - (deps) #16553 Bump CometBFT to v0.34.29.
- (x/auth) #16994 Fix regression where querying transactions events with
<=
or>=
would not work. - (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).
- (types) #15433 Allow disabling of account address caches (for printing bech32 account addresses).
v0.46.13 - 2023-06-08
- (snapshots) #16060 Support saving and restoring snapshot locally.
- (baseapp) #16290 Add circuit breaker setter in baseapp.
- (x/group) #16191 Add EventProposalPruned event to group module whenever a proposal is pruned.
- (deps) #15973 Bump CometBFT to v0.34.28.
- (store) #15683
rootmulti.Store.CacheMultiStoreWithVersion
now can handle loading archival states that don't persist any of the module stores the current state has. - (simapp) #15903 Add
AppStateFnWithExtendedCbs
with moduleStateCb callback function to allow access moduleState. Note, this function is present insimtestutil
fromv0.47.2+
. - (gov) #15979 Improve gov error message when failing to convert v1 proposal to v1beta1.
- (server) #16061 Add Comet bootstrap command.
- (store) #16067 Add local snapshots management commands.
- (baseapp) #16193 Add
Close
method toBaseApp
for custom app to cleanup resource in graceful shutdown.
- Fix barberry security vulnerability.
- (cli) #16312 Allow any addresses in
client.ValidatePromptAddress
. - (store/iavl) #15717 Upstream error on empty version (this change was present on all version but v0.46).
v0.46.12 - 2023-04-04
- (x/groups) #14879 Add
Query/Groups
query to get all the groups.
- (simapp) #15305 Add
AppStateFnWithExtendedCb
with callback function to extend rawState andAppStateRandomizedFnWithState
with extra genesisState argument which is the genesis state of the app. - (x/distribution) #15462 Add delegator address to the event for withdrawing delegation rewards
- #14019 Remove the interface casting to allow other implementations of a
CommitMultiStore
.
- (x/auth/vesting) #15383 Add extra checks when creating a periodic vesting account.
- (x/gov) #13051 In SubmitPropsal, when a legacy msg fails it's handler call, wrap the error as ErrInvalidProposalContent (instead of ErrNoProposalHandlerExists).
v0.46.11 - 2023-03-03
- (deps) Migrate to CometBFT. Follow the instructions in the release notes.
- (store) #15152 Remove unmaintained and experimental
store/v2alpha1
. - (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.
- #15243
LatestBlockResponse
&BlockByHeightResponse
types' fieldsdk_block
was incorrectly castproposer_address
bytes to validator operator address, now to consensus address.
v0.46.10 - 2023-02-16
- (cli) #14953 Enable profiling block replay during abci handshake with
--cpu-profile
.
v0.46.9 - 2023-02-07
-
(deps) #14846 Bump btcd.
-
(deps) Bump Tendermint version to v0.34.26.
-
(store) #14189 Add config
iavl-lazy-loading
to enable lazy loading of iavl store, to improve start up time of archive nodes, add methodSetLazyLoading
toCommitMultiStore
interface.- A new field has been added to the app.toml. This alllows nodes with larger databases to startup quicker
# IAVLLazyLoading enable/disable the lazy loading of iavl store. # Default is false. iavl-lazy-loading = ""
- (cli) #14919 Fix never assigned error when write validators.
- (store) #14798 Copy btree to avoid the problem of modify while iteration.
- (cli) #14799 Fix Evidence CLI query flag parsing (backport #13458)
v0.46.8 - 2023-01-23
- #13881 Optimize iteration on nested cached KV stores and other operations in general.
- (x/gov) #14347 Support
v1.Proposal
message inv1beta1.Proposal.Content
. - (deps) Use Informal System fork of Tendermint version to v0.34.24.
- (x/group) #14526 Fix wrong address set in
EventUpdateGroupPolicy
. - (ante) #14448 Return anteEvents when postHandler fail.
- (x/gov) #14422 Remove
Migrate_V046_6_To_V046_7
function which shouldn't be used for chains which already migrated to 0.46.
v0.46.7 - 2022-12-13
- (client) #14051 Add
--grpc
client option.
- (deps) Bump Tendermint version to v0.34.24.
- #13651 Update
server/config/config.GetConfig
function. - #14175 Add
server.DefaultBaseappOptions(appopts)
function to reduce boiler plate in root.go.
- (x/gov) #14214 Fix gov v0.46 migration to v1 votes.
- Also provide a helper function
govv046.Migrate_V0466_To_V0467
for migrating a chain already on v0.46 with versions <=v0.46.6 to the latest v0.46.7 correct state.
- Also provide a helper function
- (x/group) #14071 Don't re-tally proposal after voting period end if they have been marked as ACCEPTED or REJECTED.
- (store) #13516 Update State Streaming APIs:
- Add method
ListenCommit
toABCIListener
- Move
ListeningEnabled
andAddListener
methods toCommitMultiStore
- Remove
CacheWrapWithListeners
fromCacheWrap
andCacheWrapper
interfaces - Remove listening APIs from the caching layer (it should only listen to the
rootmulti.Store
) - Add three new options to file streaming service constructor.
- Modify
ABCIListener
such that any error from any method will always halt the app viapanic
- Add method
- (store) #13529 Add method
LatestVersion
toMultiStore
interface, add methodSetQueryMultiStore
to baesapp to support alternativeMultiStore
implementation for query service.
- (baseapp) #13983 Don't emit duplicate ante-handler events when a post-handler is defined.
- (baseapp) #14049 Fix state sync when interval is zero.
- (store) #13516 Fix state listener that was observing writes at wrong time.
v0.46.6 - 2022-11-18
- (config) #13894 Support state streaming configuration in
app.toml
template and default configuration.
- (x/gov) #13918 Fix propagation of message errors when executing a proposal.
v0.46.5 - 2022-11-17
- (x/bank) #13891 Provide a helper function
Migrate_V0464_To_V0465
for migrating a chain already on v0.46 with versions <=v0.46.4 to the latest v0.46.5 correct state.
- #13826 Support custom
GasConfig
configuration for applications. - (deps) Bump Tendermint version to v0.34.23.
- (x/group) #13876 Fix group MinExecutionPeriod that is checked on execution now, instead of voting period end.
- (x/group) #13876 Add
GetMinExecutionPeriod
method on DecisionPolicy interface.
- (x/group) #13869 Group members weight must be positive and a finite number.
- (x/bank) #13821 Fix bank store migration of coin metadata.
- (x/group) #13808 Fix propagation of message events to the current context in
EndBlocker
. - (x/gov) #13728 Fix propagation of message events to the current context in
EndBlocker
. - (store) #13803 Add an error log if IAVL set operation failed.
- #13861 Allow
_
characters in tx event queries, i.e.GetTxsEvent
.
v0.46.4 - 2022-11-01
- (x/auth) #13612 Add
Query/ModuleAccountByName
endpoint for accessing the module account info by module name.
- (deps) Bump IAVL version to v0.19.4.
- (x/auth/tx) #12474 Remove condition in GetTxsEvent that disallowed multiple equal signs, which would break event queries with base64 strings (i.e. query by signature).
- (store) #13530 Fix app-hash mismatch if upgrade migration commit is interrupted.
- #13656 Rename
server.FlagIAVLFastNode
toserver.FlagDisableIAVLFastNode
for clarity.
- (context) #13063 Update
Context#CacheContext
to automatically emit all events on the parent context'sEventManager
.
v0.46.3 - 2022-10-20
ATTENTION:
This is a security release for the Dragonberry security advisory.
All users should upgrade immediately.
Users must add a replace directive in their go.mod for the new ics23
package in the SDK:
replace github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0
- #13435 Extend error context when a simulation fails.
- (grpc) #13485 Implement a new gRPC query,
/cosmos/base/node/v1beta1/config
, which provides operator configuration. - #13577 Added
ApplicationQueryService
interface (the related method is added directly to theApplication
interface andApplicationQueryService
is removed in the future version). Applications implementingApplicationQueryService
enabling registration of module external gRPC services. When implemented the SDK will automatically register chain information query service introduced in #13485. - (cli) #13147 Add the
--append
flag to thesign-batch
CLI cmd to combine the messages and sign those txs which are created with--generate-only
. - (cli) #13454
sign-batch
CLI can now read multiple transaction files.
- #13586 Bump Tendermint to
v0.34.22
. - (auth) #13460 The
q auth address-by-id
CLI command has been renamed toq auth address-by-acc-num
to be more explicit. However, the oldaddress-by-id
version is still kept as an alias, for backwards compatibility. - #13433 Remove dead code in cacheMergeIterator
Domain()
.
- Implement dragonberry security patch.
- For applying the patch please refer to the RELEASE NOTES
- (store) #13459 Don't let state listener observe the uncommitted writes.
- #12548 Prevent signing from wrong key while using multisig.
- (server) #13485 The
Application
service now requires theRegisterNodeService
method to be implemented.
v0.46.2 - 2022-10-03
- (cli) #13089 Fix rollback command don't actually delete multistore versions, added method
RollbackToVersion
to interfaceCommitMultiStore
and added methodCommitMultiStore
toApplication
interface. - (cli) #13089
NewRollbackCmd
now takes anappCreator types.AppCreator
.
- (baseapp) #12168 Add
SetMsgServiceRouter
toBaseApp
. - (cli) #13207 Reduce user's password prompts when calling keyring
List()
function. - (cli) #13353 Add
tx group draft-proposal
command for generating group proposal JSONs (skeleton). - (cli) #13304 Add
tx gov draft-proposal
command for generating proposal JSONs (skeleton). - (x/authz) #13047 Add a GetAuthorization function to the keeper.
- (cli) #12742 Add the
prune
CLI cmd to manually prune app store history versions based on the pruning options.
- #13323 Ensure
withdraw_rewards
rewards are emitted from all actions that result in rewards being withdrawn. - #13233 Add
--append
toadd-genesis-account
sub-command to append new tokens after an account is already created. - (x/group) #13214 Add
withdraw-proposal
command to group module's CLI transaction commands. - (x/auth) #13048 Add handling of AccountNumberStoreKeyPrefix to the simulation decoder.
- (simapp) #13108 Call
SetIAVLCacheSize
with the configured value in simapp. - #13318 Keep the balance query endpoint compatible with legacy blocks.
- #13321 Add flag to disable fast node migration and usage.
- (types) #13265 Correctly coalesce coins even with repeated denominations & simplify logic.
- (x/auth) #13200 Fix wrong sequences in
sign-batch
. - (export) #13029 Fix exporting the blockParams regression.
- #13046 Fix missing return statement in BaseApp.Query.
- (store) #13336 Call streaming listeners for deliver tx event, it was removed accidentally, backport #13334.
- (grpc) #13417 fix grpc query panic that could crash the node (backport #13352).
- (grpc) #13418 Add close for grpc only mode.
v0.46.1 - 2022-08-24
- #12953 Change the default priority mechanism to be based on gas price.
- #12981 Return proper error when parsing telemetry configuration.
- #12969 Bump Tendermint to
v0.34.21
and IAVL tov0.19.1
. - #12885 Amortize cost of processing cache KV store.
- (events) #12850 Add a new
fee_payer
attribute to thetx
event that is emitted from theDeductFeeDecorator
AnteHandler decorator. - (x/params) #12615 Add
GetParamSetIfExists
function to paramsSubspace
to prevent panics on breaking changes. - (x/bank) #12674 Add convenience function
CreatePrefixedAccountStoreKey()
to construct key to access account's balance for a given denom. - #12877 Bumped cosmossdk.io/math to v1.0.0-beta.3
- #12693 Make sure the order of each node is consistent when emitting proto events.
- (x/group) #12888 Fix event propagation to the current context of
x/group
message execution[]sdk.Result
. - (x/upgrade) #12906 Fix upgrade failure by moving downgrade verification logic after store migration.
- (store) #12945 Fix nil end semantics in store/cachekv/iterator when iterating a dirty cache.
v0.46.0 - 2022-07-26
- (types) #11985 Add a
Priority
field onsdk.Context
, which represents the CheckTx priority field. It is only used during CheckTx. - (gRPC) #11889 Support custom read and write gRPC options in
app.toml
. Seemax-recv-msg-size
andmax-send-msg-size
respectively. - (cli) #11738 Add
tx auth multi-sign
as alias oftx auth multisign
for consistency withmulti-send
. - (cli) #11738 Add
tx bank multi-send
command for bulk send of coins to multiple accounts. - (grpc) #11642 Implement
ABCIQuery
in the Tendermint gRPC service, which proxies ABCIQuery
requests directly to the application. - (x/upgrade) #11551 Update
ScheduleUpgrade
for chains to schedule an automated upgrade onBeginBlock
without having to go though governance. - (cli) #11548 Add Tendermint's
inspect
command to thetendermint
sub-command. - (tx) #\11533 Register
EIP191
as an availableSignMode
for chains to use. - (x/genutil) #11500 Fix GenTx validation and adjust error messages
- #11430 Introduce a new
grpc-only
flag, such that when enabled, will start the node in a query-only mode. Note, gRPC MUST be enabled with this flag. - (x/bank) #11417 Introduce a new
SpendableBalances
gRPC query that retrieves an account's total (paginated) spendable balances. - #11441 Added a new method,
IsLTE
, fortypes.Coin
. This method is used to check if atypes.Coin
is less than or equal to anothertypes.Coin
. - (x/upgrade) #11116
MsgSoftwareUpgrade
andMsgCancelUpgrade
have been added to support v1beta2 msgs-based gov proposals. - #11308 Added a mandatory metadata field to Vote in x/gov v1beta2.
- #10977 Now every cosmos message protobuf definition must be extended with a
cosmos.msg.v1.signer
option to signal the signer fields in a language agnostic way. - #10710 Chain-id shouldn't be required for creating a transaction with both --generate-only and --offline flags.
- #10703 Create a new grantee account, if the grantee of an authorization does not exist.
- #10592 Add a
DecApproxEq
function that checks to see if|d1 - d2| < tol
for some Decd1, d2, tol
. - #9933 Introduces the notion of a Cosmos "Scalar" type, which would just be simple aliases that give human-understandable meaning to the underlying type, both in Go code and in Proto definitions.
- #9884 Provide a new gRPC query handler,
/cosmos/params/v1beta1/subspaces
, that allows the ability to query for all registered subspaces and their respective keys. - #9776 Add flag
staking-bond-denom
to specify the staking bond denomination value when initializing a new chain. - #9533 Added a new gRPC method,
DenomOwners
, inx/bank
to query for all account holders of a specific denomination. - (bank) #9618 Update bank.Metadata: add URI and URIHash attributes.
- (store) #8664 Implementation of ADR-038 file StreamingService
- #9837
--generate-only
flag can be used with a keyname from the keyring. - #10326
x/authz
add all grants by granter query. - #10944
x/authz
add all grants by grantee query - #10348 Add
fee.{payer,granter}
andtip
fields to StdSignDoc for signing tipped transactions. - #10208 Add
TipsTxMiddleware
for transferring tips. - #10379 Add validation to
x/upgrade
CLIsoftware-upgrade
command--plan-info
value. - #10507 Add middleware for tx priority.
- #10311 Adds cli to use tips transactions. It adds an
--aux
flag to all CLI tx commands to generate the aux signer data (with optional tip), and a newtx aux-to-fee
subcommand to let the fee payer gather aux signer data and broadcast the tx - #10430 ADR-040: Add store/v2
MultiStore
implementation - #11019 Add
MsgCreatePermanentLockedAccount
and CLI method for creating permanent locked account - #10947 Add
AllowancesByGranter
query to the feegrant module - #10407 Add validation to
x/upgrade
module'sBeginBlock
to check accidental binary downgrades - (gov) #11036 Add in-place migrations for 0.43->0.46. Add a
migrate v0.46
CLI command for v0.43->0.46 JSON genesis migration. - #11006 Add
debug pubkey-raw
command to allow inspecting of pubkeys in legacy bech32 format - (x/authz) #10714 Add support for pruning expired authorizations
- #10015 ADR-040: ICS-23 proofs for SMT store
- #11240 Replace various modules
ModuleCdc
with the globallegacy.Cdc
- #11179 Add state rollback command.
- #10794 ADR-040: Add State Sync to V2 Store
- #11234 Add
GRPCClient
field to Client Context. IfGRPCClient
field is set to nil, theInvoke
method would use ABCI query, otherwise use gprc. - #10962 ADR-040: Add state migration from iavl (v1Store) to smt (v2Store)
- (types) #10948 Add
app-db-backend
to theapp.toml
config to replace the compile-timetypes.DBbackend
variable. - (authz)#11060 Support grant with no expire time.
- (rosetta) #11590 Add fee suggestion for rosetta and enable offline mode. Also force set events about Fees to Success to pass reconciliation test.
- (types) #11959 Added
sdk.Coins.Find
helper method to find a coin by denom. - (upgrade) #12603 feat: Move AppModule.BeginBlock and AppModule.EndBlock to extension interfaces
- (telemetry) #12405 Add query calls metric to telemetry.
- (cli) #12028 Add the
tendermint key-migrate
to perform Tendermint v0.35 DB key migration. - (query) #12253 Add
GenericFilteredPaginate
to thequery
package to improve UX.
- (x/auth/ante) #11985 The
MempoolFeeDecorator
has been removed. Instead, theDeductFeeDecorator
takes a new argument of typeTxFeeChecker
, to define custom fee models. Ifnil
is passed to thisTxFeeChecker
argument, then it will default tocheckTxFeeWithValidatorMinGasPrices
, which is the exact same behavior as the oldMempoolFeeDecorator
(i.e. checking fees against validator's own min gas price). - (x/auth/ante) #11985 The
ExtensionOptionsDecorator
takes an argument of typeExtensionOptionChecker
. For backwards-compatibility, you can passnil
, which defaults to the old behavior of rejecting all tx extensions. - (crypto/keyring) #11932 Remove
Unsafe*
interfaces from keyring package. Please use interface casting if you wish to access those unsafe functions. - (types) #11881 Rename
AccAddressFromHex
toAccAddressFromHexUnsafe
. - (types) #11788 The
Int
andUint
types have been moved to their own dedicated module,math
. Aliases are kept in the SDK's roottypes
package, however, it is encouraged to utilize the newmath
module. As a result, theInt#ToDec
API has been removed. - (grpc) #11642 The
RegisterTendermintService
method in thetmservice
package now requires aabciQueryFn
query function parameter. - #11496 Refactor abstractions for snapshot and pruning; snapshot intervals eventually pruned; unit tests.
- (types) #11689 Make
Coins#Sub
andCoins#SafeSub
consistent withCoins#Add
. - (store)#11152 Remove
keep-every
from pruning options. - #10950 Add
envPrefix
parameter tocmd.Execute
. - (x/mint) #10441 The
NewAppModule
function now accepts an inflation calculation function as an argument. - #10295 Remove store type aliases from /types
- #9695 Migrate keys from
Info
(serialized as amino) ->Record
(serialized as proto)- Add new
codec.Codec
argument in:keyring.NewInMemory
keyring.New
- Rename:
SavePubKey
toSaveOfflineKey
.NewMultiInfo
,NewLedgerInfo
toNewLegacyMultiInfo
,newLegacyLedgerInfo
respectively. Move them intolegacy_info.go
.NewOfflineInfo
tonewLegacyOfflineInfo
and move it tomigration_test.go
.
- Return:
*
keyring.Record, error
inSaveOfflineKey
,SaveLedgerKey
,SaveMultiSig
,Key
andKeyByAddress
. *keyring.Record
instead ofInfo
inNewMnemonic
andList
. - Remove
algo
argument from :SaveOfflineKey
- Take
keyring.Record
instead ofInfo
as first argument in:MkConsKeyOutput
MkValKeyOutput
MkAccKeyOutput
- Add new
- #10022
AuthKeeper
interface inx/auth
now includes a functionHasAccount
. - #9759
NewAccountKeeeper
inx/auth
now takes an additionalbech32Prefix
argument that representssdk.Bech32MainPrefix
. - #9628 Rename
x/{mod}/legacy
tox/{mod}/migrations
. - #9571 Implemented error handling for staking hooks, which now return an error on failure.
- #9427 Move simapp
FundAccount
andFundModuleAccount
tox/bank/testutil
- (client/tx) #9421
BuildUnsignedTx
,BuildSimTx
,PrintUnsignedStdTx
functions are moved to the Tx Factory as methods. - (client/keys) #9407 Added
keys rename
CLI command andKeyring.Rename
interface method to rename a key in the keyring. - (x/slashing) #9458 Coins burned from slashing is now returned from Slash function and included in Slash event.
- #9246 The
New
method for the network package now returns an error. - #9519
DeleteDeposits
renamed toDeleteAndBurnDeposits
,RefundDeposits
renamed toRefundAndDeleteDeposits
- (codec) #9521 Removed deprecated
clientCtx.JSONCodec
fromclient.Context
. - (codec) #9521 Rename
EncodingConfig.Marshaler
toCodec
. - #9594
RESTHandlerFn
argument is removed from thegov/NewProposalHandler
. - #9594
types/rest
package moved totestutil/rest
. - #9432
ConsensusParamsKeyTable
moved fromparams/keeper
toparams/types
- #9576 Add debug error message to
sdkerrors.QueryResult
when enabled - #9650 Removed deprecated message handler implementation from the SDK modules.
- #10248 Remove unused
KeyPowerReduction
variable from x/staking types. - (x/bank) #9832
AddressFromBalancesStore
renamed toAddressAndDenomFromBalancesStore
. - (tests) #9938
simapp.Setup
accepts additionaltesting.T
argument. - (baseapp) #11979 Rename baseapp simulation helper methods
baseapp.{Check,Deliver}
tobaseapp.Sim{Check,Deliver}
. - (x/gov) #10373 Removed gov
keeper.{MustMarshal, MustUnmarshal}
. - #10348 StdSignBytes takes a new argument of type
*tx.Tip
for signing over tips using LEGACY_AMINO_JSON. - #10208 The
x/auth/signing.Tx
interface now also includes a newGetTip() *tx.Tip
method for verifying tipped transactions. Thex/auth/types
expected BankKeeper interface now expects theSendCoins
method too. - #10612
baseapp.NewBaseApp
constructor function doesn't take thesdk.TxDecoder
anymore. This logic has been moved into the TxDecoderMiddleware. - #10692
SignerData
takes 2 new fields,Address
andPubKey
, which need to get populated when using SIGN_MODE_DIRECT_AUX. - #10748 Move legacy
x/gov
api tov1beta1
directory. - #10816 Reuse blocked addresses from the bank module. No need to pass them to distribution.
- #10852 Move
x/gov/types
tox/gov/types/v1beta2
. - #10922, /#10957 Move key
server.Generate*
functions to testutil and support custom mnemonics in in-process testing network. MovedTestMnemonic
fromtestutil
package totestdata
. - (x/bank) #10771 Add safety check on bank module perms to allow module-specific mint restrictions (e.g. only minting a certain denom).
- (x/bank) #10771 Add
bank.BaseKeeper.WithMintCoinsRestriction
function to restrict use of bankMintCoins
usage. - #10868, #10989 The Gov keeper accepts now 2 more mandatory arguments, the ServiceMsgRouter and a maximum proposal metadata length.
- #10868, #10989, #11093 The Gov keeper accepts now 2 more mandatory arguments, the ServiceMsgRouter and a gov Config including the max metadata length.
- #11124 Add
GetAllVersions
to application store - (x/authz) #10447 authz
NewGrant
takes a new argument: block time, to correctly validate expire time. - #10961 Support third-party modules to add extension snapshots to state-sync.
- #11274
types/errors.New
now is an alias fortypes/errors.Register
and should only be used in initialization code. - (authz)#11060
authz.NewMsgGrant
expiration
is now a pointer. Whennil
is used then no expiration will be set (grant won't expire). - (x/distribution)#11457 Add amount field to
distr.MsgWithdrawDelegatorRewardResponse
anddistr.MsgWithdrawValidatorCommissionResponse
. - #11334 Move
x/gov/types/v1beta2
tox/gov/types/v1
. - (x/auth/middleware) #11413 Refactor tx middleware to be extensible on tx fee logic. Merged
MempoolFeeMiddleware
andTxPriorityMiddleware
functionalities intoDeductFeeMiddleware
, make the logic extensible using theTxFeeChecker
option, the current fee logic is preserved by the defaultcheckTxFeeWithValidatorMinGasPrices
implementation. ChangeRejectExtensionOptionsMiddleware
toNewExtensionOptionsMiddleware
which is extensible with theExtensionOptionChecker
option. Unpack the tx extension optionsAny
s to interfaceTxExtensionOptionI
. - (migrations) #11556 Remove migration code from 0.42 and below. To use previous migrations, checkout previous versions of the cosmos-sdk.
- #11797 Remove all RegisterRESTRoutes (previously deprecated)
- #11089 interacting with the node through
grpc.Dial
requires clients to pass a codec refer to doc. - #9594 Remove legacy REST API. Please see the REST Endpoints Migration guide to migrate to the new REST endpoints.
- #9995 Increased gas cost for creating proposals.
- #11029 The deprecated Vote Option field is removed in gov v1beta2 and nil in v1beta1. Use Options instead.
- #11013 The
tx gov submit-proposal
command has changed syntax to support the new Msg-based gov proposals. To access the old CLI command, please usetx gov submit-legacy-proposal
. - #11170 Fixes issue related to grpc-gateway of supply by ibc-denom.
- (cli) #11818 CLI transactions preview now respect the chosen
--output
flag format (json or text). - #9695
<app> keys migrate
CLI command now takes no arguments. - #9246 Removed the CLI flag
--setup-config-only
from thetestnet
command and added the subcommandinit-files
. - #9780 Use sigs.k8s.io for yaml, which might lead to minor YAML output changes
- #10625 Rename
--fee-account
CLI flag to--fee-granter
- #10684 Rename
edit-validator
command's--moniker
flag to--new-moniker
- (authz)#11060 Changed the default value of the
--expiration
tx grant
CLI Flag: was now + 1year, update: null (no expire date).
- (types) #12201 Add
MustAccAddressFromBech32
util function - #11696 Rename
helpers.GenTx
toGenSignedMockTx
to avoid confusion with genutil'sGenTxCmd
. - (x/auth/vesting) #11652 Add util functions for
Period(s)
- #11630 Add SafeSub method to sdk.Coin.
- #11511 Add api server flags to start command.
- #11484 Implement getter for keyring backend option.
- #11449 Improved error messages when node isn't synced.
- #11349 Add
RegisterAminoMsg
function that checks that a msg name is <40 chars (else this would break ledger nano signing) then registers the concrete msg type with amino, it should be used for registeringsdk.Msg
s with amino instead ofcdc.RegisterConcrete
. - #11089 Now cosmos-sdk consumers can upgrade gRPC to its newest versions.
- #10439 Check error for
RegisterQueryHandlerClient
in all modulesRegisterGRPCGatewayRoutes
. - #9780 Remove gogoproto
moretags
YAML annotations and addsigs.k8s.io/yaml
for YAML marshalling. - (x/bank) #10134 Add
HasDenomMetadata
function to bankKeeper
to check if a client coin denom metadata exists in state. - (x/bank) #10022
BankKeeper.SendCoins
now takes less execution time. - (deps) #9987 Bump Go version minimum requirement to
1.17
- (cli) #9856 Overwrite
--sequence
and--account-number
flags with default flag values when used withoffline=false
insign-batch
command. - (rosetta) #10001 Add documentation for rosetta-cli dockerfile and rename folder for the rosetta-ci dockerfile
- #9699 Add
:
,.
,-
, and_
as allowed characters in the default denom regular expression. - (genesis) #9697 Ensure
InitGenesis
returns with non-empty validator set. - #10341 Move from
io/ioutil
toio
andos
packages. - #10468 Allow futureOps to queue additional operations in simulations
- #10625 Add
--fee-payer
CLI flag - (cli) #10683 In CLI, allow 1 SIGN_MODE_DIRECT signer in transactions with multiple signers.
- (deps) #10210 Bump Tendermint to v0.35.0.
- (deps) #10706 Bump rosetta-sdk-go to v0.7.2 and rosetta-cli to v0.7.3
- (types/errors) #10779 Move most functionality in
types/errors
to a standaloneerrors
go module, except theRootCodespace
errors and ABCI response helpers. All functions and types that used to live intypes/errors
are now aliased so this is not a breaking change. - (gov) #10854 v1beta2's vote doesn't include the deprecate
option VoteOption
anymore. Instead, it only usesWeightedVoteOption
. - (types) #11004 Added mutable versions of many of the sdk.Dec types operations. This improves performance when used by avoiding reallocating a new bigint for each operation.
- (x/auth) #10880 Added a new query to the tx query service that returns a block with transactions fully decoded.
- (types) #11200 Added
Min()
andMax()
operations on sdk.Coins. - (gov) #11287 Fix error message when no flags are provided while executing
submit-legacy-proposal
transaction. - (x/auth) #11482 Improve panic message when attempting to register a method handler for a message that does not implement sdk.Msg
- (x/staking) #11596 Add (re)delegation getters
- (errors) #11960 Removed 'redacted' error message from defaultErrEncoder
- (ante) #12013 Index ante events for failed tx.
- #12668 Add
authz_msg_index
event attribute to message events emitted when executing viaMsgExec
throughx/authz
. - #12626 Upgrade IAVL to v0.19.0 with fast index and error propagation. NOTE: first start will take a while to propagate into new model.
- #12649 Bump tendermint to v0.34.20.
- #12576 Remove dependency on cosmos/keyring and upgrade to 99designs/keyring v1.2.1
- #12589 Allow zero gas in simulation mode.
- #12453 Add
NewInMemoryWithKeyring
function which allows the creation of in memorykeystore
instances with a specified set of existing items. - #11390
LatestBlockResponse
&BlockByHeightResponse
types'Block
filed has been deprecated and they now contains new fieldsdk_block
withproposer_address
asstring
- (deps) Downgrade to Tendermint v0.34.20-rc0.
- #12089 Mark the
TipDecorator
as beta, don't include it in simapp by default. - #12153 Add a new
NewSimulationManagerFromAppModules
constructor, to simplify simulation wiring.
- #11969 Fix the panic error in
x/upgrade
whenAppVersion
is not set. - (tests) #11940 Fix some client tests in the
x/gov
module - #11772 Limit types.Dec length to avoid overflow.
- #11724 Fix data race issues with api.Server
- #11693 Add validation for gentx cmd.
- #11645 Fix
--home
flag ignored when running help. - #11558 Fix
--dry-run
not working when using tx command. - #11354 Added missing pagination flag for
bank q total
query. - #11197 Signing with multisig now works with multisig address which is not in the keyring.
- (makefile) #11285 Fix lint-fix make target.
- (client) #11283 Support multiple keys for tx simulation and setting automatic gas for txs.
- (store) #11177 Update the prune
everything
strategy to store the last two heights. - #10844 Automatic recovering non-consistent keyring storage during public key import.
- (store) #11117 Fix data race in store trace component
- (cli) #11065 Ensure the
tendermint-validator-set
query command respects the-o
output flag. - (grpc) #10985 The
/cosmos/tx/v1beta1/txs/{hash}
endpoint returns a 404 when a tx does not exist. - (rosetta) #10340 Use
GenesisChunked(ctx)
insteadGenesis(ctx)
to get genesis block height - #10180 Documentation: make references to Cosmos SDK consistent
- #9651 Change inconsistent limit of
0
toMaxUint64
on InfiniteGasMeter and add GasRemaining func to GasMeter. - #9639 Check store keys length before accessing them by making sure that
key
is of lengthm+1
(forkey[n:m]
) - (types) #9627 Fix nil pointer panic on
NewBigIntFromInt
- (x/genutil) #9574 Actually use the
gentx
client tx flags (like--keyring-dir
) - (x/distribution) #9599 Withdraw rewards event now includes a value attribute even if there are 0 rewards (due to situations like 100% commission).
- (x/genutil) #9638 Added missing validator key save when recovering from mnemonic
- #9762 The init command uses the chain-id from the client config if --chain-id is not provided
- #9854 Fixed the
make proto-gen
to get dynamic container name based on project name for the cosmos based sdks. - #9980 Returning the error when the invalid argument is passed to bank query total supply cli.
- (server) #10016 Fix marshaling of index-events into server config file.
- #10184 Fixed CLI tx commands to no longer explicitly require the chain-id flag as this value can come from a user config.
- #10239 Fixed x/bank/044 migrateDenomMetadata.
- (x/upgrade) #10189 Removed potential sources of non-determinism in upgrades
- #10258 Fixes issue related to segmentation fault on mac m1 arm64
- #10466 Fixes error with simulation tests when genesis start time is randomly created after the year 2262
- #10394 Fixes issue related to grpc-gateway of account balance by ibc-denom.
- #10593 Update swagger-ui to v4.1.0 to fix xss vulnerability.
- #10842 Fix error when
--generate-only
,--max-msgs
fags set while executingWithdrawAllRewards
command. - #10897 Fix: set a non-zero value on gas overflow.
- #9790 Fix behavior of
DecCoins.MulDecTruncate
. - #10990 Fixes missing
iavl-cache-size
config parsing inGetConfig
method. - (crypto) [#11027] Remove dependency on Tendermint core for xsalsa20symmetric.
- (x/authz) #10447 Fix authz
NewGrant
expiration check. - (x/authz) #10633 Fixed authorization not found error when executing message.
- #11222 reject query with block height in the future
- #11229 Handled the error message of
transaction encountered error
from tendermint. - (x/authz) #11252 Allow insufficient funds error for authz simulation
- (cli) #11313 Fixes
--gas auto
when executing CLI transactions in--generate-only
mode - (cli) #11337 Fixes
show-adress
cli cmd - (crypto) #11298 Fix cgo secp signature verification and update libscep256k1 library.
- (x/authz) #11512 Fix response of a panic to error, when subtracting balances.
- (rosetta) #11590
/block
returns an error with nil pointer when a request has both of index and hash and increase timeout for huge genesis. - (x/feegrant) #11813 Fix pagination total count in
AllowancesByGranter
query. - (simapp) #11855 Use
sdkmath.Int
instead ofint64
forSimulationState.InitialStake
. - (x/capability) #11737 Use a fixed length encoding of
Capability
pointer forFwdCapabilityKey
- #11983 (x/feegrant, x/authz) rename grants query commands to
grants-by-grantee
,grants-by-granter
cmds. - (protos) #12701 Fix tendermint and ics23 versions used in Makefile. Run "make proto-gen".
- (testutil/sims) #12374 fix the non-determinstic behavior in simulations caused by
GenSignedMockTx
and check empty coins slice before it is used to createbanktype.MsgSend
. - #12448 Start telemetry independently from the API server.
- #12509 Fix
Register{Tx,Tendermint}Service
not being called, resulting in some endpoints like the Simulate endpoint not working. - #12416 Prevent zero gas transactions in the
DeductFeeDecorator
AnteHandler decorator. - (x/mint) #12384 Ensure
GoalBonded
must be positive when performingx/mint
parameter validation. - (x/auth) #12261 Deprecate pagination in GetTxsEventRequest/Response in favor of page and limit to align with tendermint
SignClient.TxSearch
- (vesting) #12190 Replace #12190 to use
NewBaseAccountWithAddress
in all vesting account message handlers. - (linting) #12135 Fix variable naming issues per enabled linters. Run gofumpt to ensure easy reviews of ongoing linting work.
- (linting) #12132 Change sdk.Int to math.Int, run
gofumpt -w -l .
, andgolangci-lint run ./... --fix
- (cli) #12127 Fix the CLI not always taking into account
--fee-payer
and--fee-granter
flags. - (migrations) #12028 Fix v0.45->v0.46 in-place store migrations.
- (baseapp) #12089 Include antehandler and runMsgs events in SimulateTx.
- (cli) #12095 Fix running a tx with --dry-run returns an error
- (x/auth) #12108 Fix GetBlockWithTxs error when querying block with 0 tx
- (genutil) #12140 Fix staking's genesis JSON migrate in the
simd migrate v0.46
CLI command. - (types) #12154 Add
baseAccountGetter
to avoid invalid account error when create vesting account. - (x/crisis) #12208 Fix progress index of crisis invariant assertion logs.
- (types) #12229 Increase sdk.Dec maxApproxRootIterations to 300
- (baseapp) #11985 Add a
postHandler
to baseapp. ThispostHandler
is like antehandler, but is run after therunMsgs
execution. It is in the same store branch thatrunMsgs
, meaning that bothrunMsgs
andpostHandler
- (x/gov) #11998 Tweak the
x/gov
ModuleAccountInvariant
invariant to ensure deposits are<=
total module account balance instead of strictly equal. - (x/upgrade) #11800 Fix
GetLastCompleteUpgrade
to properly return the latest upgrade. - #10564 Fix bug when updating allowance inside AllowedMsgAllowance
- (x/auth)#9596 Enable creating periodic vesting accounts with a transactions instead of requiring them to be created in genesis.
- (x/bank) #9611 Introduce a new index to act as a reverse index between a denomination and address allowing to query for
token holders of a specific denomination.
DenomOwners
is updated to use the new reverse index. - (x/bank) #9832 Account balance is stored as
sdk.Int
rather thansdk.Coin
. - (x/bank) #9890 Remove duplicate denom from denom metadata key.
- (x/upgrade) #10189 Removed potential sources of non-determinism in upgrades
- #10422 and #10529 Add
MinCommissionRate
param tox/staking
module. - (x/gov) #10763 modify the fields in
TallyParams
to usestring
instead ofbytes
- #10770 revert tx when block gas limit exceeded
- (x/gov) #10868 Bump gov to v1beta2. Both v1beta1 and v1beta2 queries and Msgs are accepted.
- #11011 Remove burning of deposits when qourum is not reached on a governance proposal and when the deposit is not fully met.
- #11019 Add
MsgCreatePermanentLockedAccount
and CLI method for creating permanent locked account - (x/staking) [#10885] (#10885) Add new
CancelUnbondingDelegation
transaction tox/staking
module. Delegators can now cancel unbonding delegation entry and delegate back to validator. - (x/feegrant) #10830 Expired allowances will be pruned from state.
- (x/authz,x/feegrant) #11214 Fix Amino JSON encoding of authz and feegrant Msgs to be consistent with other modules.
- (authz)#11060 Support grant with no expire time.
- (x/gov) #10868 Bump gov to v1.
- (x/upgrade) #9906 Deprecate
UpgradeConsensusState
gRPC query since this functionality is only used for IBC, which now has its own IBC replacement - (types) #10948 Deprecate the types.DBBackend variable and types.NewLevelDB function. They are replaced by a new entry in
app.toml
:app-db-backend
andtendermint/tm-db
sNewDB
function. Ifapp-db-backend
is defined, then it is used. Otherwise, iftypes.DBBackend
is defined, it is used (until removed: #11241). Otherwise, Tendermint config'sdb-backend
is used.