testnet-v1.75.2

facebookresearch/tribev2testnet-v1.75.2Jul 14, 2026by ebmifa

AI Summary

This release updates the Sui protocol to version 129, introduces new utility functions for linked tables and coins, and enhances logging capabilities for nodes and indexing frameworks. It also adds support for Google Cloud Storage in state-sync archives and updates GraphQL APIs with cursor fields and request capture capabilities.

Key Highlights

  • Sui Protocol version 129 introduces explicit bounds for binary pools.
  • State-sync archive fallback now supports Google Cloud Storage (gs://) ingestion URLs.
  • New RUST_LOG_TAILS environment variable writes tracing targets to dedicated files.
  • New insert_before and insert_after methods added to sui::linked_table.
  • GraphQL request payloads can be captured for replay via the graphql_request tracing target.

New Features

  • insert_before and insert_after methods for sui::linked_table
  • remote-store-headers option for requester-pays GCS buckets
  • RUST_LOG_TAILS environment variable for file-based logging
  • IAddressable.asTransactionObject generalization in GraphQL
  • Cursor field added to Checkpoint object
  • Resumable checkpoints subscription support in staging features

Full Release Notes

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

https://github.com/MystenLabs/sui/pull/27096: Introduces a new protocol version that adds explicit bounds for binary pools that were otherwise implicitly constrained before. No user-visible change.

https://github.com/MystenLabs/sui/pull/26914: adds `insert_before` and `insert_after` to `sui::linked_table`

https://github.com/MystenLabs/sui/pull/27067: use `defining_ids` in `sui::coin`

## Nodes (Validators and Full nodes)

https://github.com/MystenLabs/sui/pull/27063: the state-sync archive fallback now supports `gs://` (Google Cloud Storage) ingestion URLs. A new `remote-store-headers` option under `state-archive-read-config` attaches default HTTP headers to archive requests, which enables requester-pays GCS buckets via `x-goog-user-project`. Previously only `file` / `s3` / `http` archive stores were supported.

https://github.com/MystenLabs/sui/pull/27026: New optional `RUST_LOG_TAILS` env var additionally writes individual tracing targets to dedicated files (format inferred from the file extension — `.jsonl`/`.ndjson` for JSON, otherwise text), leaving normal log output unchanged. Backward-compatible — unset by default, so log output is unchanged and no action is required.

## gRPC

https://github.com/MystenLabs/sui/pull/27035: Opaque pagination cursors returned by the scanning apis `list_transactions`, `list_events`, and `list_checkpoints` have a new internal encoding. Cursors remain opaque and clients should continue treating them as such. Users should restart pagination from the beginning if they encounter a cursor-related error.

## GraphQL

https://github.com/MystenLabs/sui/pull/27018: Introduce `IAddressable.asTransactionObject` as a generalization of `Address.asTransactionObject`.

https://github.com/MystenLabs/sui/pull/27004: GraphQL request payloads can be captured for replay by enabling the `graphql_request` tracing target at trace level — all kinds via `RUST_LOG=graphql_request=trace`, or a single operation kind via `RUST_LOG="graphql_request[{kind=mutation}]=trace"`. Disabled by default.

https://github.com/MystenLabs/sui/pull/26731: Add cursor field to Checkpoint object

https://github.com/MystenLabs/sui/pull/27035: The opaque pagination cursor returned for a `Transaction` edge of the `TransactionConnection` have a new internal encoding. Cursors remain opaque and clients should continue treating them as such. Users should restart pagination from the beginning if they encounter a cursor-related error.

https://github.com/MystenLabs/sui/pull/26714: Support resumable checkpoints subscription in features `staging`

## CLI

https://github.com/MystenLabs/sui/pull/27094: `sui start` respects the fullnode RPC socket address that's part of its network config, if one is provided.

## Indexing Framework

https://github.com/MystenLabs/sui/pull/27026: The same `RUST_LOG_TAILS` env var is available to indexer binaries (e.g. `sui-indexer-alt-graphql`). Set it alongside `RUST_LOG` (e.g. `RUST_LOG="info,graphql_request=trace"` with `RUST_LOG_TAILS="graphql_request=/var/log/sui/graphql_request.jsonl"`) to capture that target as NDJSON for replay while normal logs stay readable. Opt-in; no action required otherwise.

---
#### Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.75.2