Skip to content

Releases: cosmos/cosmos-sdk

v0.38.3

09 Apr 15:19
bad4ca7

Choose a tag to compare

Improvements

  • (tendermint) Bump Tendermint version to v0.33.3.

v0.37.9

09 Apr 14:17
469463a

Choose a tag to compare

Improvements

  • (tendermint) Bump Tendermint version to v0.32.10.

v0.38.2

25 Mar 18:39

Choose a tag to compare

Bug Fixes

  • (baseapp) #5718 Remove call to ctx.BlockGasMeter during failed message validation which resulted in a panic when the tx execution mode was CheckTx.
  • (x/genutil) #5775 Fix ExportGenesis in x/genutil to export default genesis state ([]) instead of null.
  • (client) #5618 Fix crash on the client when the verifier is not set.
  • (crypto/keys/mintkey) #5823 fix errors handling in UnarmorPubKeyBytes (underlying armoring function's return error was not being checked).
  • (x/distribution) #5620 Fix nil pointer deref in distribution tax/rewward validation helpers.

Improvements

  • (rest) #5648 Enhance /txs usability:
    • Add tx.minheight key to filter transaction with an inclusive minimum block height
    • Add tx.maxheight key to filter transaction with an inclusive maximum block height
  • (crypto/keys) #5739 Print an error message if the password input failed.

v0.37.8

11 Mar 14:05

Choose a tag to compare

Bug Fixes

  • (rest) #5508 Fix x/distribution endpoints to properly return height in the response.
  • (x/genutil) #5499 Ensure DefaultGenesis returns valid and non-nil default genesis state.
  • (x/genutil) #5775 Fix ExportGenesis in x/genutil to export default genesis state ([]) instead of null.
  • (genesis) #5086 Ensure gentxs are always an empty array instead of nil.

Improvements

  • (rest) #5648 Enhance /txs usability:
    • Add tx.minheight key to filter transaction with an inclusive minimum block height
    • Add tx.maxheight key to filter transaction with an inclusive maximum block height

v0.38.1

11 Feb 13:48

Choose a tag to compare

Improvements

  • (modules) #5597 Add amount event attribute to the complete_unbonding and complete_redelegation events that reflect the total balances of the completed unbondings and redelegations respectively.

Bug Fixes

  • (types) #5579 The IAVL Store#Commit method has been refactored to delete a flushed version if it is not a snapshot version. The root multi-store now keeps track of commitInfo instead of types.CommitID. During Commit of the root multi-store, lastCommitInfo is updated from the saved state and is only flushed to disk if it is a snapshot version. During Query of the root multi-store, if the request height is the latest height, we'll use the store's lastCommitInfo. Otherwise, we fetch commitInfo from disk.
  • (x/bank) #5531 Added missing amount event to MsgMultiSend, emitted for each output.
  • (x/gov) #5622 Track any events emitted from a proposal's handler upon successful execution.

v0.37.7

10 Feb 15:54

Choose a tag to compare

Improvements

  • (modules) #5597 Add amount event attribute to the complete_unbonding and complete_redelegation events that reflect the total balances of the completed unbondings and redelegations respectively.

Bug Fixes

  • (x/gov) #5622 Track any events emitted from a proposal's handler upon successful execution.
  • (x/bank) #5531 Added missing amount event to MsgMultiSend, emitted for each output.

v0.38.0

23 Jan 18:50

Choose a tag to compare

Release Notes

State Machine Breaking

  • (genesis) #5506 The x/distribution genesis state
    now includes params instead of individual parameters.
  • (genesis) #5017 The x/genaccounts module has been
    deprecated and all components removed except the legacy/ package. This requires changes to the
    genesis state. Namely, accounts now exist under app_state.auth.accounts. The corresponding migration
    logic has been implemented for v0.38 target version. Applications can migrate via:
    $ {appd} migrate v0.38 genesis.json.
  • (modules) #5299 Handling of ABCIEvidenceTypeDuplicateVote
    during BeginBlock along with the corresponding parameters (MaxEvidenceAge) have moved from the
    x/slashing module to the x/evidence module.

API Breaking Changes

  • (modules) #5506 Remove individual setters of x/distribution parameters. Instead, follow the module spec in getting parameters, setting new value(s) and finally calling SetParams.
  • (types) #5495 Remove redundant (Must)Bech32ify* and (Must)Get*KeyBech32 functions in favor of (Must)Bech32ifyPubKey and (Must)GetPubKeyFromBech32 respectively, both of which take a Bech32PubKeyType (string).
  • (types) #5430 DecCoins#Add parameter changed from DecCoins
    to ...DecCoin, Coins#Add parameter changed from Coins to ...Coin.
  • (baseapp/types) #5421 The Error interface (types/errors.go)
    has been removed in favor of the concrete type defined in types/errors/ which implements the standard error interface.
    • As a result, the Handler and Querier implementations now return a standard error.
      Within BaseApp, runTx now returns a (GasInfo, *Result, error) tuple and runMsgs returns a
      (*Result, error) tuple. A reference to a Result is now used to indicate success whereas an error
      signals an invalid message or failed message execution. As a result, the fields Code, Codespace,
      GasWanted, and GasUsed have been removed the Result type. The latter two fields are now found
      in the GasInfo type which is always returned regardless of execution outcome.
    • Note to developers: Since all handlers and queriers must now return a standard error, the types/errors/
      package contains all the relevant and pre-registered errors that you typically work with. A typical
      error returned will look like sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "..."). You can retrieve
      relevant ABCI information from the error via ABCIInfo.
  • (client) #5442 Remove client/alias.go as it's not necessary and
    components can be imported directly from the packages.
  • (store) #4748 The CommitMultiStore interface
    now requires a SetInterBlockCache method. Applications that do not wish to support this can simply
    have this method perform a no-op.
  • (modules) #4665 Refactored x/gov module structure and dev-UX:
    • Prepare for module spec integration
    • Update gov keys to use big endian encoding instead of little endian
  • (modules) #5017 The x/genaccounts module has been deprecated and all components removed except the legacy/ package.
  • #4486 Vesting account types decoupled from the x/auth module and now live under x/auth/vesting. Applications wishing to use vesting account types must be sure to register types via RegisterCodec under the new vesting package.
  • #4486 The NewBaseVestingAccount constructor returns an error
    if the provided arguments are invalid.
  • (x/auth) #5006 Modular AnteHandler via composable decorators:
    • The AnteHandler interface now returns (newCtx Context, err error) instead of (newCtx Context, result sdk.Result, abort bool)
    • The NewAnteHandler function returns an AnteHandler function that returns the new AnteHandler
      interface and has been moved into the auth/ante directory.
    • ValidateSigCount, ValidateMemo, ProcessPubKey, EnsureSufficientMempoolFee, and GetSignBytes
      have all been removed as public functions.
    • Invalid Signatures may return InvalidPubKey instead of Unauthorized error, since the transaction
      will first hit SetPubKeyDecorator before the SigVerificationDecorator runs.
    • StdTx#GetSignatures will return an array of just signature byte slices [][]byte instead of
      returning an array of StdSignature structs. To replicate the old behavior, use the public field
      StdTx.Signatures to get back the array of StdSignatures []StdSignature.
  • (modules) #5299 HandleDoubleSign along with params MaxEvidenceAge and DoubleSignJailEndTime have moved from the x/slashing module to the x/evidence module.
  • (keys) #4941 Keybase concrete types constructors such as NewKeyBaseFromDir and NewInMemory now accept optional parameters of type KeybaseOption. These
    optional parameters are also added on the keys sub-commands functions, which are now public, and allows
    these options to be set on the commands or ignored to default to previous behavior.
  • #5547 NewKeyBaseFromHomeFlag constructor has been removed.
  • #5439 Further modularization was done to the keybase
    package to make it more suitable for use with different key formats and algorithms:
    • The WithKeygenFunc function added as a KeybaseOption which allows a custom bytes to key
      implementation to be defined when keys are created.
    • The WithDeriveFunc function added as a KeybaseOption allows custom logic for deriving a key
      from a mnemonic, bip39 password, and HD Path.
    • BIP44 is no longer build into keybase.CreateAccount(). It is however the default when using
      the client/keys add command.
    • SupportedAlgos and SupportedAlgosLedger functions return a slice of SigningAlgos that are
      supported by the keybase and the ledger integration respectively.
  • (simapp) #5419 The helpers.GenTx() now accepts a gas argument.
  • (baseapp) #5455 A sdk.Context is now passed into the router.Route() function.

Client Breaking Changes

  • (rest) #5270 All account types now implement custom JSON serialization.
  • (rest) #4783 The balance field in the DelegationResponse type is now sdk.Coin instead of sdk.Int
  • (x/auth) #5006 The gas required to pass the AnteHandler has
    increased significantly due to modular AnteHandler support. Increase GasLimit accordingly.
  • (rest) #5336 MsgEditValidator uses description instead of Description as a JSON key.
  • (keys) #5097 Due to the keybase -> keyring transition, keys need to be migrated. See keys migrate command for more info.
  • (x/auth) #5424 Drop decode-tx command from x/auth/client/cli, duplicate of the decode command.

Features

  • (store) #5435 New iterator for paginated requests. Iterator limits DB reads to the range of the requested page.
  • (x/evidence) #5240 Initial implementation of the x/evidence module.
  • (cli) #5212 The q gov proposals command now supports pagination.
  • (store) #4724 Multistore supports substore migrations upon load. New rootmulti.Store.LoadLatestVersionAndUpgrade method in
    Baseapp supports StoreLoader to enable various upgrade strategies. It no
    longer panics if the store to load contains substores that we didn't explicitly mount.
  • #4972 A TxResponse with a corresponding code
    and tx hash will be returned for specific Tendermint errors:
    • CodeTxInMempoolCache
    • CodeMempoolIsFull
    • CodeTxTooLarge
  • #3872 Implement a RESTful endpoint and cli command to decode transactions.
  • (keys) #4754 Introduce new Keybase implementation that can
    leverage operating systems' built-in functionalities to securely store secrets. MacOS users may encounter
    the following issue with the go-keychain library. If
    you encounter this issue, you must upgrade your xcode command line tools to version >= 10.2. You can
    upgrade via: sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install. Verify the
    correct version via: pkgutil --pkg-info=com.apple.pkg.CLTools_Executables.
  • #5355 Client commands accept a new --keyring-backend option through which users can specify which backend should be used
    by the new key store:
    • ...
Read more

v0.37.6

21 Jan 15:33
260ac62

Choose a tag to compare

Improvements

  • (tendermint) Bump Tendermint version to v0.32.9

v0.37.5

07 Jan 15:42

Choose a tag to compare

Features

  • (types) #5360 Implement SortableDecBytes which
    allows the Dec type to be sortable.

Improvements

  • (tendermint) Bump Tendermint version to v0.32.8.
  • (cli) #5482 Remove old "tags" nomenclature from the q txs command in favor of the new events system. Functionality remains unchanged except that = is used instead of : to be consistent with the API's use of event queries.

Bug Fixes

  • (iavl) #5276 Fix potential race condition in iavlIterator#Close.
  • (baseapp) #5350 Allow a node to restart successfully after a halt-height or halt-time has been triggered.
  • (types) #5395 Fix Uint#LTE.
  • (types) #5408 NewDecCoins constructor now sorts the coins.

v0.37.4

04 Nov 18:19

Choose a tag to compare

Note:

Improvements

  • (tendermint) Bump Tendermint version to v0.32.7
  • (ledger) #4716 Fix ledger custom coin type support bug.

Bug Fixes

  • (baseapp) #5200 Remove duplicate events from previous messages.