Releases: bnb-chain/bsc
v1.4.16
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
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
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:
- BEP-341: Validators can produce consecutive blocks
- BEP-402: Complete missing fields in Block Header to generate Signature
- BEP-404: Clear Miner History when Switching Validators Set
- BEP-410: Add Agent for Validators
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
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:
- BEP-341: Validators can produce consecutive blocks
- BEP-402: Complete missing fields in Block Header to generate Signature
- BEP-404: Clear Miner History when Switching Validators Set
- BEP-410: Add Agent for Validators
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
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
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
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
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
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
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
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:
- a.BEP-336: Implement EIP-4844: ProtoDanksharding
- b.BEP-343: Implement EIP-1153: Transient storage opcodes
- c.BEP-344: Implement EIP-6780: SELFDESTRUCT only in same transaction
- d.BEP-342: Implement EIP-5656: MCOPY
- e.BEP-345: Implement EIP-7516: BLOBBASEFEE opcode
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 |