Skip to content

Releases: cosmos/cosmos-sdk

v0.46.12

04 Apr 15:38
5cd0b23
Compare
Choose a tag to compare

Cosmos SDK v0.46.12 Release Notes

This release introduces a number of improvements and bug fixes, notably a new query for the x/group module, for querying all groups on a chain.

Note, from v0.46.11+, the following replace is mandatory in the go.mod of your application:

// use cometbft
replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.46.11...v0.46.12

v0.47.1

23 Mar 16:26
0af178d
Compare
Choose a tag to compare

Cosmos SDK v0.47.1 Release Notes

💬 Release Discussion

📝 Changelog

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.46.x to v0.47.0.

🚀 Highlights

This is the first patch release for the v0.47.x line. Missed the v0.47.0 announcement? Read it here.

It includes sweet things we could not include in v0.47.0 due to the feature freeze.

Notably, it introduces a new x/group query for listing of all groups on a chain and a x/gov helper function for commands to use when the command is for submitting a governance proposal.

v0.45.15

22 Mar 09:52
c0fe4f7
Compare
Choose a tag to compare

Cosmos SDK v0.45.15 Release Notes

This release includes the migration to CometBFT v0.34.27.
This migration should be minimally breaking for chains.
From v0.45.15+, the following replace is mandatory in the go.mod of your application:

// use cometbft
replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27

Additionally, the SDK sets its minimum version to Go 1.19. This is not because the SDK uses new Go 1.19 functionalities, but to signal that we recommend chains to upgrade to Go 1.19 — Go 1.18 is not supported by the Go Team anymore.
Note, that SDK recommends chains to use the same Go version across all of their network.
We recommend, as well, chains to perform a coordinated upgrade when migrating from Go 1.18 to Go 1.19.

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.45.14...v0.45.15

End-of-Life Notice

v0.45.15 is the last release of the v0.45.x line. Per this version, the v0.45.x line reached its end-of-life.
The SDK team maintains the two latest major versions of the SDK. This means no features, improvements or bug fixes will be backported to the v0.45.x line. Per our policy, the v0.45.x line will receive security patches only.

We encourage all chains to upgrade to the latest release of the SDK, or the v0.46.x line.

Refer to the upgrading guide for how to upgrade a chain to the latest release.

FAQ Migration to CometBFT v0.34.27

I use tm-db but I get an import error with cometbft-db

For preventing API breaking changes, the SDK team has kept using tm-db for v0.45.x and v0.46.x.
However, the CometBFT team kept using cometbft-db for their v0.34.x line.
This means if your app directly interact with CometBFT (e.g. for a force pruning command), you will need to use cometbft-db there.
When not interacting with CometBFT directly, you can use tm-db as usual.

I get import errors with btcd

If you are using an old version of btcd, you will need to upgrade to the latest version.
The previous versions had vulnerabilities so the SDK and CometBFT have upgraded to the latest version.
In the latest version btcsuite/btcd and btcsuite/btcd/btcec are two separate go modules.

I encounter state sync issues

Please ensure you have built the binary with the same Go version as the network.
You can easily verify that by querying /cosmos/base/tendermint/v1beta1/node_info of a node in the network, and checking the go_version field.

v0.47.0

14 Mar 17:20
9acdbb9
Compare
Choose a tag to compare

Cosmos SDK v0.47.0 Release Notes

Official Release Announcement

💬 Release Discussion

📝 Changelog

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.46.x to v0.47.0.

🚀 Highlights

  • Upgrade to CometBFT v0.37.0.

    • With the notable introduction of ABCI 1.0.
    • Changes of events keys and values from []byte to string.
  • Support of ABCI 1.0 in the SDK.

    • Allows chains to set their own mempool implementation. Follow the guide here.
    • Support of the new PrepareProposal and ProcessProposal ABCI methods.
  • Deprecation of the x/params module.

    • Modules params are now handled directly by the modules themselves, via the MsgUpdateParams message.
    • All core SDK modules have migrated away from using x/params. It is recommended to migrate your custom modules as well.
  • Migration from gogo/protobuf to cosmos/gogoproto.

    • The SDK was using the now unmaintained 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.
    • This change is not transparent for applications developers. All proto files should be regenerated with the new library.
    • Use the ghcr.io/cosmos/proto-builder image (version >= 0.11.5) for generating protobuf files.
  • App Wiring with dependency injection.

    • App Wiring is ready for community feedback. It allows developers to build a chain with less boilerplate by removing the need to manually wire a chain.
    • Community feedback will be implemented in the following releases which can lead to API breakage (runtime and depinject are pre-1.0).
    • Manually wiring an application is still possible and will always remain supported.
  • Removal of the proposer-based rewards from x/distribution.

    • This removes unfairness towards smaller validators.
  • Re-addition of title and summary fields on group and gov proposals.

    • In 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.

    • Any dependencies on simapp in an application must be removed going forward.

❤️ Contributors

This list is non-exhaustive and ordered alphabetically.
Thank you to everyone who contributed to this release!

v0.46.11

03 Mar 19:44
5023392
Compare
Choose a tag to compare

Cosmos SDK v0.46.11 Release Notes

This release includes the migration to CometBFT v0.34.27.
This migration should be not be breaking for chains.
From v0.46.11+, the following replace is mandatory in the go.mod of your application:

// use cometbft
replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27

Additionally, the SDK sets its minimum version to Go 1.19. This is not because the SDK uses new Go 1.19 functionalities, but to signal that we recommend chains to upgrade to Go 1.19 — Go 1.18 is not supported by the Go Team anymore.
Note, that SDK recommends chains to use the same major Go version across all of their network.
We recommend, as well, chains to perform a coordinated upgrade when migrating from Go 1.18 to Go 1.19+.

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.46.10...v0.46.11

v0.47.0-rc3

01 Mar 16:44
17134bd
Compare
Choose a tag to compare
v0.47.0-rc3 Pre-release
Pre-release

Cosmos SDK v0.47.0-rc3 Release Notes

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.

    • With the notable introduction of ABCI 1.0.
    • Changes of events keys and values from []byte to string.
  • Support of ABCI 1.0 in the SDK.

    • Allows chains to set their own mempool implementation.
    • Support of the new PrepareProposal and ProcessProposal ABCI methods.
  • Deprecation of the x/params module.

    • Modules params are now handled directly by the modules themselves, with the message MsgUpdateParams.
    • All core modules have migrated away from x/params. It is recommended to migrate your custom modules as well.
  • Migration from gogo/protobuf to cosmos/gogoproto.

    • The SDK was using the now unmaintained 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.
    • This change is not transparent for applications developers. All proto files should be regenerated with the new library.
    • Please use the ghcr.io/cosmos/proto-builder image (version >= 0.11.2) for generating protobuf files.
  • Dependency Injection / App Wiring

    • App Wiring is ready for community feedback and testing. It allows to build a chain with less boilerplate by removing the need to manually wire a chain.
    • Community feedback will be implemented in the following releases which can lead to API breakage (runtime and depinject are pre-1.0).
    • Manually wiring an application is still possible and will always remain supported.
  • Removal of the proposer-based rewards from x/distribution.

    • This removes unfairness towards smaller validators.
  • Re-addition of title and summary fields on group and gov proposals.

    • In 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.

    • Any dependencies on 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): release/v0.46.x...release/v0.47.x
Full Commit History (rc2..rc3): v0.47.0-rc2...v0.47.0-rc3

v0.46.10

16 Feb 16:45
06406f6
Compare
Choose a tag to compare

Cosmos SDK v0.46.10 Release Notes

This release improves CPU profiling when using the --cpu-profile flag, and fixes a possible way to DoS a node.

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.46.9...v0.46.10

NOTE: Add or update the following replace in the go.mod of your application:

// use informal system fork of tendermint
replace github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.26

v0.45.14

16 Feb 16:52
140ebff
Compare
Choose a tag to compare

Cosmos SDK v0.45.14 Release Notes

This release fixes a possible way to DoS a node.

NOTE: Add or update the following replace in the go.mod of your application:

// use informal system fork of tendermint
replace github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.26

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.45.13...v0.45.14

v0.45.13

09 Feb 09:57
36a9807
Compare
Choose a tag to compare

Cosmos SDK v0.45.13 Release Notes

This release introduces one bug fix, namely #14798 and a bump to Tendermint v0.34.26, as per its security advisory.

Add or update the following replace in the go.mod of your application:

// use informal system fork of tendermint
replace github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.26

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.45.12...v0.45.13

NOTE: The changes mentioned in v0.45.9 are no longer required. The following replace directive can be removed from the chains.

# Can be deleted from go.mod
replace github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0

Instead, github.com/confio/ics23/go must be bumped to v0.9.0.

v0.46.9

07 Feb 12:24
0b64514
Compare
Choose a tag to compare

Cosmos SDK v0.46.9 Release Notes

This release introduces bug fixes and improvements. Notably an extra config in the app.toml, iavl-lazy-loading, to enable lazy loading of IAVL store.
Changes to be made in the app.toml can be found in the CHANGELOG.

Please see the CHANGELOG for an exhaustive list of changes.

Full Commit History: v0.46.8...v0.46.9

NOTE: Add or update the following replace in the go.mod of your application:

// use informal system fork of tendermint
replace github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.26