Skip to content

Releases: bnb-chain/bsc

v1.2.9

21 Jul 09:51
34b065a
Compare
Choose a tag to compare

Attention

Important: For validators, please follow the steps to setup your vote key to enable fast finality: How To Set Up The Vote Key

Description

It is a hard-fork release for BSC mainnet.
It sets up the hard fork height for both Plato and Hertz(Berlin,London).
The two hard forks have been running on Testnet for a while and their hard fork height are close, so we decide to put them within a single release to save the upgrade effort.
For the detail changes of the two hard fork, pls refer: https://forum.bnbchain.org/t/bnb-chain-upgrades-mainnet/936

The validators and full node operators on mainnet should switch their software version to v1.2.9 before Aug-10th-2023.

Plato

The mainnet is expected to have a scheduled hardfork upgrade named Plato at block height 30,720,096. The current block generation speed forecasts this to occur around Aug-10th-2023.
The Plato hardfork includes 1 BEPs:

Hertz

The mainnet is expected to have 3 scheduled hardfork upgrades named (Hertz, London, Berlin) at same block height 31,302,048. The current block generation speed forecasts this to occur around Aug-30th-2023.

The Hertz hardfork will port some of London&Berlin upgrades from Ethereum to BSC for compatiblity. But due to the difference between the 2 networks, there would inevitably has difference in implementation, especially the difference in EIP-1559, the BaseFee will be zero on BSC, so this hard fork will neither introduce new burn mechanism nor the concept of GasTip. In short words, it only provides the interface, but actually no change to the current BSC Gas mechanism.

Here is the list of Hertz upgrade:

There are many changes with these BEPs, DApp developers & users needs to make sure they clearly understand these changes and the potential impact to their business.

  • New transaction types are supported, i.e. AccessList & DynamicFee(1559), by BEP-229, BEP-231, BEP-226
  • The gas metering mechanism has been changed, by BEP-225, BEP-230, BEP-212;
  • New EVM opcode(BASEFEE) is supported, by BEP-227
  • Prevent deploying contracts starting with 0xEF, by BEP-228

Change Log

FEATURE

  • #1735 log: added option to rotate logs based on number of hours with a maximum of 24
  • #1727 discov: increase bucket size for bootnodes
  • #1739 eth/tracers: add multiplexing tracer
  • #1775 upgrade: several hardfork block height on mainnet: Plato, Hertz(Berlin, London)

BUGFIX

  • #1741 fix: defend ddos voting attack with other mini fix according to audit

IMPROVEMENT

  • #1725 log: uncomment some trace log

Assets

Assets Sha256 Checksum
mainnet.zip 4fc78d0a1f2e15764ed2ec72ada5cb3d0e0f2d59fdf873fedd8f5057be8198f1
testnet.zip b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9
geth_linux fbbf6e6f0abef96cd2cf230afaef1656929e2ee2b78adc901e0dfbecd254b0fc
geth_mac c8837921878b13efe933cf6033609da82f2bd3796cc613e005a2f50c7c9f1e47
geth_windows a19a6863b4158f1797a5eef24bc59f5b0cbe4943f7d35530c4b9b4c2bb187aa5
geth_linux_arm64 6eda77dc7422b79581d14d65e4647a1913818f919fd94dba9feffd5232f3df25

v1.2.8

27 Jun 07:02
fd58e6f
Compare
Choose a tag to compare

v1.2.8 is a maintenance release, it mainly fixes a potential deadlock on FastFinality VotePool and provides 2 other features(FastFinality & Web3 API related).

Changelog

FEATURE

  • #1626 eth/filters, ethclient/gethclient: add fullTx option to pending tx filter
  • #1726 feat: support password flag when handling bls keys

BUGFIX

  • #1734 fix: avoid to block the chain when failed to send votes

Assets

Assets Sha256 Checksum
mainnet.zip 4fc78d0a1f2e15764ed2ec72ada5cb3d0e0f2d59fdf873fedd8f5057be8198f1
testnet.zip b26fe88ccb52f540a95cbf749503130f6dd38eb8d361b7ef87aaf9ee2d473ed9
geth_linux 903f2dc9a4621de36c24eebdad0e152443dc01838c60b5fa0ce4160e0465ed2e
geth_mac 8d03b99de532359fe3d695eaa4b6fce3baa35ea158499e990a72e9480cde1164
geth_windows 51ce63c885452bf5899bcbaacd33437592a4dcd891d71da8bf665e7c37c453ad
geth_linux_arm64 4555afd19eb298d082859bd4c58caa4beedfa8b4f4ac6ac0fa27f8b4a23815e6

v1.2.7

20 Jun 12:17
9ed95d8
Compare
Choose a tag to compare

Attention

  • SELFDESTRUCT will no longer be refunded
  • There are 3 hard forks, node operators need to set them up at the same fork height, i.e. BerlinBlock = 31103030, LondonBlock = 31103030, HertzBlock = 31103030

Description

v1.2.7 is a hard-fork release for BSC testnet.

The testnet is expected to have 3 scheduled hardfork upgrades named Hertz, London, Berlin) at same block height 31,103,030. The current block generation speed forecasts this to occur around 29th Jun 2023.
The validators and full node operators on testnet should switch their software version to v1.2.7 before 29th Jun 2023.

The Hertz hardfork will port some of London&Berlin upgrades from Ethereum to BSC for compatiblity. But due to the difference between the 2 networks, there would inevitably has difference in implementation, especially the difference in EIP-1559, the BaseFee will be zero on BSC, so this hard fork will neither introduce new burn mechanism nor the concept of GasTip. In short words, it only provides the interface, but actually no change to the current BSC Gas mechanism.

Here is the list of Hertz upgrade:

There are many changes with these BEPs, DApp developers & users needs to make sure they clearly understand these changes and the potential impact to their business.

  • New transaction types are supported, i.e. AccessList & DynamicFee(1559), by BEP-229, BEP-231, BEP-226
  • The gas metering mechanism has been changed, by BEP-225, BEP-230, BEP-212;
  • New EVM opcode(BASEFEE) is supported, by BEP-227
  • Prevent deploying contracts starting with 0xEF, by BEP-228

Changelog

FEATURE

  • #1697 upgrade: block height of Hertz(London&Berlin) on testnet
  • #1686 eip3529tests: refactor tests
  • #1676 EIP-3529 (BEP-212) Unit tests for Parlia Config
  • #1660 feat: add a tool for submitting evidence of maliciousvoting
  • #1623 P2P: try to limit the connection number per IP address
  • #1608 feature: Enable Berlin EIPs
  • #1597 feature: add malicious vote monitor
  • #1422 core: port several London EIPs on BSC
  • #1717 feat: support creating a bls keystore from a specified private key
  • #1720 metrics: add counter for voting status of whole network

IMPROVEMENT

  • #1662 consensus, core/rawdb, miner: downgrade logs
  • #1654 config: use default fork config if not specified in config.toml
  • #1642 readme: update the disk requirement to 2.5TB
  • #1621 upgrade: avoid to modify RialtoGenesisHash when testing in rialtoNet

BUGFIX

  • #1682 fix: set the signer of parlia to the most permissive one
  • #1681 fix: not double GasLimit of block upon London upgrade
  • #1679 fix: check integer overflow when decode crosschain payload
  • #1671 fix: voting can only be enabled when mining
  • #1663 fix: ungraceful shutdown caused by malicious Vote Monitor
  • #1651 fix: remove naturally finality
  • #1641 fix: support getFilterChanges after NewFinalizedHeaderFilter
  • #1645 lightclient: fix validator set change

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip 9a81824dfdfae976edceee646691fb8ed262f4d5adbff74f444770da5e2793e5
geth_linux 798ffe167895d2998e2e4a482a5c0364032fa917f53b6e8446f3f2ccad00ce4e
geth_mac bf0d477989790aa137155146e072c02e928bd1526ee1b5ed8721b10e9ed6f79e
geth_windows c2015fafbd83dc5b1c1374fce1b667bcb20c52aefea299c9ba2dcadde9d152b5
geth_linux_arm64 a7e3a7db7ffa4eb464ae850305ba9f5b9a44277ea34c1cefe33034c454332a29

v1.2.6

20 Jun 06:17
cf64a04
Compare
Choose a tag to compare
v1.2.6 Pre-release
Pre-release

Abandoned.
It will be replaced by v1.2.7, since it missed a desired change.

v1.2.5

08 Jun 09:40
53fef9e
Compare
Choose a tag to compare

Attention

The previous release v1.2.4 has a performance issue on node shutdown, could take quite a long time(more then several minutes) to gracefully shutdown the node, v1.2.5 only fixes this issue.

For validators and full node operators, if you are using v1.2.4, it is ok to keep running without upgrading to v1.2.5.
But since long time shutdown could result in a force kill if you are using like: systemd, which may damage the database with a small chance. It would be better for you to start another backup node before upgrading to v1.2.5.

Changelog

BUGFIX

  • #1675 goleveldb: downgrade the version for performance

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip 9a81824dfdfae976edceee646691fb8ed262f4d5adbff74f444770da5e2793e5
geth_linux a36e354da180a8220ff84e656e7b590874175d47b563c6854f47d87875d0f794
geth_mac de57fe043e721284917155a369934d7ff69e1e9aec1e19a5724ea586f078fb2f
geth_windows 255a29b2ae1013b13c03edb55b88af0076da0979c81b8bb6a93e6d074e5c68f4
geth_linux_arm64 e32fb071d46a4edd51696171f41ed3cacd567600e79b77b3896aa7466007bc35

v1.2.4

23 May 02:34
Compare
Choose a tag to compare

pls don't enable this flag: --monitor.maliciousvote, there is a bug, fixed in latest develop branch.

Attention

It is a hard-fork release for BSC mainnet.

The mainnet is expected to have a scheduled hardfork upgrade named Luban at block height 29,020,050. The current block generation speed forecasts this to occur around 12th Jun 2023.

The Luban hardfork includes 3 BEPs:
BEP-126: Introduce Fast Finality Mechanism(The 1st Part)
BEP-174: Cross Chain Relayer Management
BEP-221: CometBFT Light Block Validation

The validators and full node operators on mainnet should switch their software version to v1.2.4 before 12th Jun 2023.

As Luban introduces the 1st part of FastFinality, and if you are operating a validator, extra steps are needed to generate the voting key and some configuration setup are also needed, for detail, you may refer: For Validator Operator

And here are some documents that may help you to get started with FastFinality on BSC:

Also Note: the flag --diffsync has been deprecated, the flag will be removed in the future, do not use it.

Changelog

FEATURE

  • #1636 upgrade: block height of Luban on mainnet

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542
geth_linux a87fe0e90c1b58b2f60daa6806c0c73c925f43b5862cf655b5419fc9e2ae314f
geth_mac 415c4f02459275f2061d53a25cc9edd0d4ce96fd94ed58a483be963869d6ebc8
geth_windows 2c570c3d61ab38babf3e09a967223e74c345f43d062b4172cdde16a9875c8f4f
geth_linux_arm64 bd606e7739b0bd870e4c2d6357387ad9da49fb220095bf24ed853cd01f7ccdc4

v1.2.3

12 May 07:44
Compare
Choose a tag to compare

This release should be named by v1.2.2, if you run: geth version, it will be v1.2.2.
It is caused by a mis-operation, sorry for the inconvenience, we will double check next time.

Attention

The BSC testnet is expected to have a scheduled hardfork upgrade named Plato at block height 29,861,024. The current block generation speed forecasts this to occur around 17th May 2023 at 06:30 AM (UTC).

The Plato hardfork enables the big feature FastFinality: BEP-126: Introduce Fast Finality Mechanism. The validators and full node operators on testnet should switch their software version to v1.2.3 before 17th May 2023.
And for validators, additional steps are needed to use the feature of FastFinality, it has been introduced in the previous Luban upgrade, may refer: how does this upgrade affect me

Since FastFinality is a big feature on BSC, it brings some changes to the network. If you have any question, you can refer: FAQ: Everything About FastFinality

Changelog

FEATURE

  • #1600 upgrade: update PlatoUpgrade contracts code
  • #1594 upgrade: block height of Plato on testnet

IMPROVEMENT

  • #866 code: x = append(y) is equivalent to x = y
  • #1488 eth/tracers, core/vm: remove time from trace output and tracing interface
  • #1547 fix: recently signed check when slashing unavailable validator
  • #1573 feat: remove supports for legacy proof type
  • #1576 fix: support golang 1.20 by upgrading prysm to v4
  • #1578 fix: output an error log when bsc extension fail to handshake
  • #1583 metrics: add a counter for validator to check work status of voting
  • #1601 feature: add malicious vote monitor

BUGFIX

  • #1566 fix: config for VoteJournalDir and BLSWalletDir
  • #1572 fix: remove dynamic metric labels about fast finality
  • #1575 fix: make BLST PORTABLE for release binary
  • #1590 fix: fix snap flaky tests

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542
geth_linux 2716e21602d2ec11d0813a2fdcd29f2a5d676925e5d20d378d387551fa6c6746
geth_mac b461b6ea6ef8a173d91ef174da8ca33f718255a5c1f69995c2ae084a02e8590f
geth_windows 006e2cd1812c4222054687e6e102d65692e959bf8e5249de94e674d4bc321308
geth_linux_arm64 ddd61d36bf74af3297a493d531f982d4438f1984113ec9d6c5aea6e4d4202f73

v1.2.1

25 Apr 15:30
542bb5b
Compare
Choose a tag to compare

This release is a maintenance release, it only changed a log level to avoid printing too much logs.
You may refer v1.2.0 for the detail of this big release.

Notice:
Sorry, I forgot to update the version number in the code for this release.
If you run geth version, it will still be v1.2.0.
I will not raise another release to correct it, since v1.2.1 is almost the same as v1.2.0, let's just move on.

Changelog

IMPROVEMENT
#1527 log: revert a log back to trace level

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542
geth_linux 6ea203d08c7fbcc6626e45b9360413f5add952d64c84ca5a9a8e32e62b918f96
geth_mac c80e1500a1424b63d66dfbee770d79e190ae83906154be4811a42aa2d6bbf917
geth_windows 9285cfac05992b5fb0676b35ec21da3b300ea3ffeda5391941bed377aec1b2b4
geth_linux_arm64 e418a55c9cd78efa048f7b3e1985c598700bf5b7c87ff70bea0fe5dace506cc8

v1.2.0

25 Apr 08:54
30c298f
Compare
Choose a tag to compare

Attention

This is a big hard fork(Luban) release for BSC Testnet, it includes the code of Fast Finality.
The hard fork will take place on Testnet at block height: 29,295,050, around 6:30(UTC) 27th April 2023.

It is not recommended for mainnet to use this version, especially validator, since more test is needed to make sure it is stable.

And if you are operating a validator on testnet, extra steps are needed to generate the voting key and some configuration setup are also needed, for detail: For Testnet Validator Operator

Changelog

FEATURE

  • #936 BEP-126: Introduce Fast Finality Mechanism
  • #1434 fix: improvements after testing fast finality
  • #1325 genesis: add BEP174 changes to relayer contract
  • #1357 Integration API for EIP-4337 bundler with an L2 validator/sequencer
  • #1463 BEP-221: implement cometBFT light block validation
  • #1493 bep: update the bytecode of luban fork after the contract release

IMPROVEMENT

  • #1486 feature: remove diff protocol registration

BUGFIX

  • #1430 docker: upgrade alpine version & remove apks version
  • #1458 cmd/faucet: clear reqs list when reorg to lower nonce
  • #1484 fix: a deadlock caused by bsc protocol handeshake timeout

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542
geth_linux 75f50ce27b8ea080d6adfb18b223d355f42298f740f734c1e40d0134c409847c
geth_mac 7c1a46f0bf3651775da93d34271efd8ece16b665b6f1531cb646fca8d235511b
geth_windows 4b8b626bce0ebe858fba3e2a32c4ab7c62e17ae2cce6b739e18213823996627f
geth_linux_arm64 ce38be49fed7993eab0e36acc15c4eb1858d49d5c6113bdfe9a65a085ecedbff

v1.1.23

17 Apr 11:29
48aaee6
Compare
Choose a tag to compare

This is a hot fix release, it fixed the crash bug of the previous release v1.1.22.

Changelog

BUGFIX

  • #1464 fix: panic on using WaitGroup after it is freed

Assets

Assets Sha256 Checksum
mainnet.zip 13563cb06b18accd4b3b9df43ca94ffcef56992c56dc479c9bfe4a74ab72caba
testnet.zip bea96c7577f7ff8fe25384a3975059350fe2955e5b953180b26bc8944b6b9542
geth_linux 6636c40d4e82017257467ab2cfc88b11990cf3bb35faeec9c5194ab90009a81f
geth_mac dd65d7843d822ea52025975568af839ff64f2fe7b0ecdb4ed53a8811421b88ca
geth_windows 243ba1733f54aa7615afaa63a783e0051a295a39e524077cfd73c41b8c7700b5
geth_linux_arm-5 32532f21cb2bb4788f3e3bf7db8dc8a1ec100900e13d1de7c4d2b8a00ef92eb0
geth_linux_arm-6 837546a370b1be8231b4999acd67a2c6ebbf1b2acbf29de455d58e3c257e5bd6
geth_linux_arm-7 d2e8705a869a824e93e2313c8737f1be6d4d3420685dc43b0cdb554bbe66eb1c
geth_linux_arm64 74105d6b9b8483a92ab8311784315c5f65dac2213004e0b1433cdf9127bced35