Skip to content

docs: chain release v1.20.3 - #183

Merged
bangjelkoski merged 1 commit into
mainfrom
docs/release-v1.20.3
Jul 25, 2026
Merged

docs: chain release v1.20.3#183
bangjelkoski merged 1 commit into
mainfrom
docs/release-v1.20.3

Conversation

@maxim-inj

@maxim-inj maxim-inj commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add the v1.20.3 Mainnet validator upgrade guide for IIP-677
  • document the upgrade height and time, rollback procedure, release download, and binary version metadata
  • add the new guide to the Mainnet Validator navigation

Validation

  • parsed .gitbook/docs.json as JSON
  • parsed the new page with the repository's Markdown parser
  • verified the release asset URL resolves successfully
  • ran git diff --cached --check

Summary by CodeRabbit

  • New Features
    • Added a Mainnet Validator guide for upgrading to canonical chain version v1.20.3.
    • Included upgrade timing, target block height, installation steps, backup guidance, and recovery procedures.
    • Documented expected upgrade outcomes, including rollback instructions to v1.20.1.
  • Documentation
    • Added the v1.20.3 upgrade guide to the Mainnet Validator documentation navigation.

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a Mainnet Validator guide for canonical chain v1.20.3, covering upgrade timing, execution, verification, recovery, and downgrade steps, and registers the page in GitBook navigation.

Changes

Mainnet validator upgrade documentation

Layer / File(s) Summary
v1.20.3 upgrade procedure
.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx
Documents the upgrade block, coordination flow, backups, v1.20.3 binary installation, version checks, service restarts, and recovery or downgrade procedures.
Navigation entry
.gitbook/docs.json
Adds the v1.20.3 guide to the Mainnet Validator canonical chain upgrade pages list.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: bguiz

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and relevant to the v1.20.3 chain release docs, though it is broader than the added validator upgrade guide.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/release-v1.20.3

Comment @coderabbitai help to get the list of available commands.

@mintlify

mintlify Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
injective_docs 🟢 Ready View Preview Jul 25, 2026, 11:15 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx:
- Around line 90-108: Update the instructions after the foreground `injectived
start` command to explicitly state that Step 6 verification and Step 7 `peggo
orchestrator` must run from a separate terminal, tmux session, or service
manager.
- Around line 51-55: Update the cache removal command in the upgrade
instructions to use the validator home path, matching the established
~/.injectived node-home references, so it clears ~/.injectived/wasm/wasm/cache
regardless of the operator’s current directory.
- Line 45: Update the recovery procedure around the failed-upgrade instructions
to provide executable steps: stop the node, reinstall Injective Chain v1.20.1,
restore the snapshot and priv_validator_state.json, then restart the node before
continuing. Correct the wasm cache path to ~/.injectived/wasm/wasm/cache/, and
adjust the injectived command so it runs separately or in the background,
allowing subsequent peggo commands to execute.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f0cf35c5-186d-4e64-956f-b398ce8b0ef8

📥 Commits

Reviewing files that changed from the base of the PR and between 1a31f49 and 65f72b1.

📒 Files selected for processing (2)
  • .gitbook/docs.json
  • .gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx


It is critically important to backup the `.injectived/data/priv_validator_state.json` file after stopping your injectived process. This file is updated every block as your validator participates in consensus rounds. It is a critical file needed to prevent double-signing in case the upgrade fails and the previous chain needs to be restarted.

In the event that the upgrade does not succeed, validators and operators must restore the snapshot and downgrade back to Injective Chain release [v1.20.1](https://github.com/InjectiveFoundation/injective-core/releases/tag/v1.20.1-1782532109) and continue this earlier chain until the next upgrade announcement.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

git ls-files .gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx && \
wc -l .gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx && \
cat -n .gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx | sed -n '1,140p'

Repository: InjectiveLabs/injective-docs

Length of output: 5391


🏁 Script executed:

# Inspect the relevant file section and search for the suspicious paths/commands.
cat -n .gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx | sed -n '35,110p' && \
printf '\n--- search ---\n' && \
rg -n --no-heading '\.injectived|injectived start|peggo|priv_validator_state\.json|~/.injectived' .gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx

Repository: InjectiveLabs/injective-docs

Length of output: 4558


Make the recovery procedure executable.

  • Line 45 only says to restore and downgrade; add the actual stop → reinstall v1.20.1 → restore snapshot plus priv_validator_state.json → restart sequence.
  • Line 54 should use ~/.injectived/wasm/wasm/cache/ instead of .injectived/....
  • Line 93 starts injectived in the middle of the flow; run it separately or background it so the later peggo steps can execute.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx at line
45, Update the recovery procedure around the failed-upgrade instructions to
provide executable steps: stop the node, reinstall Injective Chain v1.20.1,
restore the snapshot and priv_validator_state.json, then restart the node before
continuing. Correct the wasm cache path to ~/.injectived/wasm/wasm/cache/, and
adjust the injectived command so it runs separately or in the background,
allowing subsequent peggo commands to execute.

Comment on lines +51 to +55
You must remove the wasm cache before upgrading to the new version:

```shell
rm -rf .injectived/wasm/wasm/cache/
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Use the validator home path when clearing the cache.

This relative path silently does nothing when the operator is not in their home directory, leaving the required cache uncleared. Lines 41 and 70 establish ~/.injectived as the node home.

Proposed fix
-rm -rf .injectived/wasm/wasm/cache/
+rm -rf ~/.injectived/wasm/wasm/cache/
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You must remove the wasm cache before upgrading to the new version:
```shell
rm -rf .injectived/wasm/wasm/cache/
```
You must remove the wasm cache before upgrading to the new version:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx around
lines 51 - 55, Update the cache removal command in the upgrade instructions to
use the validator home path, matching the established ~/.injectived node-home
references, so it clears ~/.injectived/wasm/wasm/cache regardless of the
operator’s current directory.

Comment on lines +90 to +108
5. Start `injectived`:

```bash
injectived start
```

6. Verify you are currently running the correct version (v1.20.3) of `peggo` after downloading the v1.20.3 release:

```bash
$ peggo version
Version v1.20.3 (5c3143e)
Compiled at 20260725-1056 using Go go1.26.4 (amd64)
```

7. Start peggo:

```bash
peggo orchestrator
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Run peggo from a separate terminal or service.

injectived start on Line 93 runs in the foreground, so the later peggo verification and startup commands are unreachable in the same shell. State that Step 6 onward must use another terminal, tmux session, or service manager.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx around
lines 90 - 108, Update the instructions after the foreground `injectived start`
command to explicitly state that Step 6 verification and Step 7 `peggo
orchestrator` must run from a separate terminal, tmux session, or service
manager.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation for the Injective Mainnet validator upgrade to canonical chain release v1.20.3 (IIP-677), and exposes it via the GitBook navigation so validators can follow a version-specific runbook.

Changes:

  • Added a new Mainnet Validator upgrade guide for v1.20.3, including upgrade height/time, install steps, and rollback guidance.
  • Linked the new v1.20.3 guide into the Mainnet Validator navigation in .gitbook/docs.json.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx New validator upgrade runbook for v1.20.3 (timing, procedure, recovery).
.gitbook/docs.json Adds the v1.20.3 page to the Mainnet Validator navigation list.
Comments suppressed due to low confidence (1)

.gitbook/infra/validator-mainnet/canonical-chain-upgrade-v1.20.3.mdx:43

  • "backup" is used as a verb here; for the action, "back up" is the correct form. This is an important instruction, so it’s worth keeping the wording precise.
It is critically important to backup the `.injectived/data/priv_validator_state.json` file after stopping your injectived process. This file is updated every block as your validator participates in consensus rounds. It is a critical file needed to prevent double-signing in case the upgrade fails and the previous chain needs to be restarted.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


## Recovery

Prior to exporting chain state, validators are encouraged to take a full data snapshot at the export height before proceeding. Snapshotting depends heavily on infrastructure, but generally this can be done by backing up the `.injectived` directory.
You must remove the wasm cache before upgrading to the new version:

```shell
rm -rf .injectived/wasm/wasm/cache/
Comment on lines +22 to +25
1. Vote and wait till the node panics at block height **176273000**.
2. Backing up configs, data, and keys used for running the Injective Chain.
3. Install the [v1.20.3](https://github.com/InjectiveFoundation/injective-core/releases/tag/v1.20.3-1784976496) binaries.
4. Start your node with the new injectived binary to fulfill the upgrade.
@bangjelkoski
bangjelkoski merged commit 9fd6f52 into main Jul 25, 2026
5 checks passed
@mintlify

mintlify Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
injective_docs 🟡 Building Jul 25, 2026, 11:14 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants