Skip to content
Cosmopediaby Unity Nodes

v0.36.0

cosmos/cosmos-sdkv0.36.013-08-2019

⚠️ NOTE : It is not recommended to use this version due to a bug in sending funds to module accounts. For more information, see here . Please use v0.37.0 which includes the fix plus any non-breaking changes intended for v0.36.1.

Breaking Changes

• (rest) #4837 Remove /version and /node_version

endpoints in favor of refactoring /node_info to also include application version info.

• All REST responses now wrap the original resource/result. The response

will contain two fields: height and result.

• #3565 Updates to the governance module: • Rename JSON field from `proposal_content` to `content`

• Rename JSON field from `proposal_id` to `id`

• Disable `ProposalTypeSoftwareUpgrade` temporarily

• #3775 unify sender transaction tag for ease of querying

• #4255 Add supply module that passively tracks the supplies of a chain • Renamed `x/distribution` `ModuleName`

• Genesis JSON and CLI now use `distribution` instead of `distr`

• Introduce `ModuleAccount` type, which tracks the flow of coins held within a module

• Replaced `FeeCollectorKeeper` for a `ModuleAccount`

• Replaced the staking `Pool`, which coins are now held by the `BondedPool` and `NotBonded` module accounts

• The `NotBonded` module account now only keeps track of the not bonded tokens within staking, instead of the whole chain

• #3628 Replaced governance's burn and deposit accounts for a `ModuleAccount`

• Added a `ModuleAccount` for the distribution module

• Added a `ModuleAccount` for the mint module

#4472 validation for crisis genesis

• #3985 `ValidatorPowerRank` uses potential consensus power instead of tendermint power

• #4104 Gaia has been moved to its own repository: https://github.com/cosmos/gaia

• #4104 Rename gaiad.toml to app.toml. The internal contents of the application

config remain unchanged.

• #4159 create the default module patterns and module manager

• #4230 Change the type of ABCIMessageLog#MsgIndex to uint16 for proper serialization.

• #4250 BaseApp.Query() returns app's version string set via BaseApp.SetAppVersion()

when handling /app/version queries instead of the version string passed as build

flag at compile time.

• #4262 GoSumHash is no longer returned by the version command.

• #4263 RestServer#Start now takes read and write timeout arguments.

• #4305 `GenerateOrBroadcastMsgs` no longer takes an `offline` parameter.

• #4342 Upgrade go-amino to v0.15.0

• #4351 InitCmd, AddGenesisAccountCmd, and CollectGenTxsCmd take node's and client's default home directories as arguments.

• #4387 Refactor the usage of tags (now called events) to reflect the

new ABCI events semantics: • Move `x/{module}/tags/tags.go` => `x/{module}/types/events.go`

• Update `docs/specs`

• Refactor tags in favor of new `Event(s)` type(s)

• Update `Context` to use new `EventManager`

• (Begin|End)Blocker no longer return tags, but rather uses new `EventManager`

• Message handlers no longer return tags, but rather uses new `EventManager`

Any component (e.g. BeginBlocker, message handler, etc...) wishing to emit an event must do so

through `ctx.EventManger().EmitEvent(s)`.

To reset or wipe emitted events: `ctx = ctx.WithEventManager(sdk.NewEventManager())`

To get all emitted events: `events := ctx.EventManager().Events()`

• #4437 Replace governance module store keys to use `[]byte` instead of `string`.

• #4451 Improve modularization of clients and modules: • Module directory structure improved and standardized

• Aliases autogenerated

• Auth and bank related commands are now mounted under the respective moduels

• Client initialization and mounting standardized

• #4479 Remove codec argument redundency in client usage where

the CLIContext's codec should be used instead.

• #4488 Decouple client tx, REST, and ultil packages from auth. These packages have

been restructured and retrofitted into the `x/auth` module.

• #4521 Flatten x/bank structure by hiding module internals.

• #4525 Remove --cors flag, the feature is long gone.

• #4536 The `/auth/accounts/{address}` now returns a `height` in the response.

The account is now nested under `account`.

• #4543 Account getters are no longer part of client.CLIContext() and have now moved

to reside in the auth-specific AccountRetriever.

• #4588 Context does not depend on x/auth anymore. client/context is stripped out of the following features: • GetAccountDecoder()

• CLIContext.WithAccountDecoder()

• CLIContext.WithAccountStore()

x/auth.AccountDecoder is unnecessary and consequently removed.

• #4602 client/input.{Buffer,Override}Stdin() functions are removed. Thanks to cobra's new release they are now redundant.

• #4633 Update old Tx search by tags APIs to use new Events

nomenclature.

• #4649 Refactor x/crisis as per modules new specs.

• #3685 The default signature verification gas logic (`DefaultSigVerificationGasConsumer`) now specifies explicit key types rather than string pattern matching. This means that zones that depended on string matching to allow other keys will need to write a custom `SignatureVerificationGasConsumer` function.

• #4663 Refactor bank keeper by removing private functions • `InputOutputCoins`, `SetCoins`, `SubtractCoins` and `AddCoins` are now part of the `SendKeeper` instead of the `Keeper` interface

• (tendermint) #4721 Upgrade Tendermint to v0.32.1

Features

• #4843 Add RegisterEvidences function in the codec package to register

Tendermint evidence types with a given codec.

• (rest) #3867 Allow querying for genesis transaction when height query param is set to zero.

• #2020 New keys export/import command line utilities to export/import private keys in ASCII format

that rely on Keybase's new underlying ExportPrivKey()/ImportPrivKey() API calls.

• #3565 Implement parameter change proposal support.

Parameter change proposals can be submitted through the CLI

or a REST endpoint. See docs for further usage.

• #3850 Add `rewards` and `commission` to distribution tx tags.

• #3981 Add support to gracefully halt a node at a given height

via the node's `halt-height` config or CLI value.

• #4144 Allow for configurable BIP44 HD path and coin type.

• #4250 New BaseApp.{,Set}AppVersion() methods to get/set app's version string.

• #4263 Add `--read-timeout` and `--write-timeout` args to the `rest-server` command

to support custom RPC R/W timeouts.

• #4271 Implement Coins#IsAnyGT

• #4318 Support height queries. Queries against nodes that have the queried

height pruned will return an error.

• #4409 Implement a command that migrates exported state from one version to the next.

The `migrate` command currently supports migrating from v0.34 to v0.36 by implementing

necessary types for both versions.

• #4570 Move /bank/balances/{address} REST handler to x/bank/client/rest. The exposed interface is unchanged.

• Community pool spend proposal per Cosmos Hub governance proposal #7 "Activate the Community Pool"

Improvements

• (simulation) PrintAllInvariants flag will print all failed invariants

• (simulation) Add `InitialBlockHeight` flag to resume a simulation from a given block

• (simulation) #4670 Update simulation statistics to JSON format

• Support exporting the simulation stats to a given JSON file

• #4775 Refactor CI config

• Upgrade IAVL to v0.12.4

• (tendermint) Upgrade Tendermint to v0.32.2

• (modules) #4751 update `x/genutils` to match module spec

• (keys) #4611 store keys in simapp now use a map instead of using individual literal keys

• #2286 Improve performance of CacheKVStore iterator.

• #3512 Implement Logger method on each module's keeper.

• #3655 Improve signature verification failure error message.

• #3774 add category tag to transactions for ease of filtering

• #3914 Implement invariant benchmarks and add target to makefile.

• #3928 remove staking references from types package

• #3978 Return ErrUnknownRequest in message handlers for unknown

or invalid routed messages.

• #4190 Client responses that return (re)delegation(s) now return balances

instead of shares.

• #4194 ValidatorSigningInfo now includes the validator's consensus address.

• #4235 Add parameter change proposal messages to simulation.

• #4235 Update the minting module params to implement params.ParamSet so

individual keys can be set via proposals instead of passing a struct.

• #4259 `Coins` that are `nil` are now JSON encoded as an empty array `[]`.

Decoding remains unchanged and behavior is left intact.

• #4305 The `--generate-only` CLI flag fully respects offline tx processing.

• #4379 close db write batch.

• #4384 - Allow splitting withdrawal transaction in several chunks

• #4403 Allow for parameter change proposals to supply only desired fields to be updated

in objects instead of the entire object (only applies to values that are objects).

• #4415 /client refactor, reduce genutil dependancy on staking

• #4439 Implement governance module iterators.

• #4465 Unknown subcommands print relevant error message

• #4466 Commission validation added to validate basic of MsgCreateValidator by changing CommissionMsg to CommissionRates

• #4501 Support height queriers in rest client

• #4535 Improve import-export simulation errors by decoding the `KVPair.Value` into its

respective type

• #4536 cli context queries return query height and accounts are returned with query height

• #4553 undelegate max entries check first

• #4556 Added IsValid function to Coin

• #4564 client/input.GetConfirmation()'s default is changed to No.

• #4573 Returns height in response for query endpoints.

• #4580 Update `Context#BlockHeight` to properly set the block height via `WithBlockHeader`.

• #4584 Update bank Keeper to use expected keeper interface of the AccountKeeper.

• #4584 Move `Account` and `VestingAccount` interface types to `x/auth/exported`.

• #4082 supply module queriers for CLI and REST endpoints

• #4601 Implement generic pangination helper function to be used in

REST handlers and queriers.

• #4629 Added warning event that gets emitted if validator misses a block.

• #4674 Export `Simapp` genState generators and util functions by making them public

• #4706 Simplify context

Replace complex Context construct with a simpler immutible struct.

Only breaking change is not to support `Value` and `GetValue` as first class calls.

We do embed ctx.Context() as a raw context.Context instead to be used as you see fit.

Migration guide:

`ctx = ctx.WithValue(contextKeyBadProposal, false)` ->

`ctx = ctx.WithContext(context.WithValue(ctx.Context(), contextKeyBadProposal, false))`

A bit more verbose, but also allows `context.WithTimeout()`, etc and only used

in one function in this repo, in test code.

• #3685 Add `SetAddressVerifier` and `GetAddressVerifier` to `sdk.Config` to allow SDK users to configure custom address format verification logic (to override the default limitation of 20-byte addresses).

• #3685 Add an additional parameter to NewAnteHandler for a custom `SignatureVerificationGasConsumer` (the default logic is now in `DefaultSigVerificationGasConsumer). This allows SDK users to configure their own logic for which key types are accepted and how those key types consume gas.

• Remove `--print-response` flag as it is no longer used.

• Revert #2284 to allow create_empty_blocks in the config

• (tendermint) #4718 Upgrade tendermint/iavl to v0.12.3

Bug Fixes

• #4891 Disable querying with proofs enabled when the query height <= 1.

• (rest) #4858 Do not return an error in BroadcastTxCommit when the tx broadcasting

was successful. This allows the proper REST response to be returned for a

failed tx during `block` broadcasting mode.

• (store) #4880 Fix error check in

IAVL `Store#DeleteVersion`.

• (tendermint) #4879 Don't terminate the process immediately after startup when run in standalone mode.

• (simulation) #4861 Fix non-determinism simulation

by using CLI flags as input and updating Makefile target.

• #4868 Context#CacheContext now sets a new EventManager. This prevents unwanted events

from being emitted.

• (cli) #4870 Disable the `withdraw-all-rewards` command when `--generate-only` is supplied

• (modules) #4831 Prevent community spend proposal from transferring funds to a module account

• (keys) #4338 fix multisig key output for CLI

• (modules) #4795 restrict module accounts from receiving transactions.

Allowing this would cause an invariant on the module account coins.

• (modules) #4823 Update the `DefaultUnbondingTime` from 3 days to 3 weeks to be inline with documentation.

• (abci) #4639 Fix `CheckTx` by verifying the message route

• Return height in responses when querying against BaseApp

• #1351 Stable AppHash allows no_empty_blocks

• #3705 Return `[]` instead of `null` when querying delegator rewards.

• #3966 fixed multiple assigns to action tags

#3793 add delegator tag for MsgCreateValidator and deleted unused moniker and identity tags

• #4194 Fix pagination and results returned from /slashing/signing_infos

• #4230 Properly set and display the message index through the TxResponse.

• #4234 Allow `tx send --generate-only` to

actually work offline.

• #4271 Fix addGenesisAccount by using Coins#IsAnyGT for vesting amount validation.

• #4273 Fix usage of AppendTags in x/staking/handler.go

• #4303 Fix NewCoins() underlying function for duplicate coins detection.

• #4307 Don't pass height to RPC calls as

Tendermint will automatically use the latest height.

• #4362 simulation setup bugfix for multisim 7601778

• #4383 - currentStakeRoundUp is now always atleast currentStake + smallest-decimal-precision

• #4394 Fix signature count check to use the TxSigLimit param instead of

a default.

• #4455 Use `QueryWithData()` to query unbonding delegations.

• #4493 Fix validator-outstanding-rewards command. It now takes as an argument

a validator address.

• #4598 Fix redelegation and undelegation txs that were not checking for the correct bond denomination.

• #4619 Close iterators in `GetAllMatureValidatorQueue` and `UnbondAllMatureValidatorQueue`

methods.

• #4654 validator slash event stored by period and height

• #4681 panic on invalid amount on `MintCoins` and `BurnCoins` • skip minting if inflation is set to zero

• Sort state JSON during export and initialization

← Back to Releases