Protocol
Sui Protocol Version in this release: 129
#27096: Introduces a new protocol version that adds explicit bounds for binary pools that were otherwise implicitly constrained before. No user-visible change.
#26914: adds insert_before and insert_after to sui::linked_table
#27067: use defining_ids in sui::coin
Nodes (Validators and Full nodes)
#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.
#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
#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
#27018: Introduce IAddressable.asTransactionObject as a generalization of Address.asTransactionObject.
#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.
#26731: Add cursor field to Checkpoint object
#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.
#26714: Support resumable checkpoints subscription in features staging
CLI
#27094: sui start respects the fullnode RPC socket address that's part of its network config, if one is provided.
Indexing Framework
#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.