mainnet-v1.77.2
MystenLabs/suimainnet-v1.77.2Aug 13, 2026by ebmifa
AI Summary
Mirrors the testnet release with protocol version 133, introducing the `ForwardingAddressRegistry` alongside CLI improvements for gas selection and source verification.
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.
https://github.com/MystenLabs/sui/pull/27686: `sui-kv-rpc` can now bind a second, unencrypted gRPC listener (`plaintext-address` config field) alongside its existing TLS listener, for trusted internal callers that shouldn't need to negotiate TLS.
## 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/mainnet-v1.77.2