testnet-v1.80.0

MystenLabs/suitestnet-v1.80.0Sep 15, 2026by ebmifa

Upgrading?

AI Summary

This release introduces Sui Protocol version 137, featuring gas cost adjustments for constant-heavy code and object-funds withdrawal checks. It also adds new features like allowances and optimizations to the consensus transaction pool and gRPC services.

Key Highlights

  • Protocol v137 upgrade introduces gas cost adjustments for `LdConst` and enables object-funds withdrawal checks on devnet.
  • New `allowances` feature is added across protocol, nodes, gRPC, and GraphQL.
  • Validators gain an opt-in `consensus-transaction-pool` configuration to improve transaction handling.
  • gRPC services are enhanced with V1 effect details and expanded archival query capabilities.

Breaking Changes

  • The derivation of `SuiTransactionBlockEffects.shared_objects` has changed; consumers must now filter against transaction inputs as it may include implicitly read system objects.
  • Gas costs for `LdConst` abstract value size have increased, affecting constant-heavy code.

New Features

  • Addition of the `allowances` feature for transaction management.
  • Support for `public(package)` constants in Move packages on the `2024.alpha` edition.
  • New memory invariant check for reference/value usage in Programmable Transaction Blocks (PTBs).
  • Acceptance of `TransactionExpiration::Validity` on all networks.
  • Archival gRPC service now serves MovePackageService endpoints.

Full Release Notes

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

https://github.com/MystenLabs/sui/pull/27844: Ristretto255 range proof verification is cheaper and the limit on the number of commitments times the range bit length is raised from 512 to 1024, so larger batches can now be verified in a single call.

https://github.com/MystenLabs/sui/pull/27528: adds `allowances` feature

https://github.com/MystenLabs/sui/pull/27524: Protocol v137 enables `check_object_funds_withdraw_in_execution` on devnet only. Object-funds withdrawal sufficiency is checked inside the Move VM at the point of withdrawal, insufficient withdrawals abort with a `sui::funds_accumulator` Move abort, and the first settled-balance read for each `(owner, type)` pair costs 184 internal gas units.

https://github.com/MystenLabs/sui/pull/27930: In protocol version 137, `LdConst` charges gas for the abstract value size of the constant rather than its serialized byte length, slightly increasing gas costs for constant-heavy code.

https://github.com/MystenLabs/sui/pull/27939: `TransactionExpiration::Validity` is now accepted on all networks, allowing a transaction to restrict which validators may propose it in consensus.

https://github.com/MystenLabs/sui/pull/27938: Enables additional signing time checks to reject structurally invalid txs earlier.

https://github.com/MystenLabs/sui/pull/27984: Adds new memory invariant check for reference/value usage in PTBs.

## Nodes (Validators and Full nodes)

https://github.com/MystenLabs/sui/pull/27507: Adds an opt-in `consensus-transaction-pool` config for validators: when set, consensus pulls transactions from a validator-side, gas-price-prioritized pool at block-proposal time instead of the admission queue pushing them to consensus.

https://github.com/MystenLabs/sui/pull/27863: Validators using the pull-based consensus transaction pool stop proposing system transactions and pings after their submitter abandons them. No operator action is required.

https://github.com/MystenLabs/sui/pull/27528: adds `allowances` support

## gRPC

https://github.com/MystenLabs/sui/pull/27833: V1 transaction effects now include their derived lamport version in v2 RPC responses.

https://github.com/MystenLabs/sui/pull/27876: Terminal metadata on queries that end on an empty natural interval (such as passing an `after` cursor pointing to the last item of a bounded window) now emits `QueryEndReason::CheckpointBound` with `watermark.checkpoint = None` instead of `CursorBound`. No client migration required.

https://github.com/MystenLabs/sui/pull/27528: adds `allowances` support

https://github.com/MystenLabs/sui/pull/27613: The Bigtable-backed archival gRPC service (sui-kv-rpc) now serves `MovePackageService` (`GetPackage`, `GetDatatype`, `GetFunction`, `ListPackageVersions`), previously only available on fullnodes.

## JSON-RPC

https://github.com/MystenLabs/sui/pull/27523: `SuiTransactionBlockEffects.shared_objects` is derived from the effects' accessed consensus objects, which can now include implicitly read system objects such as the accumulator root once a consumer activates. Consumers that treat the field as declared shared inputs must filter against the transaction inputs; legacy `sui-replay` has been updated accordingly.

## GraphQL

https://github.com/MystenLabs/sui/pull/27833: Historical subscription backfill can consume V1 effects from archival KV-RPC.

https://github.com/MystenLabs/sui/pull/27528: adds `allowances` support

https://github.com/MystenLabs/sui/pull/27942: The `Subscription` root type (`checkpoints`, `events`, `transactions`) is now part of the production schema, previously available only in staging builds. Operators must still enable it per deployment; there is no change for clients beyond the type being present.

## CLI

https://github.com/MystenLabs/sui/pull/27486: Move packages on the `2024.alpha` edition can now declare constants `public(package)`, making them usable from other modules of the same package, both in code and in other constant definitions.

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

Related Repositories