Features
- (abci_utils) #25008 add the ability to assign a custom signer extraction adapter in
DefaultProposalHandler
.
Bug Fixes
- GHSA-p22h-3m2v-cmgh Fix x/distribution can halt when historical rewards overflow.
Features
- (simsx) #24062 #24145 Add new simsx framework on top of simulations for better module dev experience.
- (baseapp) #24069 Create CheckTxHandler to allow extending the logic of CheckTx.
- (types) #24093 Added a new method,
IsGT
, fortypes.Coin
. This method is used to check if atypes.Coin
is greater than anothertypes.Coin
. - (client/keys) #24071 Add support for importing hex key using standard input.
- (types) #23780 Add a ValueCodec for the math.Uint type that can be used in collections maps.
- (perf)#24045 Sims: Replace runsim command with Go stdlib testing. CLI:
Commit
default true,Lean
,SimulateEveryOperation
,PrintAllInvariants
,DBBackend
params removed - (crypto/keyring) #24040 Expose the db keyring used in the keystore.
- (types) #23919 Add MustValAddressFromBech32 function.
- (all) #23708 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. - (x/epochs) #23815 Upstream
x/epochs
from Osmosis - (client) #23811 Add auto cli for node service.
- (genutil) #24018 Allow manually setting the consensus key type in genesis
- (client) #18557 Add
--qrcode
flag tokeys show
command to support displaying keys address QR code. - (x/auth) #24030 Allow usage of ed25519 keys for transaction signing.
- (baseapp) #24163 Add
StreamingManager
to baseapp to extend the abci listeners. - (x/protocolpool) #23933 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.
- (client) #18101 Add a
keyring-default-keyname
inclient.toml
for specifying a default key name, and skip the need to use the--from
flag when signing transactions. - (x/gov) #24355 Allow users to set a custom CalculateVoteResultsAndVotingPower function to be used in govkeeper.Tally.
- (x/mint) #24436 Allow users to set a custom minting function used in the
x/mint
begin blocker. - The
InflationCalculationFn
argument tomint.NewAppModule()
is now ignored and must be nil. To set a customInflationCalculationFn
on the default minter, usemintkeeper.WithMintFn(mintkeeper.DefaultMintFn(customInflationFn))
. - (api) #24428 Add block height to response headers
Improvements
- (client) #24561 TimeoutTimestamp flag has been changed to TimeoutDuration, which now sets the timeout timestamp of unordered transactions to the current time + duration passed.
- (telemetry) #24541 Telemetry now includes a pre_blocker metric key. x/upgrade should migrate to this key in v0.54.0.
- (x/auth) #24541 x/auth’s PreBlocker now emits telemetry under the pre_blocker metric key.
- (x/bank) #24431 Reduce the number of
ValidateDenom
calls inbank.SendCoins
andCoin
. - The
AmountOf()
method onsdk.Coins
no longer willpanic
if given an invalid denom and will instead return a zero value. - (x/staking) #24391 Replace panics with error results; more verbose error messages
- (x/staking) #24354 Optimize validator endblock by reducing bech32 conversions, resulting in significant performance improvement
- (client/keys) #18950 Improve
<appd> keys add
,<appd> keys import
and<appd> keys rename
by checking name validation. - (client/keys) #18703 Improve
<appd> keys add
and<appd> keys show
by checking whether there are duplicate keys in the multisig case. - (client/keys) #18745 Improve
<appd> keys export
and<appd> keys mnemonic
by adding —yes option to skip interactive confirmation. - (x/bank) #24106
SendCoins
now checks forSendRestrictions
before instead of after deducting coins usingsubUnlockedCoins
. - (crypto/ledger) #24036 Improve error message when deriving paths using index > 100
- (gRPC) #23844 Add debug log prints for each gRPC request.
- (gRPC) #24073 Adds error handling for out-of-gas panics in grpc query handlers.
- (server) #24072 Return BlockHeader by shallow copy in server Context.
- (x/bank) #24053 Resolve a foot-gun by swapping send restrictions check in
InputOutputCoins
before coin deduction. - (codec/types) #24336 Most types definitions were moved to
github.com/cosmos/gogoproto/types/any
with aliases to these left incodec/types
so that there should be no breakage to existing code. This allows protobuf generated code to optionally reference the SDK’s customAny
type without a direct dependency on the SDK. This can be done by changing theprotoc
M
parameter forany.proto
toMgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any
.
Bug Fixes
- (x/gov)#24460 Do not call Remove during Walk in defaultCalculateVoteResultsAndVotingPower.
- (baseapp) 24261 Fix post handler error always results in code 1
- (server) #24068 Allow align block header with skip check header in grpc server.
- (x/gov) #24044 Fix some places in which we call Remove inside a Walk (x/gov).
- (baseapp) #24042 Fixed a data race inside BaseApp.getContext, found by end-to-end (e2e) tests.
- (client/server) #24059 Consistently set viper prefix in client and server. It defaults for the binary name for both client and server.
- (client/keys) #24041
keys delete
won’t terminate when a key is not found, but will log the error. - (baseapp) #24027 Ensure that
BaseApp.Init
checks that the commit multistore is set to protect against nil dereferences. - (x/group) GHSA-47ww-ff84-4jrg Fix x/group can halt when erroring in EndBlocker
- (x/distribution) #23934 Fix vulnerability in
incrementReferenceCount
in distribution. - (baseapp) #23879 Ensure finalize block response is not empty in the defer check of FinalizeBlock to avoid panic by nil pointer.
- (query) #23883 Fix NPE in query pagination.
- (client) #23860 Add missing
unordered
field for legacy amino signing of tx body. - (x/bank) #23836 Fix
DenomMetadata
rpc allow value with slashes. - (query) 87d3a43 Fix collection filtered pagination.
- (sims) #23952 Use liveness matrix for validator sign status in sims
- (baseapp) #24055 Align block header when query with latest height.
- (baseapp) #24074 Use CometBFT’s ComputeProtoSizeForTxs in defaultTxSelector.SelectTxForProposal for consistency.
- (cli) #24090 Prune cmd should disable async pruning.
- (x/auth) #19239 Sets from flag in multi-sign command to avoid no key name provided error.
- (x/auth) #23741 Support legacy global AccountNumber for legacy compatibility.
- (baseapp) #24526 Fix incorrect retention height when
commitHeight
equalsminRetainBlocks
. - (x/protocolpool) #24594 Fix NPE when initializing module via depinject.
- (x/epochs) #24610 Fix semantics of
CurrentEpochStartHeight
being set before epoch has started.