github harmony-one/harmony v2026.1.0
Mainnet Release v2026.1.0 - Bloom 🌸️

2 hours ago

Mainnet activation epoch for the Bloom hardfork 🌸️ and its bundled features to epoch 2964 (July 13 2026, 05:58:57 UTC).

Validator and Explorer/RPC nodes are strongly encouraged to upgrade, because this release contains a significant amount of code changes across p2p startup, stream sync, consensus timestamp handling, RPC/tracing, EVM compatibility, node configuration.

Caution

Validator operators must update hmy cli with this release to the latest v1-v2026.1.0-0-g6d31426 version, follow the official validator hmy cli guide: https://docs.harmony.one/home/network/validators/node-setup/hmy-cli-download

Caution

Validator operators must configure Chrony before running this release, follow the official validator Chrony setup guide: https://docs.harmony.one/home/network/validators/node-setup/0.-recommended-chrony-setup-for-validator-nodes.

The released version: v2026.1.0-db22d511d4fb

Set of changes for the hardfork:

High level features overview

Feature Description
Bloom hardfork Umbrella activation for the bundled feature set below.
Leader Rotation V2 Updated leader rotation behavior for block proposal.
Timestamp Validation Incremental block timestamp.
Duplicate Cross-Link Handling Rejects duplicate (shardID, blockNum) cross-link entries in beacon block headers.
Shard State Validation Additional shard state validation during header verification.
Reject Shard-0 Cross-Link Rejects shard-0 cross-links in beacon header cross-link lists.
Cross-Shard Merkle Proof Binding Binds cross-shard receipt merkle proofs to authenticated source headers.
Cross-Shard Receipt Rollback Rolls back cross-shard receipts when the creating EVM frame reverts.
EIP-2537 Precompiles BLS12-381 curve operation precompiles.
EIP-1153 Transient Storage TLOAD / TSTORE transient storage opcodes.
EIP-7939 CLZ CLZ (count leading zeros) opcode.
EIP-5656 MCOPY MCOPY memory-copy opcode.
EIP-3855 PUSH0 PUSH0 opcode.
EIP-3860 Initcode Metering Limits and meters contract initcode size/cost.
EIP-6780 SELFDESTRUCT Restricts SELFDESTRUCT semantics to same-transaction creation.
EIP-8024 Stack Opcodes DUPN, SWAPN, and EXCHANGE opcodes.
Validator Wrapper Address Bind Requires validator wrapper RLP address fields to match the storing account.
External Stake Slash Denominator Uses snapshot self-stake in the external-delegator slash denominator.
Slash Evidence Uniqueness Applies stricter canonical uniqueness rules to beacon header slash payloads.
Slash Group Ordering Applies slash groups in canonical lexicographic order during finalization.
BLS Proof Binding Binds BLS proof-of-possession signatures to the validator address and rejects duplicate BLS keys created earlier in the same block.
Slash Ballot Signer Verification Requires ballot signer keys to match the double-sign intersection during verification.
Beacon Header Slash Verification Validates beacon header slash records before block finalization.

Features overview in details

Harmony CI & Release Modernization
  • Migrates CI/release flow from legacy Travis-style behavior to hardened GitHub Actions.
  • Pins GitHub Actions by full SHA and limits workflow permissions.
  • Removes broken/deprecated release and notification actions.
  • Adds full amd64 and arm64 build, test, and release coverage with GitHub-hosted runners.
  • Runs build, unit, RPC, and pyhmy test flows on ARM64 as well, giving users confidence that ARM64 binaries and Docker images are actually tested.
  • Builds harmony and bootnode once, then reuses them in RPC and pyhmy tests via artifacts.
  • Updates release flow to build binaries, publish Docker images, sign artifacts, generate checksums, and create draft releases.
  • Adds zizmor-based GitHub Actions security analysis.
  • Reduces duplicated builds, CI noise, and release risk.
Consensus Timestamp Safety
  • Adds stricter block timestamp validation rules behind chain configuration.
  • Ensures new block timestamps are strictly greater than the parent block timestamp.
  • Adds future-time bounds to reduce acceptance of blocks with excessive local-clock skew.
  • Updates proposal flow to pass the current local time explicitly into block creation.
  • Fixes cascading block-time skew by capping proposer waiting behavior when local time is behind the parent block timestamp.
  • Prevents validators from hanging indefinitely while waiting for local wall-clock time to catch up.
  • Improves view-change behavior when timestamp skew would otherwise stall proposal flow.
  • Adds tests covering strict parent timestamp checks, future timestamp bounds, catch-up behavior, and view-change safety.

Important

This is a consensus-safety and liveness improvement. Validators should upgrade because this release improves timestamp validation and prevents proposer stalls caused by block-time skew.


Time Synchronization / Mandatory Chrony Setup

Important

Chrony setup is mandatory for validator nodes. Incorrect local time may cause block proposal delays, future-block validation failures, or view-change instability.


Stream Sync & P2P Startup Reliability
  • Adds SetEnoughStreamsCallback support to StreamManager, allowing the sync pipeline to leave startup mode as soon as enough valid streams are available.
  • Improves startup-mode behavior by reducing unnecessary waiting during peer discovery.
  • Optimizes peer discovery timing, DHT request limits, and target valid peer thresholds.
  • Adds deterministic and race-safe startup-mode state handling.
  • Adds a stream discovery watchdog to prevent nodes from waiting indefinitely when not enough streams are discovered.
  • Adds recovery logic to reset stream-manager runtime state without resetting staged sync progress.
  • Improves stream lifecycle cleanup and reduces aggressive stream removal in recoverable cases.
  • Adds and updates test coverage for startup mode, advertise behavior, stream discovery, DHT request limits, and watchdog recovery.

Important

This improves node startup and sync recovery behavior. It does not require a hardfork activation by itself.


RPC, Tracer & Explorer Compatibility
  • Reorganizes block tracer code for readability and maintainability.
  • Moves Parity block tracer implementation into the native tracer package.
  • Removes deprecated block_tracer.go and block_tracer_storage.go files.
  • Renames tracer tests for package consistency.
  • Adds JavaScript callTracer implementation with asset loading.
  • Updates tracer gas context handling to use the dynamic gas value instead of the original gas limit.
  • Removes debug output from tracer execution paths.
  • Improves legacy structLog JSON encoding compatibility.
  • Improves trace-result encoding compatibility for older clients and explorer tooling.
  • Adds sentinel error handling for ABI event signature mismatches.
  • Verifies event signature topics before unpacking ABI logs.
  • Adds rate limiting support for auth trace APIs.
  • Adds rate-limiter guard logic so invalid non-positive limits do not break RPC startup.
  • Separates auth HTTP and WebSocket server tracking.
  • Caches method-filter regex compilation for auth RPC filtering.

Important

Explorer/RPC operators should upgrade because this release includes trace API compatibility fixes and rate-limiting safeguards for expensive RPC paths.


EVM / Ethereum Compatibility Groundwork
  • Adds EIP-7939 CLZ opcode support and chain-rule plumbing.
  • Adds EIP-5656 MCOPY opcode support and rule checks.
  • Adds EIP-6780 SELFDESTRUCT behavior rule plumbing.
  • Adds EIP-3860 initcode size limit and initcode gas-metering support.
  • Adds EIP-3855 PUSH0 opcode support.
  • Adds Prague fork configuration and rule plumbing.
  • Adds EIP-2935 block hash history support under Prague-related rules.
  • Adds EIP-8024 support, including new stack-manipulation opcode plumbing.
  • Adds automatic epoch-based EIP activation checks where applicable.
  • Adds tests for EIP activation boundaries, disabled-rule behavior, gas accounting, opcode availability, and fork-rule configuration.

Important

This section documents code support and EVM compatibility groundwork.
Mainnet hardfork activation details are intentionally not included here and should be added by the dedicated hardfork PR.


Node Configuration, BLS Keys & Runtime Safety
  • Updates default BLSKeys.MaxKeys from 10 to 11.
  • Bumps config handling for the new BLS key limit.
  • Uses read locks for decider read paths to reduce unnecessary lock contention.
  • Improves method-filter handling for authenticated RPC servers.
  • Improves startup and shutdown behavior in stream and RPC-related services.
  • Adds tests for config migration, decider access, RPC auth server behavior, and rate-limiter edge cases.


Docker image

docker pull harmonyone/harmony:v2026.1.0

Docker Hub:
https://hub.docker.com/r/harmonyone/harmony/tags?name=v2026.1.0

Verify release binaries

GPG signing key fingerprint:

539910B02B5BAC637F6615C9799ACE3A9B83DF60
gpg --import RELEASE_SIGNING_KEY.asc

gpg --verify harmony-amd64.sig harmony-amd64
gpg --verify harmony-arm64.sig harmony-arm64

sha256sum -c harmony-amd64.sha256
sha256sum -c harmony-arm64.sha256

What's Changed

Full Changelog: v2026.0.0...v2026.1.0

Don't miss a new harmony release

NewReleases is sending notifications on new releases.