Releases: cosmos/gaia
v12.0.0
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
- Binary Builders (@binary_builders)
- Informal Systems (@informalinc)
- Iqlusion (@iqlusioninc)
- Hypha Worker Co-operative (@HyphaCoop)
- Stride (@stride_zone)
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
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
- Binary Builders (@binary_builders)
- Informal Systems (@informalinc)
- Iqlusion (@iqlusioninc)
- Stride (@stride_zone)
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
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
- Dongsam (@dongsam)
- Informal Systems (@informalinc)
- Notional (@notionaldao)
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
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
- Dongsam (@dongsam)
- Informal Systems (@informalinc)
- Notional (@notionaldao)
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
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
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
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
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
- (deps) #2498 Upgrade multiple dependencies.
- Upgrades cosmos-sdk to v0.45.16-ics. See the v0.45.16 release notes for details.
- Upgrades ibc-go to v4.4.0.
- Upgrades CometBFT to v0.34.28.
- (gaia) Upgrades Golang prerequisite from 1.18 to 1.20. See (https://go.dev/blog/go1.20) for details.
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
Gaia v10.0.0-rc0 Release Notes
[v10.0.0-rc0] 2023-05-19
- (deps) #2498 Bump multiple dependencies.
- Bump cosmos-sdk to v0.45.16-ics. See the v0.45.16 release notes for details.
- Bump ibc-go to v4.4.0.
- Bump CometBFT to v0.34.28.
- (gaia) Bump Golang prerequisite from 1.18 to 1.20. See (https://go.dev/blog/go1.20) for details.
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
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
- (fix!) #2474 Multisig and distribution fix in Interchain-Security. Bump Interchain-Security to v1.1.0-multiden.
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