github harmony-one/harmony v2026.0.0
Mainnet Release 2026.0.0

7 hours ago

This is a mandatory node upgrade, however, there is no specific deadline since there is no hardfork.
Still Validator and Explorer/RPC nodes are strongly encouraged to upgrade, because there were a lot of code changes on the p2p, consensus, evm and sync changes.

The released version: v2026.0.0-0-g638a6e7f6

Set of changes:

Open Beta: Stream Sync (P2P-Based Synchronization)
  • Introduces Stream Sync as a fully P2P-based synchronization mechanism, removing reliance on DNS-based syncing.
  • Implements staged full synchronization with smart stream selection and failure-based prioritization.
  • Adds progress-based timeouts, configurable chunk sizes, improved stream health monitoring, and structured stream error classification.
  • Integrates BlockNumberCache to reduce redundant block number requests and improve sync efficiency.
  • Enhances crosslink validation, epoch filtering, and sync lifecycle handling to prevent nodes from getting stuck.
  • Includes comprehensive memory leak prevention and cleanup logic across stream and download managers.
  • If you want to go deeper, please read specification

Important

Please note: Stream Sync remains optional; legacy synchronization remains the default for operators.


P2P Transport & Muxer Updates
  • Replaces deprecated mplex with updated muxer configuration.
  • Introduces mplexC6 and prioritizes yamux during connection negotiation.
  • Improves muxer negotiation logic with case-insensitive handling.
  • Adds logging to indicate negotiated muxer per connection.
  • Limits P2P stream goroutines to prevent resource exhaustion.
  • Reduces log noise from benign stream removal events.

Important

During the transition from legacy mplex to mplexC6, yamux acts as a compatibility bridge to ensure seamless connectivity between upgraded and non-upgraded nodes.
Operators are safe to upgrade — connection interoperability is preserved during the transition period.


BlockNumberCache: Performance and Stability Improvements
  • Adds BlockNumberCache to optimize block height queries across peers.
  • Tracks cache hit/miss statistics and invalidates entries on stream failures.
  • Fixes eviction edge cases, race conditions, and double-stop panics.
  • Ensures safe shutdown by stopping background cleanup goroutines.
  • Includes benchmarks and extended test coverage.
BLS12-381 / EIP-2537 Precompile Support
  • Implements full BLS12-381 elliptic curve precompiles including G1, G2, pairing, SWU, and isogeny operations.
  • Adds field arithmetic support (fp, fp2, fp6, fp12) and optimized multiplication backends.
  • Updates gas cost calculations and activation configuration under EIP-2537.
  • Aligns precompile initialization and address assignments with protocol specifications.
  • Adds comprehensive success and failure test coverage.

Important

Please note: this change will require a future hard fork. The activation date will be announced separately.


go-ethereum Upgrade & EVM Alignment
  • Upgrades embedded go-ethereum components to align with upstream behavior.
  • Aligns SSTORE gas calculation and jump table initialization with latest go-ethereum rules.
  • Fixes tracer-related fork risks during block processing.
  • Resolves nil trie panics and edge cases leading to potential data inconsistencies.
  • Updates chain ID handling and built-in EVM logic to match upstream implementation.
  • Improves RLP decoding fallback handling for better compatibility and stability.
Shard Configuration Update (4 → 2)
  • Updates shard count from 4 to 2 across configuration files.
  • Adjusts wallet, Rosetta, VM tests, and consensus constants accordingly.
  • Removes obsolete shard configuration sections.
Trusted Peers & Networking Enhancements
  • Improves trusted peer handling with DNS auto-population.
  • Prevents self-dial errors and fixes bootnode nil host panics.
  • Enhances stream removal logic and error handling stability.
  • Expands networking-related metrics for better observability.
Monitoring & Stability Improvements
  • Expands metrics for stream management and recoverable errors.
  • Prevents goroutine leaks and improves cleanup logic.
  • Reduces log noise while improving contextual logging.
  • Increases test coverage for race conditions and edge cases.

PR list:

Full Changelog: v2025.1.1...v2026.0.0

Don't miss a new harmony release

NewReleases is sending notifications on new releases.