mainnet-v1.75.2
agno-agi/agent-uimainnet-v1.75.2Jul 15, 2026by ebmifa
AI Summary
This release updates the Sui Protocol to version 129, introduces new methods for linked tables, enhances logging capabilities with `RUST_LOG_TAILS`, adds support for Google Cloud Storage in state-sync archives, and improves GraphQL and gRPC APIs with new cursor handling and request capture features.
Key Highlights
- Sui Protocol version 129 introduces explicit bounds for binary pools.
- New `insert_before` and `insert_after` methods added to `sui::linked_table`.
- Enhanced logging via `RUST_LOG_TAILS` allows writing tracing targets to dedicated files.
- State-sync archives now support Google Cloud Storage (`gs://`) ingestion URLs.
- GraphQL APIs gain `IAddressable.asTransactionObject` and cursor fields for Checkpoints.
Breaking Changes
- Opaque pagination cursors returned by scanning APIs (`list_transactions`, `list_events`, `list_checkpoints`) have a new internal encoding. Clients must restart pagination from the beginning if they encounter cursor-related errors.
New Features
- Added `RUST_LOG_TAILS` environment variable to write tracing targets to dedicated files (`.jsonl`/`.ndjson`).
- Added `insert_before` and `insert_after` to `sui::linked_table`.
- Added `remote-store-headers` option for state-sync archives to support requester-pays GCS buckets.
- Introduced `IAddressable.asTransactionObject` as a generalization of `Address.asTransactionObject` in GraphQL.
- Added cursor field to Checkpoint objects in GraphQL.
- Enabled GraphQL request payload capture via the `graphql_request` tracing target.
- Support for resumable checkpoints subscription added to 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/mainnet-v1.75.2