Skip to content

Bump iavl to v1.2.8 for upstream bugfixes#702

Open
lukasz-zimnoch wants to merge 1 commit into
mainfrom
bump-iavl-bugfixes
Open

Bump iavl to v1.2.8 for upstream bugfixes#702
lukasz-zimnoch wants to merge 1 commit into
mainfrom
bump-iavl-bugfixes

Conversation

@lukasz-zimnoch

@lukasz-zimnoch lukasz-zimnoch commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

References:

Introduction

github.com/cosmos/iavl currently resolves to v1.2.0. It is not imported directly by any first-party package; it is pulled in transitively through our cosmossdk.io/store fork (github.com/mezo-org/cosmos-sdk/store v1.1.1-mezo), whose go.mod pins v1.2.0. This PR raises the resolved version to v1.2.8 so the node picks up the bugfixes released on the upstream iavl 1.2.x line since v1.2.0, without otherwise touching the store fork.

Changes

go.mod / go.sum

Adds a direct require github.com/cosmos/iavl v1.2.8. Because Minimal Version Selection takes the maximum of all requirements, this raises the resolved version above the v1.2.0 floor contributed by the store fork while leaving the fork itself unchanged. The dependency stays marked // indirect (no first-party package imports iavl; it is reached only via cosmossdk.io/store/rootmulti), and a comment on the require line records why it is pinned ahead of the fork's version, together with version bounds: a v1.2.8 floor, and a guard against advancing to a higher major/minor iavl line (e.g. v1.3.x) without first bumping and re-tagging the cosmossdk.io/store fork. go.sum is updated with the v1.2.8 checksums.

Testing

  • go list -m github.com/cosmos/iavl resolves to v1.2.8; go mod why confirms the chain app → cosmos-sdk/baseapp → cosmossdk.io/store/rootmulti → iavl. go mod tidy is a no-op against the change and go mod verify reports all modules verified.
  • make test-unit — all packages pass under -race, no failures.
  • tests/system — the EVM, opcode, token-transfer, and state suites (MEZOTransfers, BTCTransfers, Push0Check, McopyCheck, TransientStorageCheck, Selfdestruct6780Check, SelfdestructSupplyInvariant, RandaoCheck, ClzCheck, ModexpCheck, InitcodeLimitCheck, RecipientGuard) pass against a localnode built from this branch — 238 passing, 0 failing.
  • The bump is API-compatible (no source changes were required to build the full client) and storage-format-neutral: the committed state root hashes produced through the cosmossdk.io/store/iavl path are identical to those produced on v1.2.0. This makes the change non-consensus-breaking and safe to roll out without a coordinated chain halt.

Author's checklist

  • Provided the appropriate description of the pull request
  • Updated relevant unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Assigned myself in the Assignees field
  • Assigned mezod-developers in the Reviewers field and notified them on Discord

Reviewer's checklist

  • Confirmed all author's checklist items have been addressed
  • Considered security implications of the code changes
  • Considered performance implications of the code changes
  • Tested the changes and summarized covered scenarios and results in a comment

@lukasz-zimnoch lukasz-zimnoch self-assigned this Jun 9, 2026
@lukasz-zimnoch lukasz-zimnoch requested a review from a team June 9, 2026 11:36
github.com/cosmos/iavl reaches the build transitively through the
cosmossdk.io/store fork (v1.1.1-mezo), which pins v1.2.0. Add a direct
require to raise it to v1.2.8 so the node picks up the bugfixes released
on the iavl 1.2.x line since v1.2.0.

iavl is an indirect dependency with no first-party imports, so the bump
stays API-compatible, and the resulting committed state hashes are
unchanged. go.mod carries a note recording the pin: stay on the iavl
1.2.x line at or above v1.2.8, and do not advance to a higher major/minor
line without bumping and re-tagging the cosmossdk.io/store fork first.
go.sum is updated to match.
@lukasz-zimnoch lukasz-zimnoch marked this pull request as ready for review June 9, 2026 12:03
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.

1 participant