testnet-v1.75.2

deepseek-ai/DeepSeek-Codertestnet-v1.75.2Jul 14, 2026by ebmifa

AI Summary

Identical to mainnet-v1.75.2, updating the Sui protocol to version 129 and adding support for Google Cloud Storage in state-sync archives.

Key Highlights

  • Protocol version updated to 129.
  • State-sync archive fallback now supports `gs://` (Google Cloud Storage).
  • New `RUST_LOG_TAILS` environment variable for file-based log output.
  • Opaque pagination cursors have a new internal encoding.
  • Introduced `IAddressable.asTransactionObject` in GraphQL.

Breaking Changes

  • Opaque pagination cursors returned by scanning APIs have a new internal encoding.

New Features

  • Google Cloud Storage support for state-sync archives.
  • File-based tracing with `RUST_LOG_TAILS`.
  • Cursor field added to Checkpoint object.
  • Resumable checkpoints subscription support.
  • GraphQL request payload capture for replay.

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