Skip to content

Releases: cosmos/gaia

v12.0.0

24 Aug 09:52
v12.0.0
6f8067d
Compare
Choose a tag to compare

Gaia v12.0.0 Release Notes

📝 Changelog

Check out the changelog for a list of relevant changes or compare all changes from last release.

🕐 Timeline

This is a mandatory upgrade for the CosmosHub on Wednesday September 13th.

This release is related to the passed Software Upgrade proposal:
https://www.mintscan.io/cosmos/proposals/821

The upgrade will occur at block-height 16985500. A live countdown to the upgrade can be found here:
https://www.mintscan.io/cosmos/blocks/16985500

After the update, validators should follow these instructions to enable Liquid Staking on their delegations.

🚀 Highlights

  • Add Liquid Staking Module (LSM)

❤️ Contributors

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

🔨 Build from source

You must use Golang v1.20.x if building from source.

git clone https://github.com/cosmos/gaia
cd gaia && git checkout v12.0.0
make install

⚡️ Download binaries

Binaries for linux, darwin, and windows are available below.

v12.0.0-rc0

18 Aug 20:20
v12.0.0-rc0
3b9a281
Compare
Choose a tag to compare
v12.0.0-rc0 Pre-release
Pre-release

Gaia v12.0.0 Release Notes

📝 Changelog

Check out the changelog for a list of relevant changes or compare all changes from last release.

🚀 Highlights

  • Add Liquid Staking Module (LSM)

❤️ Contributors

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

🔨 Build from source

git clone https://github.com/cosmos/gaia
cd gaia && git checkout v12.0.0
make install

⚡️ Download binaries

Binaries for linux, darwin, and windows are available below.

v11.0.0

27 Jul 13:42
v11.0.0
541a8d8
Compare
Choose a tag to compare

Gaia v11.0.0 Release Notes

📝 Changelog

Check out the changelog for a list of relevant changes or compare all changes from last release.

🚀 Highlights

This release contains the following changes to Gaia:

  • Bumps Interchain-Security to v2.0.0.
  • Refactors the Global Fee module.
  • Removes all states of the Liquidity module with forced withdrawal for all pool
    coins as a preparation to remove the module.

❤️ Contributors

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

🔨 Build from source

git clone https://github.com/cosmos/gaia
cd gaia && git checkout v11.0.0
make install

⚡️ Download binaries

Binaries for linux, darwin, and windows are available below.

v11.0.0-rc0

18 Jul 18:09
v11.0.0-rc0
6693168
Compare
Choose a tag to compare
v11.0.0-rc0 Pre-release
Pre-release

Gaia v11.0.0 Release Notes

📝 Changelog

Check out the changelog for a list of relevant changes or compare all changes from last release.

🚀 Highlights

This release contains the following changes to Gaia:

  • Bumps Interchain-Security to v2.0.0.
  • Refactors the Global Fee module.
  • Removes all states of the Liquidity module with forced withdrawal for all pool
    coins as a preparation to remove the module.

❤️ Contributors

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

🔨 Build from source

git clone https://github.com/cosmos/gaia
cd gaia && git checkout v11.0.0
make install

⚡️ Download binaries

Binaries for linux, darwin, and windows are available below.

v10.0.2

03 Jul 17:14
a2b14cd
Compare
Choose a tag to compare

Gaia v10.0.2 Release Notes

📝 Changelog

Check out the changelog for a list of relevant changes or compare all changes from last release.

🔨 Build from source

git clone https://github.com/cosmos/gaia
cd gaia && git checkout v10.0.2
make install

⚡️ Download binaries

Binaries for linux, darwin, and windows are available below.

App: gaiad
Version: v10.0.2
Commit: a2b14cdd568273e12b80579b4e22681df95b4cb9
Files:
 22ec222d78c3201c3efc6f8b7a4f95d0  gaiad-v10.0.2-darwin-amd64
 64848324e768524a81cb9b091ccdf7cd  gaiad-v10.0.2-darwin-arm64
 da19b2c642269a49e2e09f931edf8ed8  gaiad-v10.0.2-linux-amd64
 0eee61347a54b231dd0fe0c9fe6b2ee2  gaiad-v10.0.2-linux-arm64
 172f16e1723739f60b471bcf495834c8  gaiad-v10.0.2-windows-amd64.exe
 a63aa4c457e4c1431a69972b412175a6  gaiad-v10.0.2.tar.gz
Checksums-Sha256:
 fa41145ea26eb28f7a62f41a3464a6cc813fc948294369153297742583979d49  gaiad-v10.0.2-darwin-amd64
 983b0f5921e12f47be4387911107f8d3a3478a8f3ca78b6dca6e7ca36021aa13  gaiad-v10.0.2-darwin-arm64
 e8b7ba72c021122ca882f8abf785711c91db29dc550ffc370c924cd0c115758f  gaiad-v10.0.2-linux-amd64
 a61a624245b4654b8fb00d6baea976f0bd5e08ae4977527408f726021f7ad933  gaiad-v10.0.2-linux-arm64
 8e27400037e6e2ae334ea924d2aa9ffb38e2420b7abc153242ff133dab64f21b  gaiad-v10.0.2-windows-amd64.exe
 23cf109fac700a332d714b7042896cefde32eba4e273608d09557bd222271327  gaiad-v10.0.2.tar.gz

v10.0.1

25 May 16:43
a51294b
Compare
Choose a tag to compare

Gaia v10.0.1 Release Notes

Note: This release is consensus breaking and will be applied in a coordinated upgrade

Mainnet Live day
This release is scheduled to go live at block height: https://www.mintscan.io/cosmos/blocks/15816200 , which is ~ Wed Jun 21 2023 between 1900-2200 CET.

❗ The PREFERRED RELEASE for v10 Mainnet at the above block height is THIS RELEASE v10.0.1, which includes the IBC Huckleberry fix. v10.0.0 does NOT contain this fix.

❗ Upgrade Instructions
Detailed migration instructions can be found here:
https://github.com/cosmos/gaia/blob/main/docs/migration/cosmoshub-4-v10-upgrade.md

❗ Important Notices
Golang v1.20.x - You MUST use Golang v1.20.x if you are building the binary from source. This brings Gaia up to date with the latest version Golang, closing a number of issues that are in Golang v1.18.

Be sure to monitor the #cosmos-hub-validators-verified channel in the Cosmos Hub Developers Discord as the estimated height approaches.

Release Details
[v10.0.1] - 2023-05-25

App: gaiad
Version: v10.0.1
Commit: a51294bd988919b4f9a5ce2ad8892f90c85149af
Files:
 1416c37c60686506f9a8ea8f55f9f223  gaiad-v10.0.1-darwin-amd64
 b022ae2aa4ace5dac254c345d96a7acd  gaiad-v10.0.1-darwin-arm64
 853c9c02d8e15eb5c6005e5afaff7904  gaiad-v10.0.1-linux-amd64
 d20fc5c02e10dc44027ff14e0539508f  gaiad-v10.0.1-linux-arm64
 0ba21cac9ac80fdf433c1116366b34b5  gaiad-v10.0.1-windows-amd64.exe
 3d59e19e814a6406236cb471243150ee  gaiad-v10.0.1.tar.gz
Checksums-Sha256:
 d0bee3b4b243fe1f88ad3258f4648de3a73787434702bcac6e31ca38f81a283a  gaiad-v10.0.1-darwin-amd64
 c8124d66ffa99b51da274656f6c3401b1ec9e165a76f3f01699761672e83a136  gaiad-v10.0.1-darwin-arm64
 fcb8210308223d78bc36f3d4c89e2578dcf784994c052cea97efd61f1672cf72  gaiad-v10.0.1-linux-amd64
 db9b69cf224b410c669fa4f820192890357534e74d4693a744ef915028567462  gaiad-v10.0.1-linux-arm64
 c02ab2b8fc347f858db1c33fcacafa2467ca550ed83178aee67331762e876926  gaiad-v10.0.1-windows-amd64.exe
 36b851f78e0ff8bd15df52da50e2bfe40dea79eb96a54fdab7ec58d5f842fb30  gaiad-v10.0.1.tar.gz

v9.1.1

25 May 15:56
66494d1
Compare
Choose a tag to compare

Gaia v9.1.1 Release Notes

This release includes a fix for the huckleberry security advisory. Credits to Felix Wilhelm (@felixwilhelm) of Jump Crypto for the discovery and responsible disclosure via our bug bounty program.

Go Version
For a successful upgrade, please use go 1.18.x if you're compiling the binary from source, other versions of golang have not been tested for compatibility and may cause consensus issues.

Changelog
[v9.1.1] - 2023-05-25

App: gaiad
Version: v9.1.1
Commit: 66494d1ec72cfa0f8800aa8f1545e19d2af47e47
Files:
 fd0a04268d160eca9c325d0ee4b67cbd  gaiad-v9.1.1-darwin-amd64
 8bbb19cbeda4893f6a8cae59179176cd  gaiad-v9.1.1-darwin-arm64
 dc9d46930b3c397f19c4f8423e098724  gaiad-v9.1.1-linux-amd64
 429c6c7e98d6d81e1eacbbc234aa2489  gaiad-v9.1.1-linux-arm64
 afd1db48115a920600978e39a87beafe  gaiad-v9.1.1-windows-amd64.exe
 879141aa972280d00ace0282a9a3ce6d  gaiad-v9.1.1.tar.gz
Checksums-Sha256:
 959f3ddbf3a65b557574527222c5a673b706e9d52a203dfbda2ceb827b760261  gaiad-v9.1.1-darwin-amd64
 0a913a3a9a31456ddfba26eccdfccca61d00b06498faa94019776df391509d27  gaiad-v9.1.1-darwin-arm64
 f62814711be991e535b2fd86f7d4ed8c055bebf774253a06477dc182ce98cdc3  gaiad-v9.1.1-linux-amd64
 a7112c03c7a2bec2a761a3d430bfea9616ed0ebb10c785cafdd6fac117abc504  gaiad-v9.1.1-linux-arm64
 db1d82650ed2a0aa9abccb2bb60dca902c4d1444444f6c76a8b6d61d6bc41e08  gaiad-v9.1.1-windows-amd64.exe
 a57501de8b7516933077075e6a7acab03ba266ea4c0e478fd979703cd02ffecb  gaiad-v9.1.1.tar.gz

v10.0.0

24 May 16:31
v10.0.0
1112942
Compare
Choose a tag to compare

Gaia v10.0.0 Release Notes

Note: This release is consensus breaking and will be applied in a coordinated upgrade

Mainnet Live day
This release is scheduled to go live at block height: https://www.mintscan.io/cosmos/blocks/15816200 , which is ~ Wed Jun 21 2023 between 1900-2200 CET.

❗ The PREFERRED RELEASE for Mainnet at the above block height, is v10.0.1, which includes the IBC Huckleberry fix. Please use that version instead.

❗ Upgrade Instructions
Detailed migration instructions can be found here:
https://github.com/cosmos/gaia/blob/main/docs/migration/cosmoshub-4-v10-upgrade.md

❗ Important Notices
Golang v1.20.x - You MUST use Golang v1.20.x if you are building the binary from source. This brings Gaia up to date with the latest version Golang, closing a number of issues that are in Golang v1.18.

Release Details
[v10.0.0] 2023-05-19

App: gaiad
Version: v10.0.0
Commit: 11129428f7c76d49f41279c1d7ca468e32bf1e0a
Files:
 88b8f917b519a0bf4fd0b3b6cd1504bf  gaiad-v10.0.0-darwin-amd64
 a8487ccde9f946678b2d75eacfe6900c  gaiad-v10.0.0-darwin-arm64
 133cc8f3effb13881ae13eff3eaa70fa  gaiad-v10.0.0-linux-amd64
 b48f888fb1271e7b70c613b209bc7384  gaiad-v10.0.0-linux-arm64
 ce015f2e46ca45764bc3204632bc8fcd  gaiad-v10.0.0-windows-amd64.exe
 e46a0f41255772ed4ac8964da9a8441e  gaiad-v10.0.0.tar.gz
Checksums-Sha256:
 a0703042e4b471209f060cb0f41f8f856d97b12e794d8038ab9b2c93f1168a82  gaiad-v10.0.0-darwin-amd64
 4bbe8393204fff95f3335ca9b60f663a2e558e253375153b3be376e6321484f3  gaiad-v10.0.0-darwin-arm64
 4cd0ff7ed81338018bc440c451dca293d86892f543fab77e2f1726fe66d1ef9d  gaiad-v10.0.0-linux-amd64
 49f5d1421e477d5706f0efff49f662d04cbec16b6ec4795a02da5884c7e71aa0  gaiad-v10.0.0-linux-arm64
 a3cbe55c7665bc3409ea45aa2deaef5e8febe68ce1b8ac94edf3f706e5fc3a70  gaiad-v10.0.0-windows-amd64.exe
 34cbf822cf44efee2903bab85bf35a9f360868299ab60a68d621a5fdacbee345  gaiad-v10.0.0.tar.gz

v10.0.0-rc0

23 May 15:15
v10.0.0-rc0
1112942
Compare
Choose a tag to compare
v10.0.0-rc0 Pre-release
Pre-release

Gaia v10.0.0-rc0 Release Notes

[v10.0.0-rc0] 2023-05-19

App: gaiad
Version: v10.0.0-rc0
Commit: 11129428f7c76d49f41279c1d7ca468e32bf1e0a
Files:
 2486dbe1ca3f78bc08123f5f32562371  gaiad-v10.0.0-rc0-darwin-amd64
 541d781da47b4c5fecebc60b2d8fc8ba  gaiad-v10.0.0-rc0-darwin-arm64
 bbfbd71b0b666e47c78d61b40398312f  gaiad-v10.0.0-rc0-linux-amd64
 ea1aeca50d3a527575a97d38ad375ade  gaiad-v10.0.0-rc0-linux-arm64
 2936b74310830a7ed3ca7ab806a46224  gaiad-v10.0.0-rc0-windows-amd64.exe
 3bf841b89ededf257efa9cc56da8da80  gaiad-v10.0.0-rc0.tar.gz
Checksums-Sha256:
 8f514e5d352bbae6e9ab055a7c497497d5dd151891423f14626f2cd6def03c1b  gaiad-v10.0.0-rc0-darwin-amd64
 1e09943bc2b56a587e0b568bbd4c57e6be8b39c70bcbc778f79857ba68547802  gaiad-v10.0.0-rc0-darwin-arm64
 2ec26d67ed6c91cb3c603180c7f20ee42c45c803baec64a1e441d35352545c20  gaiad-v10.0.0-rc0-linux-amd64
 ad03948fde37c11342cbb1e77b26454f66596efd6a917dd0c5580cd7f5bc6627  gaiad-v10.0.0-rc0-linux-arm64
 cf3bacfad542c42dc169a2f6fb2e459cad1d55e6327639f8438513eb15a8b2c1  gaiad-v10.0.0-rc0-windows-amd64.exe
 08701e424a3795c0771da547168a8b320ea92cd9fb62f18ab43a9d924b1a0a62  gaiad-v10.0.0-rc0.tar.gz

v9.1.0

08 May 12:36
321d15a
Compare
Choose a tag to compare

Gaia v9.1.0 Release Notes

Note: This release is consensus breaking and will be applied in a coordinated upgrade

This upgrade is proposed to take place at height 15,21,3800. The date/time of the upgrade is subject to change as blocks are not generated at a constant interval. You can stay up-to-date using this live countdown page.

The chain id will remain cosmoshub-4.

For full upgrade instructions please see Discord for the following settings/scenarios.

  • Golang version --> v1.18.x
  • Halt Height settings --> MUST be manually set to 15213800
  • Avoiding double signing errors --> Avoid being tombstoned and slashed
  • Dealing with stuck nodes

Be sure to monitor the #cosmos-hub-validators-verified channel in the Cosmos Hub Developers Discord as the estimated height approaches

What's Changed

This release combines two fixes that we judged were urgent to get onto the Cosmos Hub before the launch of the first ICS consumer chain. Please note that user funds were not at risk and these fixes pertain to the liveness of the Hub and consumer chains.

The first fix is to enable the use of multisigs and Ledger devices when assigning keys for consumer chains. The second is to prevent a possible DOS vector involving the reward distribution system.

Multisig fix

On April 25th (a week and a half ago), we began receiving reports that validators using multisigs and Ledger devices were getting errors reading Error: unable to resolve type URL /interchain_security.ccv.provider.v1.MsgAssignConsumerKey: tx parse error when attempting to assign consensus keys for consumer chains.

This was surprising because we had never seen this error before, even though we have done many testnets. The reason for this is probably because people don’t bother to use high security key management techniques in testnets.

We quickly narrowed the problem down to issues having to do with using the PubKey type directly in the MsgAssignConsumerKey transaction, and Amino (a deprecated serialization library still used in Ledger devices and multisigs) not being able to handle this. We attempted to fix this with the assistance of the Cosmos-SDK team, but after making no headway for a few days, we decided to simply use a JSON representation of the PubKey in the transaction. This is how it is usually represented anyway. We have verified that this fixes the problem.

Distribution fix

The ICS distribution system works by allowing consumer chains to send rewards to a module address on the Hub called the FeePoolAddress. From here they are automatically distributed to all validators and delegators through the distribution system that already exists to distribute Atom staking rewards. The FeePoolAddress is usually blocked so that no tokens can be sent to it, but to enable ICS distribution we had to unblock it.

We recently realized that unblocking the FeePoolAddress could enable an attacker to send a huge number of different denoms into the distribution system. The distribution system would then attempt to distribute them all, leading to out of memory errors. Fixing a similar attack vector that existed in the distribution system before ICS led us to this realization.

To fix this problem, we have re-blocked the FeePoolAddress and created a new address called the ConsumerRewardsPool. Consumer chains now send rewards to this new address. There is also a new transaction type called RegisterConsumerRewardDenom. This transaction allows people to register denoms to be used as rewards from consumer chains. It costs 10 Atoms to run this transaction.The Atoms are transferred to the community pool. Only denoms registered with this command are then transferred to the FeePoolAddress and distributed out to delegators and validators.

Note: The fee of 10 Atoms was originally intended to be a parameter that could be changed by governance (10 Atoms might cost too much in the future). However, we ran into some problems creating a new parameter as part of an emergency upgrade. After consulting with the Cosmos-SDK team, we learned that creating new parameters is only supported as part of a scheduled upgrade. So in the current code, the number of Atoms is hardcoded. It will turn into a parameter in the next scheduled upgrade.

Consumer fixes

There is a similar denom issue in the consumer module which we also fix in this release. However, this module is not imported by the Cosmos Hub (it is used only by consumer chains), so we will not cover this fix in these release notes.

Code review guide

It’s important for validators to be able to review the code in upgrades. We’ve created this overview of the relevant changes and the files they are in to make this process easier. We’ve left out modifications that are not imported by the Hub, for example changes to the consumer module or to the test suite.

proto/interchain_security/ccv/provider/v1/query.proto

Adds the request and response definitions for a command to query all registered denoms.

proto/interchain_security/ccv/provider/v1/tx.proto

Modifies MsgAssignConsumerKey to use a JSON string instead of a cosmos.crypto.PubKey type.
Adds MsgRegisterConsumerRewardDenom, allowing people to register consumer reward denoms.

x/ccv/provider/client/cli/query.go

Adds a command to query all registered reward denoms.

x/ccv/provider/client/cli/tx.go

Modifies NewAssignConsumerKeyCmd to use the JSON supplied on the command line directly.
Adds NewRegisterConsumerRewardDenomCmd to register a consumer reward denom.

x/ccv/provider/keeper/distribution.go

Contains the core of the consumer reward denom registration logic.
RegisterConsumerRewardDenom takes the fee out of the user’s account and adds a consumer reward denom using SetConsumerRewardDenom.
TransferRewardsToFeeCollector uses GetAllConsumerRewardDenoms and then iterates over the list, sending the balance of each registered denom from the ConsumerRewardsPool to the FeePoolAddress.

x/ccv/provider/keeper/grpc_query.go

Adds QueryRegisteredConsumerRewardDenoms, containing logic for querying all registered denoms.

x/ccv/provider/keeper/keeper.go

Adds Bank and Distribution keepers which are called in consumer reward registration and distribution code.

x/ccv/provider/keeper/msg_server.go

Modifies AssignConsumerKey to accept JSON strings. Currently only works with ED25519 keys but this is OK since that is what the Cosmos Hub uses.
Adds RegisterConsumerRewardDenom message to register consumer reward denoms.

x/ccv/provider/keeper/params.go

Adds GetConsumerRewardDenomRegistrationFee to get the amount of the registration fee. This is in the params.go file because it will soon be replaced by a real param instead of hardcoded.

Full Changelog: release/v9.0.x...release/v9.1.x

App: gaiad
Version: v9.1.0
Commit: 321d15a574def0f338ceacc5c060159ebba95edc
Files:
 4395e3abfd1febb733c1b3ed0faa0d66  gaiad-v9.1.0-darwin-amd64
 9d6c4066e2a86a82619188e017bf730f  gaiad-v9.1.0-darwin-arm64
 c752e66d5aa1a99134613c328235e8b5  gaiad-v9.1.0-linux-amd64
 7583ed714b130251a2d781e6990f6cd9  gaiad-v9.1.0-linux-arm64
 f4e68233a516320314799b79edc58e3c  gaiad-v9.1.0-windows-amd64.exe
 1d1b7f60f3704b4f6c0065727f4681cc  gaiad-v9.1.0.tar.gz
Checksums-Sha256:
 0530f5e73e003521f7e833bd09ac3b6c1b0ea543d2185cd70032936ee06d42ed  gaiad-v9.1.0-darwin-amd64
 a98cb74526aeba4287103e0e834a42f67588da92d0db5c753657b9b8b8cb1042  gaiad-v9.1.0-darwin-arm64
 591cd6d5432a1996f9d658057ed9d446f1ecfaf5f060f3a7a30740d8722d7b5d  gaiad-v9.1.0-linux-amd64
 098c6fd577b7509c2a2d66a25f1b76bd57a7ed992250e22c6d848e603a30deeb  gaiad-v9.1.0-linux-arm64
 b78e95723a6de2f0b8cc0c89b584001cf5493d72871174a705c0b4936a7f3f86  gaiad-v9.1.0-windows-amd64.exe
 76b1dcd243e5f51221188219cffa23f9aeaf6671cd288ae1c51f070f3b03e7ea  gaiad-v9.1.0.tar.gz