- #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
- #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
- #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
- #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
- #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
- #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
- #2643core: fix cache for receipts
- #2656ethclient: fix BlobSidecars api
- #2657fix: update prunefreezer’s offset when pruneancient and the dataset has pruned block
- #2661config: setup Mainnet 2 hardfork date: HaberFix & Bohr
- #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
- #2602 fix: prune-state when specify --triesInMemory 32
- #2579 fix: only take non-mempool tx to calculate bid price
- #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
- #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
- #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
- #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
- #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
- #2576 miner/worker: broadcast block immediately once sealed
- #2580 freezer: Opt freezer env checking
NA
- #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
- #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
- #2463 utils: add check_blobtx.js
- #2470 jsutils: faucet successful requests within blocks
- #2467 internal/ethapi: add optional parameter for blobSidecars
- #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
- #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
- #2483 core/vm: add secp256r1 into PrecompiledContractsHaber
- #2400 RIP-7212: Precompile for secp256r1 Curve Support
NA
NA
- #2439 config: setup Mainnet Tycho(Cancun) hardfork date
- #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
NA
- #2201 chore: render system bytecode by go:embed
- #2363 feat: greedy merge tx in bid
- #2389 deps: update prsym to solve warning about quic-go version
- #2341 core/trie: persist TrieJournal to journal file instead of kv database
- #2395 fix: trieJournal format compatible old db format
- #2406 feat: adaptive for loading journal file or journal kv during loadJournal
- #2390 chore: fix function names in comment
- #2399 chore: fix some typos in comments
- #2408 chore: fix some typos in comments
- #2416 fix: fix function names
- #2424 feat: recommit bid when newBidCh is empty to maximize mev reward
- #2430 fix: oom caused by non-discarded mev simulation env
- #2428 chore: add metric & log for blobTx
- #2419 metrics: add doublesign counter
- #2244 cmd/geth: fix importBlock
- #2391 fix: print value instead of pointer in ConfigCompatError
- #2398 fix: no import blocks before or equal to the finalized height
- #2401 fix: allow fast node to rewind after abnormal shutdown
- #2403 fix: NPE
- #2423 eth/gasprice: add query limit to defend DDOS attack
- #2425 fix: adapt journal for cmd
- #2378 config: setup Testnet Tycho(Cancun) hardfork date
- #2359 triedb: do not open state freezer under notries
- #2279 BlobTx: implement EIP-4844 on BSC
- #2337 4844: bugfix and improve
- #2339 fix: missing block asigment WithSidecars
- #2350 cancun: change empty withdrawHash value of header
- #2335 upgrade: update system contracts bytes code and hardfork time of Feynman upgrade
- #2323 feat: export GasCeil in mev_params
- #2357 feat: add bid fee ceil in mev_params
- #2321 test: use full syncmode to run rpc node
- #2338 cmd: include more node info in metrics
- #2342 p2p: add metrics for inbound/outbound peers
- #2334 core: improve chain rewinding mechanism
- #2352 core: fix block report when chain is not setHead
NA
- #2241 cmd/utils, core/rawdb, triedb/pathdb: flip hash to path scheme
- #2312 cmd/utils, node: switch to Pebble as the default db if none exists
-
#2228 core: rephrase TriesInMemory log
-
#2234 cmd/utils: disable snap protocol for fast node
-
#2236 build(deps): bump github.com/quic-go/quic-go from 0.39.3 to 0.39.4
-
#2240 core/state: fix taskResult typo
-
#2280 cmd/utils, core: only full sync for fast nodes
-
#2298 cmd, node: initialize ports with --instance
-
#2302 cmd/geth, core/rawdb: add dbDeleteTrieState
-
#2304 eth/ethconfig: remove overridekepler and overrideshanghai
-
#2307 internal/ethapi: add net_nodeInfo
-
#2311 Port cancun related changes from unreleased v1.14.0
-
#2313 tests/truffle: use hbss to run test
-
#2314 cmd/jsutil: dump MinGasPrice for validator
-
#2317 feat: add mev metrics
- #2272 parlia: add state prepare for internal SC transaction
- #2277 fix: systemTx should be always at the end of block
- #2299 fix: add FeynmanFix upgrade for a testnet issue
- #2310 core/vm: fix PrecompiledContractsCancun
- #2268 fix: ensure EIP-4788 not supported with Parlia Engine
internal/ethapi: add support for blobs in eth_fillTransaction (#28839) internal/ethapi: fix defaults for blob fields (#29037) ethereum, ethclient: add blob transaction fields in CallMsg (#28989) core/txpool/blobpool: post-crash cleanup and addition/removal metrics(#28914) core/txpool/blobpool: update the blob db with corruption handling (#29001) core/txpool, eth, miner: pre-filter dynamic fees during pending tx retrieval (#29005) core/txpool, miner: speed up blob pool pending retrievals (#29008) core/txpool, eth, miner: retrieve plain and blob txs separately (#29026) core/txpool: reject blob txs with blob fee cap below the minimum (#29081) core/txpool/blobpool: reduce default database cap for rollout (#29090)
cmd/devp2p, eth: drop support for eth/67 (#28956) all: remove the dependency from trie to triedb (#28824)
eth, miner: fix enforcing the minimum miner tip (#28933) cmd,internal/era: implement export-history subcommand(#26621) node, rpc: add configurable HTTP request limit (#28948) tests: fix goroutine leak related to state snapshot generation (#28974) internal/ethapi:fix zero rpc gas cap in eth_createAccessList (#28846) eth/tracers: Fix callTracer logs on onlyTopCall == true (#29068)
FEATURE NA
BUGFIX
- #2258 core: skip checking state root existence when do snapsync by fast node
- #2252 fix: add missing args of
bls account generate-proof
cmd (#2252)
IMPROVEMENT NA
internal/ethapi: implement eth_getBlockReceipts (#27702) eth, rpc: add configurable option for wsMessageSizeLimit (#27801) api/bind: add CallOpts.BlockHash to allow calling contracts at a specific block hash (#28084) internal/ethapi: eth_call block parameter is optional (#28165) internal/ethapi: ethSendTransaction check baseFee (#27834)
cmd/utils: fix a startup issue on deleted chaindata but dangling ancients(#27989) cmd/geth, internal/flags, go.mod: colorize cli help, support env vars(#28103) cmd/rlpdump: add -pos flag, displaying byte positions (#28785) cmd/geth: make it possible to autopilot removedb (#28725)
cmd/utils: restore support for txlookuplimit flag (#27917) cmd/utils, eth: disallow invalid snap sync / snapshot flag combos (#28657)
ethclient: use 'input', not 'data' as field for transaction input (#28078) ethclient: fix forwarding 1559 gas fields (#28462) ethclient/simulated: implement new sim backend (#28202) ethclient: apply accessList field in toCallArg (#28832)
eth/tracers: add position field for callTracer logs (#28389) eth/tracers: tx-level state in debug_traceCall (#28460)
eth/fetcher: allow underpriced transactions in after timeout (#28097)
eth/downloader: prevent pivot moves after state commit (#28126) core, eth/downloader: fix genesis state missing due to state sync (#28124) core, accounts, eth, trie: handle genesis state missing (#28171) eth/protocols/snap: fix snap sync failure on empty storage range (#28306) core, eth, trie: filter out boundary nodes and remove dangling nodes in stacktrie (#28327) core, core/rawdb, eth/sync: no tx indexing during snap sync (#28703)
core/rawdb: skip pathdb state inspection in hashdb mode (#28108) eth: abort on api operations not available in pbss-mode (#28104) trie: remove internal nodes between shortNode and child in path mode (#28163) trie/triedb/pathdb: improve dirty node flushing trigger (#28426) core/rawdb: fsync the index file after each freezer write (#28483) trie: remove inconsistent trie nodes during sync in path mode (#28595) core, cmd, trie: fix the condition of pathdb initialization (#28718)
graphql: validate block params (#27876 graphql: always set content-type to application/json (#28417)
core/types: support for optional blob sidecar in BlobTx (#27841) core, params, beacon/engine: implement EIP 4788 BeaconRoot (#27849) miner: add to build block with EIP-4844 blobs (#27875) core: implement BLOBBASEFEE opcode (0x4a) (#28098) core, eth, miner: start propagating and consuming blob txs (#28243) eth/fetcher: throttle tx fetches to 128KB responses (#28304) crypto/kzg4844: use the new trusted setup file and format (#28383) internal/ethapi: handle blobs in API methods (#28786)
cmd/devp2p, eth: drop eth/66 (#28239) cmd/devp2p: use bootnodes as crawl input (#28139) p2p/discover: add liveness check in collectTableNodes (#28686)
build, tests: add execution-spec-tests (#26985) tests/fuzzers: update fuzzers to be based on go-native fuzzing (#28352) tests/fuzzers: move fuzzers into native packages (#28467)
eth/downloader: remove header rollback mechanism (#28147)
core/forkid: correctly compute forkid when timestamp fork is activated in genesis (#27895) core/vm/runtime: Add Random field to config (#28001) core/rawdb: no need to run truncateFile for readonly mode (#28145) core/bloombits: fix deadlock when matcher session hits an error (#28184) core/state, tests: fix memory leak via fastcache (#28387) internal/ethapi: compact db missing key starts with 0xff (#28207) internal/ethapi: fix codehash lookup in eth_getProof (#28357) eth: set networkID to chainID by default (#28250) eth: fix potential hang in waitSnapExtension (#28744) metrics, cmd/geth: informational metrics (prometheus, influxdb, opentsb (#24877) ethdb/pebble: don't double-close iterator inside pebbleIterator (#28566) trie/triedb/hashdb: take lock around access to dirties cache (#28542) accounts: properly close managed wallets when closing manager (#28710) event: fix Resubscribe deadlock when unsubscribing after inner sub ends (#28359) all: replace log15 with slog (#28187)
BUGFIX
- #2288 fix: add FeynmanFix upgrade for a testnet issue
FEATURE
- #2047 feat: add new fork block and precompile contract for BEP294 and BEP299
FEATURE
- #2186 log: support maxBackups in config.toml
BUGFIX
- #2160 cmd: fix dump cli cannot work in path mode
- #2183 p2p: resolved deadlock on p2p server shutdown
IMPROVEMENT
- #2177 build(deps): bump github.com/quic-go/quic-go from 0.39.3 to 0.39.4
- #2185 consensus/parlia: set nonce before evm run
- #2190 fix(legacypool): deprecate already known error
- #2195 eth/fetcher: downgrade state tx log
FEATURE
- #2074 faucet: new faucet client
- #2082 cmd/dbcmd: add inspect trie tool
- #2140 eth/fetcher: allow underpriced transactions in after timeout
- #2115 p2p: no peer reconnect if explicitly disconnected
- #2128 go.mod: upgrade prysm to support built with go@v1.21
- #2151 feat: enable NoDial should still dial static nodes
- #2144 p2p: reset disconnect set with magic enode ID
BUGFIX
- #2095 rpc: fix ns/µs mismatch in metrics
- #2083 triedb/pathdb: fix async node buffer diskroot mismatches when journaling
- #2120 ethdb/pebble: cap memory table size as maxMemTableSize-1
- #2107 cmd/geth: fix parse state scheme
- #2121 parlia: fix verifyVoteAttestation when verify a batch of headers
- #2132 core: fix systemcontracts.GenesisHash when run bsc firstly without init
- #2155 cmd, core: resolve scheme from a read-write database and refactor resolveChainFreezerDir func
IMPROVEMENT
- #2099 params/config: remove useless toml tag for hardforks
- #2100 core/genesis: support chapel to run without geth init
- #2101 core: add metrics for bad block
- #2109 cmd/geth: tidy flags for geth command
- #1953 build(deps): bump github.com/docker/docker
- #2086 build(deps): bump golang.org/x/crypto from 0.12.0 to 0.17.0
- #2106 params: use rialto to test builtin network logic
- #2098 cmd, les, tests: remove light client code
- #2114 p2p: add serve metrics
- #2123 p2p, eth: improve logs
- #2116 tests: revive evm test cases
- #2161 code: remove IsEuler check from worker.go
- #2167 improve: increase SystemTxsGas from 1,500,000 to 5,000,000
- #2172 improve: remove sharedpool from miner
- #1332 core/state: no need to prune block if the same
FEATURE
- #2067 cmd/geth: add check func to validate state scheme
- #2068 internal/ethapi: implement eth_getBlockReceipts
BUGFIX
- #2035 all: pull snap sync PRs from upstream v1.13.5
- #2072 fix: fix the pebble config of level option
- #2078 core: LoadChainConfig return the predefined config for built-in networks firstly
FEATURE
- #2012 cmd, core, ethdb: enable Pebble on 32 bits and OpenBSD
- #2063 log: support to disable log rotate by hours
- #2064 log: limit rotateHours in range [0,23]
BUGFIX
- #2058 params: set default hardfork times
IMPROVEMENT
- #2015 cmd, core, eth: change default network from ETH to BSC
- #2036 cmd/jsutils: add 2 tools get validator version and block txs number
- #2037 core/txpool/legacypool: respect nolocals-setting
- #2042 core/systemcontracts: update CommitUrl for keplerUpgrade
- #2043 tests/truffle: adapt changes in bsc-genesis-contracts
- #2051 core/vote: wait some blocks before voting since mining begin
- #2060 cmd/utils: allow HTTPHost and WSHost flags precede
FEATURE
BUGFIX
- #1964 consensus/parlia: hardfork block can be epoch block
- #1979 fix: upgrade pebble and improve config
- #1980 internal/ethapi: fix null effectiveGasPrice in GetTransactionReceipt
IMPROVEMENT
- #1977 doc: add instructions for starting fullnode with pbss
BUGFIX
- fix: remove pipecommit in miner
- add a hard fork: Hertzfix
BUGFIX
- #1986 fix(cmd): check pruneancient when creating db
IMPROVEMENT
- #2000 cmd/utils: exit process if txlookuplimit flag is set
BUGFIX
- fix: remove sharedPool
IMPROVEMENT
- #2007 consensus/parlia: increase size of snapshot cache in parlia
- #2008 consensus/parlia: recover faster when snapshot of parlia is gone in disk
FEATURE
- #1881 feat: active pbss
- #1882 cmd/geth: add hbss to pbss convert tool
- #1916 feat: cherry-pick pbss patch commits from eth repo in v1.13.2
- #1939 dependency: go version to 1.20 and some dependencies in go.mod
- #1955 eth, trie/triedb/pathdb: pbss patches
- #1962 cherry pick pbss patches from go-ethereum
BUGFIX
- #1923 consensus/parlia: fix nextForkHash in Extra filed of block header
- #1950 fix: 2 APIs of get receipt related
- #1951 txpool: fix a potential crash issue in shutdown;
- #1963 fix: revert trie commited flag after delete statedb mpt cache
IMPROVEMENT
- #1948 performance: commitTire concurrently
- #1949 code: remove accountTrieCache and storageTrieCache
- #1954 trie: keep trie prefetch during validation phase
- internal/ethapi: add debug_getRawReceipts RPC method (#24773)
- node, rpc: add ReadHeaderTimeout config option (#25338)
- rpc: check that "version" is "2.0" in request objects (#25570)
- rpc: support injecting HTTP headers through context (#26023)
- rpc: websocket should respect the "HTTP_PROXY" by default (#27264)
- rpc: change BlockNumber constant values to match ethclient (#27219)
- eth: make debug_StorageRangeAt take a block hash or number (#27328)
- eth,core: add api debug_getTrieFlushInterval (#27303)
- rpc: add limit for batch request items and response size (#26681)
- core/types: support yParity field in JSON transactions (#27744)
- eth/filters: send rpctransactions in pending-subscription (#26126)
- cmd/geth: rename --whitelist to --eth.requiredblocks (#24505)
- cmd: migrate to urfave/cli/v2 (#24751)
- cmd/utils: print warning when --metrics.port set without --metrics.ad…
- cmd/devp2p: add --extaddr flag (#26312)
- core,eth: adddebug_setTrieFlushInterval to change trie flush frequ
- miner, cmd, eth: require explicit etherbase address (#26413)
- cmd/geth: Add[--log.format] cli param (#27001)
- cmd/geth: rename --vmodule to --log.vmodule (#27071)
- params, trie: add verkle fork management + upgrade go-verkle (#27464)
- graphql: fee history fields (#24452)
- graphql: add rawReceipt field to transaction type (#24738)
- graphql: add raw fields to block and tx (#24816)
- graphql: return correct logs for tx (#25612)
- graphql: add query timeout (#26116)
- graphql, node, rpc: improve HTTP write timeout handling (#25457)
- graphql: implement withdrawals (EIP-4895) (#27072)
- ethclient: add CallContractAtHash (#24355)
- ethclient: add PeerCount method (#24849)
- ethereum, ethclient: add FeeHistory support (#25403)
- eth/filters, ethclient/gethclient: add fullTx option to pending tx fi…
- ethclient: include withdrawals in ethclient block responses (#26778)
- eth/tracers/js: drop duktape engine (#24934)
- eth/tracers: add support for block overrides in debug_traceCall (#24871)
- eth/tracers: add onlyTopCall option to callTracer (#25430)
- eth/tracers: remove revertReasonTracer, add revert reason to callTracer
- eth/tracers: add diffMode to prestateTracer (#25422)
- eth/tracers: add multiplexing tracer (#26086)
- core/vm: set tracer-observable value of a delegatecall to match parent
value
- eth/tracers: add native flatCallTracer (aka parity style tracer) (#26…
- eth/tracers/native: set created address to nil in case of failure (#2…
- eth/tracers: report correct gasLimit in call tracers (#27029)
- eth/tracers: addtxHashfield on txTraceResult (#27183)
- eth/tracers: add ReturnData in the tracer's response (#27704)
- cmd/geth: inspect snapshot dangling storage (#24643)
- core/state/snapshot: detect and clean up dangling storage snapshot in generation
- internal/ethapi: add db operations to api (#24739)
- cmd/geth: adddb check-state-contentto verify integrity of trie nodes (#24840)
- ethdb/remotedb, cmd: add support for remote (readonly) databases
- cmd/abigen: accept combined-json via stdin (#24960)
- cmd/geth: extend traverseRawState command (#24954)
- cmd/geth, core/state/snapshot: rework journal loading, implement account-check (#24765)
- cmd/geth: add a verkle subcommand (#25718)
- cmd/geth, cmd/utils: geth attach with custom headers (#25829)
- core/rawdb: refactor db inspector for extending multiple ancient storage
- cmd/clef: addlist-accountsandlist-walletsto CLI (#26080)
- cmd/clef: add importraw feature to clef (#26058)
- cmd/devp2p: add more nodekey commands (#26129)
- internal/web3ext: fix eth_call stateOverrides in console (#26265)
- cmd/evm: add blocktest subcommand to evm (#26526)
- params: define cancun and prague as timestamp based forks (#26481)
- all: tie timestamp based forks to the passage of London (#27279)
- core/vm: implement EIP-3855: PUSH0 instruction (#24039)
- core: implement EIP-3651, warm coinbase (#25819)
- core/vm: implement EIP-3860: Limit and meter initcode (#23847)
- all: implement withdrawals (EIP-4895) (#26484)
- all: implement EIP-1153 transient storage (#26003)
- core: 4844 opcode and precompile (#27356)
- core/vm: implement EIP-5656, mcopy instruction (#26181)
- core/state, core/vm: implement EIP 6780 (#27189)
- all: use 'embed' instead of go-bindata (#24744)
- all: move genesis initialization to blockchain (#25523)
- common/compiler, cmd/abigen: remove solc/vyper compiler integration
- all: remove concept of public/private API definitions (#25053)
- cmd/geth: drop geth js command (#25000)
- core/genesis: remove calaverasAllocData (#25516)
- node: drop support for static & trusted node list files (#25610)
- core: drop legacy receipt types (#26225)
- cmd/puppeth: remove puppeth
- cmd, eth, node: deprecate personal namespace (#26390)
- accounts, build, mobile: remove Andriod and iOS support
- params: remove EIP150Hash from chainconfig (#27087)
- all: remove notion of trusted checkpoints in the post-merge world (#2…
- all: remove ethash pow, only retain shims needed for consensus and te
- cmd, core, eth, graphql, trie: no persisted clean trie cache file (#2…
- les: remove obsolete code related to PoW header syncing (#27737)
- remove diffsync
- accounts/usbwallet: support Ledger Nano S Plus and FTS (#25933)
- accounts/scwallet: fix keycard data signing error (#25331)
- core/state: replace fastcache code cache with gc-friendly structure (…
- internal/debug: add --log.file option (#26149)
- ci: disable coverage reporting in appveyor and travis
- all: change chain head markers from block to header (#26777)
- core, miner: revert block gas counter in case of invalid transaction
- accounts/usbwallet: mitigate ledger app chunking issue (#26773)
- signer/core: accept all solidity primitive types for EIP-712 signing
- cmd/geth: enable log rotation (#26843)
- internal/ethapi: make EstimateGas use[latest] block by default (#24363)
- miner: suspend miner if node is syncing (#27218)
- all: move main transaction pool into a subpool (#27463)
- core/txpool/blobpool: 4844 blob transaction pool (#26940)
- eth: send big transactions by announce/retrieve only (#27618)
- core/rawdb: support freezer batch read with no size limit (#27687)
- disable pipeCommit, break now
FEATURE
- #1852 discov: add hardcoded bootnodes
BUGFIX
- #1844 crypto: Update BLST to v0.3.11
- #1854 fetcher: no import blocks before or equal to the finalized height
- #1855 eth/tracers: trace system tx should add intrinsicGas
IMPROVEMENT
FEATURE
- #1797 client: add FinalizedHeader/Block to use the fast finality
- #1805 vote: remove DisableBscProtocol and add flag to skip votes assmebling
BUGFIX
- #1829 fix: lagging nodes failed to sync
FEATURE
- #1780 log: reduce logs when receiving too much votes from a peer
- #1788 metrics: add txpool config into metrics server
- #1789 rpc: add GetFinalizedHeader/Block to simplify using the fast finality feature
- #1791 finality: add more check to ensure result of assembleVoteAttestation
- #1795 tool: add a tool extradump to parse extra data after luban
BUGFIX
- #1773 discov: do not filter out bootnodes
- #1778 vote: backup validator sync votes from corresponding mining validator
- #1784 fix: exclude same votes when doing malicious voting check
FEATURE
- #1775 upgrade: several hardfork block height on mainnet: Plato, Hertz(Berlin, London)
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
FEATURE
- #1645 lightclient: fix validator set change
- #1717 feat: support creating a bls keystore from a specified private key
- #1720 metrics: add counter for voting status of whole network
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
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
BUGFIX
- #1675 goleveldb: downgrade the version for performance
FEATURE
- #1636 upgrade: block height of Luban on mainnet
FEATURE
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
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
It was skipped by a mistake, replaced by v1.2.3
IMPROVEMENT
- #1527 log: revert a log back to trace level
FEATURE
- #936 BEP-126: Introduce Fast Finality Mechanism
- #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
- #1434 fix: improvements after testing fast finality
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
BUGFIX
- #1464 fix: panic on using WaitGroup after it is freed
FEATURE
- #1361 cmd/faucet: merge ipfaucet2 branch to develop
IMPROVEMENT
- #1412 fix: init-network with config.toml without setting TimeFormat
- #1401 log: support custom time format configuration
- #1382 consnesus/parlia: abort sealing when block in the same height has updated
- #1383 miner: no need to broadcast sidechain header mined by this validator
BUGFIX
- #1379 UT: fix some flaky tests
- #1403 Makefile: fix devtools install error
- #1381 fix: snapshot generation issue after chain reinit from a freezer
FEATURE
- #1389 upgrade: update the fork height of planck upgrade on mainnet
BUGFIX
- #1354 fix: add some boundary check for security
- #1373 tracer: enable withLog for TraceCall
- #1377 miner: add fallthrough for switch cases
FEATURE
- #1322 cmd/utils/flags.go: --diffsync flag is deprecate
- #1261 tracer: port call tracer
withLog
to bsc
IMPROVEMENT
- #1337 clean: Remove support for Ethereum testnet
- #1347 upgrade: update the fork height of planck upgrade on testnet
- #1343 upgrade: update system contracts' code of planck upgrade
- #1328 upgrade: update system contracts' code of testnet
- #1162 consensus: fix slash bug when validator set changing
- #1344 consensus: fix delete the 1st validator from snapshot.recents list
- #1149 feats: add ics23 proof support for cross chain packages
- #1333 sec: add proof ops check and key checker
BUGFIX
- #1348 core/txpool: implement additional DoS defenses
FEATURE
- #1199 mointor: implement double sign monitor
IMPROVEMENT
- #1226 eth, trie: sync with upstream v1.10.26 to solve snap sync issues
- #1212 metrics: add miner info into metrics server
- #1240 Add NewBatchWithSize API for db and use this API for BloomIndexer.Commit()
- #1254 ci: update unmaintained tools to use maintained tools
- #1256 ci: disable CGO_ENABLED when building binary
- #1274 dep: bump the version of several important library
- #1294 parlia : add a check for the length of extraData.
- #1298 dep: update tendermint to v0.31.14
Document
- #1233 doc: update readme
- #1245 comments: add comments to clarify flags and byte codes
- #1266 docs: update the readme to latest
- #1267 docs: minor fix about the readme
- #1287 docs: minor fix on geth links
BUGFIX
- #1233 doc: update readme
- #1253 fix comments: prune ancient compatibility, add prune ancient comments
- #1301 fix: p2p sync with lagging peer
- #1302 fix: eth fetcher re-queue issue
IMPROVEMENT
- #1209 metrics: add build info into metrics server
- #1204 worker: NewTxsEvent and triePrefetch reuse in mining task
- #1195 hardfork: update Gibbs fork height and system contract code
- #1192 all: sync with upstream v1.10.22
- #1186 worker: improvement of the current block generation logic to get more rewards
- #1184 worker: remove pre-seal empty block
- #1182 Parlia: Some updates of the miner worker
- #1181 all: sync with upstream v1.10.21
- #1177 core/forkid: refactor nextForkHash function
- #1174 worker: some code enhancement on work.go
- #1166 miner: disable enforceTip when get txs from txpool
BUGFIX
IMPROVEMENT
- #1114 typo: .github fix job name
- #1126 ci: specify bind-tools version
- #1140 p2p: upstream go-ethereum: use errors.Is for error comparison
- #1141 all: prefer new(big.Int) over big.NewInt(0)
- #1159 core: remove redundant func
BUGFIX
- #1138 fix: upstream patches from go-ethereum 1.10.19
- #1139 fix: upstream go-ethereum: fix duplicate fields names in the generted go struct
- #1145 consensus: the newChainHead mights not be imported to Parlia.Snapshot
- #1146 fix: upstream patches from go-ethereum 1.10.20
- #1121 vm: add two proof verifier to fix the vulnerability in range proof
- #1109 nanofork: block exploitation accounts and suspend cross chain bridge related precompile contracts
IMPROVEMENT
BUGFIX
- #1062 test: fix TestOfflineBlockPrune failed randomly
- #1076 bug: pick some patches from go-ethereum on v1.10.18
- #1079 core: fix potential goroutine leak
FEATURE
IMPROVEMENT
- #952 Improve trie prefetch
- #975 broadcast block before commit block and add metrics
- #992 Pipecommit enable trie prefetcher
- #996 Trie prefetch on state pretch
BUGFIX
- #1053 state: fix offline tool start failed when start with pruneancient
- #1060 consensus: fix the GasLimitBoundDivisor
- #1061 fix: upstream patches from go-ethereum
- #1067 fix:fix potential goroutine leak
- #1068 core trie rlp: patches from go-ethereum
- #1070 txpool: reheap the priced list if london fork not enabled
FEATURE
IMPROVEMENT
- #816 merge go-ethereum v1.10.15
- #950 code optimizations for state prefetcher
- #972 redesign triePrefetcher to make it thread safe
- #998 update dockerfile with a few enhancement
- #1015 disable noisy logs since system transaction will cause gas capping
BUGFIX
- #932 fix account root was not set correctly when committing mpt during pipeline commit
- #953 correct logic for eip check of NewEVMInterpreter
- #958 define DiscReason as uint8
- #959 update some packages' version
- #983 fix nil pointer issue when stopping mining new block
- #1002 Fix pipecommit active statedb
- #1005 freezer batch compatible offline prunblock command
- #1007 missing contract upgrades and incorrect behavior when miners enable pipecommit
- #1009 resolve the concurrent cache read and write issue for fast node
- #1011 Incorrect merkle root issue when enabling pipecommit with miner
- #1013 tools broken because of writting metadata when open a readyonly db
- #1014 fast node can not recover from force kill or panic
- #1019 memory leak issue with diff protocol
- #1020 remove diffhash patch introduced from separate node
- #1024 verify node is not treated as verify node
UPGRADE
- #927 add readme for validators about how to enter/exit maintenance
- #942 update the blockNumber of Euler Fork upgrade on BSC Mainnet
FEATURE
- #885 add Euler Hardfork, including BEP-127 and BEP-131
BUGFIX
- #856 fix logic issue: handlers.removePeer() is called twice
- #860 fix:defer bloomprocessor close
- #877 fix validator pipecommit issue
- #870 fix:Shift panic for zero length of heads
IMPROVEMENT
- #792 add shared storage for prefetching state data
- #795 implement state verification pipeline in pipecommit
- #803 prefetch state data during the mining process
- #812 skip verification on account storage root to tolerate with fastnode when doing diffsync
- #818 add shared storage to the prefetcher of miner
- #820 disable diffsync when pipecommit is enabled
- #830 change the number of prefetch threads
BUGFIX
- #797 fix race condition on preimage in pipecommit
- #808 fix code of difflayer not assign when new smart contract created
- #817 fix bugs of prune block tool
- #834 fix deadlock when failed to verify state root in pipecommit
- #835 fix deadlock on miner module when failed to commit trie
- #842 fix invalid nil check of statedb in diffsync
FEATURES
- #668 implement State Verification && Snapshot Commit pipeline
- #581 implement geth native trace
- #543 implement offline block prune tools
IMPROVEMENT
- #704 prefetch state by applying the transactions within one block
- #713 add ARM binaries for release pipeline
BUGFIX
- #667 trie: reject deletions when verifying range proofs #667
- #643 add timeout for stopping p2p server to fix can not gracefully shutdown issue
- #740 update discord link which won't expire
BUGFIX
- #628 fix state inconsistent when doing diffsync
BUGFIX
- #582 the DoS vulnerabilities fixed in go-ethereum v1.10.9
IMPROVEMENT
- #578 reduce memory allocation and upgrade snappy version
FEATURES
- #570 reannounce local pending transactions
BUGFIX
- #509 fix graceful shutdown bug
IMPROVEMENT
- #536 get diff accounts by replaying block when diff layer not found
- #527 improve diffsync protocol in many aspects
- #493 implement fast getDiffAccountsWithScope API
Improvement
BUGFIX
- #491 fix prefetcher related bugs
FEATURES
- #480 implement bep 95
Improvement
- #456 git-flow support lint, unit test, and integration test
- #449 cache bitmap and change the cache type of GetCode
- #454 fix cache key do not have hash func
- #446 parallel bloom calculation
- #442 ignore empty tx in GetDiffAccountsWithScope
- #426 add block proccess backoff time when validator is not in turn and received in turn block
- #398 ci pipeline for release page
BUGFIX
- #446 fix concurrent write of subfetcher
- #444 fix blockhash not correct for the logs of system tx receipt
- #409 fix nil point in downloader
- #408 core/state/snapshot: fix typo
FEATURES
- #431 Export get diff accounts in block api
- #412 add extension in eth protocol handshake to disable tx broadcast
- #376 implement diff sync
Security
- #379 A pre-announced hotfix release to patch a vulnerability in the EVM (CVE-2021-39137).
IMPROVEMENT
- #355 miner should propose block on a proper fork
BUGFIX
- #350 flag: fix TriesInmemory specified but not work
- #358 miner: fix null pending block
- #360 pruner: fix state bloom sync permission in Windows
- #366 fix double close channel of subfetcher
- #333 improve block fetcher efficiency
- #326 eth/tracers: improve tracing performance
- #257 performance improvement in many aspects
- #152 upgrade to go-ethereum 1.10.3
BUGFIX
- #194 bump btcd to v0.20.1-beta
BUGFIX
- #120 add health check endpoint
- #116 validator only write database state when enough distance
- #115 add batch query methods
- #112 apply max commit tx time for miner worker to avoid empty block
- #101 apply block number limit for the
eth_getLogs
api - #99 enable directbroadcast flag to decrease the block propagation time
- #90 add tini in docker image
- #84 add jq in docker image
- #68 apply mirror sync upgrade on mainnet
SECURITY
- #63 security patches from go-ethereum
- #54 les: fix GetProofsV2 that could potentially cause a panic.
FEATURES
IMPROVEMENT
BUGFIX
- #59 fix potential deadlock of pub/sub module
IMPROVEMENT
- #35 use fixed gas price when network is idle
- #38 disable noisy log from consensus engine
- #47 upgrade to golang1.15.5
- #49 Create pull request template for all developer to follow
IMPROVEMENT
- #36 add max gas allwance calculation
IMPROVEMENT
- #29 eth/tracers: revert reason in call_tracer + error for failed internal…
IMPROVEMENT
- #22 resolve best practice advice
FEATURES
- #23 enforce backoff time for out-turn validator
BUGFIX
- #25 minor fix for ramanujan upgrade
UPGRADE
- #26 update chapel network config for ramanujan fork
FEATURES
- #5 enable bep2e tokens for faucet
- #14 add cross chain contract to system contract
- #15 Allow liveness slash fail
IMPROVEMENT
- #11 remove redundant gaslimit check
BUGFIX