From 52399ab92f2ca562bd10bc4524274bb610458f88 Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Tue, 12 May 2026 18:13:56 +0200 Subject: [PATCH 1/7] docs: add v1.4.6 upgrade pages for testnet and mainnet Draft public operator pages for the upcoming v1.4 upgrade. Proposal IDs and upgrade heights left as / placeholders, to be filled in when the upgrade is scheduled. Highlights link-deposit removal, wasmd v0.54.7 bump, nexus bitmap size reduction, and CometBFT v0.38.23. No config.toml changes expected for nodes already on v1.3.x. --- .../docs/resources/mainnet/upgrades/v146.mdx | 113 ++++++++++++++++++ .../docs/resources/testnet/upgrades/v146.mdx | 113 ++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 src/content/docs/resources/mainnet/upgrades/v146.mdx create mode 100644 src/content/docs/resources/testnet/upgrades/v146.mdx diff --git a/src/content/docs/resources/mainnet/upgrades/v146.mdx b/src/content/docs/resources/mainnet/upgrades/v146.mdx new file mode 100644 index 000000000..90bd9a3fe --- /dev/null +++ b/src/content/docs/resources/mainnet/upgrades/v146.mdx @@ -0,0 +1,113 @@ +# Mainnet upgrade: v1.4.6 + +import { Callout } from "/src/components/callout"; + +Instructions for the mainnet upgrade to axelar-core `v1.4.6`. + +The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.6). + +Upgrade height **TBD** — proposal **TBD** — see [countdown](https://www.mintscan.io/axelar/block/) once scheduled. + +## Binary Types + +The v1.4.6 release provides **two Linux binaries**: + +- **[Static](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6-static) binary (`axelard-linux-amd64-v1.4.6-static`)** + - Contains a statically linked `libwasmvm` + - **Does not require** installing or configuring `libwasmvm` + +- **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6) linked binary (`axelard-linux-amd64-v1.4.6`)** + - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x — no change if you already run the v1.3.x dynamic binary) + - Must have the library directory on `LD_LIBRARY_PATH` + + + `axelard` must be built with `go-1.25` for this release (same as v1.3.x). + + If using the **static** binary, no `wasmvm` setup is required. + + If using the **dynamic** binary, keep `libwasmvm v2.2.4` + ([libwasmvm.x86_64.so](https://github.com/CosmWasm/wasmvm/releases/tag/v2.2.4)) on `LD_LIBRARY_PATH`. + + +## About the v1.4 upgrade + +The `v1.4` upgrade is a consensus-breaking release for Axelar mainnet. Highlights: + +- **Removes the link-deposit protocol.** The legacy non-GMP token-transfer paths (linked deposit addresses, direct token transfers) that were deprecated in v1.3.1 are now fully removed. Pending link-deposit state is cleaned up in the upgrade handler. +- **Bumps CosmWasm `wasmd` to v0.54.7.** +- **Reduces `maxBitmapSize` in nexus maintainer state** (32,768 → 1,024) to lower per-validator memory pressure. +- **CometBFT v0.38.23**. +- Vald correctness: reject votes on failed polls. + +No CosmWasm contract migrations are required for this upgrade. No `config.toml` / `app.toml` changes are required relative to a node already running v1.3.x with the post-v1.3.0 settings (`iavl-cache-size = 0`, `iavl-disable-fastnode = true`, `timeout_commit = 1s`). + +## Upgrade Instructions + +1. If you're a validator or have delegated to one, please vote for the upgrade proposal via: + +```bash +axelard tx gov vote yes --from validator +``` + +2. Wait for the proposed upgrade block. Your node will panic at that block height with a log: `{"level":"error","module":"consensus","err":"UPGRADE \"v1.4\" NEEDED at height: ",`. + +Stop your node after chain halt: + +```bash +pkill -f 'axelard start' +# Validators also need to stop vald/tofnd +pkill -f 'vald-start' +pkill -f tofnd +``` + +3. Backup the state: + +```bash +cp -r ~/.axelar/.core/data ~/.axelar-dojo-1-upgrade-1.4.6/.core/data +``` + + + ⚠️ **Important:** If you backup the entire folder, `~/.axelar/.core`, that'll + also include your private keys (inside `config` and `keyring-file` + subfolders). That can be dangerous if anyone gets access to your backups. We + recommend backing up keys separately when you first create your node, and then + excluding them from any data backups. + + +4. Restart your `axelard` node with the new `v1.4.6` build. + +5. If you're a validator also restart `vald` with `v1.4.6` and `tofnd` with `v1.0.1` (unchanged from v1.3.x). + +### Example using join scripts (axelarate-community) + +```bash +# in axelarate-community repo +git checkout main +git pull +KEYRING_PASSWORD="pw-1" ./scripts/node.sh -n mainnet -a v1.4.6 +# For validators, restart vald/tofnd +KEYRING_PASSWORD="pw-1" TOFND_PASSWORD="pw-2" ./scripts/validator-tools-host.sh -n mainnet -a v1.4.6 -q v1.0.1 +``` + +## Ampd + +For verifiers, refer to the matching `ampd` release notes under [`axelar-contract-deployments/releases/ampd`](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/releases/ampd) for the version compatible with `axelard v1.4.6`. The `ampd` upgrade must be done **after** the `axelard` upgrade. + +## Rollback + +This is a state-machine-breaking upgrade. **There is no in-place rollback** to v1.3.x once your node has executed the `v1.4` upgrade handler — the link-deposit removal and parameter changes are persisted to state. If rollback is required, restore from the pre-upgrade snapshot you took in step 3. + +## Troubleshooting + +If you encounter a **hash error**, ensure you have `libwasmvm v2.2.4`: + +https://github.com/CosmWasm/wasmvm/releases/download/v2.2.4/libwasmvm.x86_64.so + +Before restarting your node: + +1. Make sure `LD_LIBRARY_PATH` includes the directory of `libwasmvm` (dynamic binary only). +2. Docker users do **not** need to modify anything. + +If you see the error `undefined symbol: migrate_with_info`, switch to the statically linked binary (`axelard-linux-amd64-v1.4.6-static`). + +If you see the error `app hash` mismatch after the upgrade, verify all replicas in your fleet were swapped to v1.4.6 before the upgrade height. Mixed binaries across replicas after the upgrade height will fork. diff --git a/src/content/docs/resources/testnet/upgrades/v146.mdx b/src/content/docs/resources/testnet/upgrades/v146.mdx new file mode 100644 index 000000000..f1f53a1a1 --- /dev/null +++ b/src/content/docs/resources/testnet/upgrades/v146.mdx @@ -0,0 +1,113 @@ +# Testnet upgrade: v1.4.6 + +import { Callout } from "/src/components/callout"; + +Instructions for the testnet upgrade to axelar-core `v1.4.6`. + +The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.6). + +Upgrade height **TBD** — proposal **TBD** — see [countdown](https://www.mintscan.io/axelar-testnet/block/) once scheduled. + +## Binary Types + +The v1.4.6 release provides **two Linux binaries**: + +- **[Static](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6-static) binary (`axelard-linux-amd64-v1.4.6-static`)** + - Contains a statically linked `libwasmvm` + - **Does not require** installing or configuring `libwasmvm` + +- **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6) linked binary (`axelard-linux-amd64-v1.4.6`)** + - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x — no change if you already run the v1.3.x dynamic binary) + - Must have the library directory on `LD_LIBRARY_PATH` + + + `axelard` must be built with `go-1.25` for this release (same as v1.3.x). + + If using the **static** binary, no `wasmvm` setup is required. + + If using the **dynamic** binary, keep `libwasmvm v2.2.4` + ([libwasmvm.x86_64.so](https://github.com/CosmWasm/wasmvm/releases/tag/v2.2.4)) on `LD_LIBRARY_PATH`. + + +## About the v1.4 upgrade + +The `v1.4` upgrade is a consensus-breaking release. Highlights: + +- **Removes the link-deposit protocol.** The legacy non-GMP token-transfer paths (linked deposit addresses, direct token transfers) that were deprecated in v1.3.1 are now fully removed. Pending link-deposit state is cleaned up in the upgrade handler. +- **Bumps CosmWasm `wasmd` to v0.54.7.** +- **Reduces `maxBitmapSize` in nexus maintainer state** (32,768 → 1,024) to lower per-validator memory pressure. +- **CometBFT v0.38.23**. +- Vald correctness: reject votes on failed polls. + +No CosmWasm contract migrations are required for this upgrade. No `config.toml` / `app.toml` changes are required relative to a node already running v1.3.x with the post-v1.3.0 settings (`iavl-cache-size = 0`, `iavl-disable-fastnode = true`, `timeout_commit = 1s`). + +## Upgrade Instructions + +1. If you're a validator or have delegated to one, please vote for the upgrade proposal via: + +```bash +axelard tx gov vote yes --from validator +``` + +2. Wait for the proposed upgrade block. Your node will panic at that block height with a log: `{"level":"error","module":"consensus","err":"UPGRADE \"v1.4\" NEEDED at height: ",`. + +Stop your node after chain halt: + +```bash +pkill -f 'axelard start' +# Validators also need to stop vald/tofnd +pkill -f 'vald-start' +pkill -f tofnd +``` + +3. Backup the state: + +```bash +cp -r ~/.axelar_testnet/.core/data ~/.axelar-lisbon-3-upgrade-1.4.6/.core/data +``` + + + ⚠️ **Important:** If you backup the entire folder, `~/.axelar_testnet/.core`, that'll + also include your private keys (inside `config` and `keyring-file` + subfolders). That can be dangerous if anyone gets access to your backups. We + recommend backing up keys separately when you first create your node, and then + excluding them from any data backups. + + +4. Restart your `axelard` node with the new `v1.4.6` build. + +5. If you're a validator also restart `vald` with `v1.4.6` and `tofnd` with `v1.0.1` (unchanged from v1.3.x). + +### Example using join scripts (axelarate-community) + +```bash +# in axelarate-community repo +git checkout main +git pull +KEYRING_PASSWORD="pw-1" ./scripts/node.sh -n testnet -a v1.4.6 +# For validators, restart vald/tofnd +KEYRING_PASSWORD="pw-1" TOFND_PASSWORD="pw-2" ./scripts/validator-tools-host.sh -n testnet -a v1.4.6 -q v1.0.1 +``` + +## Ampd + +For verifiers, refer to the matching `ampd` release notes under [`axelar-contract-deployments/releases/ampd`](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/releases/ampd) for the version compatible with `axelard v1.4.6`. The `ampd` upgrade must be done **after** the `axelard` upgrade. + +## Rollback + +This is a state-machine-breaking upgrade. **There is no in-place rollback** to v1.3.x once your node has executed the `v1.4` upgrade handler — the link-deposit removal and parameter changes are persisted to state. If rollback is required, restore from the pre-upgrade snapshot you took in step 3. + +## Troubleshooting + +If you encounter a **hash error**, ensure you have `libwasmvm v2.2.4`: + +https://github.com/CosmWasm/wasmvm/releases/download/v2.2.4/libwasmvm.x86_64.so + +Before restarting your node: + +1. Make sure `LD_LIBRARY_PATH` includes the directory of `libwasmvm` (dynamic binary only). +2. Docker users do **not** need to modify anything. + +If you see the error `undefined symbol: migrate_with_info`, switch to the statically linked binary (`axelard-linux-amd64-v1.4.6-static`). + +If you see the error `app hash` mismatch after the upgrade, verify all replicas in your fleet were swapped to v1.4.6 before the upgrade height. Mixed binaries across replicas after the upgrade height will fork. From a02b31fbef0d4a5531c60fbefa419a84da99f566 Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Tue, 12 May 2026 18:24:53 +0200 Subject: [PATCH 2/7] docs(nav): add v1.4(.6) sidebar entries for mainnet and testnet Links the newly added mainnet/upgrades/v146.mdx and testnet/upgrades/v146.mdx pages from the Upgrades sidebar. --- src/layouts/navigation.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/layouts/navigation.ts b/src/layouts/navigation.ts index 9c86ffebb..3b05c6aa8 100644 --- a/src/layouts/navigation.ts +++ b/src/layouts/navigation.ts @@ -737,6 +737,10 @@ export const getNavigation = (section) => { { title: "Mainnet axelard", children: [ + { + title: "v1.4", + href: "/resources/mainnet/upgrades/v146/", + }, { title: "v1.3", href: "https://github.com/axelarnetwork/axelar-contract-deployments/blob/main/releases/axelard/2025-11-v1.3.2.md", @@ -814,6 +818,10 @@ export const getNavigation = (section) => { { title: "Testnet axelard", children: [ + { + title: "v1.4.6", + href: "/resources/testnet/upgrades/v146/", + }, { title: "v1.3.1", href: "/resources/testnet/upgrades/v131/", From b71b95106fad4420258b0db61f8b244687273b83 Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Tue, 12 May 2026 18:26:42 +0200 Subject: [PATCH 3/7] docs(nav): use 'v1.4' title for testnet sidebar entry (consistency with mainnet) --- src/content/docs/resources/mainnet/upgrades/v146.mdx | 6 +++--- src/content/docs/resources/testnet/upgrades/v146.mdx | 6 +++--- src/layouts/navigation.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/docs/resources/mainnet/upgrades/v146.mdx b/src/content/docs/resources/mainnet/upgrades/v146.mdx index 90bd9a3fe..42abdafa9 100644 --- a/src/content/docs/resources/mainnet/upgrades/v146.mdx +++ b/src/content/docs/resources/mainnet/upgrades/v146.mdx @@ -6,7 +6,7 @@ Instructions for the mainnet upgrade to axelar-core `v1.4.6`. The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.6). -Upgrade height **TBD** — proposal **TBD** — see [countdown](https://www.mintscan.io/axelar/block/) once scheduled. +Upgrade height: **TBD**. Proposal: **TBD**. See [countdown](https://www.mintscan.io/axelar/block/) once scheduled. ## Binary Types @@ -17,7 +17,7 @@ The v1.4.6 release provides **two Linux binaries**: - **Does not require** installing or configuring `libwasmvm` - **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6) linked binary (`axelard-linux-amd64-v1.4.6`)** - - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x — no change if you already run the v1.3.x dynamic binary) + - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x, no change if you already run the v1.3.x dynamic binary) - Must have the library directory on `LD_LIBRARY_PATH` @@ -95,7 +95,7 @@ For verifiers, refer to the matching `ampd` release notes under [`axelar-contrac ## Rollback -This is a state-machine-breaking upgrade. **There is no in-place rollback** to v1.3.x once your node has executed the `v1.4` upgrade handler — the link-deposit removal and parameter changes are persisted to state. If rollback is required, restore from the pre-upgrade snapshot you took in step 3. +This is a state-machine-breaking upgrade. **There is no in-place rollback** to v1.3.x once your node has executed the `v1.4` upgrade handler. The link-deposit removal and parameter changes are persisted to state. If rollback is required, restore from the pre-upgrade snapshot you took in step 3. ## Troubleshooting diff --git a/src/content/docs/resources/testnet/upgrades/v146.mdx b/src/content/docs/resources/testnet/upgrades/v146.mdx index f1f53a1a1..0983b0438 100644 --- a/src/content/docs/resources/testnet/upgrades/v146.mdx +++ b/src/content/docs/resources/testnet/upgrades/v146.mdx @@ -6,7 +6,7 @@ Instructions for the testnet upgrade to axelar-core `v1.4.6`. The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.6). -Upgrade height **TBD** — proposal **TBD** — see [countdown](https://www.mintscan.io/axelar-testnet/block/) once scheduled. +Upgrade height: **TBD**. Proposal: **TBD**. See [countdown](https://www.mintscan.io/axelar-testnet/block/) once scheduled. ## Binary Types @@ -17,7 +17,7 @@ The v1.4.6 release provides **two Linux binaries**: - **Does not require** installing or configuring `libwasmvm` - **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6) linked binary (`axelard-linux-amd64-v1.4.6`)** - - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x — no change if you already run the v1.3.x dynamic binary) + - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x, no change if you already run the v1.3.x dynamic binary) - Must have the library directory on `LD_LIBRARY_PATH` @@ -95,7 +95,7 @@ For verifiers, refer to the matching `ampd` release notes under [`axelar-contrac ## Rollback -This is a state-machine-breaking upgrade. **There is no in-place rollback** to v1.3.x once your node has executed the `v1.4` upgrade handler — the link-deposit removal and parameter changes are persisted to state. If rollback is required, restore from the pre-upgrade snapshot you took in step 3. +This is a state-machine-breaking upgrade. **There is no in-place rollback** to v1.3.x once your node has executed the `v1.4` upgrade handler. The link-deposit removal and parameter changes are persisted to state. If rollback is required, restore from the pre-upgrade snapshot you took in step 3. ## Troubleshooting diff --git a/src/layouts/navigation.ts b/src/layouts/navigation.ts index 3b05c6aa8..d4055452a 100644 --- a/src/layouts/navigation.ts +++ b/src/layouts/navigation.ts @@ -819,7 +819,7 @@ export const getNavigation = (section) => { title: "Testnet axelard", children: [ { - title: "v1.4.6", + title: "v1.4", href: "/resources/testnet/upgrades/v146/", }, { From 69dc9f2940eac114490f8b7eae6fc5740622ccd9 Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Wed, 17 Jun 2026 18:46:17 -0400 Subject: [PATCH 4/7] docs: bump v1.4 upgrade pages from v1.4.6 to v1.4.7 --- .../mainnet/upgrades/{v146.mdx => v147.mdx} | 28 +++++++++---------- .../testnet/upgrades/{v146.mdx => v147.mdx} | 28 +++++++++---------- src/layouts/navigation.ts | 4 +-- 3 files changed, 30 insertions(+), 30 deletions(-) rename src/content/docs/resources/mainnet/upgrades/{v146.mdx => v147.mdx} (82%) rename src/content/docs/resources/testnet/upgrades/{v146.mdx => v147.mdx} (83%) diff --git a/src/content/docs/resources/mainnet/upgrades/v146.mdx b/src/content/docs/resources/mainnet/upgrades/v147.mdx similarity index 82% rename from src/content/docs/resources/mainnet/upgrades/v146.mdx rename to src/content/docs/resources/mainnet/upgrades/v147.mdx index 42abdafa9..3e6ef4d17 100644 --- a/src/content/docs/resources/mainnet/upgrades/v146.mdx +++ b/src/content/docs/resources/mainnet/upgrades/v147.mdx @@ -1,22 +1,22 @@ -# Mainnet upgrade: v1.4.6 +# Mainnet upgrade: v1.4.7 import { Callout } from "/src/components/callout"; -Instructions for the mainnet upgrade to axelar-core `v1.4.6`. +Instructions for the mainnet upgrade to axelar-core `v1.4.7`. -The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.6). +The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.7). Upgrade height: **TBD**. Proposal: **TBD**. See [countdown](https://www.mintscan.io/axelar/block/) once scheduled. ## Binary Types -The v1.4.6 release provides **two Linux binaries**: +The v1.4.7 release provides **two Linux binaries**: -- **[Static](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6-static) binary (`axelard-linux-amd64-v1.4.6-static`)** +- **[Static](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.7/axelard-linux-amd64-v1.4.7-static) binary (`axelard-linux-amd64-v1.4.7-static`)** - Contains a statically linked `libwasmvm` - **Does not require** installing or configuring `libwasmvm` -- **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6) linked binary (`axelard-linux-amd64-v1.4.6`)** +- **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.7/axelard-linux-amd64-v1.4.7) linked binary (`axelard-linux-amd64-v1.4.7`)** - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x, no change if you already run the v1.3.x dynamic binary) - Must have the library directory on `LD_LIBRARY_PATH` @@ -63,7 +63,7 @@ pkill -f tofnd 3. Backup the state: ```bash -cp -r ~/.axelar/.core/data ~/.axelar-dojo-1-upgrade-1.4.6/.core/data +cp -r ~/.axelar/.core/data ~/.axelar-dojo-1-upgrade-1.4.7/.core/data ``` @@ -74,9 +74,9 @@ cp -r ~/.axelar/.core/data ~/.axelar-dojo-1-upgrade-1.4.6/.core/data excluding them from any data backups. -4. Restart your `axelard` node with the new `v1.4.6` build. +4. Restart your `axelard` node with the new `v1.4.7` build. -5. If you're a validator also restart `vald` with `v1.4.6` and `tofnd` with `v1.0.1` (unchanged from v1.3.x). +5. If you're a validator also restart `vald` with `v1.4.7` and `tofnd` with `v1.0.1` (unchanged from v1.3.x). ### Example using join scripts (axelarate-community) @@ -84,14 +84,14 @@ cp -r ~/.axelar/.core/data ~/.axelar-dojo-1-upgrade-1.4.6/.core/data # in axelarate-community repo git checkout main git pull -KEYRING_PASSWORD="pw-1" ./scripts/node.sh -n mainnet -a v1.4.6 +KEYRING_PASSWORD="pw-1" ./scripts/node.sh -n mainnet -a v1.4.7 # For validators, restart vald/tofnd -KEYRING_PASSWORD="pw-1" TOFND_PASSWORD="pw-2" ./scripts/validator-tools-host.sh -n mainnet -a v1.4.6 -q v1.0.1 +KEYRING_PASSWORD="pw-1" TOFND_PASSWORD="pw-2" ./scripts/validator-tools-host.sh -n mainnet -a v1.4.7 -q v1.0.1 ``` ## Ampd -For verifiers, refer to the matching `ampd` release notes under [`axelar-contract-deployments/releases/ampd`](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/releases/ampd) for the version compatible with `axelard v1.4.6`. The `ampd` upgrade must be done **after** the `axelard` upgrade. +For verifiers, refer to the matching `ampd` release notes under [`axelar-contract-deployments/releases/ampd`](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/releases/ampd) for the version compatible with `axelard v1.4.7`. The `ampd` upgrade must be done **after** the `axelard` upgrade. ## Rollback @@ -108,6 +108,6 @@ Before restarting your node: 1. Make sure `LD_LIBRARY_PATH` includes the directory of `libwasmvm` (dynamic binary only). 2. Docker users do **not** need to modify anything. -If you see the error `undefined symbol: migrate_with_info`, switch to the statically linked binary (`axelard-linux-amd64-v1.4.6-static`). +If you see the error `undefined symbol: migrate_with_info`, switch to the statically linked binary (`axelard-linux-amd64-v1.4.7-static`). -If you see the error `app hash` mismatch after the upgrade, verify all replicas in your fleet were swapped to v1.4.6 before the upgrade height. Mixed binaries across replicas after the upgrade height will fork. +If you see the error `app hash` mismatch after the upgrade, verify all replicas in your fleet were swapped to v1.4.7 before the upgrade height. Mixed binaries across replicas after the upgrade height will fork. diff --git a/src/content/docs/resources/testnet/upgrades/v146.mdx b/src/content/docs/resources/testnet/upgrades/v147.mdx similarity index 83% rename from src/content/docs/resources/testnet/upgrades/v146.mdx rename to src/content/docs/resources/testnet/upgrades/v147.mdx index 0983b0438..5b9fc7feb 100644 --- a/src/content/docs/resources/testnet/upgrades/v146.mdx +++ b/src/content/docs/resources/testnet/upgrades/v147.mdx @@ -1,22 +1,22 @@ -# Testnet upgrade: v1.4.6 +# Testnet upgrade: v1.4.7 import { Callout } from "/src/components/callout"; -Instructions for the testnet upgrade to axelar-core `v1.4.6`. +Instructions for the testnet upgrade to axelar-core `v1.4.7`. -The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.6). +The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.7). Upgrade height: **TBD**. Proposal: **TBD**. See [countdown](https://www.mintscan.io/axelar-testnet/block/) once scheduled. ## Binary Types -The v1.4.6 release provides **two Linux binaries**: +The v1.4.7 release provides **two Linux binaries**: -- **[Static](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6-static) binary (`axelard-linux-amd64-v1.4.6-static`)** +- **[Static](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.7/axelard-linux-amd64-v1.4.7-static) binary (`axelard-linux-amd64-v1.4.7-static`)** - Contains a statically linked `libwasmvm` - **Does not require** installing or configuring `libwasmvm` -- **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.6/axelard-linux-amd64-v1.4.6) linked binary (`axelard-linux-amd64-v1.4.6`)** +- **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.7/axelard-linux-amd64-v1.4.7) linked binary (`axelard-linux-amd64-v1.4.7`)** - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x, no change if you already run the v1.3.x dynamic binary) - Must have the library directory on `LD_LIBRARY_PATH` @@ -63,7 +63,7 @@ pkill -f tofnd 3. Backup the state: ```bash -cp -r ~/.axelar_testnet/.core/data ~/.axelar-lisbon-3-upgrade-1.4.6/.core/data +cp -r ~/.axelar_testnet/.core/data ~/.axelar-lisbon-3-upgrade-1.4.7/.core/data ``` @@ -74,9 +74,9 @@ cp -r ~/.axelar_testnet/.core/data ~/.axelar-lisbon-3-upgrade-1.4.6/.core/data excluding them from any data backups. -4. Restart your `axelard` node with the new `v1.4.6` build. +4. Restart your `axelard` node with the new `v1.4.7` build. -5. If you're a validator also restart `vald` with `v1.4.6` and `tofnd` with `v1.0.1` (unchanged from v1.3.x). +5. If you're a validator also restart `vald` with `v1.4.7` and `tofnd` with `v1.0.1` (unchanged from v1.3.x). ### Example using join scripts (axelarate-community) @@ -84,14 +84,14 @@ cp -r ~/.axelar_testnet/.core/data ~/.axelar-lisbon-3-upgrade-1.4.6/.core/data # in axelarate-community repo git checkout main git pull -KEYRING_PASSWORD="pw-1" ./scripts/node.sh -n testnet -a v1.4.6 +KEYRING_PASSWORD="pw-1" ./scripts/node.sh -n testnet -a v1.4.7 # For validators, restart vald/tofnd -KEYRING_PASSWORD="pw-1" TOFND_PASSWORD="pw-2" ./scripts/validator-tools-host.sh -n testnet -a v1.4.6 -q v1.0.1 +KEYRING_PASSWORD="pw-1" TOFND_PASSWORD="pw-2" ./scripts/validator-tools-host.sh -n testnet -a v1.4.7 -q v1.0.1 ``` ## Ampd -For verifiers, refer to the matching `ampd` release notes under [`axelar-contract-deployments/releases/ampd`](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/releases/ampd) for the version compatible with `axelard v1.4.6`. The `ampd` upgrade must be done **after** the `axelard` upgrade. +For verifiers, refer to the matching `ampd` release notes under [`axelar-contract-deployments/releases/ampd`](https://github.com/axelarnetwork/axelar-contract-deployments/tree/main/releases/ampd) for the version compatible with `axelard v1.4.7`. The `ampd` upgrade must be done **after** the `axelard` upgrade. ## Rollback @@ -108,6 +108,6 @@ Before restarting your node: 1. Make sure `LD_LIBRARY_PATH` includes the directory of `libwasmvm` (dynamic binary only). 2. Docker users do **not** need to modify anything. -If you see the error `undefined symbol: migrate_with_info`, switch to the statically linked binary (`axelard-linux-amd64-v1.4.6-static`). +If you see the error `undefined symbol: migrate_with_info`, switch to the statically linked binary (`axelard-linux-amd64-v1.4.7-static`). -If you see the error `app hash` mismatch after the upgrade, verify all replicas in your fleet were swapped to v1.4.6 before the upgrade height. Mixed binaries across replicas after the upgrade height will fork. +If you see the error `app hash` mismatch after the upgrade, verify all replicas in your fleet were swapped to v1.4.7 before the upgrade height. Mixed binaries across replicas after the upgrade height will fork. diff --git a/src/layouts/navigation.ts b/src/layouts/navigation.ts index d4055452a..053c808b5 100644 --- a/src/layouts/navigation.ts +++ b/src/layouts/navigation.ts @@ -739,7 +739,7 @@ export const getNavigation = (section) => { children: [ { title: "v1.4", - href: "/resources/mainnet/upgrades/v146/", + href: "/resources/mainnet/upgrades/v147/", }, { title: "v1.3", @@ -820,7 +820,7 @@ export const getNavigation = (section) => { children: [ { title: "v1.4", - href: "/resources/testnet/upgrades/v146/", + href: "/resources/testnet/upgrades/v147/", }, { title: "v1.3.1", From e071af011d48ad084e6444bb54bb4134fafba80a Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Wed, 17 Jun 2026 19:23:24 -0400 Subject: [PATCH 5/7] docs: fill v1.4.7 proposal ids, heights, upgrade times for testnet/mainnet --- src/content/docs/resources/mainnet/upgrades/v147.mdx | 2 +- src/content/docs/resources/testnet/upgrades/v147.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/resources/mainnet/upgrades/v147.mdx b/src/content/docs/resources/mainnet/upgrades/v147.mdx index 3e6ef4d17..079a3f12d 100644 --- a/src/content/docs/resources/mainnet/upgrades/v147.mdx +++ b/src/content/docs/resources/mainnet/upgrades/v147.mdx @@ -6,7 +6,7 @@ Instructions for the mainnet upgrade to axelar-core `v1.4.7`. The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.7). -Upgrade height: **TBD**. Proposal: **TBD**. See [countdown](https://www.mintscan.io/axelar/block/) once scheduled. +Upgrade height: **30135800**. Proposal: **[#480](https://axelarscan.io/proposals/480)**. Upgrade time: **~14:00 UTC, 2026-06-16**. See [countdown](https://www.mintscan.io/axelar/block/30135800). ## Binary Types diff --git a/src/content/docs/resources/testnet/upgrades/v147.mdx b/src/content/docs/resources/testnet/upgrades/v147.mdx index 5b9fc7feb..a964a0e30 100644 --- a/src/content/docs/resources/testnet/upgrades/v147.mdx +++ b/src/content/docs/resources/testnet/upgrades/v147.mdx @@ -6,7 +6,7 @@ Instructions for the testnet upgrade to axelar-core `v1.4.7`. The release for the upgrade can be found [here](https://github.com/axelarnetwork/axelar-core/releases/tag/v1.4.7). -Upgrade height: **TBD**. Proposal: **TBD**. See [countdown](https://www.mintscan.io/axelar-testnet/block/) once scheduled. +Upgrade height: **30546580**. Proposal: **[#578](https://testnet.axelarscan.io/proposals/578)**. Upgrade time: **~12:00 UTC, 2026-05-19**. See [countdown](https://www.mintscan.io/axelar-testnet/block/30546580). ## Binary Types From d14e83ef5fccf665d322c0a6377535ce970a9513 Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Wed, 17 Jun 2026 19:35:59 -0400 Subject: [PATCH 6/7] docs: correct libwasmvm to v2.2.6 (bumped from v2.2.4) for v1.4 upgrade --- src/content/docs/resources/mainnet/upgrades/v147.mdx | 12 +++++++----- src/content/docs/resources/testnet/upgrades/v147.mdx | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/content/docs/resources/mainnet/upgrades/v147.mdx b/src/content/docs/resources/mainnet/upgrades/v147.mdx index 079a3f12d..438329d72 100644 --- a/src/content/docs/resources/mainnet/upgrades/v147.mdx +++ b/src/content/docs/resources/mainnet/upgrades/v147.mdx @@ -17,7 +17,7 @@ The v1.4.7 release provides **two Linux binaries**: - **Does not require** installing or configuring `libwasmvm` - **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.7/axelard-linux-amd64-v1.4.7) linked binary (`axelard-linux-amd64-v1.4.7`)** - - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x, no change if you already run the v1.3.x dynamic binary) + - Requires `libwasmvm` **v2.2.6** (bumped from v2.2.4 in v1.3.x; replace the library when upgrading a v1.3.x dynamic-binary node) - Must have the library directory on `LD_LIBRARY_PATH` @@ -25,8 +25,10 @@ The v1.4.7 release provides **two Linux binaries**: If using the **static** binary, no `wasmvm` setup is required. - If using the **dynamic** binary, keep `libwasmvm v2.2.4` - ([libwasmvm.x86_64.so](https://github.com/CosmWasm/wasmvm/releases/tag/v2.2.4)) on `LD_LIBRARY_PATH`. + If using the **dynamic** binary, `libwasmvm` is bumped from `v2.2.4` (v1.3.x) to `v2.2.6` + ([libwasmvm.x86_64.so](https://github.com/CosmWasm/wasmvm/releases/tag/v2.2.6)) in this + upgrade. Replace the library on every node and keep it on `LD_LIBRARY_PATH` before starting + the new binary, otherwise it refuses to launch with a wasmvm version-mismatch error. ## About the v1.4 upgrade @@ -99,9 +101,9 @@ This is a state-machine-breaking upgrade. **There is no in-place rollback** to v ## Troubleshooting -If you encounter a **hash error**, ensure you have `libwasmvm v2.2.4`: +If you encounter a **hash error**, ensure you have `libwasmvm v2.2.6`: -https://github.com/CosmWasm/wasmvm/releases/download/v2.2.4/libwasmvm.x86_64.so +https://github.com/CosmWasm/wasmvm/releases/download/v2.2.6/libwasmvm.x86_64.so Before restarting your node: diff --git a/src/content/docs/resources/testnet/upgrades/v147.mdx b/src/content/docs/resources/testnet/upgrades/v147.mdx index a964a0e30..7604dec53 100644 --- a/src/content/docs/resources/testnet/upgrades/v147.mdx +++ b/src/content/docs/resources/testnet/upgrades/v147.mdx @@ -17,7 +17,7 @@ The v1.4.7 release provides **two Linux binaries**: - **Does not require** installing or configuring `libwasmvm` - **[Dynamically](https://github.com/axelarnetwork/axelar-core/releases/download/v1.4.7/axelard-linux-amd64-v1.4.7) linked binary (`axelard-linux-amd64-v1.4.7`)** - - Requires `libwasmvm` **v2.2.4** (same version as v1.3.x, no change if you already run the v1.3.x dynamic binary) + - Requires `libwasmvm` **v2.2.6** (bumped from v2.2.4 in v1.3.x; replace the library when upgrading a v1.3.x dynamic-binary node) - Must have the library directory on `LD_LIBRARY_PATH` @@ -25,8 +25,10 @@ The v1.4.7 release provides **two Linux binaries**: If using the **static** binary, no `wasmvm` setup is required. - If using the **dynamic** binary, keep `libwasmvm v2.2.4` - ([libwasmvm.x86_64.so](https://github.com/CosmWasm/wasmvm/releases/tag/v2.2.4)) on `LD_LIBRARY_PATH`. + If using the **dynamic** binary, `libwasmvm` is bumped from `v2.2.4` (v1.3.x) to `v2.2.6` + ([libwasmvm.x86_64.so](https://github.com/CosmWasm/wasmvm/releases/tag/v2.2.6)) in this + upgrade. Replace the library on every node and keep it on `LD_LIBRARY_PATH` before starting + the new binary, otherwise it refuses to launch with a wasmvm version-mismatch error. ## About the v1.4 upgrade @@ -99,9 +101,9 @@ This is a state-machine-breaking upgrade. **There is no in-place rollback** to v ## Troubleshooting -If you encounter a **hash error**, ensure you have `libwasmvm v2.2.4`: +If you encounter a **hash error**, ensure you have `libwasmvm v2.2.6`: -https://github.com/CosmWasm/wasmvm/releases/download/v2.2.4/libwasmvm.x86_64.so +https://github.com/CosmWasm/wasmvm/releases/download/v2.2.6/libwasmvm.x86_64.so Before restarting your node: From 8749932383d48da73ff0a28b66d9b26fb2cba45c Mon Sep 17 00:00:00 2001 From: Jakov Mitrovski Date: Wed, 17 Jun 2026 19:43:30 -0400 Subject: [PATCH 7/7] docs: expand v1.4 upgrade highlights and link changelog --- src/content/docs/resources/mainnet/upgrades/v147.mdx | 9 ++++++--- src/content/docs/resources/testnet/upgrades/v147.mdx | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/content/docs/resources/mainnet/upgrades/v147.mdx b/src/content/docs/resources/mainnet/upgrades/v147.mdx index 438329d72..5ce152e55 100644 --- a/src/content/docs/resources/mainnet/upgrades/v147.mdx +++ b/src/content/docs/resources/mainnet/upgrades/v147.mdx @@ -36,13 +36,16 @@ The v1.4.7 release provides **two Linux binaries**: The `v1.4` upgrade is a consensus-breaking release for Axelar mainnet. Highlights: - **Removes the link-deposit protocol.** The legacy non-GMP token-transfer paths (linked deposit addresses, direct token transfers) that were deprecated in v1.3.1 are now fully removed. Pending link-deposit state is cleaned up in the upgrade handler. -- **Bumps CosmWasm `wasmd` to v0.54.7.** +- **Routes governance proposals targeting legacy EVM chains through the Amplifier GMP path** (axelarnet-gateway wasm contract → nexus → EVM module) instead of the old direct axelarnet route. The emitted `sourceChain` for these messages changes from `Axelarnet` to `axelar`. - **Reduces `maxBitmapSize` in nexus maintainer state** (32,768 → 1,024) to lower per-validator memory pressure. -- **CometBFT v0.38.23**. -- Vald correctness: reject votes on failed polls. +- **Dependency bumps:** CometBFT v0.38.23, CosmWasm `wasmd` v0.54.7, `libwasmvm` v2.2.4 → v2.2.6, Cosmos SDK v0.50.15, ibc-go v8.8.0. +- **Vald correctness:** reject votes on failed polls. +- **`v1.4.7` patch (on top of `v1.4.6`):** restores the `InterfaceRegistry` registrations for tss `UpdateParams` and `HeartBeat`. No CosmWasm contract migrations are required for this upgrade. No `config.toml` / `app.toml` changes are required relative to a node already running v1.3.x with the post-v1.3.0 settings (`iavl-cache-size = 0`, `iavl-disable-fastnode = true`, `timeout_commit = 1s`). +For the full list of changes, see the [v1.4.7 changelog](https://github.com/axelarnetwork/axelar-core/blob/v1.4.7/CHANGELOG.md). + ## Upgrade Instructions 1. If you're a validator or have delegated to one, please vote for the upgrade proposal via: diff --git a/src/content/docs/resources/testnet/upgrades/v147.mdx b/src/content/docs/resources/testnet/upgrades/v147.mdx index 7604dec53..adc4b08b5 100644 --- a/src/content/docs/resources/testnet/upgrades/v147.mdx +++ b/src/content/docs/resources/testnet/upgrades/v147.mdx @@ -36,13 +36,16 @@ The v1.4.7 release provides **two Linux binaries**: The `v1.4` upgrade is a consensus-breaking release. Highlights: - **Removes the link-deposit protocol.** The legacy non-GMP token-transfer paths (linked deposit addresses, direct token transfers) that were deprecated in v1.3.1 are now fully removed. Pending link-deposit state is cleaned up in the upgrade handler. -- **Bumps CosmWasm `wasmd` to v0.54.7.** +- **Routes governance proposals targeting legacy EVM chains through the Amplifier GMP path** (axelarnet-gateway wasm contract → nexus → EVM module) instead of the old direct axelarnet route. The emitted `sourceChain` for these messages changes from `Axelarnet` to `axelar`. - **Reduces `maxBitmapSize` in nexus maintainer state** (32,768 → 1,024) to lower per-validator memory pressure. -- **CometBFT v0.38.23**. -- Vald correctness: reject votes on failed polls. +- **Dependency bumps:** CometBFT v0.38.23, CosmWasm `wasmd` v0.54.7, `libwasmvm` v2.2.4 → v2.2.6, Cosmos SDK v0.50.15, ibc-go v8.8.0. +- **Vald correctness:** reject votes on failed polls. +- **`v1.4.7` patch (on top of `v1.4.6`):** restores the `InterfaceRegistry` registrations for tss `UpdateParams` and `HeartBeat`. No CosmWasm contract migrations are required for this upgrade. No `config.toml` / `app.toml` changes are required relative to a node already running v1.3.x with the post-v1.3.0 settings (`iavl-cache-size = 0`, `iavl-disable-fastnode = true`, `timeout_commit = 1s`). +For the full list of changes, see the [v1.4.7 changelog](https://github.com/axelarnetwork/axelar-core/blob/v1.4.7/CHANGELOG.md). + ## Upgrade Instructions 1. If you're a validator or have delegated to one, please vote for the upgrade proposal via: