Skip to main content
2025-04-29
v0.53.0

FEATURES

  • #24062 #24145 (simsx) Add new simsx framework on top of simulations for better module dev experience.
  • #24069 (baseapp) Create CheckTxHandler to allow extending the logic of CheckTx.
  • #24093 (types) Added a new method, IsGT, for types.Coin. This method is used to check if a types.Coin is greater than another types.Coin.
  • #24071 (client/keys) Add support for importing hex key using standard input.
  • #23780 (types) Add a ValueCodec for the math.Uint type that can be used in collections maps.
  • #24045 (perf)Sims: Replace runsim command with Go stdlib testing. CLI: Commit default true, Lean, SimulateEveryOperation, PrintAllInvariants, DBBackend params removed
  • #24040 (crypto/keyring) Expose the db keyring used in the keystore.
  • #23919 (types) Add MustValAddressFromBech32 function.
  • #23708 (all) Add unordered transaction support.
  • Adds a --timeout-timestamp flag that allows users to specify a block time at which the unordered transactions should expire from the mempool.
  • #23815 (x/epochs) Upstream x/epochs from Osmosis
  • #23811 (client) Add auto cli for node service.
  • #24018 (genutil) Allow manually setting the consensus key type in genesis
  • #18557 (client) Add --qrcode flag to keys show command to support displaying keys address QR code.
  • #24030 (x/auth) Allow usage of ed25519 keys for transaction signing.
  • #24163 (baseapp) Add StreamingManager to baseapp to extend the abci listeners.
  • #23933 (x/protocolpool) Add x/protocolpool module.
  • x/distribution can now utilize an externally managed community pool. NOTE: this will make the message handlers for FundCommunityPool and CommunityPoolSpend error, as well as the query handler for CommunityPool.
  • #18101 (client) Add a keyring-default-keyname in client.toml for specifying a default key name, and skip the need to use the --from flag when signing transactions.
  • #24355 (x/gov) Allow users to set a custom CalculateVoteResultsAndVotingPower function to be used in govkeeper.Tally.
  • #24436 (x/mint) Allow users to set a custom minting function used in the x/mint begin blocker.
  • The InflationCalculationFn argument to mint.NewAppModule() is now ignored and must be nil. To set a custom InflationCalculationFn on the default minter, use mintkeeper.WithMintFn(mintkeeper.DefaultMintFn(customInflationFn)).
  • #24428 (api) Add block height to response headers

IMPROVEMENTS

  • #24561 (client) TimeoutTimestamp flag has been changed to TimeoutDuration, which now sets the timeout timestamp of unordered transactions to the current time + duration passed.
  • #24541 (telemetry) Telemetry now includes a pre_blocker metric key. x/upgrade should migrate to this key in v0.54.0.
  • #24541 (x/auth) x/auth’s PreBlocker now emits telemetry under the pre_blocker metric key.
  • #24431 (x/bank) Reduce the number of ValidateDenom calls in bank.SendCoins and Coin.
  • The AmountOf() method onsdk.Coins no longer will panic if given an invalid denom and will instead return a zero value.
  • #24391 (x/staking) Replace panics with error results; more verbose error messages
  • #24354 (x/staking) Optimize validator endblock by reducing bech32 conversions, resulting in significant performance improvement
  • #18950 (client/keys) Improve <appd> keys add, <appd> keys import and <appd> keys rename by checking name validation.
  • #18703 (client/keys) Improve <appd> keys add and <appd> keys show by checking whether there are duplicate keys in the multisig case.
  • #18745 (client/keys) Improve <appd> keys export and <appd> keys mnemonic by adding —yes option to skip interactive confirmation.
  • #24106 (x/bank) SendCoins now checks for SendRestrictions before instead of after deducting coins using subUnlockedCoins.
  • #24036 (crypto/ledger) Improve error message when deriving paths using index > 100
  • #23844 (gRPC) Add debug log prints for each gRPC request.
  • #24073 (gRPC) Adds error handling for out-of-gas panics in grpc query handlers.
  • #24072 (server) Return BlockHeader by shallow copy in server Context.
  • #24053 (x/bank) Resolve a foot-gun by swapping send restrictions check in InputOutputCoins before coin deduction.
  • #24336 (codec/types) Most types definitions were moved to github.com/cosmos/gogoproto/types/any with aliases to these left in codec/types so that there should be no breakage to existing code. This allows protobuf generated code to optionally reference the SDK’s custom Any type without a direct dependency on the SDK. This can be done by changing the protoc M parameter for any.proto to Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any.

BUG FIXES

  • #24460 (x/gov)Do not call Remove during Walk in defaultCalculateVoteResultsAndVotingPower.
  • (baseapp) 24261 Fix post handler error always results in code 1
  • #24068 (server) Allow align block header with skip check header in grpc server.
  • #24044 (x/gov) Fix some places in which we call Remove inside a Walk (x/gov).
  • #24042 (baseapp) Fixed a data race inside BaseApp.getContext, found by end-to-end (e2e) tests.
  • #24059 (client/server) Consistently set viper prefix in client and server. It defaults for the binary name for both client and server.
  • #24041 (client/keys) keys delete won’t terminate when a key is not found, but will log the error.
  • #24027 (baseapp) Ensure that BaseApp.Init checks that the commit multistore is set to protect against nil dereferences.
  • GHSA-47ww-ff84-4jrg (x/group) Fix x/group can halt when erroring in EndBlocker
  • #23934 (x/distribution) Fix vulnerability in incrementReferenceCount in distribution.
  • #23879 (baseapp) Ensure finalize block response is not empty in the defer check of FinalizeBlock to avoid panic by nil pointer.
  • #23883 (query) Fix NPE in query pagination.
  • #23860 (client) Add missing unordered field for legacy amino signing of tx body.
  • #23836 (x/bank) Fix DenomMetadata rpc allow value with slashes.
  • (query) 87d3a43 Fix collection filtered pagination.
  • #23952 (sims) Use liveness matrix for validator sign status in sims
  • #24055 (baseapp) Align block header when query with latest height.
  • #24074 (baseapp) Use CometBFT’s ComputeProtoSizeForTxs in defaultTxSelector.SelectTxForProposal for consistency.
  • #24090 (cli) Prune cmd should disable async pruning.
  • #19239 (x/auth) Sets from flag in multi-sign command to avoid no key name provided error.
  • #23741 (x/auth) Support legacy global AccountNumber for legacy compatibility.
  • #24526 (baseapp) Fix incorrect retention height when commitHeight equals minRetainBlocks.
  • #24594 (x/protocolpool) Fix NPE when initializing module via depinject.
  • #24610 (x/epochs) Fix semantics of CurrentEpochStartHeight being set before epoch has started.