testnet-v1.77.2

MystenLabs/suitestnet-v1.77.2Aug 12, 2026by ebmifa

AI Summary

Introduces protocol version 133, featuring a new `ForwardingAddressRegistry` system object and restrictions on mutable transaction context parameters. The CLI receives significant updates including improved gas selection logic and a revamped `verify-source` command.

Key Highlights

  • New `ForwardingAddressRegistry` system object created during epoch changes.
  • Updated gas selection logic in CLI to allow usage of address balances.
  • Enhanced `sui client verify-source` command with JSON output and toolchain caching.
  • Fixed checkpoint broadcaster shutdown logic to handle fatal ingestion errors.

Breaking Changes

  • The `--stateless` flag is no longer available for the `send-funds` command; use `--from-address-balance` instead.
  • The `sui client verify-source <path>` command signature has changed: it no longer takes a package-id argument and removed flags `--verify-deps`, `--skip-source`, and `--address-override`.

New Features

  • New `FORWARDING_ADDRESS_REGISTRY_CREATE` kind in gRPC and GraphQL.
  • The `sui client gas` command now displays address balance SUI balance.
  • Git dependency pinning logic updated for annotated tags.
  • Support for local `sui` binary in `sui client verify-source`.

Full Release Notes

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

https://github.com/MystenLabs/sui/pull/27667: Add some additional bounds and relax some others.

https://github.com/MystenLabs/sui/pull/27155: Bumps the max protocol version to 131 and adds the `framework_tx_context_mut_restrictions` feature flag. Starting at version 131, system-package functions that take `&mut TxContext` and return a mutable reference must also take a non-`TxContext` `&mut` parameter; publication is rejected otherwise. User packages are unaffected.

https://github.com/MystenLabs/sui/pull/26891: Adds a `ForwardingAddressRegistry` system object (`0x2::forwarding_address`, object ID `0xfa`), created during epoch change when the `create_forwarding_address_registry` flag is enabled (devnet only for now). No user-facing API yet.

## Nodes (Validators and Full nodes)

https://github.com/MystenLabs/sui/pull/26891: New end-of-epoch system transaction `ForwardingAddressRegistryCreate`.

## gRPC

https://github.com/MystenLabs/sui/pull/26891: New `FORWARDING_ADDRESS_REGISTRY_CREATE` kind in the `EndOfEpochTransactionKind` proto enum.

## GraphQL

https://github.com/MystenLabs/sui/pull/26891: New `ForwardingAddressRegistryCreateTransaction` member of the `EndOfEpochTransactionKind` union.

https://github.com/MystenLabs/sui/pull/27492: `transactions(filter: {affectedObject: ...})` now correctly returns a `FEATURE_UNAVAILABLE` error when the `tx_affected_objects` pipeline isn't configured, instead of silently succeeding.

## CLI

https://github.com/MystenLabs/sui/pull/27291: new logic for gas selection to allow usage of address balances. Note that if no gas coin is passed, it will smash all available gas coins into one.

Breaking change: `--stateless` is no longer available for `send-funds` command. Use `--from-address-balance` instead to send funds from AB to another address.

https://github.com/MystenLabs/sui/pull/27213: `sui client verify-source <path>` now rebuilds the package with the toolchain it was published with (downloading that release if needed) and reads the on-chain address to compare against from the package's own publication metadata — it no longer takes a package-id argument. `--verify-deps`, `--skip-source`, and `--address-override` are removed; to verify a dependency, run the command against that dependency's source. Pass `--toolchain-version` to rebuild with a different toolchain.

https://github.com/MystenLabs/sui/pull/27490: `sui client gas` now also displays address balance SUI balance.

https://github.com/MystenLabs/sui/pull/27395: A git dependency whose `rev` is an annotated tag now pins to the commit the tag points at instead of the tag object. Existing `Move.lock` files that pinned a tag object keep their old sha until repinned; you can use `sui move update-deps` to fix old lockfiles.

https://github.com/MystenLabs/sui/pull/27436: `sui client verify-source` now prints the metadata it verified against (original id, published-at, toolchain version, binary path) on success, and emits it as JSON under the global `--json` flag.

https://github.com/MystenLabs/sui/pull/27374: `sui client verify-source` now caps its cache of downloaded `sui` toolchains at the most-recently-used few (default 5, set `SUI_BINARY_CACHE_LIMIT` to change), evicting older ones after a download.

https://github.com/MystenLabs/sui/pull/27438: `sui client verify-source --toolchain <path>` rebuilds with a local `sui` binary instead of downloading a toolchain.

https://github.com/MystenLabs/sui/pull/27446: `sui client verify-source` reuses a `suiup`-cached release archive instead of re-downloading, when present.

## Indexing Framework

https://github.com/MystenLabs/sui/pull/27360: Fixes a bug where the checkpoint broadcaster could keep running instead of shutting down promptly after a fatal ingestion error, if real-time checkpoint streaming was active and healthy at the same time.

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