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, fortypes.Coin. This method is used to check if atypes.Coinis greater than anothertypes.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:
Commitdefault true,Lean,SimulateEveryOperation,PrintAllInvariants,DBBackendparams 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-timestampflag that allows users to specify a block time at which the unordered transactions should expire from the mempool. - #23815 (x/epochs) Upstream
x/epochsfrom Osmosis - #23811 (client) Add auto cli for node service.
- #24018 (genutil) Allow manually setting the consensus key type in genesis
- #18557 (client) Add
--qrcodeflag tokeys showcommand to support displaying key address QR code. - #24030 (x/auth) Allow usage of ed25519 keys for transaction signing.
- #24163 (baseapp) Add
StreamingManagerto 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-keynameinclient.tomlfor specifying a default key name, and skip the need to use the--fromflag 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/mintbegin blocker. - The
InflationCalculationFnargument tomint.NewAppModule()is now ignored and must be nil. To set a customInflationCalculationFnfor the default minter, usemintkeeper.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
ValidateDenomcalls inbank.SendCoinsandCoin. - The
AmountOf()method onsdk.Coinswill no longerpanicif 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 importand<appd> keys renameby checking name validation. - #18703 (client/keys) Improve
<appd> keys addand<appd> keys showby checking whether there are duplicate keys in the multisig case. - #18745 (client/keys) Improve
<appd> keys exportand<appd> keys mnemonicby adding —yes option to skip interactive confirmation. - #24106 (x/bank)
SendCoinsnow checks forSendRestrictionsbefore instead of after deducting coins usingsubUnlockedCoins. - #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
InputOutputCoinsbefore coin deduction. - #24336 (codec/types) Most types definitions were moved to
github.com/cosmos/gogoproto/types/anywith aliases to these left incodec/typesso that there should be no breakage to existing code. This allows protobuf generated code to optionally reference the SDK’s customAnytype without a direct dependency on the SDK. This can be done by changing theprotocMparameter forany.prototoMgoogle/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 aligning 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 to the binary name for both client and server.
- #24041 (client/keys)
keys deletewon’t terminate when a key is not found, but will log the error. - #24027 (baseapp) Ensure that
BaseApp.Initchecks that the commit multistore is set to protect against nil dereferences. - GHSA-47ww-ff84-4jrg (x/group) Fix x/group halting when erroring in EndBlocker
- #23934 (x/distribution) Fix vulnerability in
incrementReferenceCountin 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
unorderedfield for legacy amino signing of tx body. - #23836 (x/bank) Fix
DenomMetadataRPC to allow values 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 querying 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
commitHeightequalsminRetainBlocks. - #24594 (x/protocolpool) Fix NPE when initializing module via depinject.
- #24610 (x/epochs) Fix semantics of
CurrentEpochStartHeightbeing set before epoch has started.