Releases: maticnetwork/bor
v2.2.4-beta
🚨
This release fixes a bug in committing state sync into bor. We now explicitly do not allow any state sync events into bor (AMOY) for a given block range from 23184305
to 23220127
. This is to allow syncing bor from a block which was prior to the heimdall (v1 to v2) migration.
Without this, bor cannot sync as it will reject blocks with bad block error.
What's Changed
- consensus/bor, params: added OverrideStateSyncRecordsInRange to overwrite the state sync records for a range of blocks by @pratikspatil024 in #1597
- amoy: added blocks in the OverrideStateSyncRecordsInRange for the outage after heimdall (v1 -> v2) migration by @pratikspatil024 in #1598
Full Changelog: v2.2.3-beta...v2.2.4-beta
v2.2.3-beta
🚨
This release contains a fix for heimdall-v2 state syncs fetching.
The -beta suffix indicates that this version is intended solely for Amoy use and will not be deployed on mainnet.
What's Changed
Full Changelog: v2.2.2-beta...v2.2.3-beta
v2.2.2-beta
🚨
This release must be installed on all nodes in the Amoy network for the upcoming Heimdall v1 to v2 migration, scheduled on Tuesday, June 24th, 2025, between 7:00 PM and 9:00 PM UTC.
The -beta suffix indicates that this version is intended solely for Amoy use and will not be deployed on mainnet.
It contains the changes for bor to be independent from heimdall, during the expected downtime due to the migration, and the changes to make bor compatible with v1 and v2.
What's Changed
Full Changelog: v2.2.1-beta...v2.2.2-beta
v2.2.1-beta
🚨
This release must be installed on all nodes in the Amoy network for the upcoming Heimdall v1 to v2 migration, scheduled on Tuesday, June 24th, 2025, between 7:00 PM and 9:00 PM UTC.
The -beta suffix indicates that this version is intended solely for Amoy use and will not be deployed on mainnet.
It contains the changes for bor to be independent from heimdall, during the expected downtime due to the migration, and the changes to make bor compatible with v1 and v2.
What's Changed
Full Changelog: v2.2.0-beta...v2.2.1-beta
v2.2.0-beta
🚨
This release must be installed on all nodes in the Amoy network for the upcoming Heimdall v1 to v2 migration, scheduled on Tuesday, June 24th, 2025, between 7:00 PM and 9:00 PM UTC.
The -beta suffix indicates that this version is intended solely for Amoy use and will not be deployed on mainnet.
It contains the changes for bor to be independent from heimdall, during the expected downtime due to the migration, and the changes to make bor compatible with v1 and v2.
What's Changed
- Backport v2.1.0 by @pratikspatil024 in #1575
- Backport v2.1.1 by @pratikspatil024 in #1585
- Heimdallv2 final by @avalkov in #1574
Full Changelog: v2.1.1...v2.2.0-beta
v2.1.1
This release schedules the Bhilai Hard Fork for Mainnet.
The Bhilai Hard Fork on Mainnet is scheduled for block number 73440256. Which is expected to be mined on July-1-2025 at 9:10 AM UTC (2:40 pm IST). Make sure to update all your Mainnet nodes before this time.
Note: If you are updating to v2.1.x for the first time, make sure to check out the release notes of v2.1.0.
⚠️ Validator Configuration Update (Mandatory)
All validators are required to check their config.toml file.
If the gaslimit
field under the [miner]
section is uncommented, it must be updated to 45000000 (45M) to support PIP-60.
[miner]
gaslimit = 45000000
If this section is not present or if gaslimit is commented, then you are all set. No actions needed from your end.
What's Changed
- Added Bhilai and Prague block for mainnet by @pratikspatil024 in #1581
- V2.1.1 by @pratikspatil024 in #1582
Full Changelog: v2.1.0...v2.1.1
v2.2.0-test
🚨
This version provides the bor code for the heimdall v1 -> v2 migration.
It can be used for tests until made final.
What's Changed
- Fix responses and parsing for milestone related requests. by @avalkov in #1399
- HV2 - checkpoint, milestone: fix response by @pratikspatil024 in #1408
- Fix minimal val assignment by @avalkov in #1414
- Fix state sync fetch by @Raneet10 in #1443
- Remove milestone no-ack fetching by @avalkov in #1470
- Heimdallv2 fast consensus by @marcello33 in #1480
- Add optional HeimdallWSAddress configuration and refactor handler_bor methods by @lucca30 in #1481
- empty ws addree by default by @lucca30 in #1486
- Bor nil check on ws subscription by @lucca30 in #1491
- fix nil pointer dereference on DoCall by @marcello33 in #1505
- heimdallgrpc: bor-hv2 gRPC updates by @kamuikatsurgi in #1500
- test(bor-hv2): fix Bor-HV2 tests by @kamuikatsurgi in #1510
- Fix checkpoint and milestone v2 response by @avalkov in #1523
- Bor working with v1 and v2 by @avalkov in #1543
- Bor without heimdall by @avalkov in #1512
- fix(CI): update ci and matic-cli config by @kamuikatsurgi in #1571
- Move bor span self commit logic to the span store by @avalkov in #1569
- Backport v2.1.0 by @pratikspatil024 in #1575
Full Changelog: v2.1.0...v2.2.0-test
v2.1.0
This is the first stable release in the 2.1.x series and includes the finalized changes for the upcoming Bhilai Hard Fork.
Note: This release contains some breaking changes to the database. Downgrading to previous versions requires re-syncing the chain from genesis. Please read the sections below carefully before upgrading.
Bhilai Hard Fork Preparation
- Includes all protocol changes specified in PIP-63.
- The Bhilai Hard Fork is not yet active. Activation parameters (such as fork block on mainnet) will be included in a follow-up release.
Database Format Change
- The internal database version has been upgraded from v8 to v9.
- This is a backward-incompatible change. After upgrading:
- Downgrading to older versions will require a full resync from genesis.
Chain Rewind Behavior
- Upon upgrade, nodes will enter a head-state missing state and will rewind several hundred blocks. This is expected behavior.
- If you operate a cluster of interconnected nodes:
- Upgrade them one at a time to allow rewound nodes to sync from peers that are still fully synced.
- This minimizes the risk of extended downtime during the upgrade process.
Gas Limit Adjustment
- The default block gas limit will be increased to 45 million.
- This is a non-hard-fork change and takes effect immediately upon deployment of this version.
⚠️ Validator Configuration Update (Mandatory)
If you are a validator upgrading to v2.1.x
, you must check your config.toml
file.
If the gaslimit
field under the [miner]
section is uncommented, it should be updated to the new value:
[miner]
gaslimit = 45000000
If this section is not present or if gaslimit is commented, then you are all set. No actions needed from your end.
This change is required to support PIP-60.
Note: This release includes changes from EIP-7745. As a result, CPU usage may temporarily spike after a node restart due to log indexing. This is expected and should normalize once the indexing is complete.
What's Changed
- PIP-58: Increase BaseFeeChangeDenominator to 64 by @pratikspatil024 in #1547
- PIP-60: Increase gas limit to 45M by @pratikspatil024 in #1548
- eth_getTdByNumber method by @lucca30 in #1552
- consensus/bor: allow early block announcements by @manav2401 in #1545
- fix(consensus, span): avoid duplicate span commit for spanId 1 by @kamuikatsurgi in #1559
- Fix localEndBlock nil check by @lucca30 in #1562
- Added Bhilai (and Prague) block for Amoy by @pratikspatil024 in #1564
- Allow mining if DevFakeAuthor is enabled by @Raneet10 in #1563
- Pectra upstream merge v1.15.7 by @pratikspatil024 in #1528
- Pectra 2.0: upstream merge v1.15.7<>v1.15.11 by @pratikspatil024 in #1550
- v2.1.0 by @pratikspatil024 in #1566
Full Changelog: v2.0.4...v2.1.0
v2.0.4
This release contains upstream merge from geth, few bug fixes, and improvements.
It contains upstream merge from geth including releases Gei Hinnom (v1.14.12) and Schwarzschild (v1.14.13).
Additionally, it enables a long time due feature, the snap
syncing mechanism. Snap sync instead of re-executing all blocks (like in full sync) downloads the recent most state and chain data from it's peer(s) (trusting them to deliver correct data) making the syncing time from scratch significantly less. Initial benchmarks on a n2d-standard-8 (8 vCPUs, 32 GB Memory) with an SSD disk shows ~30 hours of sync time on Polygon mainnet at the time of this release. More details about snap sync can be found here. Note that the node should be started with PBSS + PebbleDB in order to be able to use snap sync. To get started, set the syncmode
flag to snap
.
This release also makes consensus verification in bor stateless to enable full stateless block verification in future and also support snap sync
What's Changed
- fix mocks generation and remove reflection by @marcello33 in #1504
- fix nil pointer dereference on DoCall by @marcello33 in #1506
- Sec fixes by @marcello33 in #1508
- Updating packager by @djpolygon in #1527
- chore: fix function name in comment by @shangchengbabaiban in #1529
- Fix ci by @cffls in #1530
- consensus/bor: add span store abstraction for stateless verification by @manav2401 in #1472
- eth, internal/cli: allow bor to run in snap sync by @manav2401 in #1532
- Upstream merge v1.14.13 by @manav2401 in #1499
- Backport master to develop (v2.2.0) by @manav2401 in #1535
- consensus/bor: remove state root calculation from bor consensus by @manav2401 in #1539
- Backport master to develop by @manav2401 in #1542
New Contributors
- @shangchengbabaiban made their first contribution in #1529
Full Changelog: v2.0.3...v2.0.4
v2.1.0-beta4
This release schedules the Bhilai Hard Fork for Amoy.
The Bhilai Hard Fork on Amoy is scheduled for block number 22765056. Which is expected to hit at Jun-11-2025 10 AM UTC (3:30 pm IST). Make sure to update all your Amoy nodes before this time.
Note: If you are updating to v2.1.x
for the first time, make sure to check out the release notes of v2.1.0-beta.
⚠️ Validator Configuration Update (Mandatory)
All validators are required to check their config.toml file.
If the gaslimit
field under the [miner]
section is uncommented, it must be updated to 45000000 (45M) to support PIP-60.
[miner]
gaslimit = 45000000
What's Changed
On top of v2.1.0-beta
this release contains the following changes.
- fix(consensus, span): avoid duplicate span commit for spanId 1 by @kamuikatsurgi in #1559
- Fix localEndBlock nil check by @lucca30 in #1562
- Added Bhilai (and Prague) block for Amoy by @pratikspatil024 in #1564
Full Changelog: v2.1.0-beta...v2.1.0-beta4