Skip to content

Releases: iotexproject/iotex-core

v2.3.4

23 Feb 09:14

Choose a tag to compare

v2.3.4-rc1

23 Feb 04:38

Choose a tag to compare

v2.3.4-rc1 Pre-release
Pre-release

Full Changelog: v2.3.4-rc0...v2.3.4-rc1

v2.3.4-rc0

22 Feb 03:59

Choose a tag to compare

v2.3.4-rc0 Pre-release
Pre-release

Full Changelog: v2.3.3...v2.3.4-rc0

v2.3.3

25 Dec 07:42

Choose a tag to compare

Summary

v2.3.3 is a major maintenance release that introduces official support for Archive Mode and Prune Mode, providing flexible storage options for different node types. This release also includes significant block synchronization improvements, API enhancements, and critical bug fixes to improve the stability and performance of the IoTeX network.

Note:
There's no change to the mainnet config.yaml and genesis.yaml. You only need to
restart your node with the new v2.3.3 image.

  • Snapshot update: the bundled snapshot no longer contains the legacy stakingindex. If your config.yaml has enableStakingIndexer: true, please remove that entry before starting the node.

Key Features and Enhancements

1. Archive Mode Support

v2.3.3 officially introduces Archive Mode, which stores complete historical state data for all blocks. This mode is essential for applications that need to query historical blockchain states at any point in time.

To enable archive mode, set chain.historyIndexPath in config.yaml to the directory where historical state files will be stored.

2. Prune Mode Support

v2.3.3 introduces Prune Mode, which maintains only the most recent 256 blocks of historical state data. This mode significantly reduces storage requirements while still providing recent state access for most operational needs.

To enable prune mode, first enable archive mode, then set chain.historyBlockRetention in config.yaml to the number of recent blocks whose state you want to retain.

3. Block Synchronization Optimization

Significant improvements have been made to the block synchronization mechanism to enhance sync speed, reliability, and network efficiency.

4. API and Compatibility Enhancements

Enhanced API support and EVM compatibility to improve developer experience and integration capabilities.

  • Web3 API for RollDPoS Protocol: Added comprehensive Web3 API support for the RollDPoS (Roll-Delegated Proof of Stake) protocol, enabling developers to interact with consensus-related data through standard Web3 interfaces.
  • Web3 API for Poll Protocol: Implemented ETH ABI compatibility for the poll protocol, allowing seamless integration with Ethereum tools and improving interoperability with EVM-based services.

5. Bug Fixes

Critical bug fixes to improve system stability and reliability.

  • WebSocket Connection Stability: Fixed a double-close issue in WebSocket connections that could lead to connection instability and unexpected disconnections for clients using WebSocket subscriptions.
  • Query Range Limits: Implemented configurable query range limitations to prevent excessive resource consumption and improve API response times.

Upgrade Priority

v2.3.3 is a maintenance release, so nodes are recommended to upgrade for better performance and stability.

Node type Action
Delegate Recommended
Fullnode Recommended
API node Recommended

Commits

v2.3.2...v2.3.3

v2.3.2

17 Nov 12:27

Choose a tag to compare

This is a maintenance release, Fixing an issue that the contract staking indexer failed to catch up when it fell behind the chain height.

We recommend you upgrade at your convenience to fix the catch up issues.

Full Changelog: v2.3.1...v2.3.2

v2.3.1

05 Nov 03:16

Choose a tag to compare

increase to 6 workers to handle block request

v2.3.0

22 Oct 02:13

Choose a tag to compare

Summary

v2.3.0 has a hardfork, which will be activated at block height 41648761
(ETA is around Nov-04-2025 03:45:07 AM +UTC) on IoTeX L1 mainnet.

All nodes must upgrade to this release, otherwise the node runs the risk of
not being able to sync with the IoTeX blockchain after other nodes have upgraded.

Note:
There's no change to the mainnet config.yaml and genesis.yaml. You only need to
restart your node with the new v2.3.0 image.

This release enables IIP-50, which introduces slashing mechanisms for unproductive delegates. This enhancement significantly improves network security and delegate accountability by applying penalties to the self-stake of delegates who fail to meet productivity requirements.

Additionally, this release enhances candidate registration capabilities by supporting BLS PublicKey registration and updates, laying the foundation for future BLS signature aggregation improvements outlined in IIP-52.

Key Features and Enhancements

  1. IIP-50 Slash Candidates: Implement slashing mechanism that applies penalties to self-stake of unproductive delegates, enhancing network security and delegate accountability.
  2. Enhanced Candidate Registration: Add support for BLS PublicKey registration and updates in CandidateRegister and CandidateUpdate transactions, preparing the groundwork for IIP-52 BLS signature aggregation.

Upgrade Priority

v2.3.0 comes with a hardfork, so all nodes must upgrade in order to keep
syncing with the IoTeX blockchain

Node type Action
Delegate Must upgrade
Fullnode Must upgrade
API node Must upgrade

Commits

v2.2.2...v2.3.0

v2.2.2

12 Aug 09:20

Choose a tag to compare

This version mainly improves the API nodes, specifically including:

  • eth_getTransactionRecipt return TransactionLogs in events way
  • Fix retval for contract creation only when simulate

Full Changelog: v2.2.1...v2.2.2

v2.2.1

30 Jun 03:21

Choose a tag to compare

Summary

v2.2.1 is a performance and compatibility enhancement release that optimizes
node operations and expands API capabilities.

All nodes are strongly recommended to upgrade to this release, especially
API nodes operating under high TPS conditions, to benefit from significant
performance improvements and enhanced compatibility features.

Note:
There's no change to the mainnet config.yaml and genesis.yaml. You only need to
restart your node with the new v2.2.1 image.

This release focuses on optimizing staking view operations through deferred
replication, expanding Ethereum API compatibility with EIP-1898 support, and
introducing enhanced administrative controls for blockchain operations.

Key Features and Enhancements

  1. Staking View Performance Optimization: Implemented deferred replication
    for staking view copying, significantly improving node performance, especially
    for API nodes under high TPS conditions. This optimization reduces computational
    overhead during view operations and enhances overall network responsiveness.

  2. EIP-1898 Support: Added full support for EIP-1898, enabling API nodes
    to handle requests with both blockHash and blockNumber parameters. This
    enhancement improves Ethereum compatibility and provides more flexible block
    querying capabilities for developers.

  3. Admin Interface Enhancements: Added new administrative interfaces that
    support pausing and resuming blockchain operations, providing operators with
    better control over node behavior during maintenance or emergency situations.

Bug Fix and Performance Improvements

  1. Dependency Management Fix: Resolved compilation issues where dependency
    libraries were incorrectly being removed, ensuring stable build processes.

  2. Performance Optimization: Enhanced overall system performance through
    optimized staking view operations and reduced memory overhead.

Upgrade Priority

v2.2.1 provides significant performance improvements and enhanced functionality.
All nodes are strongly recommended to upgrade, with API nodes receiving
the most substantial benefits.

Node type Action
Delegate Recommended
Fullnode Recommended
API node Highly Recommended

Commits

v2.2.0...v2.2.1

v2.2.0

10 Jun 01:39

Choose a tag to compare

Summary

v2.2.0 has a hardfork, which will be activated at block height 36,893,881
(ETA is around 06/19/2025 01:28:35 AM +UTC) on IoTeX L1 mainnet.

All nodes must upgrade to this release, otherwise the node runs the risk of
not being able to sync with the IoTeX blockchain after other nodes have upgraded.

Note:
There's no change to the mainnet config.yaml and genesis.yaml. You only need to
restart your node with the new v2.2.0 image.

This release reduces the block interval from 5 seconds to 2.5 seconds, effectively doubling the block production rate. This improvement enhances overall network responsiveness, and reduces transaction confirmation times. Users and developers can expect faster feedback for submitted transactions and more frequent block updates across the network. System Staking Contract Version 3 is introduced, which is optimized for the new 2.5-second block interval. It replaces Version 2, which is now deprecated. It will remain compatible even if the block interval changes again in the future.

Key Features and Enhancements

  1. Reduce block interval from 5 seconds to 2.5 seconds.
  2. Introduce system staking contract version 3 and deprecate system staking contract version 2.

Bug Fix and Performance Improvements:

  1. Enhanced the P2P network by introducing stricter rate limit.
  2. Upgraded golang and some dependencies.
  3. Fixed minting and validation inconsistency.

Upgrade Priority

v2.2.0 comes with a hardfork, so all nodes must upgrade in order to keep
syncing with the IoTeX blockchain

Node type Action
Delegate Must upgrade
Fullnode Must upgrade
API node Must upgrade

Commits

v2.1.2...v2.2.0