A Framework for Building High Value Public Blockchains
APACHE-2.0 License
Bot releases are hidden (Show)
There are no release notes for pre-releases.
A beta release will be cut in the coming days after audits.
Cosmos SDK modules won't be tagged before RC, when integrating with alphas and betas, use the latest pseudo version from the release branch for SDK modules or main for other packages. Refer to the version matrix to understand what it means.
On the other hand, cosmossdk.io/core
v1 beta will be cut soon, to allow you to upgrade your modules easily.
Lastly, this alpha contains some dependencies annoyance that will be resolved before the RC (i.e. the SDK is temporarily importing auth
, bank
and staking
).
Please see the CHANGELOG for an exhaustive list of changes.
Refer to the UPGRADING.md for upgrading your application.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.50.x...release/v0.52.x
Published by julienrbrt 3 months ago
For this month patch release of the v0.50.x line, a few improvements were added to the SDK and some bugs were fixed.
Notably, we added and fixed the following:
<appd> keys add testing --recover --source ./mnemonic.txt
simd q wait-tx
Check out the changelog for an exhaustive list of changes, or compare changes from the last release.
Refer to the upgrading guide when migrating from v0.47.x
to v0.50.1
.
Note, that the next SDK release, v0.51, will not include x/params
migration, when migrating from < v0.47, v0.50.x or v0.47.x, is a mandatory migration.
Published by julienrbrt 3 months ago
For this month's patch release of the v0.47.x line, a few bugs were fixed in the SDK.
Check out the changelog for an exhaustive list of changes, or compare changes from the last release.
Refer to the upgrading guide when migrating from v0.47.x
to v0.50.x
.
v0.50 has been released, which means the v0.47.x line is now supported for bug fixes only, as per our release policy. Earlier versions are not maintained.
Start integrating with Cosmos SDK Eden (v0.50) and enjoy and the new features and performance improvements.
Published by julienrbrt 4 months ago
For this month's patch release of the v0.47.x line, a few bug were fixed in the SDK.
Notably:
RecheckTX
Check out the changelog for an exhaustive list of changes or compare changes from last release.
Refer to the upgrading guide when migrating from v0.47.x
to v0.50.x
.
v0.50 has been released which means the v0.47.x line is now supported for bug fixes only, as per our release policy. Earlier versions are not maintained.
Start integrating with Cosmos SDK Eden (v0.50) and enjoy and the new features and performance improvements.
Published by julienrbrt 12 months ago
Published by julienrbrt about 1 year ago
There are no release notes for pre-releases.
Please refer to the CHANGELOG for an exhaustive list of changes.
Refer to the UPGRADING.md for upgrading your application.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.47.x...release/v0.50.x
If you have started integrating with v0.50.0-rc.0, this release candidate contains one breaking change.
This is contrary to our usual policy of not introducing breaking changes in release candidates, but we believe this change is necessary to ensure a smooth upgrade from previous SDK version to v0.50.0. Additionally, it gives a better UX for users integrating vote extensions. Read more about the change here.
Update your app.go / app_config.go as instructed in the UPGRADING.md.
Additionally, if you were using baseapp.SetPreFinalizeBlockHook
in v0.50.0-rc.0, you should now use baseapp.SetPreBlocker
for having the same functionality.
Published by julienrbrt about 1 year ago
There are no release notes for pre-releases.
Please refer to the CHANGELOG for an exhaustive list of changes, and refer to the UPGRADING.md for upgrading your application.
This is the first modular Cosmos SDK version where multiple x/ modules have been extracted as a standalone go module. These modules will be tagged after the final release of the Cosmos SDK. To integrate with the correct pseudo version of those modules, look at simapp go.mod
for an example, or use the merge commit of the module bumping PR.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.47.x...release/v0.50.x
Published by julienrbrt over 1 year ago
There are no release notes for pre-releases.
Please refer to the CHANGELOG for an exhaustive list of changes, and refer to the UPGRADING.md for upgrading your application.
This is the first modular Cosmos SDK version where multiple x/
modules have been extracted as a standalone go module. These modules will be tagged after the final release of the Cosmos SDK. To integrate with the correct pseudo version of those modules, look at simapp go.mod
for an example, or use the merge commit of the module bumping PR.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.47.x...release/v0.50.x
Published by julienrbrt over 1 year ago
There are no release notes for pre-releases.
Please see the CHANGELOG for an exhaustive list of changes.
Refer to the UPGRADING.md for upgrading your application.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.47.x...release/v0.50.x
Published by julienrbrt over 1 year ago
There are no release notes for pre-releases.
Please see the CHANGELOG for an exhaustive list of changes.
Refer to the UPGRADING.md for upgrading your application.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.47.x...release/v0.50.x
Published by julienrbrt over 1 year ago
Cosmos SDK v0.47.0-rc3
contains all the features and changes that are planned for the final v0.47.0 release.
This release candidate is intended to give application developers and validator operators a chance to test the release candidate before the final release.
The main changes in this release are:
Upgrade to CometBFT v0.37.0.
[]byte
to string
.Support of ABCI 1.0 in the SDK.
PrepareProposal
and ProcessProposal
ABCI methods.Deprecation of the x/params
module.
MsgUpdateParams
.x/params
. It is recommended to migrate your custom modules as well.Migration from gogo/protobuf
to cosmos/gogoproto
.
gogo/protobuf
library. This has been replaced by cosmos/gogoproto
which is a fork of gogo/protobuf
with some improvements and fixes, that is maintained by the Cosmos SDK team.ghcr.io/cosmos/proto-builder
image (version >= 0.11.2
) for generating protobuf files.Dependency Injection / App Wiring
runtime
and depinject
are pre-1.0
).Removal of the proposer-based rewards from x/distribution
.
Re-addition of title
and summary
fields on group and gov proposals.
v0.46
with x/gov
v1, these fields were not present (while present in v1beta1
). After community feedback, they have been added in x/gov
v1.Refactoring of tests in the SDK and addition of the simtestutil
package, for facilitating testing without depending on simapp.
simapp
in an application must be removed going forward.Refer to the UPGRADING.md for upgrading your application.
Please see the CHANGELOG for an exhaustive list of changes.
Full Commit History (previous version): https://github.com/cosmos/cosmos-sdk/compare/release/v0.46.x...release/v0.47.x
Full Commit History (rc2..rc3
): https://github.com/cosmos/cosmos-sdk/compare/v0.47.0-rc2...v0.47.0-rc3
Published by julienrbrt over 1 year ago
Cosmos SDK v0.47.0-rc2
contains all the features and changes that are planned for the final v0.47.0 release.
This release candidate is intended to give application developers and validator operators a chance to test the release candidate before the final release.
The main changes in this release are:
Upgrade to Tendermint v0.37.0.
[]byte
to string
.Support of ABCI 1.0 in the SDK.
PrepareProposal
and ProcessProposal
ABCI methods.Deprecation of the x/params
module.
MsgUpdateParams
.x/params
. It is recommended to migrate your custom modules as well.Migration from gogo/protobuf
to cosmos/gogoproto
.
gogo/protobuf
library. This has been replaced by cosmos/gogoproto
which is a fork of gogo/protobuf
with some improvements and fixes, that is maintained by the Cosmos SDK team.ghcr.io/cosmos/proto-builder
image (version >= 0.11.2
) for generating protobuf files.Dependency Injection / App Wiring
runtime
and depinject
are pre-1.0
).Removal of the proposer-based rewards from x/distribution
.
Re-addition of title
and summary
fields on group and gov proposals.
v0.46
with x/gov
v1, these fields were not present (while present in v1beta1
). After community feedback, they have been added in x/gov
v1.Refactoring of tests in the SDK and addition of the simtestutil
package, for facilitating testing without depending on simapp.
simapp
in an application must be removed going forward.Refer to the UPGRADING.md for upgrading your application.
Please see the CHANGELOG for an exhaustive list of changes.
Full Commit History (previous version): https://github.com/cosmos/cosmos-sdk/compare/release/v0.46.x...release/v0.47.x
Full Commit History (rc1..rc2
): https://github.com/cosmos/cosmos-sdk/compare/v0.47.0-rc1...v0.47.0-rc2
Published by julienrbrt almost 2 years ago
Cosmos SDK v0.47.0-rc1
contains all the features and changes that are planned for the final v0.47.0 release.
This release candidate is intended to give application developers and validator operators a chance to test the release candidate before the final release.
The main changes in this release are:
Upgrade to Tendermint v0.37.0.
[]byte
to string
.Support of ABCI 1.0 in the SDK.
PrepareProposal
and ProcessProposal
ABCI methods.Deprecation of the x/params
module.
MsgUpdateParams
.x/params
. It is recommended to migrate your custom modules as well.Migration from gogo/protobuf
to cosmos/gogoproto
.
gogo/protobuf
library. This has been replaced by cosmos/gogoproto
which is a fork of gogo/protobuf
with some improvements and fixes, that is maintained by the Cosmos SDK team.ghcr.io/cosmos/proto-builder
image (version >= 0.11.2
) for generating protobuf files.Dependency Injection / App Wiring
runtime
and depinject
are pre-1.0
).Removal of the proposer-based rewards from x/distribution
.
Re-addition of title
and summary
fields on group and gov proposals.
v0.46
with x/gov
v1, these fields were not present (while present in v1beta1
). After community feedback, they have been added in x/gov
v1.Refactoring of tests in the SDK and addition of the simtestutil
package, for facilitating testing without depending on simapp.
simapp
in an application must be removed going forward.Refer to the UPGRADING.md for upgrading your application.
Please see the CHANGELOG for an exhaustive list of changes.
Full Commit History (previous version): https://github.com/cosmos/cosmos-sdk/compare/release/v0.46.x...release/v0.47.x
Full Commit History (alpha2..rc1
): https://github.com/cosmos/cosmos-sdk/compare/v0.47.0-alpha2...v0.47.0-rc1
Published by julienrbrt almost 2 years ago
More information on Rosetta here.
/network/status
endpoint response. Rosetta's data api is divided into its own go files (account, block, mempool, network).Published by julienrbrt almost 2 years ago
There are no release notes for pre-releases.
Please see the CHANGELOG for an exhaustive list of changes.
Refer to the UPGRADING.md for upgrading your application.
Full Commit History:
Published by julienrbrt almost 2 years ago
There are no release notes for pre-releases.
Please see the CHANGELOG for an exhaustive list of changes.
Refer to the UPGRADING.md for upgrading your application.
Full Commit History: https://github.com/cosmos/cosmos-sdk/compare/release/v0.46.x...release/v0.47.x
Published by amaury1729 over 2 years ago
NewInMemoryWithKeyring
function which allows the creation of in memory keystore
instances with a specified set of existing items.LatestBlockResponse
& BlockByHeightResponse
types' Block
filed has been deprecated and they now contains new field sdk_block
with proposer_address
as string
GenSignedMockTx
and check empty coins slice before it is used to create banktype.MsgSend
.Register{Tx,Tendermint}Service
not being called, resulting in some endpoints like the Simulate endpoint not working.Published by alexanderbez over 2 years ago
tendermint key-migrate
to perform Tendermint v0.35 DB key migration.GenericFilteredPaginate
to the query
package to improve UX.TipDecorator
as beta, don't include it in simapp by default.NewSimulationManagerFromAppModules
constructor, to simplify simulation wiring.DeductFeeDecorator
AnteHandler decorator.GoalBonded
must be positive when performing x/mint
parameter validation.SignClient.TxSearch
NewBaseAccountWithAddress
in all vesting account message handlers.gofumpt -w -l .
, and golangci-lint run ./... --fix
--fee-payer
and --fee-granter
flags.simd migrate v0.46
CLI command.baseAccountGetter
to avoid invalid account error when create vesting account.Published by amaury1729 over 2 years ago
This release introduces several new important updates to the Cosmos SDK. The release notes below provide an overview of the larger high-level changes introduced in the v0.46 release series.
That being said, this release does contain many more minor and module-level changes besides those mentioned below. For a comprehsive list of all breaking changes and improvements since the v0.45 release series, please see the CHANGELOG.
x/group
The previous v0.43 series focused on simplifying keys and fee management for SDK users, by adding x/feegrant
and x/authz
. v0.46 finishes this work by introducing x/group
.
x/group
provides functionality to define on-chain groups of people that can execute arbitrary messages based on agreed upon rules. A simple use-case of x/group
is to create on-chain multisigs (with updateable members and thresholds), but x/group
can also be used to create more complex DAOs.
The x/group
module revolves around 3 concepts:
If a proposal passes the decision policy's rules after its voting period, then any account can send a MsgExec
against this proposal to execute the sdk.Msg
s included in the proposal.
For more details about x/group
, please refer to the SDK documentation and ADR-042.
The folder structure of x/group
contains an internal
folder, which holds a custom ORM used only by x/group
(and which will be replaced by the new ORM) as well as a new implementation of Dec
(for decimals) based on cockroachdb/apd
, which serves as a proof-of-concept for the new sdk.Dec
.
Msg
-based Gov ProposalsIn an effort to align x/gov
with x/group
, the SDK v0.46 release introduces a new Protobuf package: cosmos.gov.v1
.
The biggest change compared to the previous cosmoss.gov.v1beta1
is in MsgSubmitProposal
: instead of defining gov router proposal handlers, the v0.46 gov execution models is based on sdk.Msg
s:
message MsgSubmitProposal {
- google.protobuf.Any content = 1 [(cosmos_proto.accepts_interface) = "Content"];
+ repeated google.protobuf.Any messages = 1 [(cosmos_proto.accepts_interface) = "sdk.Msg"];
repeated cosmos.base.v1beta1.Coin initial_deposit = 2 [(gogoproto.nullable) = false];
string proposer = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
+ // metadata is any arbitrary metadata attached to the proposal.
+ string metadata = 4;
}
For example, instead of broadcasting a v1beta1.MsgSubmitProposal
with content a SoftwareUpgradeProposal
, the proposer would submit a v1.MsgSubmitProposal
with a /cosmos.upgrade.v1beta1.MsgSoftwareUpgrade
message. When the proposal passes, the sdk.Msg
will be executed by the Msg
service router (instead of going through the gov proposal handlers).
The sdk.Msg
s in the proposal are executed on behalf of the gov
module account. This means that each of the sdk.Msg
inside the proposal must have their GetSigners()
method return exactly one address, which is the gov
module account's address.
A metadata
field has also been added to MsgSubmitProposal
and MsgVote
, for users to provide optional justification for their action.
From a client perspective, the new gov v1 is purely additive. All v1beta1
Protobuf defintions, queries and Msg
s still work. Morever, users can also submit v1beta1
legacy proposals using the v1
Msg
service, by including a MsgExecLegacyContent
inside the v1.MsgSubmitProposal
. It is recommended to switch to gov v1
during v0.46, as the gov v1beta1
backwards-compatibility might be removed in a future version.
As an app developer, some API changes from v1beta1
to v1
are to be expected in the x/gov
Keeper, and are documented in the UPGRADING.md
guide.
A transaction's lifecycle in the SDK goes through BaseApp's CheckTx
and DeliverTx
, and both of them run the AnteHandlers; then, DeliverTx
also runs the sdk.Msg
s execution (in BaseApp's runMsgs
function).
In v0.46, we added "PostHandlers" to the SDK. PostHandlers are like AnteHandlers (they have the same signature), but they are run after runMsgs
. One use case for PostHandlers is transaction tips (see below), but other use cases like unused gas refund can also be enabled by PostHandlers.
Please note that the PostHandlers run in the same store branch as runMsgs
. This means that if the PostHandlers fail, then all the state from runMsgs
will also be reverted. As a reminder, the AnteHandlers run in a separate store branch before runMsgs
. This means that the v0.46 SDK currently creates 2 store branches when running transactions:
runMsgs
and PostHandlers.SIGN_MODE_DIRECT_AUX
Transaction tips are a mechanism to pay for transaction fees using another denom than the native fee denom of the chain.
The transaction initiator signs a partial transaction (called AuxSignerData
) without specifying fees, but uses a new Tip
field. They send this AuxSignerData
to a fee relayer who will choose the transaction fees and broadcast the final transaction, and the SDK provides a mechanism that will transfer the pre-defined Tip
to the fee payer, to cover for fees. A market between tippers and feepayers could arise, based on exchange rates between the tip denom and the fee denom.
For this mechanism to work, the SDK introduces a new sign mode, SIGN_MODE_DIRECT_AUX
, whereby the signer signs over the transaction body and their own signer info, but not over fees or other signers' info. This sign mode is not limited to transaction tips though, and can be used in any multi-signer transaction, where N-1 signers sign using SIGN_MODE_DIRECT_AUX
, and only one signer, the fee payer, signs using SIGN_MODE_DIRECT
, allowing for a better UX for the N-1 other signers.
The transaction tips decorator is NOT enabled by default on the SDK. If you want to include transaction tips on your chain, please enable setPosthandler
in your app.go
and include the tips decorator inside: see simapp/app.go for a template.
Published by amaury1729 over 2 years ago
This release introduces bug fixes and improvements on the Cosmos SDK v0.44 series:
ctx.ConsensusParams
for begin/end blockers.LegacyAminoPubKey
struct correctly unmarshals from JSON.Update March 9th 2022. After the SDK team released v0.44.6, a subtle state-machine breaking change has been discovered (thanks to the crypto.com team) in the item "Populate ctx.ConsensusParams
for begin/end blockers" above (see relevant commit). The behaviour can differ compared to older v0.44.* versions when an evidence that is too old is broadcasted, see code.
See the Cosmos SDK v0.44.6 Changelog for the exhaustive list of all changes.
Full Changelog: https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.44.6