Skip to content

Releases: bnb-chain/bsc

v1.4.16

26 Nov 09:42
2df94c3
Compare
Choose a tag to compare

Changelog

v1.4.16 is a maintenance release, which mainly include:

  • Fix a multi-DB bug, which failed to prune historical data from main db after BSC support 4844
  • Add the code framework of BSC next hardfork: Pascal
  • Systemcontract code cleanup, which is part of Pascal hard fork without a BEP.
  • New feature: overflowpool, it tries to enhance the current TxPool to support large traffic.
  • Add some tool for trouble shoot, JSTool and PythonTool

BUGFIX

  • #2736 ethclient: move TransactionOpts to avoid import internal package;
  • #2755 fix: fix multi-db env
  • #2759 fix: add blobSidecars in db inspect
  • #2764 fix: add blobSidecars in db inspect

FEATURE

  • #2692 feat: add pascal hardfork
  • #2718 feat: add Prague hardfork
  • #2734 feat: update system contract bytecodes of pascal hardfork
  • #2737 feat: modify LOCK_PERIOD_FOR_TOKEN_RECOVER to 300 seconds on BSC Testnet in pascal hardfork
  • #2660 core/txpool/legacypool: add overflowpool for txs
  • #2754 core/txpool: improve Add() logic, handle edge case

IMPROVEMENT

  • #2727 core: clearup testflag for Bohr
  • #2716 minor Update group_prover.sage
  • #2735 concensus/parlia.go: make distribute incoming tx more independence
  • #2742 feat: remove pipecommit
  • #2748 jsutil: put all js utils in one file
  • #2749 jsutils: add tool GetKeyParameters
  • #2756 nancy: ignore github.com/golang-jwt/jwt/v4 4.5.0 in .nancy-ignore
  • #2757 util: python script to get stats of reorg
  • #2758 utils: print monikey for reorg script
  • #2714 refactor: Directly swap two variables to optimize code

Assets

Assets Sha256 Checksum
mainnet.zip e9143c17e5369414fb3a569155eb5c66cee7c4395c13695b73d669a9df46fa46
testnet.zip 042a1884b00e6cd72af5c3e31c5985b9d8a78a29ccc19fb4ba660e0da1e621e7
geth_linux 4556d7d744a94481d25a369c1fc9443cdc4563e4ef8f3185bcf90506b7b8693e
geth_mac f39701bff744eeab653c22d816b158a3ddceb686bc88fd7d8aa10671cba77d6c
geth_windows 16b5b446ea2999a6504231f381ffd879ef4040c1a7c37d0220bd8dd469da54a5
geth_linux_arm64 6538ec007ca8b359681824cadb3a1f713f1c05e74d566bbf38aae728d9149548

v1.4.15

19 Sep 07:07
ec318b9
Compare
Choose a tag to compare

Require Mandatory Update? No

Description

v1.4.15 is a maintenance release, which mainly has some enhancement on P2P and TxPool module, it also provides some Restful API for L2 and support customized token on BSC faucet.

Changelog

BUGFIX

  • #2680 txpool: apply miner's gasceil to txpool
  • #2688 txpool: set default GasCeil from 30M to 0
  • #2696 miner: limit block size to eth protocol msg size
  • #2684 eth: Add sidecars when available to broadcasted current block

FEATURE

  • #2672 faucet: with mainnet balance check, 0.002BNB at least
  • #2678 beaconserver: simulated beacon api server for op-stack
  • #2687 faucet: support customized token
  • #2698 faucet: add example for custimized token
  • #2706 faucet: update DIN token faucet support

IMPROVEMENT

  • #2677 log: add some p2p log
  • #2679 build(deps): bump actions/download-artifact in /.github/workflows
  • #2662 metrics: add some extra feature flags as node stats
  • #2675 fetcher: Sleep after marking block as done when requeuing
  • #2695 CI: nancy ignore CVE-2024-8421
  • #2689 consensus/parlia: wait more time when processing huge blocks

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip fc1f15a0f31db46df24692c7f525bd97511acb91aaf406a5c4f8ebc646ae87d4
geth_linux 21451524bbdfdcc15b80fded601aab7fb22de9538d9d7ebceedcb747f57671b2
geth_mac 0807cbb1335ddb5e2cc32a67d112a304b859baf242e3a209a3d18a4dc440a3c3
geth_windows ae91c1ab0aca16045e7693dd1650e38e62c3da94124275104d0318712308dc11
geth_linux_arm64 3e7d4a587251e84d2440d5f9686e93d30dc1cc30216ec21582a43da23e509f24

v1.4.14

27 Aug 07:10
Compare
Choose a tag to compare

Important Announcement:
HashSchema&LevelDB mode will be discontinued after September 30, 2024, will be replaced by PathSchema&PebbleDB mode
If you are still running with HashSchema or LevelDB, you need to reinstall your node with the latest bsc-snapshot.
How to check the running mode and the steps to do the migration, pls refer: bnb-chain/bsc-snapshots#379.

Notice

Require Mandatory Update? Mainnet: Yes

Description

Release v1.4.14 is a hard fork release for BSC Mainnet, the HF name is: Bohr.
The target Bohr hard fork time will be:

  • Mainnet: 2024-09-26 02:20:00 AM UTC

There are 4 BEPs in Bohr:

Among these BEPs, BEP-341 holds the most significance as it proposes a change to the block production protocol. However, BEP-341 will only come into effect after the affirmative outcome of a governance vote.
And BEP-402 updates the block header signature logic, please pay special attention if your product involves the logic of block header verification.
The other 2 BEPs, BEP-404 and BEP-410 are for some enhancement and unlikely to have compatibility issue.

Changelog

BUGFIX

  • #2643core: fix cache for receipts
  • #2656ethclient: fix BlobSidecars api
  • #2657fix: update prunefreezer’s offset when pruneancient and the dataset has pruned block

FEATURE

  • #2661config: setup Mainnet 2 hardfork date: HaberFix & Bohr

IMPROVEMENT

  • #2578core/systemcontracts: use vm.StateDB in UpgradeBuildInSystemContract
  • #2649internal/debug: remove memsize
  • #2655internal/ethapi: make GetFinalizedHeader monotonically increasing
  • #2658core: improve readability of the fork choice logic
  • #2665faucet: bump and resend faucet transaction if it has been pending for a while

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip e1c88c2eba416e562fde8d8012b7669d6f9d176e3d126e6c25712a2fc0b39ac7
geth_linux ec9be2b58a1a39b665ea7fb6f113c3a97a200906cebe214ab05fbc60c62cac39
geth_mac 0db5acd6eb1e546bb6b120e2c5c04363bf7c76b6164db68d55cb5281877cec5e
geth_windows 7aa9254bd75bf0ca16de05d79242cab69b0983133131db95b7e1cc26acc47212
geth_linux_arm64 0bb975dc3afe110ce5c76ac514d8c87bcf2529ba9e1f5a52096a2e2a16397d26

v1.4.13

09 Aug 02:21
26a4d4f
Compare
Choose a tag to compare

Important Announcement:
HashSchema&LevelDB mode will be discontinued after September 30, 2024, will be replaced by PathSchema&PebbleDB mode
If you are still running with HashSchema or LevelDB, you need to reinstall your node with the latest bsc-snapshot.
How to check the running mode and the steps to do the migration, pls refer: bnb-chain/bsc-snapshots#379.

Notice

Require Mandatory Update?

  • Testnet: Yes
  • Mainnet: No

Description

Release v1.4.13 is a hard fork release for BSC Testnet, the HF name is: Bohr.
The target Bohr hard fork time will be:

  • Testnet: 2024-08-20 01:23:16 AM UTC
  • Mainnet: it is not determined yet, target Later Sep 2024

There are 4 BEPs in Bohr:

Among these BEPs, BEP-341 holds the most significance as it proposes a change to the block production protocol. However, BEP-341 will only come into effect after the affirmative outcome of a governance vote.
And BEP-402 updates the block header signature logic, please pay special attention if your product involves the logic of block header verification.
The other 2 BEPs, BEP-404 and BEP-410 are for some enhancement and unlikely to have compatibility issue.

Changelog

BUGFIX

  • #2602 fix: prune-state when specify --triesInMemory 32
  • #2579 fix: only take non-mempool tx to calculate bid price

FEATURE

  • #2634 config: setup Testnet Bohr hardfork date
  • #2482 BEP-341: Validators can produce consecutive blocks
  • #2502 BEP-402: Complete Missing Fields in Block Header to Generate Signature
  • #2558 BEP-404: Clear Miner History when Switching Validators Set
  • #2605 feat: add bohr upgrade contracts bytecode
  • #2614 fix: update stakehub bytecode after zero address agent issue fixed
  • #2608 consensus/parlia: modify mining time for last block in one turn
  • #2618 consensus/parlia: exclude inturn validator when calculate backoffTime
  • #2621 core: not record zero hash beacon block root with Parlia engine

IMPROVEMENT

  • #2589 core/vote: vote before committing state and writing block
  • #2596 core: improve the network stability when double sign happens
  • #2600 core: cache block after wroten into db
  • #2629 utils: add GetTopAddr to analyse large traffic
  • #2591 consensus/parlia: add GetJustifiedNumber and GetFinalizedNumber
  • #2611 cmd/utils: add new flag OverridePassedForkTime
  • #2603 faucet: rate limit initial implementation
  • #2622 tests: fix evm-test CI
  • #2628 Makefile: use docker compose v2 instead of v1

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip e1c88c2eba416e562fde8d8012b7669d6f9d176e3d126e6c25712a2fc0b39ac7
geth_linux e99d28cd0480e95271737fb7ab4c21280e0a5cdd0770835d3b2a034b05691f9d
geth_mac 89541efc8c6b857ec2cbda05cf8c5b9e5374d37f2ac47340444d3e83dbc92881
geth_windows caf2ac9bc2a63ee6a5140492b996d91e8720bff36fd073e3169f9920c1c140e8
geth_linux_arm64 9e6a0995fba61bc42cc51cdd04a07a740120fc0c0f959114bbb8bb33f13e1828

v1.4.12

24 Jul 04:18
83a9b13
Compare
Choose a tag to compare

Notice

Mandatory Update: No

This is a maintenance release, which includes some bug fix of: --pruneancient, issues of force kill, multi-database, snapshot prune-state. And also has some improvements on vote, minor, mev, freezer

Changelog

BUGFIX

  • #2557 fix: fix state inspect error after pruned state
  • #2562 fix: delete unexpected block
  • #2566 core: avoid to cache block before wroten into db
  • #2567 fix: fix statedb copy
  • #2574 core: adapt highestVerifiedHeader to FastFinality
  • #2542 fix: pruneancient freeze from the previous position when the first time
  • #2564 fix: the bug of blobsidecars and downloader with multi-database
  • #2582 fix: remove delete and dangling side chains in prunefreezer

FEATURE

  • #2513 cmd/jsutils: add a tool to get performance between a range of blocks
  • #2569 cmd/jsutils: add a tool to get slash count
  • #2583 cmd/jsutill: add log about validator name

IMPROVEMENT

  • #2546 go.mod: update missing dependency
  • #2559 nancy: ignore go-retryablehttp@v0.7.4 in .nancy-ignore
  • #2556 chore: update greenfield cometbft version
  • #2561 tests: fix unstable test
  • #2572 core: clearup testflag for Cancun and Haber
  • #2573 cmd/utils: support use NetworkId to distinguish chapel when do syncing
  • #2538 feat: enhance bid comparison and reply bidding results && detail logs
  • #2568 core/vote: not vote if too late for next in turn validator
  • #2580 freezer: Opt freezer env checking

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip e1c88c2eba416e562fde8d8012b7669d6f9d176e3d126e6c25712a2fc0b39ac7
geth_linux 3ac588488b35e4997743fd410f15011c23f3d02bfb6ffbf8a872b9e18fbe0eba
geth_mac 5044ba67cbc9febaf117fc2b9e19b8860ea7986dc9cfad3b903e2f931fc668c8
geth_windows 874513d9cbc296ab8b76aa15f62fbc197001e33c267bb0a059ab9c9c209ba417
geth_linux_arm64 0357c7a06f55adc7f41db4d2ca270747be82d0373d2c20d18f528e5ed01fa0be

v1.4.11

28 Jun 01:17
7194125
Compare
Choose a tag to compare

Notice

Mandatory Update: Yes

This is a hardfork release target to resolve a staking reward distribution issue on BSC testnet. This upgrade, known as the "Haber Fix" upgrade, is scheduled to take place on July 3, 2024, at 06:06:28 GMT. All clients on BSC testnet are encouraged to upgrade to the latest version.

Optional for the client running on mainnet.

Changelog

BUGFIX

  • #2534 fix: nil pointer when clear simulating bid
  • #2535 upgrade: add HaberFix hardfork

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15
geth_linux 72118152e80ae2d3545d5a8002335b1bb43a79f6fce4ee96f431f58ddffe64eb
geth_mac 3f3a43e9a33295c3448701b79805d625a5dfd2664d2589dde6a88d1a088cccc5
geth_windows 5d42342bb28838833540ce163184ea4f887ef5dec60626e8bb418991c6807581
geth_linux_arm64 574a397d8a31bcb95a8dcb6f381655210618e7f407f89d454c8eb6eb5cdb5b0c

v1.4.10

21 Jun 08:25
f0c7795
Compare
Choose a tag to compare

Notice:
v1.4.10 solved the "BAD BLOCK" issue after Haber hard fork, pls use this version if your node has the BAD BLOCK issue.

Description

Mandatory Update: No(but strongly recommended!)
Latest Mandatory Update: v1.4.8

v1.4.10 is a maintenance release, which has several improvements and fixes:

  • improve: performance, MEV-API, less-reorg
  • fix: ethapi, UT failure, rpc:getBlobSidecars, BAD BLOCK caused by nil withdrawals.

There is no compatible change, to upgrade to v1.4.10 from v1.4.x, simply replace the binary should work.

Change Log

FEATURE

  • NA

IMPROVEMENT

  • #2512 feat: add mev helper params and func
  • #2508 perf: speedup pbss trienode read
  • #2509 perf: optimize chain commit performance for multi-database
  • #2451 core/forkchoice: improve stability when inturn block not generate

BUGFIX

  • #2518 fix: remove zero gasprice check for BSC
  • #2519 UT: random failure of TestSnapSyncWithBlobs
  • #2515 fix getBlobSidecars by ethclient
  • #2525 fix: ensure empty withdrawals after cancun before broadcast

Example

NA

Compatibility

NA

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15
geth_linux 7d762aa5f7c3fcd2a53ee82c6fb58ab86dce2447233a55f75b60dc21e20ce66a
geth_mac e787f0651cf2a0a06ac57f641bfc62b773e349e22e229b778a63b4df0e5605ff
geth_windows 483422c9a540a96f3a22bfe6378a953bb6c9216b14ea7f1ac53b37e807b49d34
geth_linux_arm64 48986bea8185104e175e0c672fd41183aa6f574ed1c97077f4e99e947fe9844b

v1.4.9

11 Jun 06:25
4566ac7
Compare
Choose a tag to compare

Description

Mandatory Update: No
Latest Mandatory Update: v1.4.8

v1.4.9 is a maintenance release, which mainly addressed some issues about: prune-block, multi-database and MEV
There is no compatible change, to upgrade to v1.4.9 from v1.4.x, simply replace the binary should work.

Changelog

FEATURE

  • #2463 utils: add check_blobtx.js
  • #2470 jsutils: faucet successful requests within blocks
  • #2467 internal/ethapi: add optional parameter for blobSidecars

IMPROVEMENT

  • #2462 cmd/utils: add a flag to change breathe block interval for testing
  • #2497 params/config: add Bohr hardfork
  • #2479 dev: ensure consistency in BPS bundle result

BUGFIX

  • #2461 eth/handler: check lists in body before broadcast blocks
  • #2455 cmd: fix memory leak when big dataset
  • #2466 sync: fix some sync issues caused by prune-block.
  • #2475 fix: move mev op to MinerAPI & add command to console
  • #2473 fix: limit the gas price of the mev bid
  • #2484 fix: fix inspect database error
  • #2481 fix: keep 9W blocks in ancient db when prune block
  • #2495 fix: add an empty freeze db
  • #2507 fix: waiting for the last simulation before pick best bid

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15
geth_linux 52e4ed0f6000b14f40bc5ce215e48f1f516664af7ad331b365696d93613487b4
geth_mac 0bb2f95f40920ac2c1a68d7b2501d34d1cd88456bb0c9e7307458068d06989b3
geth_windows 3f2e9c7a70a350cafa5bf08f14485acefc1ca19ae8684d97f744cb5166e4c4e2
geth_linux_arm64 24821c6130837c96830434f8be243f94b0ff35f30ceb4c0ebf6d381ba89d002a

v1.4.8

21 May 10:44
f5ba30e
Compare
Choose a tag to compare

Notice

Mandatory Update: Yes

Haber and Tycho(Cancun: BlobTx) hard fork will be enabled on BSC mainnet simultaneously, so this release also supports the Tycho hard fork, detail of Tycho hard fork may refer https://github.com/bnb-chain/bsc/releases/edit/v1.4.7

Description

Release v1.4.8 is a cut-in hard fork release for BSC Testnet and Mainnet, the HF name is: Haber, it only supports one BEP: BEP-381: Precompile for secp256r1 Curve Support

As there is strong demand for supporting of secp256r1 pre-compile contract, we decide to move it faster.
And BSC would use address 0x100, which is same as other major chains to make it easier for developers.
Developers may refer this code on how to use this pre-compile contract: https://github.com/getclave/clave-contracts/blob/master/contracts/helpers/VerifierCaller.sol

The target Haber hard fork time will be:

  • Testnet: 2024-05-29 06:07:00 AM UTC
  • Mainnet: 2024-06-20 06:05:00 AM UTC

Changelog

FEATURE

  • #2483 core/vm: add secp256r1 into PrecompiledContractsHaber
  • #2400 RIP-7212: Precompile for secp256r1 Curve Support

IMPROVEMENT

NA

BUGFIX

NA

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15
geth_linux 8310f250fe8f628ec839d5954ff4e3e70ca1a0248e3b76243f4885945dd5ce3e
geth_mac c99ede9b07d09fe5960a03bce0cd3c92c8f93d0022741b3cb7ccf3ecbb7070e4
geth_windows ec7d777c7a200612e301da863a64b1ddf5ed76e5dba575e496479174453cd4d8
geth_linux_arm64 a2a7ee2872dc2d0dc4fadd7417d31f7fcdf6e553cf1b90cb630fcd6c0dcff845

v1.4.7

17 May 08:35
f45305b
Compare
Choose a tag to compare

Description

Release v1.4.7 is a hard fork release for BSC Mainnet, the HF name is: Tycho, it mainly support Cancun EIPs on BSC:

But BSC won’t support “EIP-4788: BeaconRoot”, as there is no CL on BSC.

The target Tycho hard fork time will be:

  • Mainnet: 2024-06-20 06:05:00 AM UTC

After Tycho hard fork, BSC will also support Blob Transaction, which will provide similar mechanism as Ethereum EIP-4844. And BSC L2 rollup could take advantage of it to reduce the rollup cost.
If you have any question about it, pls refer: FAQ: About EIP-4844 on BSC

Changelog

FEATURE

  • #2439 config: setup Mainnet Tycho(Cancun) hardfork date

IMPROVEMENT

  • #2396 metrics: add blockInsertMgaspsGauge to trace mgasps
  • #2411 build(deps): bump golang.org/x/net from 0.19.0 to 0.23.0
  • #2435 txpool: limit max gas when mining is enabled
  • #2438 fix: performance issue when load journal
  • #2440 nancy: add files .nancy-ignore

BUGFIX

NA

Assets

Assets Sha256 Checksum
mainnet.zip aeeae3392bd51af57fb1e2eddeefff7e84d58a37f87513495348d82deee5824f
testnet.zip bcb79b8731c50ddaa3a5a2e3e92afa4f04b0c04c72b6b37b8a69ecd776304f15
geth_linux 84853f993eb30b38a5c35cfdb65e036ccddb9b697c54483870cb034d2b055cba
geth_mac eb7fa9993cff3b9f203766170e46266e3c2169c0434d7f7ed746113260244fbc
geth_windows f52e5ef1abbf6be565e0696fcba46f86cefc1d4170b76577af34e4b5fe206f1c
geth_linux_arm64 ade5dfdc85d79ca5086bae6821599e598a154a7e644c7608bc243f472395cd5f