Releases: 0xPolygon/bor
v2.8.3
Bor v2.8.3 is a maintenance release containing bug fixes across the miner and consensus engine, a full gRPC server implementation (disabled by default), a builder-phase streaming prefetcher, and observability, configuration, and build improvements.
What's Changed
Features
- (feat): disable pending block creation loop via flag by @manav2401 in #2175
- consensus/bor, internal/cli: full grpc implementation by @marcello33 in #2194
- prefetcher: builder-phase prefetch + streaming worker pool by @lucca30 in #2192
- (feat): tracing support for state-sync transactions by @manav2401 in #2236
- security: harden gRPC server — disable by default, bind to localhost by @harshinsecurity in #2078
Bug Fixes
- consensus: fix milestone-mismatch rewind deadlock by @kamuikatsurgi in #2246
- consensus/bor, miner: fix stale pending state for non-validator nodes by @cffls in #2183
- miner, consensus/bor: fix leaked-wedge family in worker state machine by @cffls in #2220
- miner: drop PeerCount==0 gate in mainLoop by @cffls in #2238
- consensus/bor: fix race in SpanStore.PurgeCache by @lucca30 in #2235
- miner: disable tracer in vm.Config to prevent conflicts during block synchronization by @maoueh in #2206
- ethapi: include pre-Madhugiri state-sync logs in bor_getLogs by @LarryArnault45 in #2155
- eth: stop dialing before waiting on handler shutdown by @LarryArnault45 in #2158
- eth: cancel milestone subscriber on shutdown by @kamuikatsurgi in #2199
- core/state: fix GetWriteMapDump write-set output by @AaronAjose in #2156
- core/types: guard (*Header).GetValidatorBytes against short Extra by @kajaaz in #2222
- triedb/pathdb: fix exponential memory growth in preload BFS by @lucca30 in #2187
- rawdb: recover witness size from filesystem metadata miss by @AaronAjose in #2200
- metrics, build: fix time.Tick resource leaks and oss-fuzz shebang by @haoyu-haoyu in #2145
- Fix triejournaldirectory wiring by @jschnelder in #2213
Observability & Metrics
- metrics: fix ResettingSample Prometheus _count monotonicity by @lake-dunamu in #2174
- miner, consensus: more block building metrics by @manav2401 in #2228
- miner: format build-block log times as RFC3339Nano, gate on IsRunning by @kamuikatsurgi in #2239
Configuration & CLI
- internal/cli: enabled witness filestore by default by @pratikspatil024 in #2191
- templates: replace dead witnessprotocol with witness.enable hint by @apetro2 in #2204
- packaging/docs: replace deprecated rpc.batchlimit key by @odupontt in #2216
- p2p: add flag to disable snap/1 serving by @lucca30 in #2152
- Fixing amoy static peers by @sanketsaagar in #2209
Testing, CI & Build
- all: fix nightly race test flakes by @cffls in #2193
- core/vm: add hardfork precompile continuity checks by @pratikspatil024 in #2234
- miner: fix TestPrefetchRaceWithSetExtra deadlock by @wjmelements in #2233
- ethclient: bound tx indexing wait in tests by @LarryArnault45 in #2211
- eth/fetcher: refactor witness_manager to reduce complexity by @cffls in #2188
- build: bump Go to 1.26.2 and 1.26.3 to fix stdlib CVEs by @lucca30 in #2189 and #2230
- build: bump x/net for govulncheck by @lucca30 in #2240
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot in #2182
- ci: fix kurtosis setup/cleanup action paths by @cffls in #2223
New Contributors
- @lake-dunamu made their first contribution in #2174
- @harshinsecurity made their first contribution in #2078
- @AaronAjose made their first contribution in #2156
- @haoyu-haoyu made their first contribution in #2145
- @kajaaz made their first contribution in #2222
- @apetro2 made their first contribution in #2204
- @odupontt made their first contribution in #2216
- @jschnelder made their first contribution in #2213
Full Changelog: v2.8.2...v2.8.3
v2.8.3-beta5
What's Changed from v2.8.3-beta4
- Revert #2237 — forkid wire-format change is a breaking p2p change by @lucca30 in #2248
- consensus: fix milestone-mismatch rewind deadlock by @kamuikatsurgi in #2246
Full Changelog: v2.8.3-beta4...v2.8.3-beta5
v2.8.3-beta4
What's different from v2.8.3-beta3: #2237 ("core/forkid: include polygon-specific forks in wire forkid") has been reverted. It was a breaking p2p change on chains where polygon-specific forks activate above block 0 (Amoy, mainnet post-fork) — upgraded nodes computed a different forkid hash than non-upgraded peers and could not establish handshakes. The fix is correct in intent but must be rolled out as a coordinated network upgrade (gated on a future fork block). It will be re-introduced in a later release that way.
What's Changed
Features
- (feat): disable pending block creation loop via flag by @manav2401 in #2175
- consensus/bor, internal/cli: full grpc implementation by @marcello33 in #2194
- prefetcher: builder-phase prefetch + streaming worker pool by @lucca30 in #2192
- (feat): tracing support for state-sync transactions by @manav2401 in #2236
- security: harden gRPC server — disable by default, bind to localhost by @harshinsecurity in #2078
Bug Fixes
- ethapi: include pre-Madhugiri state-sync logs in bor_getLogs by @LarryArnault45 in #2155
- eth: stop dialing before waiting on handler shutdown by @LarryArnault45 in #2158
- core/state: fix GetWriteMapDump write-set output by @AaronAjose in #2156
- metrics, build: fix time.Tick resource leaks and oss-fuzz shebang by @haoyu-haoyu in #2145
- triedb/pathdb: fix exponential memory growth in preload BFS by @lucca30 in #2187
- eth: cancel milestone subscriber on shutdown by @kamuikatsurgi in #2199
- rawdb: recover witness size from filesystem metadata miss by @AaronAjose in #2200
- core/types: guard (*Header).GetValidatorBytes against short Extra by @kajaaz in #2222
- consensus/bor, miner: fix stale pending state for non-validator nodes by @cffls in #2183
- miner, consensus/bor: fix leaked-wedge family in worker state machine by @cffls in #2220
- miner: drop PeerCount==0 gate in mainLoop by @cffls in #2238
- consensus/bor: fix race in SpanStore.PurgeCache by @lucca30 in #2235
- Fix triejournaldirectory wiring by @jschnelder in #2213
- miner: disable tracer in vm.Config to prevent conflicts during block synchronization by @maoueh in #2206
Observability & Metrics
- metrics: fix ResettingSample Prometheus _count monotonicity by @lake-dunamu in #2174
- miner, consensus: more block building metrics by @manav2401 in #2228
- miner: format build-block log times as RFC3339Nano, gate on IsRunning by @kamuikatsurgi in #2239
Configuration & CLI
- internal/cli: enabled witness filestore by default by @pratikspatil024 in #2191
- templates: replace dead witnessprotocol with witness.enable hint by @apetro2 in #2204
- packaging/docs: replace deprecated rpc.batchlimit key by @odupontt in #2216
- p2p: add flag to disable snap/1 serving by @lucca30 in #2152
Chain Config
- Fixing amoy static peers by @sanketsaagar in #2209
Testing
- all: fix nightly race test flakes by @cffls in #2193
- core/vm: add hardfork precompile continuity checks by @pratikspatil024 in #2234
- miner: fix TestPrefetchRaceWithSetExtra deadlock by @wjmelements in #2233
- ethclient: bound tx indexing wait in tests by @LarryArnault45 in #2211
CI, Build & Chores
- build: bump Go from 1.26.1 to 1.26.2 to fix stdlib CVEs by @lucca30 in #2189
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #2182
- backport v2.7.1 to develop by @pratikspatil024 in #2190
- eth/fetcher: refactor witness_manager to reduce complexity by @cffls in #2188
- Backmerge v2.7.2 to develop by @manav2401 in #2197
- Backmerge v2.7.3 to develop by @manav2401 in #2214
- ci: fix kurtosis setup/cleanup action paths by @cffls in #2223
- chore: pos workspace setup by @marcello33 in #2218
- backport v2.8.0 to develop by @pratikspatil024 in #2227
- docs, .claude: add hardfork rollout review guidance by @pratikspatil024 in #2229
- build: bump Go to 1.26.3 by @lucca30 in #2230
- build: bump x/net for govulncheck by @lucca30 in #2240
- chore: use Claude Opus 4.7 1M context in workflows by @kamuikatsurgi in #2241
- ci: remove claude github actions by @adamdossa in #2244
Backports merged from develop (new since v2.8.3-beta)
- v2.8.2 backport: miner — track env.size in commitTransaction & set maxBlockSizeBufferZone to 1MB by @cffls in #2245
- v2.8.1 backport: eth — cap GetWitnessMetadata request hash count by @manav2401 in #2243
- v2.8.1 backport: consensus, core, params — set TxContext for state-sync transactions by @manav2401 in #2243
- v2.8.1 backport: core, eth/protocols — ensure nil receipt inclusion in p2p response by @manav2401 in #2243
- v2.8.1 backport: core, eth/protocols — fix typo follow-up by @manav2401 in #2243
Reverted (deferred to coordinated upgrade)
core/forkid: include polygon-specific forks in wire forkid by @leovct in #2237— reverted; see note at top.
New Contributors
- @lake-dunamu made their first contribution in #2174
- @harshinsecurity made their first contribution in #2078
- @AaronAjose made their first contribution in #2156
- @haoyu-haoyu made their first contribution in #2145
- @kajaaz made their first contribution in #2222
- @apetro2 made their first contribution in #2204
- @odupontt made their first contribution in #2216
- @jschnelder made their first contribution in #2213
Full Changelog: v2.8.2...v2.8.3-beta4
v2.8.3-beta3
Note: This pre-release was superseded by v2.8.3-beta4 after the inclusion of #2237 was found to be a breaking p2p change on chains with polygon-specific forks activated above block 0 (Amoy, mainnet post-fork). See v2.8.3-beta4 for the full changelog.
Full Changelog: v2.8.2...v2.8.3-beta3
v2.8.3-beta2
Full Changelog: v2.8.2...v2.8.3-beta2
v2.8.3-beta
Full Changelog: v2.8.2...v2.8.3-beta
v2.8.2
What's Changed
v2.8.2 contains a fix that prevents block producers from creating oversized blocks. This release is only required for block producers.
Full Changelog: v2.8.1...v2.8.2
v2.8.1
Bor v2.8.1 is a maintenance release containing some bug fixes.
What's Changed
- eth: cap GetWitnessMetadata request hash count by @cffls
- consensus, core, params: set TxContext for state-sync transactions by @manav2401
- core, eth/protocols: ensure nil receipt inclusion in p2p response by @manav2401
- v2.8.1 candidate by @manav2401 in #2243
Full Changelog: v2.8.0...v2.8.1
v2.8.0
This release includes the changes required for the upcoming Chicago hardfork that updates gas pricing for selected EVM opcodes and precompiles. These changes improve gas-cost alignment with execution cost and help maintain network stability.
All validators, RPC providers, node operators, and infrastructure partners should upgrade their Bor nodes before the hardfork activation block.
Activation
| Network | Activation block | Target time |
|---|---|---|
| Mainnet | 87218600 |
2026-05-21 14:00 UTC |
Full Changelog: v2.7.3...v2.8.0
v2.8.0-beta2
If you are running amoy - please update to this version ASAP. The Chicago HF will not get activated if you are running on v2.8.0-beta
Full Changelog: v2.8.0-beta...v2.8.0-beta2