Releases: XinFinOrg/XDPoSChain
Releases · XinFinOrg/XDPoSChain
v2.4.2-hotfix
What's Changed
- increase timeout to 5 mins to let node mine out block by @benjamin202410 in #1900
Full Changelog: v2.4.2...v2.4.2-hotfix
v2.6.7-testnet
Full Changelog: v2.6.6-testnet...v2.6.7-testnet
v2.6.6-testnet
Performance Improvements
- Pre-allocate memory for slices and maps (XFN-148).
- Optimized CompareSignersLists.
- Improved cached-prev comparison logic in core (XFN-96).
- Performance boosts in ChaindbCompact() / ChaindbProperty() (XFN-139).
- Faster unique signature verification (XFN-03).
- Reduced overuse of log.Crit, improved logging efficiency.
- Improved txpool performance and reduced lock contention.
- More efficient future block handling logic (XFN-101).
Ethereum EIPs / Protocol & Consensus Enhancements
- Multiple XDPoS V2 validation and parameter fixes (XFN-45, XFN-125, XFN-151, etc.).
- Fixed rpc.BlockNumber overflow issues across modules (XFN-69).
- Verified header hash correctness in getEpochSwitchInfo.
- Enforced gas limit bounds and validation logic (XFN-07, XFN-59, XFN-1619).
- Skipped gas limit verification for genesis block.
- Added DeepCopy() for PoolObj (XFN-04).
- Added epoch-switch check in IsSigner (XFN-90).
- Earlier rejection of invalid signatures (XFN-29).
- Validated gap numbers in masternode updates (XFN-11).
- Enforced minimum timestamp for initial V2 block (XFN-16).
- Correct special-tx processing behavior (XFN-67).
- Removed “fake storage” implementation (XFN-150).
- Separated V1 and V2 full verifier arrays.
RPC & API Enhancements
- Updated BlockNumber constants to match ethclient (ethereum#27219).
- Fixed unsafe pointer manipulation in tracers (XFN-91).
- Improved error propagation in internal/ethapi (XFN-118).
- Pre-allocated map in txpool API for better performance (XFN-106).
- Validated tx JSON non-nil before use.
- Fixed incorrect condition judgment in RPC (XFN-73).
- Ensured gasprice cache purge goroutine terminates properly (XFN-89).
- Corrected parameter name mismatch in HookPenalties() (XFN-141).
Security & Bug Fixes
- Fixed inconsistent tx blacklist enforcement (XFN-98).
- Fixed trie DB reference dereference issues (XFN-85).
- Resolved unsafe slice creation pointer usage.
- Added missing nil checks and improved error handling across modules.
- Synchronized txpool cache with mutex protection (XFN-65).
- Resolved concurrency issues: data races, goroutine leaks, unsynchronized reads.
- Fixed overflow, modulo-by-zero, and boundary condition bugs.
- Improved signature, gas fee, and immutability handling logic.
- Corrected mined block event handling and transaction queue logic.
- Fixed incorrect tx queue pop order (XFN-37).
- Eliminated variable shadowing in many functions.
Code Refactoring & Cleanup
- Removed unused variables, functions, and APIs (XFN-74, XFN-134, XFN-115, etc.).
- Improved naming consistency and parameter clarity.
- Added Solidity documentation.
- Eliminated unused parameters in consensus/XDPoS.
- Converted appropriate variables to constants (XFN-123).
- Cleaned up error definitions and improved ExtractAddressFromBytes().
- Fixed typos and added missing comments.
- Separated v1 and v2 verifier arrays.
Network & Node Adjustments
- Fast-cancel block insertion when debug_setHead is invoked (XFN-142).
- Enhanced handling of future blocks.
- Fixed goroutine leak in procFutureBlocks (XFN-105).
- Improved masternode update verification.
- Enhanced QC verification logic (XFN-09).
- Corrected Block type immutability issues (XFN-82).
- Added validation for initial V2 timestamp.
Development & Deployment Updates
- Version bumped to v2.6.6-testnet.
- Compared V2 parameters across versions (XFN-45).
- Disabled config comparison during rollback.
- Added additional logs for debugging.
- Updated test gas limit parameters.
- Resolved merge conflicts.
- Added missing packages/imports (e.g., fmt).
- Updated package version references.
What's Changed
- update package version by @wanwiset25 in #1612
- consensus: use signer pubkey to check for unique signatures, close XFN-03 by @wanwiset25 in #1643
- Certik Audit Tickets by @benjamin202410 in #1789
Full Changelog: v2.6.5-testnet...v2.6.x-testnet
v2.6.5-testnet
What's Changed
Full Changelog: v2.6.4-beta...v2.6.5-testnet
v2.6.4-beta
This is ONLY for TESTNET Release
What's Changed
- console, internal: remove personal RPC namespace ethereum#30704
- all: fix invalid signer list on checkpoint block for trace api close #1185 #1186
Full Changelog: v2.6.3-beta...v2.6.4-beta
v2.4.2
v2.6.3-beta
This is ONLY for TESTNET Release
What's Changed
- test exp timeout on devnet by @benjamin202410 in #824
- core: improve the output format of report block by @gzliudan in #827
- params: add Cancun blocks and improve the output of chain config by @gzliudan in #826
- upgrade core/vm by @gzliudan in #828
- core/vm: implement EIP-5656, mcopy instruction by @gzliudan in #834
- add backup rpc to cicd by @wanwiset25 in #835
- all: use types.EmptyRootHash instead of null by @gzliudan in #836
- consensus, internal, contracts: remove extra hash and string conversions by @JukLee0ira in #830
- core/state, core/vm: implement EIP 6780 by @gzliudan in #837
- implement EIP-7516 by @gzliudan in #839
- crypto/kz4844: pass blobs by ref by @gzliudan in #840
- all: clean up and properly abstract database accesses by @gzliudan in #841
- eth/downloader: fix 2 bugs by @gzliudan in #842
- refactor: more logs on countdown by @wgr523 in #859
- core/vm: implement the BLOBHASH opcode 0x49 by @gzliudan in #843
- common: refactor constants by @gzliudan in #846
- cmd/XDC: remove genesis file dependency for
XDC initcommand by @gzliudan in #849 - eth: set networkID to chainId by default by @gzliudan in #850
- cmd: deprecate the
--mineflag by @gzliudan in #851 - cmd/utils: deprecate flag
--XDCx-datadirby @gzliudan in #854 - cmd/utils: change default value of some flags to simplify sync by @gzliudan in #855
- params: update bootnodes by @gzliudan in #857
- params: print chain configuration in more detail by @gzliudan in #860
- performance: remove extra conversions by @JukLee0ira in #858
- cmd: use slices.Concat instead of GroupFlags by @gzliudan in #864
- cmd, common, eth: copy constants after get chain id by @gzliudan in #866
- genesis: update genesis file for devnet by @gzliudan in #867
- p2p, p2p/discover: add dial metrics by @JukLee0ira in #829
- core: tidy up genesis alloc data by @gzliudan in #868
- common: update eip1559 block number for testnet by @gzliudan in #869
- cmd/utils: disable kzg4844 by @gzliudan in #870
- core/vm: enable cancun instruction set by @gzliudan in #861
- all: clean up the network flags by @gzliudan in #863
- core: fix special tx cause debug API fail after EIP-1559 by @gzliudan in #874
- node: warn when using deprecated config/resource files by @gzliudan in #875
- cmd/XDC, core/rawdb: add db command inspect by @gzliudan in #876
- cmd: remove deprecated flags
--fastand--lightby @gzliudan in #877 - cmd/utils: not set Etherbase when flag
--unlockis set by @gzliudan in #872 - fix private devnet with private ip by @benjamin202410 in #879
- common: not copy constants file for compatibility by @gzliudan in #873
- core: remove the duplicate function
getProcInterrupt()by @JukLee0ira in #885 - core: fix integer divide by zero in the function
ValidateHeaderChainby @gzliudan in #882 - upgrade downloader by @gzliudan in #881
- cmd, common, core: optimize rollback by flag by @gzliudan in #887
- eth/downloader: speed up tests by generating chain only once by @gzliudan in #889
- cmd/utils: handle err returned by eth.New to fix panic by @gzliudan in #888
- all: update to go version 1.23 by @JukLee0ira in #844
Full Changelog: v2.6.0-beta...v2.6.3-beta
v2.6.2-beta
THIS IS TESTNET ONLY RELEASE
What's Changed
- test exp timeout on devnet by @benjamin202410 in #824
- core: improve the output format of report block by @gzliudan in #827
- params: add Cancun blocks and improve the output of chain config by @gzliudan in #826
- upgrade core/vm by @gzliudan in #828
- core/vm: implement EIP-5656, mcopy instruction by @gzliudan in #834
- add backup rpc to cicd by @wanwiset25 in #835
- all: use types.EmptyRootHash instead of null by @gzliudan in #836
- consensus, internal, contracts: remove extra hash and string conversions by @JukLee0ira in #830
- core/state, core/vm: implement EIP 6780 by @gzliudan in #837
- implement EIP-7516 by @gzliudan in #839
- crypto/kz4844: pass blobs by ref by @gzliudan in #840
- all: clean up and properly abstract database accesses by @gzliudan in #841
- eth/downloader: fix 2 bugs by @gzliudan in #842
- refactor: more logs on countdown by @wgr523 in #859
- core/vm: implement the BLOBHASH opcode 0x49 by @gzliudan in #843
- common: refactor constants by @gzliudan in #846
- cmd/XDC: remove genesis file dependency for
XDC initcommand by @gzliudan in #849 - eth: set networkID to chainId by default by @gzliudan in #850
- cmd: deprecate the
--mineflag by @gzliudan in #851 - cmd/utils: deprecate flag
--XDCx-datadirby @gzliudan in #854 - cmd/utils: change default value of some flags to simplify sync by @gzliudan in #855
- params: update bootnodes by @gzliudan in #857
- params: print chain configuration in more detail by @gzliudan in #860
- performance: remove extra conversions by @JukLee0ira in #858
- cmd: use slices.Concat instead of GroupFlags by @gzliudan in #864
- cmd, common, eth: copy constants after get chain id by @gzliudan in #866
- genesis: update genesis file for devnet by @gzliudan in #867
- p2p, p2p/discover: add dial metrics by @JukLee0ira in #829
- core: tidy up genesis alloc data by @gzliudan in #868
- common: update eip1559 block number for testnet by @gzliudan in #869
- cmd/utils: disable kzg4844 by @gzliudan in #870
- core/vm: enable cancun instruction set by @gzliudan in #861
- all: clean up the network flags by @gzliudan in #863
- core: fix special tx cause debug API fail after EIP-1559 by @gzliudan in #874
- node: warn when using deprecated config/resource files by @gzliudan in #875
- cmd/XDC, core/rawdb: add db command inspect by @gzliudan in #876
- cmd: remove deprecated flags
--fastand--lightby @gzliudan in #877 - cmd/utils: not set Etherbase when flag
--unlockis set by @gzliudan in #872 - fix private devnet with private ip by @benjamin202410 in #879
- common: not copy constants file for compatibility by @gzliudan in #873
- core: remove the duplicate function
getProcInterrupt()by @JukLee0ira in #885 - core: fix integer divide by zero in the function
ValidateHeaderChainby @gzliudan in #882 - upgrade downloader by @gzliudan in #881
- cmd, common, core: optimize rollback by flag by @gzliudan in #887
- eth/downloader: speed up tests by generating chain only once by @gzliudan in #889
- cmd/utils: handle err returned by eth.New to fix panic by @gzliudan in #888
- all: update to go version 1.23 by @JukLee0ira in #844
Full Changelog: v2.6.0-beta...v2.6.2-beta
v2.6.0-beta
Full Changelog: v2.5.1-beta...v2.6.0-beta
Support Cancun
Support solidity v0.8.28
v2.5.1-beta
Testnet ONLY
Changes
[core/types: remove unused error variables]
[core: fix BlockSigner tx cause debug API fail after EIP-1559]
[core, internal/ethapi: improve function IsSpecialTransaction]
Full Changelog: v2.5.0-beta1...v2.5.1-beta