Passage v4.0.2 — CometBFT 0.38.23, IAVL 1.2.3, x/group
Passage v4.0.2
Scheduled upgrade following the v4.0.1 emergency fix. Three changes:
Changes
- 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. - 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 vendorediavl-forkon top of the existing empty-store load fix. - x/group — new module (new
groupstore). 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+).