testnet-v1.80.1

MystenLabs/suitestnet-v1.80.1Sep 22, 2026by ebmifa

Upgrading?

AI Summary

This release upgrades the Sui Protocol to version 137, introducing the `allowances` feature, optimizing Ristretto255 range proof verification for larger batches, and adjusting gas costs for constants. It also updates node consensus transaction pools, expands gRPC archival services, and adds support for `public(package)` constants in Move packages.

Key Highlights

  • Protocol v137 introduces the `allowances` feature.
  • Ristretto255 range proof verification is optimized, raising the batch limit from 512 to 1024.
  • `TransactionExpiration::Validity` is now accepted on all networks.
  • `LdConst` gas costs are adjusted based on abstract value size.
  • New opt-in `consensus-transaction-pool` configuration for validators.

Breaking Changes

  • Consumers of `SuiTransactionBlockEffects.shared_objects` must now filter against transaction inputs as the field now includes implicitly read system objects.
  • Gas costs for `LdConst` have increased as it now charges based on abstract value size.

New Features

  • `allowances` feature support
  • TransactionExpiration::Validity on all networks
  • Move packages on 2024.alpha edition can declare `public(package)` constants
  • Archival gRPC service now serves MovePackageService
  • V1 transaction effects now include derived lamport version in v2 RPC responses

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.1

Related Repositories