The v0.40.0-rc1 release contains the following updates since RC0:
Client Breaking Changes
- Modules
- (x/staking) #7499
BondStatus
is now a protobufenum
instead of anint32
, and JSON serialized using its protobuf name, so expect names likeBOND_STATUS_UNBONDING
as opposed toUnbonding
. - (x/staking) #7556 The ABCI's
Result.Data
field forMsgBeginRedelegate
andMsgUndelegate
responses does not contain custom binary marshaledcompletionTime
, but the protobuf encodedMsgBeginRedelegateResponse
andMsgUndelegateResponse
structs respectively - (x/evidence) #7538 The ABCI's
Result.Data
field forMsgSubmitEvidence
responses does not contain the raw evidence's hash, but the protobuf encodedMsgSubmitEvidenceResponse
struct. - (x/gov) #7533 The ABCI's
Result.Data
field forMsgSubmitProposal
responses does not contain a raw binary encoding of theproposalID
, but the protobuf encodedMsgSubmitSubmitProposalResponse
struct.
- (x/staking) #7499
API Breaking
- (AppModule) #7518 #7584 Rename
AppModule.RegisterQueryServices
toAppModule.RegisterServices
, as this method now registers multiple services (the gRPC query service and the protobuf Msg service). AConfigurator
struct is used to hold the different services.
Features
- (modules) #7540 Protobuf service definitions can now be used for packing
Msg
s in transactions as defined in ADR 031. All modules now define aMsg
protobuf service. - (codec) #7519
InterfaceRegistry
now inheritsjsonpb.AnyResolver
, and has aRegisterCustomTypeURL
method to support ADR 031 packing ofAny
s.AnyResolver
is now a required parameter toRejectUnknownFields
. - (baseapp) #7519 Add
ServiceMsgRouter
to BaseApp to handle routing of protobuf serviceMsg
s. The two new types defined in ADR 031,sdk.ServiceMsg
andsdk.MsgRequest
are introduced with this router. - (cli) #7221 Add the option of emitting amino encoded json from the CLI
Bug Fixes
- (kvstore) #7415 Allow new stores to be registered during on-chain upgrades.