IOTA Protocol Weekly - Jun 30, 2026

Jun 30, 2026: Protocol v29 debuts with fast commit sync, validator health improvements, and indexer pruning changes. Testnet only.

IOTA Staking Team 3 min read
IOTA protocol update
Share:

Protocol v29 is live on the testnet as part of the v1.26.1-rc release. This update focuses on improving commit sync, validator health metrics, and indexer pruning. If you're running testnet infrastructure, there are some required configuration changes to note.

Protocol Updates

  • Protocol version 29 is now active.
  • Fast commit sync is enabled, along with median-based commit timestamps and checkpoint enforcement. Consensus blocks now have additional restrictions on the mainnet (PR #11854).
  • Epoch advances in the iota-system now reset safe_mode_computation_charges_burned to 0 (PR #11953).

Validator and Full Node Changes

  • ValidatorHealthResponse now includes real in-flight transaction counts, the last committed leader round, and the last locally built checkpoint sequence number. This helps operators monitor validator performance more effectively (PR #10812).
  • A rare panic during validator shutdown has been resolved (PR #11813).
  • TLS is now mandatory for connecting to the validator gRPC interface. Ensure your setup complies (PR #11873).

Indexer Updates

  • Action required: The objects_history table has been removed, and you'll need to delete any objects_history = <epochs> entries from your pruning configuration TOML before upgrading. The migration takes only a few seconds (PR #11809).
  • New arguments --pruning-delay-ms and --pruning-batch-size have been added for finer control over pruning. These can also be set via PRUNING_DELAY_MS and PRUNING_BATCH_SIZE environment variables. The deprecated --optimistic-pruner-batch-size will be removed in v1.29.0 (PR #11846).
  • Fixed an issue with the JSON-RPC pruning threshold resolution in filtered queries (PR #11967).
  • Corrected the CLI documentation for the indexer subcommand, which was incorrectly marked as deprecated (PR #11879).

JSON-RPC Fixes

  • Fixed iotax_getValidatorsApy incorrectly reporting 0% APY for ~8 epochs after a zero-reward epoch. This was due to floating-point rounding errors (PR #11821).
  • upgradedVersion in the linkageTable of raw move package object responses retains its documented u64 number encoding. A regression that would have changed it to a string was fixed (PR #11851).

GraphQL Changes

  • Object ownership resolution bugs have been fixed (PR #11835).
  • The WRAPPED_OR_DELETED variant of ObjectKind has been removed. These objects are now treated as non-existent (PR #11845).

CLI Enhancements

  • iota-localnet start --with-indexer now supports a --pruning-config-path argument for configuring indexer data retention. This prevents the DB from growing indefinitely (PR #11826).

Rust SDK Adjustments

  • iota-types::object::ObjectInner is now a re-export of iota_sdk_types::Object. The Object wrapper (Arc<ObjectInner>) remains unchanged, but its accessor methods have moved to Object. Code using methods directly on ObjectInner must now go through Object. The BCS wire format is unaffected (PR #11718).

This release is testnet-only, so don't deploy it on mainnet. Operators should review the changes carefully, especially around indexer pruning and validator gRPC TLS requirements. For the full changelog, see v1.26.1-rc Release Notes.

Sources: v1.26.1-rc

I

Written by IOTA Staking Team

Expert in IOTA staking, blockchain technology, and DeFi strategies. Providing actionable insights to help you maximize your staking rewards.

Share this article:

Related Articles

```