Skip to content

Releases: bnb-chain/bsc

v1.6.7

18 Feb 01:29

Choose a tag to compare

MetaInfo

Mandatory Update Required: NO
Target Audience: all users
Procedure: simply binary replacement should be good from v1.6.x
Schedule(Timeline): no scheduled upgrade timeline, but we recommend upgrading.

Description

This release ports critical security fixes from go-ethereum v1.16.9, resolving two P2P vulnerabilities.

Changelog

BUGFIX

crypto/secp256k1: fix coordinate check
crypto/ecies: fix ECIES invalid-curve handling

Assets

Assets Sha256 Checksum
mainnet.zip 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux def582a69d3bdd1bc5db3f1d0ad320368da8a0bbfb5bdc11cdaef91f00664cc9
geth_mac 94579c1e2c6ce9cd38fc7ad612f0bebada50637e8de38f8cb37ba42e9ab3d818
geth_windows b35df1473a23c2220f5b12b7c380267ff624ae3ba6ad59cc10e7b69a6c253607
geth_linux_arm64 a042a7b798c5a149bb52f39927ece3ad895bded4671192e4b213efd4f9c68bb9

v1.7.0-alpha

26 Jan 08:09
1efeee0

Choose a tag to compare

v1.7.0-alpha Pre-release
Pre-release

MetaInfo

  • Mandatory Update Required: NO
  • Target Audience: alpha release, no target audience
  • Procedure: simply binary replacement should be good
  • Schedule(Timeline): alpha release, no scheduled upgrade timeline

Description

v1.7.0-alpha is a preview release for upstream code sync, it catches up with go-ethereum release [v1.16.7] and also include several bug fix and improvements.

Changelog

Code Sync

  • upstream: merge geth-v1.16.2 ~ geth-v1.16.7
    Key changes from the code sync include:
    • Osaka:
      • Implement EIP-7823 - Set upper bounds for MODEXP
      • Implement EIP-7825 - Transaction Gas Limit Cap.
      • Implement EIP-7883 - ModExp Gas Cost Increase.
      • Implement EIP-7918 - Blob base fee bounded by execution cost.
      • Implement EIP-7934 - RLP Execution Block Size Limit.
      • Implement EIP-7939 - CLZ opcode.
      • Implement EIP-7951 - Precompile for secp256r1 Curve Support.
    • eth_sendRawTransactionSync: Synchronous transaction submission
    • Performance Optimizations: Multiple improvements to enhance overall performance
    • Code Refactoring: Major cleanup and improvements to components including:
      • TriePrefetcher prefetch trie nodes in a account in parallel.
      • Introduced a file-based state journal and refactored state history writes

FEATURE

IMPROVEMENT

BUGFIX

Others

Assets

Assets Sha256 Checksum
mainnet.zip 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux d81a3eb2425cd665360dc1cef4c238f55c140d2657a1c759960fbe44e6bda188
geth_mac 2206ad9a41eda2ead17d7684fe2d4df5858521bd13e349c6acc19e07d8b45016
geth_windows b22e723f00847d08f37b2bcac5afdedeb663c15a8c2a6bc02cf58d6fa8796078
geth_linux_arm64 cd8f7ecc401f871c1be0c078f3f23733e9c3b0f39f890a59536ebb443cf18536

v1.6.6

14 Jan 07:56

Choose a tag to compare

This release ports critical security fixes from go-ethereum v1.16.8, resolving two P2P vulnerabilities.

While not an emergency patch, we highly recommend all node operators upgrade to ensure long-term network stability and security.

Upgrade Instructions

From v1.6.x: A simple binary replacement is sufficient.
From v1.5.x: Please refer to the v1.6.5 Release Announcement for specific migration steps.

Changelog

BUGFIX

core/txpool: drop peers on invalid KZG proofs
crypto/ecies: use aes blocksize

Assets

Assets Sha256 Checksum
mainnet.zip 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux fbdb8ef71be5cb392e689a8d54dea10667feaaa03d2889173263a0dd209877e0
geth_mac 50c1144d2d48c20c5f3f2896e7f4878ef6df26e41910248684de1a6a1b9f8fd7
geth_windows 31f620d87d02d167ae443387ccc92b8c8995786116d4573c50080012d46adf4d
geth_linux_arm64 6ebd4b8fcfc6fe0a141df8d445fccdc2d5b25ea321763cfd59f06a5597ce7105

v1.6.5

19 Dec 02:45
f828b30

Choose a tag to compare

v1.6.5 is a maintenance release that introduces an optional gas limit cap for transactions.

Changelog

FEATURE

#3488 miner: optional transaction gas limit cap

IMPROVEMENT

#3483 feat: remove the handshake from the bsc protocol
#3486 feat: update filtermaps checkpoints

Notice regarding upgrade from v1.5.x to v1.6.5

Snapshot Regeneration

The upgrade will trigger snapshot regeneration. Please expect reduced node performance until this process finishes. On our reference hardware (8-core AMD EPYC 7R13, 32GB RAM, SSD), regeneration took approximately 5 hours.

Log Indexing

v1.6.x introduces a new log indexing mechanism. For v1.6.5, the index is constructed starting from block 71,126,721. This operation consumes significant CPU resources, and the node may appear unresponsive during startup. If you do not need the full index, add the flag --history.logs 576000 to limit indexing to the last 3 days, or disable it entirely using --history.logs.disable.

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux f2ede52daf7a011494d28ff24bfa4c96c8b74e52239a0d1f024190ce9c666f18
geth_mac a3f5c75c29e39e320d46be3be2cf19b85b1b82f333eef8c3ac0f4fdf23c62230
geth_windows 088ecd85fcacd613856d312286f80a7eec359fc25528af558381d4de5bf10fa7
geth_linux_arm64 269af3615bfd0d499d0d4cc52a1834402bd8d0f3d203db8990249c6872b820a7

v1.6.4-feature-BAL7928

18 Dec 02:46

Choose a tag to compare

Pre-release

Description

This is an experimental feature release based on v1.6.4, with binary version: v1.6.102.

This feature release implemented the none consensus based Block-Access-List. It is based on EIP-7928 and using the non-consensus method, which similar to BEP-592
Deviations from EIP-7928:

  • Consensus-level changes were removed, include BAL hash in block header.
  • BALs now transfer only via the block propagation payload (ETH/BSC P2P messages) to help peers import blocks faster.
  • If the BAL-driven parallel execution path fails (missing data, validation mismatch, etc.), the importer falls back to the legacy serial execution pipeline to guarantee correctness, so enabling BAL never jeopardizes block processing.

The feature is disabled by default, to try it, you may add this flag: --experimental.bal.

Kindly note that our current implementation shows an approximate 18.6% performance improvement in average mgas/s within our local test environment. However, the actual benefits are contingent upon the complete upgrade of the entire network to support BAL; otherwise, your node will not receive blocks with BAL, resulting in no performance gain. We believe there is significant potential to further enhance this feature and achieve even greater performance improvements in the future. For more information, pls refer: https://www.bnbchain.org/en/blog/boosting-bnb-smart-chain-performance-with-block-access-list

Change Log

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux 54168bee96720ab3f2db6d3c48485af351220b73944e9f5dc6ffd2e6fe0c5683
geth_mac a3962e6911657488d60724274708fafac2b3deaa5d185663d0326c3109ee664e
geth_windows 30fc067e5e9fddf66a846f2a9ebbf969479e03bf20376aec432c0a532cd49db1
geth_linux_arm64 e8e2e32fb040a7eef1e3fadf5f12e708f354f399f24999a706aff3e013eacb73

v1.6.4

05 Dec 01:52
0f7131f

Choose a tag to compare

v1.6.4 is the release for the BSC Mainnet Fermi hard fork, which is expected to be activated at 2026-01-14 02:30:00 AM UTC. All BSC Mainnet nodes must upgrade to v1.6.4 before the hard fork time. Upgrading from v1.6.3 only requires a binary replacement.

v1.6.4 includes two BEPs, primarily aimed at reducing the block interval from 0.75 seconds to 0.45 seconds:

In addition to the block interval reduction, several other key parameters will be updated.
Please refer to BEP-619: Parameter Changes for details.

Beyond the hard-fork-related changes, this release also includes multiple improvements and bug fixes.
For the full list, please refer to the changelog below.

Changelog

FEATURE

  • #3466 config: update BSC Mainnet hard fork time: Fermi
  • #3454 eth: support fetching commit ID information from extra data

BUGFIX

  • #3448 TxPool: revert transaction lifetime back to 3 hours
  • #3457 cmd/geth: remove support for the multidatabase flag
  • #3467 go.mod: downgrade bls-eth-go-binary to restore Windows compatibility

IMPROVEMENT

  • #3445 eth: improve prefetching by using cached reader
  • #3459 feat: implement auto-unsubscribe for transactionReceipts
  • #3468 metric: add metric for vote count

Notice regarding upgrade from v1.5.x to v1.6.4

Snapshot Regeneration

The upgrade will trigger snapshot regeneration. Please expect reduced node performance until this process finishes. On our reference hardware (8-core AMD EPYC 7R13, 32GB RAM, SSD), regeneration took approximately 5 hours.

Log Indexing

v1.6.x introduces a new log indexing mechanism. For v1.6.4, the index is constructed starting from block 59,484,738. This operation consumes significant CPU resources, and the node may appear unresponsive during startup. If you do not need the full index, add the flag --history.logs 345600 to limit indexing to the last 3 days, or disable it entirely using --history.logs.disable.

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux c02e80e483c73d1e805856f72205a777c03699e4ecb8b1b87c72586d309c4fb6
geth_mac daf11f9591ab6b4666b1b0be8041bfde0c26f2b1cf4aba83f0c9589a197b1fef
geth_windows 4e2f2633c632df9c8d4e90263da331f067b45646f8c98a4f5c364626228a87a5
geth_linux_arm64 45234dca7c564c1b40ef09c4a9321a4eca6d3a98273438cc9c5ed64a14c8bb8b

v1.6.3

06 Nov 09:30
90d4e8e

Choose a tag to compare

Description

v1.6.3 is a maintenance release, which fixes 2 RPC issues and with several enhancements, pls refer change log for detail.

ChangeLog

FEATURE

NA

BUGFIX

#3429 build(deps): bump github.com/consensys/gnark-crypto
#3433 internal/ethapi: fix eth_simulateV1
#3431 eth/tracers: fix crasher in TraceCall with BlockOverrides

IMPROVEMENT

#3436 revert: revert the nano check in parlia
#3435 eth: fix stuck when handleBlockBroadcast

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7
geth_linux 25abae5a3ca0804fb153a2eeaac30fb9dd4713dd5310e4d4f3b023fa2d41fc3a
geth_mac 12a82a56cc4dfb67ba0bbb78af7e3e4a6248f71b5bc3d4b7bb655e04d22723df
geth_windows 3fe0727c6ec217cebbfcb77cbe075454f1251cc62424d26589ff1e0a4ff6f4d7
geth_linux_arm64 df6cbc552a6432ecf3733ba6c38c1d0e7d0856f552ad020be86c9309c217bc17

v1.6.2

31 Oct 06:31
d7e572d

Choose a tag to compare

Description

v1.6.2 is for BSC testnet Fermi hardfork: Fermi. Fermi hard fork is a critical upgrade to further reduce block interval from 750ms to 450ms, so users will have even better experience. Here is the list of Fermi BEPs:

Here is the timeline of BSC Fermi hard fork

  • Testnet: 2025-11-10 02:25:00 AM UTC
  • Mainnet: TBD

Besides the BEPs, v1.6.2 also include several improvements for miner, MEV and performance, and also includes two new features. Here is the description of the two new features:

  • new websocket RPC filter API for transaction receipts. (#3363)
  • new configuration "ProxyedNodeIds" to improve block propagation efficiency.(#3417)

Compatibility

  • flag --light.** was removed, include: --light.egress, --light.ingress, --light.maxpeers, --light.nopruning, --light.nosyncserve, --light.serve

ChangeLog

FEATURE

#3363 websocket: add transactionReceipts for receipts notification
#3367 BEP-619: Short Block Interval Phase Three: 0.45 Seconds
#3368 BEP-590: Extended Voting Rules for Fast Finality Stability
#3374 Implement BEP-592: Non-Consensus Based Block-Level Access List
#3372 core/systemcontracts: define fermiUpgrade
#3390 feat: implement incremental snapshot
#3395 feat: EVM execution opcode level optimization
#3400 consensus/parlia: set kAncestorGenerationDepth to 3 in BEP-590
#3397 consensus/parlia: fix updateAttestation&improve assembleVoteAttestation
#3417 p2p: define ProxyedNodeIds in Config

BUGFIX

#3373 ethapi: reject oversize storage keys before hex decode

IMPROVEMENT

#3388 miner/minerconfig: update config to adapt 100M gaslimit
#3404 miner: validator not inturn backoff before mining
#3407 fix: change lock to read lock in legacy pool
#3415 eth: broadcast votes to evn peers regardless of deltaTdThreshold
#3416 cmd/geth: improve config for sentry nodes when init network
#3419 miner: use latest block as pending block for simplicity
#3426 eth: increase the delta td threshold to broadcast votes

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 4434ccec0cb7db38766fa240e595e9add00642b36b8bee16fe71e62e8066d209
geth_mac 938d85e262f1642b662874f3f195f2418f96dc43f5095890c01304846e8997b1
geth_windows a935ebdf79a3c51d54c16f43f89477a0b933fbac219be541cfeefc0ff178c0c8
geth_linux_arm64 f4efcdca6d988db53ecd8aab33fe70fc7786aefc80537ba2da4dfa6e767fd275

v1.6.1-beta-feature-ScalableDB

30 Sep 11:44

Choose a tag to compare

Pre-release

Description

This is an experimental feature release based on v1.6.1-beta, with binary version: v1.6.101.

v1.6.1-beta-feature-ScalableDB introduces a multi-database architecture (scalaledb) that divides chaindata into four separate stores which includes BlockDataBase(with meta), TrieDataBase, SnapDataBase and IndexDataBase according to data schema . Scalaledb provides stronger storage scalability. Different DBs can be allocated customized resources and tuned configurations. In particular, databases can compact independently, avoiding interference and improving read performance under heavy I/O.

Run
Run geth from genesis with "multidatabse" flag:
./geth --config config.toml --datadir data-seed init --multidatabase genesis.json

If you run geth from snapshot, you need to use migrate tool to convert an existing snapshot to the scalaledb layout with
./geth -datadir <your-data-dir> db migrate . You can directly start after migration , no additional flags are required if your snapshot has already been migrated.

Performance Test Results:
In large-scale simulated benchmarks, Multi-DB improves Geth block sync performance by ~3.8%. Starting from the same block height, after seven days of syncing, the Multi-DB node was ahead by ~200,000 blocks.

Change Log

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux 38199d57b22f5c87dcd974e9083f3457ff65ff2deb41625ce4fb14f86946effb
geth_mac 3f74cec7974d611266f69a71728f5e3e8727c8566237536cc154ef0a5fb1a363
geth_windows 9b5ee986e87eb9632fdbecb81fe968a3eb276c884e1c8b76d1b379ca1d94df81
geth_linux_arm64 0830d90c31678f6f4b351259c6bd76ea4c580fe8bacbda4988150bc92c9e1e3e

v1.6.1-beta-feature-BAL

25 Sep 05:31
f4467d1

Choose a tag to compare

Pre-release

Description

This is an experimental feature release based on v1.6.1-beta, with binary version: v1.6.100. The suffix "-BAL" stands for "Block Access List.".

v1.6.1-beta-feature-BAL implements BEP-592: Non-Consensus Based Block-Level Access List to enhance block execution performance. This implementation introduces a Block Access List (BAL) feature that tracks account and storage access during transaction execution, enabling efficient prefetching of state data.

Try BAL:
As an experimental feature, BAL is disabled by default. It can be enabled by running with the flag --enablebal, or by updating the config.toml file as follows:

...
[Node]
EnableBAL = true
...

Since validators produce the BAL, they need to be upgraded first. The connected full nodes can then retrieve the BAL data to accelerate their synchronization performance.

Performance Test Results:

  • Block import performance increased by approximately 15%, with potential improvements of nearly 20% for I/O-heavy blocks.
  • CPU usage reduced by ~30%, as Tx prefetch would be replaced BAL.
  • The size of the BAL is about 40% of the block size. For a block with a 75M GasLimit, the block could be around 270KB, while the BAL would be approximately 110KB.

Change Log

Assets

Assets Sha256 Checksum
mainnet.zip ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744
testnet.zip 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c
geth_linux fd6a07786f0b85da3c74a2b9c30c6e34dc74dc54eaf8e1911eb1d66ad19e6d65
geth_mac e8215847b2895447c21422e2acc6bc4b4d65ba009c16cef92a5832b6afda04bb
geth_windows 7a5ec73a044675478668496ad64b087b112827cfe6aa13c1d459249e4c2a0335
geth_linux_arm64 a8d2687ba9cc9858ebad9f81f3112d535172a272e1ab7d1b4f82c35ebf27e7ea