Skip to content

Commit

Permalink
docs: prepare v14.2.0 (cosmos#2981)
Browse files Browse the repository at this point in the history
* add changelog section for 14.2.0

* release notes and upgrading guidelines

* upgrading instructions draft

* add block height

* add height to release notes
  • Loading branch information
mpoke authored Mar 6, 2024
1 parent c47179a commit 3aa6e50
Show file tree
Hide file tree
Showing 6 changed files with 172 additions and 8 deletions.
2 changes: 2 additions & 0 deletions .changelog/v14.2.0/dependencies/2980-bump-pfm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Bump [PFM](https://github.com/cosmos/ibc-apps/tree/main/middleware) to `v4.1.2-0.20240228222021-455757bb5771`.
([\#2980](https://github.com/cosmos/gaia/pull/2980))
2 changes: 2 additions & 0 deletions .changelog/v14.2.0/state-breaking/2980-fix-pfm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Emergency patch for [PFM](https://github.com/cosmos/ibc-apps/tree/main/middleware).
([\#2980](https://github.com/cosmos/gaia/pull/2980))
3 changes: 3 additions & 0 deletions .changelog/v14.2.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*March 6, 2024*

**This is an emergency release.**
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# CHANGELOG

## v14.2.0

*March 6, 2024*

**This is an emergency release.**

### DEPENDENCIES

- Bump [PFM](https://github.com/cosmos/ibc-apps/tree/main/middleware) to `v4.1.2-0.20240228222021-455757bb5771`.
([\#2980](https://github.com/cosmos/gaia/pull/2980))

### STATE BREAKING

- Emergency patch for [PFM](https://github.com/cosmos/ibc-apps/tree/main/middleware).
([\#2980](https://github.com/cosmos/gaia/pull/2980))

## v14.1.0

*November 21, 2023*
Expand Down
12 changes: 7 additions & 5 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
# Gaia v14.1.0 Release Notes
# Gaia v14.2.0 Release Notes

***This is a special point release in the v14 release series. It replaces the [v14.0.0](https://github.com/cosmos/gaia/releases/tag/v14.0.0) release, which is deprecated.***
***This is an emergency release and should be applied only at height 19460500.***

Upgrade notes: https://github.com/cosmos/gaia/blob/v14.2.0/UPGRADING.md

## 📝 Changelog

Check out the [changelog](https://github.com/cosmos/gaia/blob/v14.1.0/CHANGELOG.md) for a list of relevant changes or [compare all changes](https://github.com/cosmos/gaia/compare/v13.0.2...v14.1.0) from last release.
Check out the [changelog](https://github.com/cosmos/gaia/blob/v14.2.0/CHANGELOG.md) for a list of relevant changes or [compare all changes](https://github.com/cosmos/gaia/compare/v14.1.0...v14.2.0) from last release.

## 🚀 Highlights

<!-- Add any highlights of this release -->

This release upgrade ICS to v2.4.0-lsm adding the cryptographic verification of equivocation feature and deprecating the equivocation proposals.
This is an emergency release that fixes an issue with PFM.

## 🔨 Build from source

```bash
git clone https://github.com/cosmos/gaia
cd gaia && git checkout v14.1.0
cd gaia && git checkout v14.2.0
make install
```

Expand Down
145 changes: 142 additions & 3 deletions UPGRADING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,144 @@
# Upgrading Gaia
# Upgrade Gaia from v14.1.0 to v14.2.0

This guide provides instructions for upgrading to specific versions of Gaia.
## This is a security upgrade. IT IS CONSENSUS BREAKING, so please apply the fix only on height 19460500.

## [Unreleased]
### Release Details
* https://github.com/cosmos/gaia/releases/tag/v14.2.0
* Chain upgrade height : `19460500`. Exact upgrade time can be checked [here](https://www.mintscan.io/cosmos/block/19460500).
* Go version has been frozen at `1.20`. If you are going to build `gaiad` binary from source, make sure you are using the right GO version!

# Performing the co-ordinated upgrade

This co-ordinated upgrades requires validators to stop their validators at `halt-height`, switch their binary to `v14.2.0` and restart their nodes with the new version.

The exact sequence of steps depends on your configuration. Please take care to modify your configuration appropriately if your setup is not included in the instructions.

# Manual steps

## Step 1: Configure `halt-height` and restart the node.

This upgrade requires `gaiad` halting execution at a pre-selected `halt-height`. Failing to stop at `halt-height` may cause a consensus failure during chain execution at a later time.

There are two mutually exclusive options for this stage:

### Option 1: Set the halt height by modifying `app.toml`

* Stop the gaiad process.

* Edit the application configuration file at `~/.gaia/config/app.toml` so that `halt-height` reflects the upgrade plan:

```toml
# Note: Commitment of state will be attempted on the corresponding block.
halt-height = 19460500
```
* restart gaiad process

* Wait for the upgrade height and confirm that the node has halted

### Option 2: Restart the `gaiad` binary with command line flags

* Stop the gaiad process.

* Do not modify `app.toml`. Restart the `gaiad` process with the flag `--halt-height`:
```shell
gaiad start --halt-height 19460500
```

* Wait for the upgrade height and confirm that the node has halted

Upon reaching the `halt-height` you need to replace the `v14.1.0` gaiad binary with the new `gaiad v14.2.0` binary and remove the `halt-height` constraint.
Depending on your setup, you may need to set `halt-height = 0` in your `app.toml` before resuming operations.
```shell
git clone https://github.com/cosmos/gaia.git
```

### Build and start the binary

```shell
cd $HOME/gaia
git pull
git fetch --tags
git checkout v14.2.0
make install

# verify install
gaiad version
# v14.2.0
```

```shell
gaiad start # starts the v14.2.0 node
```

## Cosmovisor steps

### Prerequisite: Alter systemd service configuration

Disable automatic restart of the node service. To do so please alter your `gaiad.service` file configuration and set appropriate lines to following values.

```
Restart=no
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=false"
```

After that you will need to run `sudo systemctl daemon-reload` to apply changes in the service configuration.

There is no need to restart the node yet; these changes will get applied during the node restart in the next step.

# Setup Cosmovisor
## Create the updated gaiad binary of v14.2.0

### Go to gaiad directory if present else clone the repository

```shell
git clone https://github.com/cosmos/gaia.git
```

### Follow these steps if gaiad repo already present

```shell
cd $HOME/.gaia
git pull
git fetch --tags
git checkout v14.2.0
make install
```

### Check the new gaiad version, verify the latest commit hash
```shell
$ gaiad version --long
name: gaiad
server_name: gaiad
version: 14.2.0
commit: <commit-hash>
...
```

### Or check checksum of the binary if you decided to download it

```shell
$ shasum -a 256 gaiad-v14.2.0-linux-amd64
<checksum> gaiad-v14.2.0-linux-amd64
```

## Copy the new gaiad (v14.2.0) binary to cosmovisor current directory
```shell
cp $GOPATH/bin/gaiad ~/.gaiad/cosmovisor/current/bin
```

## Restore service file settings

If you are using a service file, restore the previous `Restart` settings in your service file:
```
Restart=On-failure
```
Reload the service control `sudo systemctl daemon-reload`.

# Revert `gaiad` configurations

Depending on which path you chose for Step 1, either:

* Reset `halt-height = 0` option in the `app.toml` or
* Remove it from start parameters of the gaiad binary and start node again

0 comments on commit 3aa6e50

Please sign in to comment.