Protocol
This release introduces protocol version 30
On alphanet, this protocol version can be enabled no earlier than 2026-07-03 12:25 UTC (start of epoch 1441).
#11951: Added get_attr<T: copy + drop + store>(param_name: vector): T to the iota::protocol_config framework module (protocol version 30).
#12016: Added is_feature_enabled and get_attr<T: copy + drop + store> natives to the iota_system::protocol_config Move module, mirroring the existing iota::protocol_config API and making protocol feature flags and parameters accessible within the iota-system package (protocol version 30).
Nodes (Validators and Full nodes)
#11970: Add opt-in per-peer admission controls for the consensus gRPC server, inert by default. Set CONSENSUS_GRPC_PROTECTIVE_LIMITS=1 to enable the protective preset on a node.
#12018: Fixes a spurious panic that could occur during a normal node shutdown/restart. No action required.
#11922: Prometheus metrics can now be filtered with METRICS_FILTER environment variable.
#11868: Restoring a node from a formal snapshot no longer requires a checkpoint-archive bucket. The required checkpoint summaries now come from the snapshot itself and are cryptographically verified against the genesis committee.
Indexer
#12009: 🪛 Fixes a bug where the queries on checkpoint data with descending order would not used the fallback in completely pruned ranges of data.
CLI
#11894: Added backfill-checkpoint-summaries command to iota-tool to download the full checkpoint summary history for a stopped node
Rust SDK
#11968: MoveAuthenticator and MoveAuthenticatorV1 are now sourced from iota-rust-sdk (iota_sdk_types); node-internal helpers move to the MoveAuthenticatorExt trait.