Skip to content
Cosmopediaby Unity Nodes
ReleasesSDKv0.40.0-rc5GitHub ↗

v0.40.0-rc5

cosmos/cosmos-sdkv0.40.0-rc515-12-2020prerelease

Changelog entries since `v0.40.0-rc4`:

Improvements

• (auth/tx) Add new auth/tx gRPC & gRPC-Gateway endpoints for basic querying & broadcasting support • #7842 Add TxsByEvent gRPC endpoint

• #7852 Add tx broadcast gRPC endpoint

• (client/keys) #8043 Add support for export of unarmored private key

• (client/tx) #7801 Update sign-batch multisig to work online

• (crypto) #7987 Fix the inconsistency of CryptoCdc, only use

`codec/legacy.Cdc`.

• (logging) #8072 Refactor logging: • Use zerolog over Tendermint's go-kit logging wrapper.

• Introduce Tendermint's `--log_format=plain|json` flag. Using format `json` allows for emitting structured JSON

logs which can be consumed by an external logging facility (e.g. Loggly). Both formats log to STDERR.

• The existing `--log_level` flag and it's default value now solely relates to the global logging

level (e.g. `info`, `debug`, etc...) instead of `<module>:<level>`.

• (SDK) #7925 Updated dependencies • Updated gRPC dependency to v1.33.2

• Updated iavl dependency to v0.15-rc5

• Updated tendermint dependency to v0.34.0

• (version) #7848 #7941

`version --long` output now shows the list of build dependencies and replaced build dependencies.

• (x/genutil) #8099 `init` now supports a `--recover` flag to recover

the private validator key from a given mnemonic

Client Breaking

• (crypto) #7419 The SDK doesn't use Tendermint's `crypto.PubKey`

interface anymore, and uses instead it's own `PubKey` interface, defined in `crypto/types`. Replace all instances of

`crypto.PubKey` by `cryptotypes.Pubkey`.

• (x/staking) #7419 The `TmConsPubKey` method on ValidatorI has been

removed and replaced instead by `ConsPubKey` (which returns a SDK `cryptotypes.PubKey`) and `TmConsPublicKey` (which

returns a Tendermint proto PublicKey).

State Machine Breaking Changes

• (x/staking) #7979 keeper pubkey storage serialization migration

from bech32 to protobuf.

Features

• (codec/types) #8106 Adding `NewAnyWithCustomTypeURL` to correctly

marshal Messages in TxBuilder.

API Breaking

• #8080 Updated the `codec.Marshaler` interface • Moved `MarshalAny` and `UnmarshalAny` helper functions to `codec.Marshaler` and renamed to `MarshalInterface` and

`UnmarshalInterface` respectively. These functions must take interface as a parameter (not a concrete type nor `Any`

object). Underneath they use `Any` wrapping for correct protobuf serialization.

• (client) #8107 Renamed `PrintOutput` and `PrintOutputLegacy`

methods of the `context.Client` object to `PrintProto` and `PrintObjectLegacy`.

• (grpc/tmservice) #8060 TmService gRPC service's validator pubkey

type changed from bech32 format to `Any`

• (x/auth/tx) #8106 change related to missing append functionality in

client transaction signing • added `overwriteSig` argument to `x/auth/client.SignTx` and `client/tx.Sign` functions.

• removed `x/auth/tx.go:wrapper.GetSignatures`. The `wrapper` provides `TxBuilder` functionality, and it's a private

structure. That function was not used at all and it's not exposed through the `TxBuilder` interface.

Bug Fixes

• (crypto) #7966 `Bip44Params` `String()` function now correctly

returns the absolute HD path by adding the `m/` prefix.

• (crypto/keys) #7838 Add support for TM secp256k1 keys back to the

SDK for consensus pubkeys

• (x/auth/client/cli) #8106 fixing regression bugs in transaction signing.

← Back to Releases