mainnet-v1.79.1

MystenLabs/suimainnet-v1.79.1Sep 9, 2026by ebmifa

Upgrading?

AI Summary

This release updates the Sui protocol to version 136, introduces `TransactionExpiration::Validity` for restricting transaction proposers on devnet, enforces stricter `TxContext` rules in Programmable Transaction Blocks, and updates indexer tools to strictly require `--ledger-grpc-url` while removing BigTable dependencies.

Key Highlights

  • Protocol upgrade to v136, carrying pending features from v135.
  • Introduction of `TransactionExpiration::Validity` to restrict transactions to specific validator proposers (devnet only).
  • Enforcement of strict `TxContext` rules in PTBs, introducing a new `InvalidTxContext` error for violations.
  • Indexer tools (`sui-indexer-alt-jsonrpc` and `sui-indexer-alt-graphql`) now strictly require `--ledger-grpc-url` and no longer support BigTable flags.

Breaking Changes

  • The `sui-indexer-alt-jsonrpc` and `sui-indexer-alt-graphql` tools no longer accept BigTable flags and require `--ledger-grpc-url` to function.

New Features

  • New `TransactionExpiration::Validity` type to restrict transaction proposers (devnet only).
  • New `InvalidTxContext` error for PTB `TxContext` signature violations.
  • Added invariant checks around packages.
  • Added `package_arena_size_in_bytes` (10MB) protocol setting to bound Move VM package loading.
  • Added `Query.multiGetBalances` to GraphQL for fetching multiple addresses' balances.
  • Added `sui move test --package-size` flag to bound package size during unit tests.

Full Release Notes

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

https://github.com/MystenLabs/sui/pull/27791: Adds protocol versions 135 and 136. `defer_unpaid_amplification` is disabled on mainnet at v134 and on all networks from v135; v135 also applies v134's original_package_id costs and consensus block limits on mainnet. v136 carries the previously pending v135 features.

https://github.com/MystenLabs/sui/pull/27454: Adds `TransactionExpiration::Validity`, which restricts the transaction to a named set of consensus proposers. Behind the `allowed_proposers` feature flag, enabled on devnet only; no change on mainnet or testnet.

https://github.com/MystenLabs/sui/pull/27451: New feature flag `ptb_tx_context_restrictions` (protocol version 135). `TxContext` in a PTB Move call signature may appear at most once as `&mut TxContext` or any number of times as `&TxContext`, never by value, and never in return position. Transactions calling functions that violate these rules now fail up front with the new `InvalidTxContext` command argument error (previously they failed with borrow-checking, arity, or serialization errors, or in dev-inspect could partially succeed).

https://github.com/MystenLabs/sui/pull/27832: Add additional invariant checks around packages.

https://github.com/MystenLabs/sui/pull/27826: Adds `package_arena_size_in_bytes` (10MB, matching prior hardcoded behavior) to protocol version 136, bounding the arena a package is loaded into by the Move VM.

## Nodes (Validators and Full nodes)

https://github.com/MystenLabs/sui/pull/27599: Full nodes now submit a proposer-restricted transaction only to the validators it names, instead of to any validator. No configuration change is needed; transactions without a proposer set are unaffected.

## gRPC

https://github.com/MystenLabs/sui/pull/27598: `SimulateTransaction` now returns a `VALIDITY` expiration carrying the validators allowed to propose the transaction, where it previously returned `VALID_DURING`. Clients that sign and submit the returned transaction unchanged need no action; clients that reconstruct the expiration themselves should carry the new `allowed_proposers` field through, or the transaction digest will not match.

## JSON-RPC

https://github.com/MystenLabs/sui/pull/27557: `sui-indexer-alt-jsonrpc` no longer accepts `--bigtable-instance`, `--bigtable-project`, `--bigtable-app-profile-id`, or `--bigtable-watermark-pipeline`. Operators must use `--ledger-grpc-url` instead.

https://github.com/MystenLabs/sui/pull/27653: `--ledger-grpc-url` is now required to run `sui-indexer-alt-jsonrpc` — it no longer falls back to Postgres for key-value lookups (objects, checkpoints, transactions) when unset.

## GraphQL

https://github.com/MystenLabs/sui/pull/27557: `sui-indexer-alt-graphql` no longer accepts `--bigtable-instance`, `--bigtable-project`, `--bigtable-app-profile-id`, or `--bigtable-watermark-pipeline`. Operators must use `--ledger-grpc-url` instead.

https://github.com/MystenLabs/sui/pull/27653: `--ledger-grpc-url` is now required to run `sui-indexer-alt-graphql`, for the same reason.

https://github.com/MystenLabs/sui/pull/27685: Adds `Query.multiGetBalances` for fetching balances across multiple addresses in one query.

## CLI

https://github.com/MystenLabs/sui/pull/27828: Impacts the dev experience for users clicking on the move coding conventions link. No extra actions.

https://github.com/MystenLabs/sui/pull/27826: `sui move test` now accepts `--package-size <MB>` to bound the maximum size of a loaded package during unit tests.

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

Related Repositories