The Bor v2.6.0 release is now available. This is a mandatory update that prepares for the upcoming Lisovo/LisovoPro hardfork and includes significant performance and stability improvements.
Lisovo Hardfork Announcement
This release defines the Lisovo hardfork, scheduled for mainnet at block 83756500, estimated to occur around 2 PM UTC on March 4th, 2026.
The hardfork will introduce the following changes:
Key Features and Performance Improvements
Critical Stability Fixes
Upstream Updates
This version of Bor incorporates updates from `go-ethereum` up to version v1.16.8, including its security patches and improvements.
## Description Bor `v2.6.0` release defines the upcoming Lisovo/LisovoPro hardfork, includes performance improvements, and upstream updates from `go-ethereum`. The Mainnet Testnet Lisovo Hardfork will happen on block `[83756500](https://polygonscan.com/block/countdown/83756500)`, at around 2 PM UTC, March 4th, 2026. The changes included in this HF are: - `CLZ` Opcode Support - `P256` Gas Cost Updates With regards to upstream updates, we are rolling out changes up to `go-ethereum v1.16.8` Other major changes include: - Security fixes - Go bump - Bugs fixes - Implementation of [PIP-82](https://forum.polygon.technology/t/pip-82-agentic-commerce-gas-program/21721) (changes in `BurntContract`) - Peer Consensus-Based Witness Verification (#1766) - Dynamic EIP-1559 Parameters (#1989) - Transaction Rebroadcast Mechanism (#1992, #2028, #2037) - Validator Set Overrides (#1958) - Witness Memory Cache (#1962) - Block Production Metrics (#1991) - Late Block Build Time (#1963) - Pruner Reorg Handling (#1916) - Race Condition Fixes (#1946) - Witness Protocol Concurrency Fix (#2023) Also, the release includes minor bug fixes (crash in `eth_simulateV1`, stateless mode stability, `state-sync` support for tracer, ...), more tests and improvements around code quality. ## What's Changed * eth/protocols/wit: made protocol version consistent by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/1940 * chore: fix function name in comment and correct spelling error in config.go by @findfluctuate in https://github.com/0xPolygon/bor/pull/1956 * chore: remove repetitive word in comment by @liuyueyangxmu in https://github.com/0xPolygon/bor/pull/1909 * core/txpool: added nil checks to prevent crash in stateless mode by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/1961 * Enforce patch code coverage by @cffls in https://github.com/0xPolygon/bor/pull/1964 * backport v2.5.6 into develop by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/1971 * core, eth: added LRU memory cache to save witnesses in memory by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/1962 * consensus/bor: ensure late blocks have sufficient build time by @cffls in https://github.com/0xPolygon/bor/pull/1963 * backport v2.5.7 by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/1985 * Return nil from heimdall mock on milestone/checkpoint by @cffls in https://github.com/0xPolygon/bor/pull/1988 * fix randomly failing TestCalcBaseFeeDelhi by @cffls in https://github.com/0xPolygon/bor/pull/1987 * Increase veblop timeout to 8 seconds by @cffls in https://github.com/0xPolygon/bor/pull/1986 * fix(rpc): eth_simulateV1 method handler crash by @ChanHongMing in https://github.com/0xPolygon/bor/pull/1955 * BP Metrics by @lucca30 in https://github.com/0xPolygon/bor/pull/1991 * txpool: add stuck transaction rebroadcast mechanism by @cffls in https://github.com/0xPolygon/bor/pull/1992 * fix: add bor hfs to description and readheadertimeout in config by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2003 * init: CLAUDE.md file by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2000 * consensus/eip1559: add missing bhilai HF tests by @manav2401 in https://github.com/0xPolygon/bor/pull/1990 * Validator Set Overrides on Config by @lucca30 in https://github.com/0xPolygon/bor/pull/1958 * Add Claude Assistant Workflows by @adamdossa in https://github.com/0xPolygon/bor/pull/2006 * bind, params: fix bind/v2 tests and warn about invalid config/flag by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2007 * Switch to GCR for our CI / CD instead of Docker Hub by @adamdossa in https://github.com/0xPolygon/bor/pull/2011 * fix(ci): use custom kurtosis branch by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2012 * eth: implemented peer consensus based witness verification by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/1766 * Various improvements by @marcello33 in https://github.com/0xPolygon/bor/pull/1950 * ci: load kurtosis images from gcr instead of docker hub by @leovct in https://github.com/0xPolygon/bor/pull/2014 * Dynamic EIP-1559 params setup by @lucca30 in https://github.com/0xPolygon/bor/pull/1989 * Test validator's ability to rewind upon span rotation by @cffls in https://github.com/0xPolygon/bor/pull/1960 * geth upstream v1.16.7 by @Raneet10 in https://github.com/0xPolygon/bor/pull/1974 * eth/tracers: include state sync tx in traces post-Madhugiri by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2010 * eth: fix concurrent map writes panic in witness protocol by @cffls in https://github.com/0xPolygon/bor/pull/2023 * backport v2.5.8 by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/2025 * upstream v1.16.8 by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/2024 * fix(api): tracers tests for state-sync tx by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2026 * Updating enodes for mainnet and amoy by @sanketsaagar in https://github.com/0xPolygon/bor/pull/2021 * pruner: covering reorg scenarios by @lucca30 in https://github.com/0xPolygon/bor/pull/1916 * geth upstream v1.16.4 by @marcello33 in https://github.com/0xPolygon/bor/pull/1839 * Enable rebroadcast by default by @cffls in https://github.com/0xPolygon/bor/pull/2028 * Fix race conditions detected in make test-race by @cffls in https://github.com/0xPolygon/bor/pull/2027 * revert: P256VerifyGas to 3450 by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2030 * fix(ci): test-state-sync by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2032 * Enable rebroadcast by default by @cffls in https://github.com/0xPolygon/bor/pull/2037 * Install polycli in kurtosis e2e by @cffls in https://github.com/0xPolygon/bor/pull/2036 * lisovo: CLZ opcode and P256 gas cost changes by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2040 * consensus/misc/eip4844: small update to fix simulatev1 crash by @pratikspatil024 in https://github.com/0xPolygon/bor/pull/2054 * core, internal, params: lisovoPro HF and version bump by @marcello33 in https://github.com/0xPolygon/bor/pull/2055 * consensus/bor: fix goroutine leak in runMilestoneFetcher when Heimdall is unreachable by @cffls in https://github.com/0xPolygon/bor/pull/2056 * fix(shutdown): cancel in-flight Heimdall queries on engine shutdown by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2058 * consensus/bor: fix sub-second late block detection producing empty blocks by @cffls in https://github.com/0xPolygon/bor/pull/2060 * fix(core): cap verifyPendingHeaders to prevent OOM from unbounded header reads by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/2057 * builder, internal, params: pip-82 and lisovo HF in mainnet by @marcello33 in https://github.com/0xPolygon/bor/pull/2064 * v2.6.0 by @marcello33 in https://github.com/0xPolygon/bor/pull/2065 ## New Contributors * @findfluctuate made their first contribution in https://github.com/0xPolygon/bor/pull/1956 * @liuyueyangxmu made their first contribution in https://github.com/0xPolygon/bor/pull/1909 * @ChanHongMing made their first contribution in https://github.com/0xPolygon/bor/pull/1955 **Full Changelog**: https://github.com/0xPolygon/bor/compare/v2.5.9...v2.6.0