maticnetwork/bor - v2.1.0

Published: Jun 12, 2025

Release Summary

We're excited to announce the release of v2.1.0, the first stable version in the 2.1.x series. This release is a crucial step in preparing for the upcoming **Bhilai Hard Fork**.

**Important Note:** This release introduces a **breaking change** to the database format, upgrading from v8 to v9. This is backward-incompatible. If you upgrade and later need to downgrade to a previous version, a **full chain resync from genesis will be required**. Please plan your upgrade carefully.

The **Bhilai Hard Fork itself is not yet active** with this release. The specific block numbers for activation on Mainnet will be provided in a subsequent release. This version includes all the necessary protocol changes defined in PIP-63.

Upon upgrading, your nodes may enter a head-state missing state and will **rewind several hundred blocks**. This is expected behavior as part of the upgrade process. If you manage a cluster of interconnected nodes, we strongly recommend upgrading them **one at a time**. This allows newly upgraded nodes to sync from peers that are still fully caught up, minimizing downtime.

A notable change in this release is the adjustment of the default block gas limit to **45 million**. This specific change is not part of the Bhilai hard fork and takes effect immediately upon deploying this version.

**Action Required for Validators:** If you are a validator, you **must** check your `config.toml` file. If the `gaslimit` field under the `[miner]` section is uncommented, please update its value to `45000000`. This is necessary to support the increased gas limit and is mandatory for validator nodes.

This release also includes changes from EIP-7745. As a result, you might observe a **temporary spike in CPU usage after a node restart** due to log indexing. This is normal and should subside once indexing is complete.

Release Notes

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](https://github.com/maticnetwork/Polygon-Improvement-Proposals/blob/main/PIPs/PIP-63.md).
- 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:

```toml
[miner]
  gaslimit = 45000000
```
This change is required to support [PIP-60](https://github.com/maticnetwork/Polygon-Improvement-Proposals/blob/main/PIPs/PIP-60.md).

---

**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 https://github.com/maticnetwork/bor/pull/1547
* PIP-60: Increase gas limit to 45M by @pratikspatil024 in https://github.com/maticnetwork/bor/pull/1548
* eth_getTdByNumber method by @lucca30 in https://github.com/maticnetwork/bor/pull/1552
* consensus/bor: allow early block announcements by @manav2401 in https://github.com/maticnetwork/bor/pull/1545
* fix(consensus, span): avoid duplicate span commit for spanId 1 by @kamuikatsurgi in https://github.com/maticnetwork/bor/pull/1559
* Fix localEndBlock nil check by @lucca30 in https://github.com/maticnetwork/bor/pull/1562
* Added Bhilai (and Prague) block for Amoy by @pratikspatil024 in https://github.com/maticnetwork/bor/pull/1564
* Allow mining if DevFakeAuthor is enabled by @Raneet10 in https://github.com/maticnetwork/bor/pull/1563
* Pectra upstream merge v1.15.7 by @pratikspatil024 in https://github.com/maticnetwork/bor/pull/1528
* Pectra 2.0: upstream merge v1.15.7<>v1.15.11 by @pratikspatil024 in https://github.com/maticnetwork/bor/pull/1550
* v2.1.0 by @pratikspatil024 in https://github.com/maticnetwork/bor/pull/1566


**Full Changelog**: https://github.com/maticnetwork/bor/compare/v2.0.4...v2.1.0

Links

Back to maticnetwork/bor releases