This release contains several improvements and includes changes planned for the upcoming Giugliano Hard Fork.
The Giugliano Hard Fork on Mainnet is scheduled for block number 85268500. Which is expected to hit at April-08-2026 2 PM UTC. Make sure to update all your Mainnet nodes before this time.
Note:
- The
--log-levelflag is deprecated, use--verbosityflag going forward. - The
--rpc.batchlimitflag is renamed to-rpc.batch-request-limit.
What's Changed
Features
- (feat): preconf + private tx relay by @manav2401 in #2004
- (feat): re-enable snap sync by @manav2401 in #2077
- Prefetch Transactions from Pool & PIP-66 Back by @lucca30 in #2031
- Dynamic Target Gas for stable prices by @lucca30 in #2085
- consensus, core, eth, internal, miner, rpc, tests: implement additional rpc methods by @marcello33 in #2063
- core/rawdb: added filesystem based witness storage (with --witness.filestore flag) by @pratikspatil024 in #2098
- consensus, ethapi: embed gas target and base fee params in block header extra field (post Giugliano HF) by @pratikspatil024 in #2135
- Giugliano HF by @lucca30 in #2099
- core/vm: add kzg precompile back for madhugiri forks by @manav2401 in #2140
- consensus/bor, eth: add Heimdall HTTP/gRPC/WS failover with health recovery by @pratikspatil024 in #2050
- feat: add network diagnostics and state dump action by @kamuikatsurgi in #2051
Performance
- added rate limiting to address biased trie cache preloading by @pratikspatil024 in #2029
- core/state: reduce lock contention in triePrefetcher.used() by @cffls in #2049
- blockstm: replace O(n²) UpdateDeps with inverted-index DepsBuilder by @kamuikatsurgi in #2094
- core/txpool: use reheap snapshot to avoid duplicate entries in heap by @manav2401 in #2095
- eth/protocols/wit: remove peer lock held across p2p.Send to prevent broadcast stalls by @pratikspatil024 in #2120
- Use PGO when building binaries by @cffls in #2138
- eth/p2p: raise default tx announcement queue limit from 4096 to 16384 by @lucca30 in #2151
Bug Fixes
- Fix more race conditions detected by -race by @cffls in #2042
- Fix formatting of static-nodes in config.toml by @adamdossa in #2048
- fix root hash calculation during reorgs by @marcello33 in #2080
- eth/handler: fix issue 55 by @marcello33 in #2084
- Clean up lastRebroadcast on transaction rejection by @LarryArnault45 in #2038
- core/vm, core, miner: fix interrupt propagation to nested EVM calls by @lucca30 in #2092
- consensus/bor: prevent empty blocks when remaining build time is insufficient by @cffls in #2093
- Improve scenario of timestamp check in Rio hardfork by @lucca30 in #2091
- fix(server): wire Identity config to node.UserIdent in buildNode by @minhd-vu in #2105
- eth: fix overflow impacting milestone lock and syncing by @marcello33 in #2111
- Fix more race conditions by @cffls in #2104
- Fix SDK regression by @adamdossa in #2121
- Fix SDK regression part deux by @adamdossa in #2122
- Fix SDK regression part 3 by @adamdossa in #2124
- Fix SDK regression part 4 by @adamdossa in #2125
- core: fix finalStateDB pointing to backupStateDB (block-stm) by @pratikspatil024 in #2137
- core/rawdb, p2p, eth: fix graceful shutdown of pruner and dial scheduler by @kamuikatsurgi in #2079
- disable eth_simulateV1 by @marcello33 in #2161
Observability & Metrics
- Sync metrics by @avalkov in #1928
- core, eth, miner: add metrics to track block creation and write pipeline latency by @pratikspatil024 in #2097
- Add prefetcher timer by @cffls in #2115
- Slow TX Observability, Per-TX Latency Metric, and Timeout-Interrupt Diagnostics by @lucca30 in #2134
- metrics: add more go runtime metrics by @manav2401 in #2109
- Including Missing Metrics from Import Blocks path into Production by @lucca30 in #2139
- eth/protocols/wit: added witness broadcast metrics by @pratikspatil024 in #2120
Configuration & CLI
- internal/cli, packaging, docs: add config.toml updater, refresh templates, and document workflow by @kamuikatsurgi in #2100
- internal/cli, node, rpc: port missing geth flags by @kamuikatsurgi in #2106
- internal/cli/server: wire txpool.locals flag to txpool config by @manav2401 in #2114
- eth/filters, rpc: add --rpc.rangelimit flag and fix filter config pass-through by @lucca30 in #2149
- eth/ethconfig: remove redundant RPCLogQueryLimit field by @lucca30 in #2154
- witness: disable filestore by default by @pratikspatil024 in #2144
- docs/cli: update the docs with --witness.filestore flag by @pratikspatil024 in #2108
- chore: reuse bor dumpconfig by @kamuikatsurgi in #2117
- Change log level of commit interrupt on non-BP nodes by @cffls in #2133
Chain Config
- added giugliano block for amoy by @pratikspatil024 in #2141
- added giugliano block for mainnet by @pratikspatil024 in #2164
Testing
- consensus/bor: add test coverage by @cffls in #2046
- fix flaky TestPrivateTxSubmissionRetry timing races by @lucca30 in #2089
CI, Build & Chores
- refactor: ci by @kamuikatsurgi in #2044
- Bump go version to 1.25.7 by @lucca30 in #2045
- fix: configure Docker daemon min API version for Pumba compatibility by @kamuikatsurgi in #2052
- backport: master to develop by @kamuikatsurgi in #2066
- (chore): bump go version to 1.26 by @manav2401 in #2067
- disabling provenance/SBOM for those per-arch docker build by @sreevalsanmr in #2071
- Backmerge master into develop by @manav2401 in #2072
- (chore): correct go version to 1.26.0 by @manav2401 in #2074
- chore: remove pumba compatibility step from stateless e2e by @kamuikatsurgi in #2083
- fix govuln by @marcello33 in #2081
- build(deps): bump github.com/pion/dtls/v3 from 3.0.10 to 3.0.11 by @dependabot in #2086
- build(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 by @dependabot in #2069
- fix: avoid mirror.gcr.io images by @kamuikatsurgi in #2102
- Allow claude PR comments by @marcello33 in #2101
- (chore): bump claude code actions to v1.0.69 by @manav2401 in #2103
- Clean up Claude config by @adamdossa in #2127
- Add Claude Code security review rules for Bor codebase by @mt-polygon-technology in #2110
- Update Claude Settings by @adamdossa in #2130
- Remove Geth references from README.md and remove Claude full output by @adamdossa in #2132
- Adding workflow to publish the docker image on GHCR by @0xsajal in #2123
- Bump to go1.26.1 by @lucca30 in #2119
New Contributors
- @LarryArnault45 made their first contribution in #2038
- @minhd-vu made their first contribution in #2105
- @mt-polygon-technology made their first contribution in #2110
Full Changelog: v2.6.0...v2.7.0