github XinFinOrg/XDPoSChain v2.6.7

latest release: v2.6.8
3 days ago

πŸš€ Release Notes

✨ Highlights

  • EIP-1559 mainnet activation with full Cancun support by block 98800200
  • Blob & KZG cryptography support (post-Cancun readiness)
  • Significant EVM performance improvements
  • Major stability fixes for txpool, consensus, and RPC
  • Support solidity v0.8.28
  • Large-scale codebase modernization (Go 1.23, CI/CD, lint cleanup)

Upgrade Instruction for Xinfin-Node

cd mainnet && bash upgrade.sh

🧩 Protocol & EVM Upgrades

  • Implement EIP-1559 (mainnet release configuration)
  • Implement EIP-1153 (Transient Storage)
  • Implement EIP-2565
  • Implement EIP-3651 (Warm Coinbase)
  • Implement EIP-5656 (MCOPY opcode)
  • Implement EIP-6780
  • Implement EIP-7516
  • Enable Cancun instruction set
  • Implement BLOBHASH opcode (0x49)
  • Support KZG cryptography and blob handling

βš™οΈ Core / EVM / VM Improvements

  • Refactor vm.Context into BlockContext and TxContext
  • Improve EVM reusability and reduce memory allocations
  • Remove legacy interpreter interface
  • Optimize precompile handling and jumpdest analysis
  • Improve trace log formatting and return data handling
  • Upgrade core/vm for reorg, Cancun, and post-Cancun correctness
  • Improve EstimateGas API accuracy and performance

πŸ› Bug Fixes

  • Fix incorrect blockHash returned by eth_getLogs
  • Fix gas price calculation with empty blocks
  • Fix txpool overflow caused by pending special transactions
  • Fix block production stalls caused by special txs
  • Fix integer divide-by-zero in header validation
  • Fix nil handling in block number retrieval
  • Fix xdc-prefix address encoding bug
  • Fix consensus vote threshold and epoch boundary issues
  • Fix node account manager memory leak
  • Fix duplicate metrics collection process
  • Fix downloader bugs and speed up downloader tests

πŸ” Consensus, P2P & Networking

  • Enforce signer uniqueness using signer public keys
  • Improve epoch timeout handling and countdown logging
  • Add trusted peer management RPCs:
    • admin_addTrustedPeer
    • admin_removeTrustedPeer
  • Increase default max peers to 50
  • Allow HTTP and WebSocket servers on the same port
  • Add dial metrics to P2P discovery

πŸ“‘ RPC, Node & CLI Enhancements

  • Add RPC gas cap flag (--rpc-gascap, default: 50M)
  • Improve RPC EstimateGas behavior
  • Add database CLI commands:
    • stats, compact, inspect, get, put, delete
  • Add read-only database option
  • Improve block report and chain config output formats
  • New RPC API:
    • xdpos_getBlockInfoByEpochNum

🧹 Refactoring & Code Quality

  • Extensive staticcheck cleanup (SA, ST, S-series warnings)
  • Remove unused code, empty functions, and redundant conversions
  • Replace deprecated Go APIs (ioutil, legacy timers, string helpers)
  • Migrate go-bindata β†’ embed
  • Simplify database access abstractions
  • Refactor rawdb into a dedicated package

πŸ— Build, Tooling & CI/CD

  • Upgrade Go toolchain to Go 1.23
  • Add support for golangci-lint v1.63.4
  • Enforce go mod tidy and go generate checks
  • Migrate CLI to urfave/cli/v2
  • Improve CI bootnode handling and backup RPC support

🌐 Network, Devnet & Testnet

  • New devnet deployment and recovery improvements
  • Reduce devnet gas limit to 50M
  • Update devnet and testnet block numbers and timeouts
  • Update bootnode lists (devnet & mainnet)
  • Improve private devnet networking support
  • Cost-saving RPC downsizing for devnet

⚠️ Deprecations & Removals

  • Remove deprecated CLI flags:
    • --mine, --fast, --light
    • --XDCx-datadir
  • Remove deprecated packages:
    • Whisper
    • ENS
    • Android & iOS mobile builds
  • Remove legacy configs and unused genesis dependencies
  • Emit warnings when deprecated configs or resources are used

πŸ”’ Security & Audit

  • Apply fixes from CertiK audit findings
  • Harden consensus signature validation
  • Fix sender recovery for pending transactions
    (aligned with upstream Ethereum fixes)

πŸ“ Notes for Operators

  • EIP-1559 activation is a consensus-breaking upgrade
    β†’ All nodes must upgrade before the activation block.
  • Deprecated flags and packages are no longer supported.
  • Devnet and testnet parameters have changedβ€”verify configs before upgrading.

Don't miss a new XDPoSChain release

NewReleases is sending notifications on new releases.