0xPolygon/heimdall-v2 - v0.12.2 New

Published: Oct 14, 2026

Release Summary

Heimdall v0.12.2 is now available. This is a significant maintenance and reliability release packed with features designed to make node operation smoother, more performant, and more robust. We strongly recommend all node operators upgrade.

Key Highlights & Reliability Improvements

Automatic Hardfork Recovery
A major operational enhancement has been introduced to prevent nodes from getting stuck after a hardfork. If Heimdall is restarted with an updated binary after a hardfork height has passed, it will now automatically detect the change, roll back the last block, and re-execute it with the new logic. This removes the need for manual `rollback` commands and ensures a smoother upgrade experience.

Critical Bridge & Data Integrity Fixes
This release introduces crucial improvements to the bridge's stability and data integrity:
• Rootchain Data Validation: The listener now rigorously validates all data queried from the L1 RPC before processing. This prevents the bridge from silently missing events due to a misbehaving RPC and introduces a quarantine mechanism to avoid stalling on persistently bad data. Operators can monitor L1 RPC health with the new `rootchain_listener_log_rejected_total` and `rootchain_listener_log_quarantined_total` metrics.
• Stuck Nonce Loop Fix: An issue causing infinite retry loops and high resource usage (particularly on Amoy) when a validator's nonce gets stuck has been resolved. The bridge now detects stuck nonces and applies a 24-hour age limit to out-of-order tasks to prevent resource exhaustion.

Correct Genesis Export and Import
A critical bug has been fixed where using `heimdalld export` and then importing the genesis file would corrupt validator state, leading to issues like permanently stuck validator nonces. The process now correctly preserves all validator data, including nonces and historical records, ensuring data integrity during chain migrations or when setting up a new chain from a genesis file.

Performance and Observability

High-Performance Logging
A major performance bottleneck related to per-module log filtering has been eliminated. You can now use specific log levels (e.g., `p2p:error,*:info`) without incurring the high CPU overhead previously caused by post-serialization filtering.

New Metrics & Queries
• Gain deeper insight into your node with 7 new Prometheus metrics for milestone finality, vote extensions, and Bor RPC latency, including `heimdallv2_bor_rpc_call_duration_seconds` and `heimdallv2_abci_vote_extension_rejected_total`.
• A new API endpoint (`/bor/validator-performance-score/{validator_id}`) and corresponding CLI command are now available to query the performance score for a specific validator.

Important Operational Notes

Docker Hub Deprecation
Support for publishing images to Docker Hub has been officially removed. Please use the official images from the GitHub Container Registry (GHCR) for all future deployments.

Dependency Upgrades
Key dependencies have been updated, including Go (to 1.26.8), CometBFT (to v0.3.10-polygon), and Cosmos SDK (to v0.2.16-polygon). These updates bring important security patches and introduce new configurable transport timeouts from the CometBFT upgrade.

Release Notes

## What's Changed
* .github: add codegenie review workflow by @pratikspatil024 in https://github.com/0xPolygon/heimdall-v2/pull/632
* app, helper: backport v0.11.0 fee-coins cap gate to develop by @kamuikatsurgi in https://github.com/0xPolygon/heimdall-v2/pull/636
* ci: bump kurtosis-pos pin and Actions versions in kurtosis workflows by @kamuikatsurgi in https://github.com/0xPolygon/heimdall-v2/pull/637
* Removing support to publish images on dockerhub by @0xsajal in https://github.com/0xPolygon/heimdall-v2/pull/638
* ci: bump kurtosis-pos pin to v1.4.2 by @marcello33 in https://github.com/0xPolygon/heimdall-v2/pull/639
* ci: run kurtosis E2E safely on fork PRs by @pratikspatil024 in https://github.com/0xPolygon/heimdall-v2/pull/641
* chore(ci): ci-cd improvements by @0xrukimedo in https://github.com/0xPolygon/heimdall-v2/pull/614
* chore(ci): upgrade to codegenie@v0.5.6 by @0xPolygonBot in https://github.com/0xPolygon/heimdall-v2/pull/640
* Updating config templates by @0xsajal in https://github.com/0xPolygon/heimdall-v2/pull/644
* ci: remove reintroduced Nightly Sonar workflow by @pratikspatil024 in https://github.com/0xPolygon/heimdall-v2/pull/646
* build: bump Go to 1.26.8, grpc to v1.83.2, amqp091-go to v1.13.0 by @pratikspatil024 in https://github.com/0xPolygon/heimdall-v2/pull/647
* ci: scope nightly govulncheck to develop by @pratikspatil024 in https://github.com/0xPolygon/heimdall-v2/pull/648
* ci: bump kurtosis-pos to v1.4.3 by @kamuikatsurgi in https://github.com/0xPolygon/heimdall-v2/pull/661
* bor: add per-validator performance score query and CLI wiring by @kamuikatsurgi in https://github.com/0xPolygon/heimdall-v2/pull/662
* app, heimdalld: re-run the last block after a binary change by @lucca30 in https://github.com/0xPolygon/heimdall-v2/pull/655
* bridge, metrics: stop stake tasks looping on a stuck validator nonce by @cffls in https://github.com/0xPolygon/heimdall-v2/pull/659
* listener, metrics: validate rootchain log query results before advancing the cursor by @marcello33 in https://github.com/0xPolygon/heimdall-v2/pull/649
* stake, app: keep validator state across genesis export and import by @marcello33 in https://github.com/0xPolygon/heimdall-v2/pull/660
* helper, cmd: filter per-module log levels before serialization by @marcello33 in https://github.com/0xPolygon/heimdall-v2/pull/657
* app, helper, metrics: add milestone/vote-extension/bor-RPC observability metrics by @lucca30 in https://github.com/0xPolygon/heimdall-v2/pull/643
* backmerge main to develop post Lugano (v0.12.1) by @lucca30 in https://github.com/0xPolygon/heimdall-v2/pull/653
* build: update CometBFT and Cosmos SDK dependencies by @0xrukimedo in https://github.com/0xPolygon/heimdall-v2/pull/658
* packaging: fix Amoy config moniker string by @0xrukimedo in https://github.com/0xPolygon/heimdall-v2/pull/668
* v0.12.2 to main by @pratikspatil024 in https://github.com/0xPolygon/heimdall-v2/pull/671

## New Contributors
* @0xPolygonBot made their first contribution in https://github.com/0xPolygon/heimdall-v2/pull/640

**Full Changelog**: https://github.com/0xPolygon/heimdall-v2/compare/v0.12.1...v0.12.2

Links

Back to 0xPolygon/heimdall-v2 releases