v0.40.0-rc1
The v0.40.0-rc1 release contains the following updates since RC0:
Client Breaking Changes
• Modules • (x/staking) #7499 `BondStatus` is now a protobuf `enum` instead of an `int32`, and JSON serialized using its protobuf name, so expect names like `BOND_STATUS_UNBONDING` as opposed to `Unbonding`.
• (x/staking) #7556 The ABCI's `Result.Data` field for `MsgBeginRedelegate` and `MsgUndelegate` responses does not contain custom binary marshaled `completionTime`, but the protobuf encoded `MsgBeginRedelegateResponse` and `MsgUndelegateResponse` structs respectively
• (x/evidence) #7538 The ABCI's `Result.Data` field for `MsgSubmitEvidence` responses does not contain the raw evidence's hash, but the protobuf encoded `MsgSubmitEvidenceResponse` struct.
• (x/gov) #7533 The ABCI's `Result.Data` field for `MsgSubmitProposal` responses does not contain a raw binary encoding of the `proposalID`, but the protobuf encoded `MsgSubmitSubmitProposalResponse` struct.
API Breaking
• (AppModule) #7518 #7584 Rename `AppModule.RegisterQueryServices` to `AppModule.RegisterServices`, as this method now registers multiple services (the gRPC query service and the protobuf Msg service). A `Configurator` 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 a `Msg` protobuf service.
• (codec) #7519 `InterfaceRegistry` now inherits `jsonpb.AnyResolver`, and has a `RegisterCustomTypeURL` method to support ADR 031 packing of `Any`s. `AnyResolver` is now a required parameter to `RejectUnknownFields`.
• (baseapp) #7519 Add `ServiceMsgRouter` to BaseApp to handle routing of protobuf service `Msg`s. The two new types defined in ADR 031, `sdk.ServiceMsg` and `sdk.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.
Improvements
• (tendermint) #7527 Update sdk to tendermint 0.34-rc5
• (iavl) #7549 Update sdk to IAVL 0.15.0-rc4