Skip to content

Latest commit

 

History

History
254 lines (220 loc) · 26.1 KB

CHANGELOG.md

File metadata and controls

254 lines (220 loc) · 26.1 KB

Changelog

[Unreleased]

Improvements

  • 13882 Add tx encode and decode endpoints to amino tx service.

    Note: These endpoints encodes and decodes only amino txs.

API Breaking Changes

  • (x/auth)#13780 Querying with id (type of int64) in AccountAddressByID grpc query now throws error, use account-id(type of uint64) instead.

State Machine Breaking

  • (x/group) #14071 Don't re-tally proposal after voting period end if they have been marked as ACCEPTED or REJECTED.
  • (x/group) #13742 Migrate group policy account from module accounts to base account.
  • (x/auth)#13780 id (type of int64) in AccountAddressByID grpc query is now deprecated, update to account-id(type of uint64) to use AccountAddressByID.

Bug Fixes

  • (x/staking) #14064 Set all fields in redelegation.String().
  • (x/upgrade) #13936 Make downgrade verification work again.
  • (x/group) #13742 Fix validate-genesis when group policy accounts exist.
  • (baseapp) #14049 Fix state sync when interval is zero.

v0.47.0-alpha1 - 2022-11-21

Features

  • (x/evidence) #13740 Add new proto field hash of type string to QueryEvidenceRequest which helps to decode the hash properly while using query API.
  • (core) #13306 Add a FormatCoins function to in core/coins to format sdk Coins following the Value Renderers spec.
  • (math) #13306 Add FormatInt and FormatDec functiosn in math to format integers and decimals following the Value Renderers spec.
  • (x/staking) #13122 Add UnbondingCanComplete and PutUnbondingOnHold to x/staking module.
  • #13437 Add new flag --modules-to-export in simd export command to export only selected modules.
  • #13298 Add AddGenesisAccount helper func in x/auth module which helps adding accounts to genesis state.
  • (x/authz) #12648 Add an allow list, an optional list of addresses allowed to receive bank assets via authz MsgSend grant.
  • (sdk.Coins) #12627 Make a Denoms method on sdk.Coins.
  • (testutil) #12973 Add generic testutil.RandSliceElem function which selects a random element from the list.
  • (client) #12936 Add capability to preprocess transactions before broadcasting from a higher level chain.
  • (cli) #13064 Add debug prefixes to list supported HRP prefixes via .
  • (ledger) #12935 Generalize Ledger integration to allow for different apps or keytypes that use SECP256k1.
  • (x/bank) #11981 Create the SetSendEnabled endpoint for managing the bank's SendEnabled settings.
  • (x/auth) #13210 Add Query/AccountInfo endpoint for simplified access to basic account info.
  • (x/consensus) #12905 Create a new x/consensus module that is now responsible for maintaining Tendermint consensus parameters instead of x/param. Legacy types remain in order to facilitate parameter migration from the deprecated x/params. App developers should ensure that they execute baseapp.MigrateParams during their chain upgrade. These legacy types will be removed in a future release.
  • (client/tx) #13670 Add validation in BuildUnsignedTx to prevent simple inclusion of valid mnemonics

Improvements

  • (config) #13894 Support state streaming configuration in app.toml template and default configuration.
  • (x/nft) #13836 Remove the validation for classID and nftID from the NFT module.
  • #13789 Add tx encode and decode endpoints to tx service.

    Note: These endpoints will only encode and decode proto messages, Amino encoding and decoding is not supported.

  • #13619 Add new function called LogDeferred to report errors in defers. Use the function in x/bank files.
  • (tools) #13603 Rename cosmovisor package name to cosmossdk.io/tools/cosmovisor. The new tool directory contains Cosmos SDK tools.
  • (deps) #13397 Bump Go version minimum requirement to 1.19.
  • #13070 Migrate from gogo/protobuf to cosmos/gogoproto.
  • #12995 Add FormatTime and ParseTimeString methods.
  • #12952 Replace keyring module to Cosmos fork.
  • #12352 Move the RegisterSwaggerAPI logic into a separate helper function in the server package.
  • #12876 Remove proposer-based rewards.
  • #12892 make format now runs only gofumpt and golangci-lint run ./... --fix, replacing goimports gofmt and misspell
  • #12846 Remove RandomizedParams from the AppModuleSimulation interface which is no longer needed.
  • (ci) #12854 Use ghcr.io to host the proto builder image. Update proto builder image to go 1.19
  • (x/bank) #12706 Added the chain-id flag to the AddTxFlagsToCmd API. There is no longer a need to explicitly register this flag on commands whens AddTxFlagsToCmd is already called.
  • #12791 Bump the math library used in the sdk and replace old usages of sdk.*
  • #12717 Use injected encoding params in simapp.
  • #12702 Linting and tidiness, fixed two minor security warnings.
  • #12634 Move sdk.Dec to math package.
  • #12596 Remove all imports of the non-existent gogo/protobuf v1.3.3 to ease downstream use and go workspaces.
  • #12187 Add batch operation for x/nft module.
  • #12455 Show attempts count in error for signing.
  • #13101 Remove weights from simapp/params and testutil/sims. They are now in their respective modules.
  • #12398 Refactor all x modules to unit-test via mocks and decouple simapp.
  • #13144 Add validator distribution info grpc gateway get endpoint.
  • #13168 Migrate tendermintdev/proto-builder to ghcr.io. New image ghcr.io/cosmos/proto-builder:0.8
  • #13178 Add cosmos.msg.v1.service protobuf annotation to allow tooling to distinguish between Msg and Query services via reflection.
  • #13236 Integrate Filter Logging
  • #13528 Update ValidateMemoDecorator to only check memo against MaxMemoCharacters param when a memo is present.
  • #13651 Update server/config/config.GetConfig function.
  • #13781 Remove client/keys.KeysCdc.
  • #13802 Add --output-document flag to the export CLI command to allow writing genesis state to a file.
  • #13794 types/module.Manager now supports the cosmossdk.io/core/appmodule.AppModule API via the new NewManagerFromMap constructor.

State Machine Breaking

  • (codec) #13307 Register all modules' Msgs with group's ModuleCdc so that Amino sign bytes are correctly generated.
  • (codec) #13196 Register all modules' Msgs with gov's ModuleCdc so that Amino sign bytes are correctly generated.
  • (group) #13592 Fix group types registration with Amino.
  • (x/distribution) #12852 Deprecate CommunityPoolSpendProposal. Please execute a MsgCommunityPoolSpend message via the new v1 x/gov module instead. This message can be used to directly fund the x/gov module account.
  • (x/bank) #12610 MsgMultiSend now allows only a single input.
  • (x/bank) #12630 Migrate x/bank to self-managed parameters and deprecate its usage of x/params.
  • (x/auth) #12475 Migrate x/auth to self-managed parameters and deprecate its usage of x/params.
  • (x/slashing) #12399 Migrate x/slashing to self-managed parameters and deprecate its usage of x/params.
  • (x/mint) #12363 Migrate x/mint to self-managed parameters and deprecate it's usage of x/params.
  • (x/distribution) #12434 Migrate x/distribution to self-managed parameters and deprecate it's usage of x/params.
  • (x/crisis) #12445 Migrate x/crisis to self-managed parameters and deprecate it's usage of x/params.
  • (x/gov) #12631 Migrate x/gov to self-managed parameters and deprecate it's usage of x/params.
  • (x/staking) #12409 Migrate x/staking to self-managed parameters and deprecate it's usage of x/params.
  • (x/bank) #11859 Move the SendEnabled information out of the Params and into the state store directly.
  • (x/gov) #12771 Initial deposit requirement for proposals at submission time.
  • (x/staking) #12967 unbond now creates only one unbonding delegation entry when multiple unbondings exist at a single height (e.g. through multiple messages in a transaction).
  • (x/auth/vesting) #13502 Add Amino Msg registration for MsgCreatePeriodicVestingAccount.

API Breaking Changes

  • (x/auth) #13877 Rename AccountKeeper's GetNextAccountNumber to NextAccountNumber.
  • (x/evidence) #13740 The NewQueryEvidenceRequest function now takes hash as a HEX encoded string.
  • (server) #13485 The Application service now requires the RegisterNodeService method to be implemented.
  • (x/slashing, x/staking) #13122 Add the infraction a validator commited type as an argument to the Slash keeper method.
  • #13437 Add a list of modules to export argument in ExportAppStateAndValidators.
  • (x/slashing) #13427 Move x/slashing/testslashing to x/slashing/testutil for consistency with other modules.
  • (x/staking) #13427 Move x/staking/teststaking to x/staking/testutil for consistency with other modules.
  • (simapp) #13402 Move simulation flags to x/simulation/client/cli.
  • (simapp) #13402 Move simulation helpers functions (SetupSimulation, SimulationOperations, CheckExportSimulation, PrintStats, GetSimulationLog) to testutil/sims.
  • (simapp) #13402 Move testutil/rest package to testutil.
  • (types) #13380 Remove deprecated sdk.NewLevelDB.
  • (simapp) #13378 Move simapp.App to runtime.AppI.
  • (tx) #12659 Remove broadcast mode block.
  • (db) #13370 remove storev2alpha1, see also #13371
  • (x/bank) #12706 Removed the testutil package from the x/bank/client package.
  • (simapp) #12747 Remove simapp.MakeTestEncodingConfig. Please use moduletestutil.MakeTestEncodingConfig (types/module/testutil) in tests instead.
  • (x/bank) #12648 NewSendAuthorization takes a new argument of an optional list of addresses allowed to receive bank assests via authz MsgSend grant. You can pass nil for the same behavior as before, i.e. any recipient is allowed.
  • (x/bank) #12593 Add SpendableCoin method to BaseViewKeeper
  • (x/slashing) #12581 Remove x/slashing legacy querier.
  • (types) #12355 Remove the compile-time types.DBbackend variable. Removes usage of the same in server/util.go
  • (x/gov) #12368 Gov keeper is now passed by reference instead of copy to make post-construction mutation of Hooks and Proposal Handlers possible at a framework level.
  • (simapp) #12270 Remove invCheckPeriod uint attribute from SimApp struct as per migration of x/crisis to app wiring
  • (simapp) #12334 Move simapp.ConvertAddrsToValAddrs and simapp.CreateTestPubKeys to respectively simtestutil.ConvertAddrsToValAddrs and simtestutil.CreateTestPubKeys (testutil/sims)
  • (simapp) #12312 Move simapp.EmptyAppOptions to simtestutil.EmptyAppOptions (testutil/sims)
  • (simapp) #12312 Remove skipUpgradeHeights map[int64]bool and homePath string from NewSimApp constructor as per migration of x/upgrade to app-wiring.
  • (testutil) #12278 Move all functions from simapp/helpers to testutil/sims
  • (testutil) #12233 Move simapp.TestAddr to simtestutil.TestAddr (testutil/sims)
  • (x/staking) #12102 Staking keeper now is passed by reference instead of copy. Keeper's SetHooks no longer returns keeper. It updates the keeper in place instead.
  • (linting) #12141 Fix usability related linting for database. This means removing the infix Prefix from prefix.NewPrefixWriter and such so that it is prefix.NewWriter and making db.DBConnection and such into db.Connection
  • (x/distribution) #12434 x/distribution module SetParams keeper method definition is now updated to return error.
  • (x/staking) #12409 x/staking module SetParams keeper method definition is now updated to return error.
  • (x/crisis) #12445 x/crisis module SetConstantFee keeper method definition is now updated to return error.
  • (x/gov) #12631 x/gov module refactored to use Params as single struct instead of DepositParams, TallyParams & VotingParams.
  • (x/gov) #12631 Migrate x/gov to self-managed parameters and deprecate it's usage of x/params.
  • (x/bank) #12630 x/bank module SetParams keeper method definition is now updated to return error.
  • (x/bank) #11859 Move the SendEnabled information out of the Params and into the state store directly. The information can now be accessed using the BankKeeper. Setting can be done using MsgSetSendEnabled as a governance proposal. A SendEnabled query has been added to both GRPC and CLI.
  • (appModule) Remove Route, QuerierRoute and LegacyQuerierHandler from AppModule Interface.
  • (x/modules) Remove all LegacyQueries and related code from modules
  • (store) #11825 Make extension snapshotter interface safer to use, renamed the util function WriteExtensionItem to WriteExtensionPayload.
  • (x/genutil)#12956 genutil.AppModuleBasic has a new attribute: genesis transaction validation function. The existing validation logic is implemented in genutiltypes.DefaultMessageValidator. Use genutil.NewAppModuleBasic to create a new genutil Module Basic.
  • (codec) #12964 ProtoCodec.MarshalInterface now returns an error when serializing unregistered types and a subsequent ProtoCodec.UnmarshalInterface would fail.
  • (x/staking) #12973 Removed stakingkeeper.RandomValidator. Use testutil.RandSliceElem(r, sk.GetAllValidators(ctx)) instead.
  • (x/gov) #13160 Remove custom marshaling of proposl and voteoption.
  • (types) #13430 Remove unused code ResponseCheckTx and ResponseDeliverTx
  • (store) #13529 Add method LatestVersion to MultiStore interface, add method SetQueryMultiStore to baesapp to support alternative MultiStore implementation for query service.
  • (pruning) #13609 Move pruning package to be under store package
  • #13794 Most methods on types/module.AppModule have been moved to extension interfaces. module.Manager.Modules is now of type map[string]interface{} to support in parallel the new cosmossdk.io/core/appmodule.AppModule API. <<<<<<< HEAD =======
  • (signing) #13701 Add context.Context as an argument x/auth/signing.VerifySignature.
  • (x/group) #13876 Add GetMinExecutionPeriod method on DecisionPolicy interface.
  • (x/auth)#13780 Querying with id (type of int64) in AccountAddressByID grpc query now throws error, use account-id(type of uint64) instead.
  • (snapshots) 14048 Move the Snapshot package to the store package. This is done in an effort group all storage related logic under one package.
  • (baseapp) #14050 refactor ABCIListener interface to accept go contexts
  • (store) #13516 Update State Streaming APIs:
    • Add method ListenCommit to ABCIListener
    • Move ListeningEnabled and AddListener methods to CommitMultiStore
    • Remove CacheWrapWithListeners from CacheWrap and CacheWrapper interfaces
    • Remove listening APIs from the caching layer (it should only listen to the rootmulti.Store)
    • Add three new options to file streaming service constructor.
    • Modify ABCIListener such that any error from any method will always halt the app via panic

1f91ee2ee (fix: state listener observe writes at wrong time (#13516))

CLI Breaking Changes

  • (x/genutil) #13535 Replace in simd init, the --staking-bond-denom flag with --default-denom which is used for all default denomination in the genesis, instead of only staking.
  • (tx) #12659 Remove broadcast mode block.

Bug Fixes

  • (x/auth) #13838 Fix calling String() and MarshalYAML panics when pubkey is set on a BaseAccount.
  • (rosetta) #13583 Misc fixes for cosmos-rosetta.
  • (x/evidence) #13740 Fix evidence query API to decode the hash properly.
  • (bank) #13691 Fix unhandled error for vesting account transfers, when total vesting amount exceeds total balance.
  • #13553 Ensure all parameter validation for decimal types handles nil decimal values.
  • #13145 Fix panic when calling String() to a Record struct type.
  • #13116 Fix a dead-lock in the Group-TotalWeight x/group invariant.
  • (genutil) #12140 Fix staking's genesis JSON migrate in the simd migrate v0.46 CLI command.
  • (types) #12154 Add baseAccountGetter to avoid invalid account error when create vesting account.
  • (x/authz) #12184 Fix MsgExec not verifying the validity of nested messages.
  • (x/staking) #12303 Use bytes instead of string comparison in delete validator queue
  • (store/rootmulti) #12487 Fix non-deterministic map iteration.
  • (sdk/dec_coins) #12903 Fix nil DecCoin creation when converting Coins to DecCoins
  • (store) #12945 Fix nil end semantics in store/cachekv/iterator when iterating a dirty cache.
  • (x/gov) #13051 In SubmitPropsal, when a legacy msg fails it's handler call, wrap the error as ErrInvalidProposalContent (instead of ErrNoProposalHandlerExists).
  • (x/gov) #13045 Fix gov migrations for v3(0.46).
  • (snapshot) #13400 Fix snapshot checksum issue in golang 1.19.
  • (server) #13778 Set Cosmos SDK default endpoints to localhost to avoid unknown exposure of endpoints.
  • (x/auth) #13877 Handle missing account numbers during InitGenesis.
  • (x/gov) #13918 Fix propagation of message errors when executing a proposal. <<<<<<< HEAD =======
  • (baseapp)#14049 Fix state sync when interval is zero.
  • (store) #13516 Fix state listener that was observing writes at wrong time.

1f91ee2ee (fix: state listener observe writes at wrong time (#13516))

Deprecated

  • (x/evidence) #13740 The evidence_hash field of QueryEvidenceRequest has been deprecated and now contains a new field hash with type string.
  • (x/bank) #11859 The Params.SendEnabled field is deprecated and unusable. The information can now be accessed using the BankKeeper. Setting can be done using MsgSetSendEnabled as a governance proposal. A SendEnabled query has been added to both GRPC and CLI.

Previous Versions

CHANGELOG of previous versions.