mainnet-v1.76.1

hinthornw/trustcallmainnet-v1.76.1Jul 29, 2026by ebmifa

AI Summary

This release introduces a new RPC Store for gRPC indexes requiring a one-time resumable reindexing process, bumps the protocol to version 130, and implements various improvements to validator operations and gRPC APIs.

Key Highlights

  • New RPC Store requires a resumable reindexing process (~1.5 hours) to improve balance indexing and enable new APIs.
  • Protocol version 130 updates transaction effects to allow offsetting withdraws within the same consensus commit.
  • Validators can now automatically recover from checkpoint and transaction forks upon restart under specific conditions.
  • New filtered subscription APIs for checkpoints, transactions, and events are now stabilized.
  • Validator config field `admission-queue-bypass-fraction` has been removed.

Breaking Changes

  • New RPC Store requires a one-time resumable reindexing process upon startup.
  • Protocol version bumped to 130, changing how unsettled object-funds withdraws are recorded.
  • Validator configuration field `admission-queue-bypass-fraction` is removed (must be deleted from config files).

New Features

  • Filtered subscription APIs for checkpoints, transactions, and events.
  • Improved error messages for balance withdrawal errors that clarify coin types and address balances.
  • Opt-in gRPC request payload tracing via the `grpc_request` target.
  • Cohort-based indexing framework to prevent lagging pipelines from throttling caught-up ones.

Full Release Notes

⚠️ This release introduces a new RPC Store for gRPC indexes, requiring a one-time, resumable reindexing process. Startup includes live object reindexing (which temporarily delays HTTP availability), followed by background historical indexing that does not impact normal RPC operations. The change improves balance indexing, standardizes the index database format, and enables the new filtered List and Subscription APIs. It could take close to ~1.5 hours for re-indexing to complete upon startup.

## Protocol
#### Sui Protocol Version in this release: `130`

https://github.com/MystenLabs/sui/pull/27157: Protocol version 130. Unsettled object-funds withdraws are now recorded using per-account net amounts from transaction effects instead of running-max withdraw amounts, so withdraws that are offset by deposits in the same transaction no longer block other withdraws from the same account within the same consensus commit.

## Nodes (Validators and Full nodes)

https://github.com/MystenLabs/sui/pull/27203: Improved the error message returned when a transaction's address balance withdrawal exceeds the available balance: it no longer exposes internal accumulator object IDs, and now names the coin type and owner address and clarifies that Coin objects owned by the address are not part of its address balance.

https://github.com/MystenLabs/sui/pull/27149: Removes the `admission-queue-bypass-fraction` validator config field; all transactions are now admitted through the gas-price priority queue. The removed field is ignored if still present in a config file, but should be deleted.

https://github.com/MystenLabs/sui/pull/27062: Validators automatically recover from checkpoint and transaction forks on restart when the network has certified the canonical outcome and a new binary version is deployed; forks caused by the running binary version, or without a certified outcome, halt the node awaiting a corrected binary or operator-supplied fork recovery overrides.

https://github.com/MystenLabs/sui/pull/27238: Full nodes (and `sui-kv-rpc`) can capture decoded gRPC request payloads on the new opt-in `grpc_request` tracing target: set `RUST_LOG="info,grpc_request=trace"`, optionally with `RUST_LOG_TAILS="grpc_request=/path/file.jsonl"`, to log each request's method and canonical-JSON payload. Unset by default, so log output is unchanged and no action is required.

## gRPC

https://github.com/MystenLabs/sui/pull/27197: Adding filtered subscription APIs for checkpoints, transactions, and events

https://github.com/MystenLabs/sui/pull/27257: stabilizes the filtered List* apis as well as filter subscription apis

## CLI

https://github.com/MystenLabs/sui/pull/27183: `sui client chain-identifier` now displays both Base58 and Hex format for the chain digest.
The Move package system now accepts both formats interchangeably: chain IDs in `Move.toml` `[environments]` section.

## Indexing Framework

https://github.com/MystenLabs/sui/pull/27129: Pipelines are now grouped into cohorts by distance from the tip, each with its own ingestion service, so a lagging pipeline no longer throttles caught-up ones. New optional `IngestionConfig.min_cohort_boundary` (default 25,000 checkpoints) tunes the grouping; no action required.

https://github.com/MystenLabs/sui/pull/27238: The consistent store's gRPC service supports the same opt-in `grpc_request` capture target.

---
#### Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.76.1