Releases: cosmos/cosmos-sdk
v0.33.0
0.33.0
BREAKING CHANGES
-
Gaia REST API
- #3641 Remove the ability to use a Keybase from the REST API client:
password
andgenerate_only
have been removed from thebase_req
object- All txs that used to sign or use the Keybase now only generate the tx
keys
routes completely removed
- #3692 Update tx encoding and broadcasting endpoints:
- Remove duplicate broadcasting endpoints in favor of POST @
/txs
- The
Tx
field now accepts aStdTx
and not raw tx bytes
- The
- Move encoding endpoint to
/txs/encode
- Remove duplicate broadcasting endpoints in favor of POST @
- #3641 Remove the ability to use a Keybase from the REST API client:
-
Gaia
- #3787 Fork the
x/bank
module into the Gaia application with only a
modified message handler, where the modified message handler behaves the same as
the standardx/bank
message handler except forMsgMultiSend
that must burn
exactly 9 atoms and transfer 1 atom, andMsgSend
is disabled. - #3789 Update validator creation flow:
- Remove
NewMsgCreateValidatorOnBehalfOf
and corresponding business logic - Ensure the validator address equals the delegator address during
MsgCreateValidator#ValidateBasic
- Remove
- #3787 Fork the
-
SDK
- #3750 Track outstanding rewards per-validator instead of globally,
and fix the main simulation issue, which was that slashes of
re-delegations to a validator were not correctly accounted for
in fee distribution when the redelegation in question had itself
been slashed (from a fault committed by a different validator)
in the same BeginBlock. Outstanding rewards are now available
on a per-validator basis in REST. - #3669 Ensure consistency in message naming, codec registration, and JSON
tags. - #3788 Change order of operations for greater accuracy when calculating delegation share token value
- #3788 DecCoins.Cap -> DecCoins.Intersect
- #3666 Improve coins denom validation.
- #3751 Disable (temporarily) support for ED25519 account key pairs.
- #3750 Track outstanding rewards per-validator instead of globally,
-
Tendermint
- [#3804] Update to Tendermint
v0.31.0-dev0
- [#3804] Update to Tendermint
FEATURES
- SDK
- #3719 DBBackend can now be set at compile time.
Defaults: goleveldb. Supported: cleveldb.
- #3719 DBBackend can now be set at compile time.
IMPROVEMENTS
-
Gaia REST API
- Update the
TxResponse
type allowing for theLogs
result to be JSON decoded automatically.
- Update the
-
Gaia CLI
- #3653 Prompt user confirmation prior to signing and broadcasting a transaction.
- #3670 CLI support for showing bech32 addresses in Ledger devices
- #3711 Update
tx sign
to use--from
instead of the deprecated--name
CLI flag. - #3738 Improve multisig UX:
gaiacli keys show -o json
now includes constituent pubkeys, respective weights and thresholdgaiacli keys show --show-multisig
now displays constituent pubkeys, respective weights and thresholdgaiacli tx sign --validate-signatures
now displays multisig signers with their respective weights
- #3730 Improve workflow for
gaiad gentx
with offline public keys, by outputting stdtx file that needs to be signed. - #3761 Querying account related information using custom querier in auth module
-
SDK
- #3753 Remove no-longer-used governance penalty parameter
- #3679 Consistent operators across Coins, DecCoins, Int, Dec
replaced: Minus->Sub Plus->Add Div->Quo - #3665 Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration.
- #3691 Cleanup error messages
- #3456 Integrate in the Int.ToDec() convenience function
- #3300 Update the spec-spec, spec file reorg, and TOC updates.
- #3694 Push tagged docker images on docker hub when tag is created.
- #3716 Update file permissions the client keys directory and contents to
0700
. - #3681 Migrate ledger-cosmos-go from ZondaX to Cosmos organization
-
Tendermint
- #3699 Upgrade to Tendermint 0.30.1
BUG FIXES
-
Gaia CLI
-
Gaia
-
SDK
- #3728 Truncate decimal multiplication & division in distribution to ensure
no more than the collected fees / inflation are distributed - #3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls
- #3559 fix occasional failing due to non-determinism in lcd test TestBonding
where validator is unexpectedly slashed throwing off test calculations - #3411 Include the
RequestInitChain.Time
in the block header init during
InitChain
. - #3717 Update the vesting specification and implementation to cap deduction from
DelegatedVesting
by at mostDelegatedVesting
. This accounts for the case where
the undelegation amount may exceed the original delegation amount due to
truncation of undelegation tokens. - #3717 Ignore unknown proposers in allocating rewards for proposers, in case
unbonding period was just 1 block and proposer was already deleted. - #3726 Cap(clip) reward to remaining coins in AllocateTokens.
- #3728 Truncate decimal multiplication & division in distribution to ensure
v0.32.0
0.32.0
BREAKING CHANGES
-
Gaia REST API
- #3642
GET /tx/{hash}
now returns404
instead of500
if the transaction is not found
- #3642
-
SDK
-
#3580 Migrate HTTP request/response types and utilities to types/rest.
-
#3592 Drop deprecated keybase implementation's New() constructor in
favor of a new crypto/keys.New(string, string) implementation that
returns a lazy keybase instance. Remove client.MockKeyBase,
superseded by crypto/keys.NewInMemory() -
#3621 staking.GenesisState.Bonds -> Delegations
IMPROVEMENTS
-
SDK
- [#3311] Reconcile the
DecCoin/s
API with theCoin/s
API. - [#3614] Add coin denom length checks to the coins constructors.
- #3621 remove many inter-module dependancies
- [#3601] JSON-stringify the ABCI log response which includes the log and message
index. - [#3604] Improve SDK funds related error messages and allow for unicode in
JSON ABCI log. - #3620 Version command shows build tags
- [#3638] Add Bcrypt benchmarks & justification of security parameter choice
- [#3648] Add JSON struct tags to vesting accounts.
- [#3311] Reconcile the
-
Tendermint
- [#3618] Upgrade to Tendermint 0.30.03
BUG FIXES
- SDK
- #3646
x/mint
now uses total token supply instead of total bonded tokens to calculate inflation
- #3646
v0.31.2 (WARNING: ALPHA SOFTWARE)
BREAKING CHANGES
- SDK
- #3592 Drop deprecated keybase implementation's
New constructor in favor of a new
crypto/keys.New(string, string) implementation that
returns a lazy keybase instance. Remove client.MockKeyBase,
superseded by crypto/keys.NewInMemory()
IMPROVEMENTS
-
SDK
- #3604 Improve SDK funds related error messages and allow for unicode in
JSON ABCI log.
- #3604 Improve SDK funds related error messages and allow for unicode in
-
Tendermint
- #3563 Update to Tendermint version
0.30.0-rc0
- #3563 Update to Tendermint version
BUG FIXES
-
Gaia
-
SDK
v0.31.1 (WARNING: ALPHA SOFTWARE)
BUG FIXES:
- Gaia #3574 Fixes for non-default staking token.
v0.31.0 (WARNING: ALPHA SOFTWARE)
0.31.0
BREAKING CHANGES
-
Gaia REST API (
gaiacli advanced rest-server
) -
Gaia CLI (
gaiacli
)- #3399 Add
gaiad validate-genesis
command to facilitate checking of genesis files - #1894
version
prints out short info by default. Add--long
flag. Proper handling of--format
flag introduced. - #3465
gaiacli rest-server
switched back to insecure mode by default:--insecure
flag is removed.--tls
is now used to enable secure layer.
- #3451
gaiacli
now returns transactions in plain text including tags. - #3497
gaiad init
now takes moniker as required arguments, not as parameter.
- #3501 Change validator
address Bech32 encoding to consensus address intendermint-validator-set
.
- #3399 Add
-
Gaia
-
SDK
- #2513 Tendermint updates are adjusted by 10^-6 relative to staking tokens,
- #3487 Move HTTP/REST utilities out of client/utils into a new dedicated client/rest package.
- #3490 ReadRESTReq() returns bool to avoid callers to write error responses twice.
- #3502 Fixes issue when comparing genesis states
- #3514 Various clean ups:
- Replace all GetKeyBase* functions family in favor of NewKeyBaseFromDir and NewKeyBaseFromHomeFlag.
- Remove Get prefix from all TxBuilder's getters.
- #3522 Get rid of double negatives: Coins.IsNotNegative() -> Coins.IsAnyNegative().
- #3561 Don't unnecessarily store denominations in staking
FEATURES
-
Gaia REST API
- #2358 Add distribution module REST interface
-
Gaia CLI (
gaiacli
) -
Gaia
- #3397 Implement genesis file sanitization to avoid failures at chain init.
- #3428 Run the simulation from a particular genesis state loaded from a file
-
SDK
- #3270 [x/staking] limit number of ongoing unbonding delegations /redelegations per pair/trio
- [#3477][distribution] new query endpoint "delegator_validators"
- #3514 Provided a lazy loading implementation of Keybase that locks the underlying
storage only for the time needed to perform the required operation. Also added Keybase reference to TxBuilder struct. - [types] #2580 Addresses now Bech32 empty addresses to an empty string
IMPROVEMENTS
-
Gaia REST API
- #3284 Update Gaia Lite
REST service to support the following:- Automatic account number and sequence population when fields are omitted
- Generate only functionality no longer requires access to a local Keybase
from
field in thebase_req
body can be a Keybase name or account address
- #3423 Allow simulation
(auto gas) to work with generate only. - #3514 REST server calls to keybase does not lock the underlying storage anymore.
- #3523 Added
/tx/encode
endpoint to serialize a JSON tx to base64-encoded Amino.
- #3284 Update Gaia Lite
-
Gaia CLI (
gaiacli
)- #3476 New
withdraw-all-rewards
command to withdraw all delegations rewards for delegators. - #3497
gaiad gentx
supports--ip
and--node-id
flags to override defaults. - #3518 Fix flow in
keys add
to show the mnemonic by default. - #3517 Increased test coverage
- #3523 Added
tx encode
command to serialize a JSON tx to base64-encoded Amino.
- #3476 New
-
Gaia
- #3418 Add vesting account
genesis validation checks toGaiaValidateGenesisState
. - #3420 Added maximum length to governance proposal descriptions and titles
- #3256 Add gas consumption
for tx size in the ante handler. - #3454 Add
--jail-whitelist
togaiad export
to enable testing of complex exports - #3424 Allow generation of gentxs with empty memo field.
- #3507 General cleanup, removal of unnecessary struct fields, undelegation bugfix, and comment clarification in x/staking and x/slashing
- #3418 Add vesting account
-
SDK
- [#2605] x/params add subkey accessing
- #2986 Store Refactor
- #3435 Test that store implementations do not allow nil values
- #2509 Sanitize all usage of Dec.RoundInt64()
- #556 Increase
BaseApp
test coverage. - #3357 develop state-transitions.md for staking spec, missing states added to
state.md
- #3552 Validate bit length when
deserializingInt
types.
BUG FIXES
-
Gaia CLI (
gaiacli
)- #3417 Fix
q slashing signing-info
panic by ensuring safety of user input and properly returning not found error - #3345 Upgrade ledger-cosmos-go dependency to v0.9.3 to pull
Zondax/ledger-cosmos-go@ed9aa39 in order to fix a derivation path issue that causesgaiacli keys add --recover
to malfunction. - #3419 Fix
q distr slashes
panic - #3453 The
rest-server
command didn't respect persistent flags such as--chain-id
and--trust-node
if they were
passed on the command line. - #3441 Improved resource management and connection handling (ledger devices). Fixes issue with DER vs BER signatures.
- #3417 Fix
-
Gaia
- #3486 Use AmountOf in
vesting accounts instead of zipping/aligning denominations.
- #3486 Use AmountOf in
v0.30.0 (WARNING: ALPHA SOFTWARE)
0.30.0
BREAKING CHANGES
-
Gaia REST API (
gaiacli advanced rest-server
)- [gaia-lite] [#2182] Renamed and merged all redelegations endpoints into
/staking/redelegations
- #3176
tx/sign
endpoint now expectsBaseReq
fields as nested object. - [#2222] all endpoints renamed from
/stake
->/staking
- [#1268]
LooseTokens
->NotBondedTokens
- [#3289] misc renames:
Validator.UnbondingMinTime
->Validator.UnbondingCompletionTime
Delegation
->Value
inMsgCreateValidator
andMsgDelegate
MsgBeginUnbonding
->MsgUndelegate
- [gaia-lite] [#2182] Renamed and merged all redelegations endpoints into
-
Gaia CLI (
gaiacli
)- #810 Don't fallback to any default values for chain ID.
- Users need to supply chain ID either via config file or the
--chain-id
flag. - Change
chain_id
andtrust_node
ingaiacli
configuration tochain-id
andtrust-node
respectively.
- Users need to supply chain ID either via config file or the
- #3069
--fee
flag renamed to--fees
to support multiple coins - #3156 Remove unimplemented
gaiacli init
command - [#2222]
gaiacli tx stake
->gaiacli tx staking
,gaiacli query stake
->gaiacli query staking
- #1894
version
command now shows latest commit, vendor dir hash, and build machine info. - #3320 Ensure all
gaiacli query
commands respect the--output
and--indent
flags
- #810 Don't fallback to any default values for chain ID.
-
Gaia
- #2838 - Move store keys to constants
- #3162 The
--gas
flag now takesauto
instead ofsimulate
in order to trigger a simulation of the tx before the actual execution. - #3285 New
gaiad tendermint version
to print libs versions - #1894
version
command now shows latest commit, vendor dir hash, and build machine info. - [#3249(https://github.com//issues/3249)
tendermint
'sshow-validator
andshow-address
--json
flags removed in favor of--output-format=json
.
-
SDK
- [distribution] #3359 Always round down when calculating rewards-to-be-withdrawn in F1 fee distribution
- #3336 Ensure all SDK
messages have their signature bytes contain canonical fieldsvalue
andtype
. - #3333 - F1 storage efficiency improvements - automatic withdrawals when unbonded, historical reward reference counting
- [staking] #2513 Validator power type from Dec -> Int
- [staking] #3233 key and value now contain duplicate fields to simplify code
- #3064 Sanitize
sdk.Coin
denom. Coins denoms are now case insensitive, i.e. 100fooToken equals to 100FOOTOKEN. - #3195 Allows custom configuration for syncable strategy
- #3242 Fix infinite gas
meter utilization during aborted ante handler executions. - [x/distribution] #3292 Enable or disable withdraw addresses with a parameter in the param store
- [staking] #2222
/stake
->/staking
module rename - [staking] #1268
LooseTokens
->NotBondedTokens
- [staking] #1402 Redelegation and unbonding-delegation structs changed to include multiple an array of entries
- [staking] #3289 misc renames:
Validator.UnbondingMinTime
->Validator.UnbondingCompletionTime
Delegation
->Value
inMsgCreateValidator
andMsgDelegate
MsgBeginUnbonding
->MsgUndelegate
- [#3315] Increase decimal precision to 18
- #3323 Update to Tendermint 0.29.0
- #3328 [x/gov] Remove redundant action tag
-
Tendermint
- #3298 Upgrade to Tendermint 0.28.0
FEATURES
-
Gaia REST API (
gaiacli advanced rest-server
) -
Gaia CLI (
gaiacli
)- #2399 Implement
params
command to query slashing parameters. - #2730 Add tx search pagination parameter
- #3027 Implement
query gov proposer [proposal-id]
to query for a proposal's proposer. - #3198 New
keys add --multisig
flag to store multisig keys locally. - #3198 New
multisign
command to generate multisig signatures. - #3198 New
sign --multisig
flag to enable multisig mode. - #2715 Reintroduce gaia server's insecure mode.
- #3334 New
gaiad completion
andgaiacli completion
to generate Bash/Zsh completion scripts. - #2607 Make
gaiacli config
handle the booleanindent
flag to beautify commands JSON output.
- #2399 Implement
-
Gaia
-
SDK
- #2694 Vesting account implementation.
- #2996 Update the
AccountKeeper
to contain params used in the context of
the ante handler. - #3179 New CodeNoSignatures error code.
- #3319 [x/distribution] Queriers for all distribution state worth querying; distribution query commands
- #3356 [x/auth] bech32-ify accounts address in error message.
IMPROVEMENTS
-
Gaia REST API
-
Gaia CLI (
gaiacli
)- #3224 Support adding offline public keys to the keystore
-
Gaia
- #2186 Add Address Interface
- #3158 Validate slashing genesis
- #3172 Support minimum fees in a local testnet.
- #3250 Refactor integration tests and increase coverage
- #3248 Refactor tx fee
model:- Validators specify minimum gas prices instead of minimum fees
- Clients may provide either fees or gas prices directly
- The gas prices of a tx must meet a validator's minimum
gaiad start
andgaia.toml
take --minimum-gas-prices flag and minimum-gas-price config key respectively.
- #2859 Rename
TallyResult
in gov proposals toFinalTallyResult
- #3286 Fix
gaiad gentx
printout of account's addresses, i.e. user bech32 instead of hex. - [#3249(https://github.com//issues/3249)
--json
flag removed, users should use--output=json
instead.
-
SDK
- #3137 Add tag documentation
for each module along with cleaning up a few existing tags in the governance,
slashing, and staking modules. - #3093 Ante handler does no longer read all accounts in one go when processing signatures as signature
verification may fail before last signature is checked. - [staking] #1402 Add for multiple simultaneous redelegations or unbonding-delegations within an unbonding period
- [staking] #1268 staking spec rewrite
- #3137 Add tag documentation
-
CI
v0.29.0
v0.28.1 (WARNING: ALPHA SOFTWARE)
BREAKNG CHANGES
- Gaia REST API (
gaiacli advanced rest-server
)- [lcd] #3045 Fix quoted json return on GET /keys (keys list)
- [gaia-lite] #2191 Split
POST /stake/delegators/{delegatorAddr}/delegations
intoPOST /stake/delegators/{delegatorAddr}/delegations
,POST /stake/delegators/{delegatorAddr}/unbonding_delegations
andPOST /stake/delegators/{delegatorAddr}/redelegations
- [gaia-lite] #3056
generate_only
andsimulate
have moved from query arguments to POST requests body.
- Tendermint
- [tendermint] Now using Tendermint 0.27.3
FEATURES
- Gaia REST API (
gaiacli advanced rest-server
)- [slashing] #2399 Implement
/slashing/parameters
endpoint to query slashing parameters.
- [slashing] #2399 Implement
- Gaia CLI (
gaiacli
)- [gaiacli] #2399 Implement
params
command to query slashing parameters.
- [gaiacli] #2399 Implement
- SDK
- [client] #2926 Add TxEncoder to client TxBuilder.
- Other
- Introduced the logjack tool for saving logs w/ rotation
IMPROVEMENTS
- Gaia REST API (
gaiacli advanced rest-server
) - Gaia CLI (
gaiacli
) - Gaia
- #3021 Add
--gentx-dir
togaiad collect-gentxs
to specify a directory from which collect and load gentxs. Add--output-document
togaiad init
to allow one to redirect output to file.
- #3021 Add
v0.28.1-rc0 (WARNING: ALPHA SOFTWARE; RELEASE CANDIDATE)
0.28.1
v0.28.0-rc2 (WARNING: ALPHA SOFTWARE; RELEASE CANDIDATE)
Gas updates
Address, not intratxcounter for staking power index.
Governance quorum
GoS candidate.