Skip to content

Passage v4.0.2 — CometBFT 0.38.23, IAVL 1.2.3, x/group

Choose a tag to compare

@Ninjaxan Ninjaxan released this 10 Jul 19:49

Passage v4.0.2

Scheduled upgrade following the v4.0.1 emergency fix. Three changes:

Changes

  1. CometBFT v0.38.12 → v0.38.23 — restores working transaction reindexing (passage tendermint reindex-event) and picks up the accumulated v0.38.x line fixes.
  2. IAVL v1.2.2 → v1.2.3 — fixes a significant performance regression (iavl#1018): getFirstVersion() never cached its result on chains with legacy-format versions — which is every chain upgraded through v4.0.0. Applied to the vendored iavl-fork on top of the existing empty-store load fix.
  3. x/group — new module (new group store). On-chain multisig-style groups with weighted members, decision policies, and proposal execution.

Coordination

  • This is a consensus-breaking upgrade (new store). It activates via gov software-upgrade proposal — plan name v4.0.2 — NOT a flag-day. Just stage the binary for cosmovisor (upgrades/v4.0.2/bin/passage) or be ready to swap at the halt.
  • Upgrade handler name: v4.0.2 (must match plan name exactly).

Verification

Validated by real-broadcast fork-testing on forked mainnet state: gov upgrade applied (applying upgrade "v4.0.2"), module version map shows group: 2, bank/staking/distribution regression txs all code 0, and a full x/group lifecycle (create-group-with-policy → fund policy → group proposal executing a MsgSend from the policy account → vote → exec) all code 0 with balances moving correctly.

Checksums (SHA256)

e46174f14a72efe8be5bdd004144e8e8122cf620a1736b710310bb5f1acc30a7  passage-4.0.2-linux-amd64
b6e139d44d14141cc3aa1e424ba4ecaf35af01cb5af1912b6e98e930fcb9aa77  passage-4.0.2-linux-arm64

Reproducible static (musl) builds via cosmossdk/rbuilder at commit 6bfe7c412a4dead6bb2f74d5fabfd0a1f7de6fa3 (tag v4.0.2).

Build from source: git checkout v4.0.2 && make build (Go 1.22+).