Releases: bnb-chain/bsc
Release list
v1.7.7
MetaInfo
Changelog
v1.7.7 is for BSC Mainnet Pasteur hardfork,the hard fork time is 2026-08-25 02:30:00 AM UTC
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 37d5383756f97627f6b3af9fdd376344211290a481f1089e14e00be1505f160c |
| geth_mac | d3a0d699007c6ece9f81b470041af34bd187488d43b7a4e4f0d43eb8c31a6f6a |
| geth_windows | b63c63d43c9f16ee5100695a0f844276acde425592f054bc0de8c3d87a8e2575 |
| geth_linux_arm64 | c3faa44b2ad861f6d358ce4f929ef72629817f9ceae2618fd817d1593c24e93a |
v1.7.6
MetaInfo
Mandatory Update Required: Yes
Target Audience: all BSC Testnet users
Procedure: before upgrading, review the deprecated flags and config fields listed above and confirm their removal has no impact on your node; once confirmed, binary replacement is sufficient:
--journalfile: no longer has any effect, safe to remove--miner.txgaslimit: per-transaction gas limit is now enforced by EIP-7825; confirm EIP-7825 behaviour meets your requirements before removing--enablebal: no longer has any effect, safe to remove--multidatabase: single-database mode is now the only option; confirm your data directory is compatible--txpool.overflowpoolslots: overflow pool is removed; review your txpool capacity settings if you relied on it[Eth] EnableBALin config.toml: must be removed before upgrading — will cause a startup error if left in[TxPool] OverflowPoolSlotsin config.toml: silently ignored, but recommend removing to keep config clean
Schedule(Timeline): TBD
Changelog
v1.7.6 is for BSC Chapel testnet Pasteur hardfork,the hard fork time is 2026-07-21 02:30:00 AM UTC
Pasteur Hardfork
- #3623 core/vm: reject duplicate bridge validators at Pasteur
- #3691 miner: support builder-proposed block with validator blind signing
- #3717 params: move Pasteur next to Mendel
- #3721 core/systemcontracts: introduce Pasteur hardfork system-contract upgrade
- #3727 core/systemcontracts: point Pasteur CommitUrl to genesis-contract v1.2.6
- #3741 miner: disable BidBlock on hard-fork activation blocks
- #3742 miner: optimize BidBlock signing hash
BUGFIX
- #3668 eth/handler.go: add verify bal
- #3671 eth/protocols/bsc: cap GetBlocksByRange response size
- #3672 eth/protocols/bsc: rate-limit incoming votes by vote count
- #3680 internal/ethapi: limit number of getProofs keys
- #3681 internal/ethapi: limit number of calls to eth_simulateV1
- #3682 internal/ethapi: fix gas cap for eth_simulateV1
- #3683 core: fix txLookupLock mutex leak on error returns in reorg()
- #3684 cmd, core, eth, tests: prevent state flushing in RPC
- #3685 core/tracing: fix nonce revert edge case
- #3686 eth/filters: fix race in pending tx and new heads subscriptions
- #3687 core, internal/ethapi: fix incorrect max-initcode RPC error mapping
- #3688 eth/filters: rangeLogs should error on invalid block range
- #3689 eth/filters: fix race in NewVotes and NewFinalizedHeaders
- #3692 eth/filters: fix source leak when New Filters
- #3700 crypto: add hash length check in nocgo VerifySignature
- #3701 p2p/discover: copy buffer before sending read errors to unhandled
- #3702 p2p/discover: fix timeout loop early exit when removing expired matchers
- #3703 eth/tracers/logger: fix exclude address list
- #3705 eth/protocols/eth: stop serving on unavailable responses
- #3706 triedb/pathdb: fix lookup sentinel collision with zero disk layer root
- #3707 eth/tracers: forward OnSystemCall hooks through mux
- #3708 eth/downloader: drop invalid peers + fix deliver index
- #3709 core/state: fix StateDB Reader error discarded after Commit
- #3710 p2p/discover: decouple nodeFeed from Table mutex in waitForNodes
- #3711 core/rawdb: fix file descriptor leak in freezer error paths
- #3712 core/rawdb: fsync temp file before rename in copyFrom
- #3718 fix: nocgo sigToPub hash check + pathdb zero-base regression test
IMPROVEMENT
- #3669 miner: reduce local mining time for last block in one turn
- #3694 consensus/parlia: extract VerifyUnsealedHeader from verifyHeader
- #3736 miner: add BidBlock verify metrics
CLEAN UP
- #3670 triedb/pathdb: remove legacy field JournalFilePath
- #3678 miner: remove optional transaction gas limit cap
- #3690 all: remove BEP-592 non-consensus block access list
- #3716 ethdb,trie: remove multidb code from bsc
- #3720 core/rawdb: cleanup bep-592 bal key related
- #3722 core/txpool/legacypool: remove overflowpool for txs
- #3728 beacon, cmd: remove fake-beacon op-stack shim (revert #2678)
- #3739 core/types: extract bid and block mev info into builder subpackage
Deprecated Flags & Config Fields
The following flags and config fields are removed or deprecated in this release. Please update your node configuration accordingly before upgrading:
CLI Flags
| Flag | Change | Note |
|---|---|---|
--journalfile |
Deprecated (no effect) | Remove from your startup script (#3670) |
--miner.txgaslimit |
Deprecated (no effect) | Per-transaction gas limit is now enforced by EIP-7825 (#3678) |
--enablebal |
Deprecated (no effect) | BEP-592 block access list has been removed (#3690) |
--multidatabase |
Removed | Multi-database support is fully removed (#3716) |
--txpool.overflowpoolslots |
Deprecated (no effect) | Overflow pool has been removed (#3722) |
--fake-beacon |
Removed | fake-beacon op-stack shim removed (#3728) |
--fake-beacon.addr |
Removed | See --fake-beacon (#3728) |
--fake-beacon.port |
Removed | See --fake-beacon (#3728) |
Config File (TOML) Fields
| Field | Change | Note |
|---|---|---|
[Eth] EnableBAL |
Removed — causes load error if present | Remove this field from your config.toml before upgrading (#3690) |
[TxPool] OverflowPoolSlots |
Deprecated — silently ignored | Safe to leave but recommend removing (#3722) |
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 4ff9198b3d81db7496c5ebb4a710ee28d9ae0489a5487fa2369b7ed303ac5c7d |
| geth_mac | b8bb40b7a858193899f55db5374e0e8024d10db209319c08ad10e4c198f8b80a |
| geth_windows | 657c7fbcecc1533800a3fa4dee8af099b0502e7682db5ee6a8fc397f61761a62 |
| geth_linux_arm64 | 6b3978bab95a097168e065fd3df21c765990af983d71f0b1898f8443f4720d10 |
v1.7.5
MetaInfo
Mandatory Update Required: No
Target Audience: all BSC Mainnet/Testnet users
Procedure: simply binary replacement should be good
Schedule(Timeline): no scheduled upgrade timeline
Changelog
v1.7.5 is a maintenance release.
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 3d9a480d038ce39a3b925850e1c64fd76bd5a0a22e708ed70ef2c6a0d464cd64 |
| geth_mac | b9330dc26323b7831b84e056271145459d8dff6a8d7edd9ca59d29badf8101c7 |
| geth_windows | 25d6b46bcc02f3c6429d6a582fbb066082c56dfdee79d3dd1a0f903a39cdca34 |
| geth_linux_arm64 | da429058319cadb3c6984e8e31eda317db581620635ceb34fc646bc258096d92 |
v1.7.4
MetaInfo
Mandatory Update Required: No
Target Audience: all BSC Mainnet/Testnet users
Procedure: simply binary replacement should be good
Schedule(Timeline): no scheduled upgrade timeline
Changelog
v1.7.4 is a maintenance release.
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 8d08bdf4d2a39c66fdc238ae9af3b2590c8111305f174ab4a127957bed9083e1 |
| geth_mac | 3ce2a700db677da70850b6639227a83867d76d6d8c2947384805ad88ea4dede2 |
| geth_windows | 7a498921db03e61839af7fb8431dd640d41588c212a5699dab6fb6e6d91888d9 |
| geth_linux_arm64 | 237bbe022ab54c14818bb5e8d1c577140b2aad69070f176b474860d47400ea9a |
v1.7.3
MetaInfo
Mandatory Update Required: NO — recommended to fix the database size growth issue
Target Audience: All BSC Mainnet and Testnet users
Procedure: Binary replacement is sufficient from v1.7.x
Schedule(Timeline): No scheduled rollout
Changelog
v1.7.3 is a maintenance release, which mainly fixes online block pruning and kvdb abnormal continuous growth, pls refer change log for detail.
BUGFIX
- #3653 core/rawdb: fix freeze header-number shadowing for block prune
- #3633 core/rawdb: increase SlowFreezerBatchLimit from 100 to 200, fixing kvdb abnormal continuous growth
- #3631 core/vote: fix deadlock in votepool when stop client
- #3627 core/vm: fix super-instruction LT comparison after swap1
- #3652 consensus/parlia: fix big.Int pointer comparison in isIntentionalDelayMining
FEATURE
- #3624 cmd/utils: disabled transaction unindexing for archive node by default; when running in archive mode, the
--history.transactionsflag is now respected to specify transaction history range instead of being forced to index all history - #3634 eth/ethconfig: set default value to 576000 for history.logs
IMPROVEMENT
- #3626 eth: tune timing parameters and broadcast queue for 450ms block
- #3618 #3629 miner: async blob tx validation during bid simulation with worker pool
- #3650 miner: shrink greedy merge buffer
- #3645 core: use now for DA check instead of chasingHead.time
- #3622 core/vm: continue after super-instruction fallback
Others
- #3639 go.mod: use go1.25.0 and update otel
- #3637 build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.34.0 to 1.43.0
- #3617 build(deps): bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14
- #3616 build(deps): bump github.com/gorilla/mux from 1.8.0 to 1.8.1
- #3648 Revert ".github: change dependabot target branch to develop"
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 8b35f4ac758807db96f3566a86eef7d85d86b4193f2594511fac757709fef274 |
| geth_mac | ab956d653a3361f9772e8c7ecacc7f2f56a9ae8f1708841e59a85269854a5fd6 |
| geth_windows | fc1dee6e0f46cf13f2b7faef025912da0c98d06e756e2ad50960a5035f7bb8ef |
| geth_linux_arm64 | dbf44026031e12e6ddc8b70e0f6e6fd9b14c587666f9623a7fd0b211cc2ded4e |
v1.7.2
MetaInfo
Mandatory Update Required: YES
Target Audience: all BSC Mainnet users
Procedure: simply binary replacement should be good (ensure no 'JournalFileEnabled' field in config file)
Schedule(Timeline): before 2026-04-28 02:30:00 AM UTC
Changelog
v1.7.2 is for BSC Mainnet Osaka/Mendel hardfork,the hard fork time is 2026-04-28 02:30:00 AM UTC
BUGFIX
- #3597 miner: support blob sidecar validation for bids
- #3590 eth: delayed p2p message decoding
- #3601 core: reject future chasing heads for DA checks
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 59fd12dfc60a64e5646549939258a094b894e35fa530ddf9fa2bf4c090a3ff95 |
| geth_mac | 5e4ffb1a6c25ee9ca3390629f9a74f25f762d0fae6a688d1a182be8814ec8ce3 |
| geth_windows | 2b469307b2acb6fc4008e55a97086bc43b312a4f375fb82494191ebff5e44ebf |
| geth_linux_arm64 | 112be3ea5f2fb1a6e2d628d621a85e8fe307b5833b55b1a6e3a98a3587d82a20 |
v1.7.1
MetaInfo
Mandatory Update Required: YES
Target Audience: all Chapel testnet users
Procedure: simply binary replacement should be good (ensure no 'JournalFileEnabled' field in config file)
Schedule(Timeline): before 2026-03-24 02:30:00 AM UTC
Changelog
v1.7.1 is for BSC Chapel testnet Osaka/Mendel hardfork,the hard fork time is 2026-03-24 02:30:00 AM UTC
FEATURE
- feat: support bid block size check for BEP-655
- feat: support mev bid gas check of bep 652
- eip4844.go: disable eip-7918 for bsc
- feat: implement BEP-657 - Limit Blob Transaction Inclusion by Block Number
BUGFIX
- core/types: fix typo in vote comparison (#3573)
- Fee history issue
- go.mod: upgrade otel to fix CVE-2026-24051
- fix: fix gaslimit check in trace api (#3580)
- miner: fix missing tcount increment in commitBlobTransaction (#3581)
- fix: superinstruction bad block (#3582)
- core/vm: align super-instruction minStack and maxStack bounds (#3584)
- rlp: finalize listIterator on parse error to prevent non-advancing loops (#3586)
- eth/protocols/snap: restore peers to idle pool on request revert (#3587)
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 8d8000c0236c04ad781ca3589c1dc06e68b6a0b1ade68d26700c96cdb36c32d7 |
| geth_mac | 34909b2384adf12b91d427dba876bc04ae8a952730004b2a49a2ce06e580f83a |
| geth_windows | 828700ed688c7617618a9f489a420fb82c87a475d7ea3fb8ed66fdb4141d59d5 |
| geth_linux_arm64 | 6ad1e71f5cfca70a98f106c2be3021235e9a867a4e39f98156f10cff8ec5172e |
v1.6.7
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
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
- Osaka:
FEATURE
- internal/ethapi: recover GetDiffAccounts and GetDiffAccountsWithScope
- BEP648: Enhanced Fast Finality via InMemory Voting Pool
IMPROVEMENT
- miner: enable more prefetch threads in local mining mode
- miner/minerconfig: get defaultNoInterruptLeftOver automatically
BUGFIX
- core/state: fix handleDestruction for fast node (#3501,#3517,#3519)
- fix: add back Contract CodeAddr for superinstruction
- fix: fix pruned node init filtermap err
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
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 |