mainnet-v1.81.1
MystenLabs/suimainnet-v1.81.1Oct 7, 2026by ebmifa
Upgrading?
AI Summary
This release updates the Sui Protocol to version 138, introducing gas model changes, new memory invariant checks for PTBs, and modifications to transaction dependency reporting. It also adds new observability metrics for node operators and enhances the GraphQL API and CLI tools.
Key Highlights
- Protocol version 138 introduces gas model changes and a new memory invariant check for PTB reference/value usage.
- New observability metric for tracking object utilization by ID and name.
- GraphQL API gains `derivedObject`, `multiGetDynamicFields`, and nullable `Balance.coinMetadata` fields.
- CLI enhancements include new withdrawal functions for PTBs and improved fund tracking in `sui move test`.
New Features
- GraphQL: Adds `derivedObject` and `multiGetDerivedObjects` to `IAddressable`.
- GraphQL: Adds `Query.multiGetDynamicFields` for fetching multiple dynamic fields.
- GraphQL: Adds nullable `Balance.coinMetadata` field.
- GraphQL: `Transaction.effects.checkpoint` now resolves for subscription transactions.
- CLI: `sui client ptb` accepts `withdrawal(amount)` and `withdrawal<T>(amount)` inputs.
- CLI: `sui move test` tracks address and object funds across transactions and adds `test_scenario::withdraw_balance_from_address` and `test_scenario::settled_balance`.
- Nodes: Adds optional `execution-time-observer-config.object-utilization-metric-tracked-ids` for new metric `epoch_execution_time_observer_tracked_object_utilization`.
- Protocol: Transaction effects no longer report transaction dependencies on devnet and testnet at protocol 138.
- Protocol: Colliding deferred-transaction keys in the consensus handler merge their entries.
Full Release Notes
## Protocol #### Sui Protocol Version in this release: `138` https://github.com/MystenLabs/sui/pull/27049: gas model changes, implementation related no user impact https://github.com/MystenLabs/sui/pull/27975: Adds new memory invariant check for reference/value usage in PTBs. https://github.com/MystenLabs/sui/pull/28034: Enable `check_object_funds_withdraw_in_execution` on testnet in protocol version 138. https://github.com/MystenLabs/sui/pull/27943: On devnet and testnet at protocol 138, transaction effects no longer report transaction dependencies. The effects encoding retains an empty dependency vector; object versions and per-object previous-transaction metadata are unchanged. https://github.com/MystenLabs/sui/pull/28131: In protocol version 138, colliding deferred-transaction keys in the consensus handler merge their entries instead of overwriting, so re-deferred transactions can no longer displace previously deferred ones. ## Nodes (Validators and Full nodes) https://github.com/MystenLabs/sui/pull/27936: Adds optional `execution-time-observer-config.object-utilization-metric-tracked-ids`, a map from object ID to name. Utilization of listed objects is reported in the new `epoch_execution_time_observer_tracked_object_utilization` metric with `object_id` and `name` labels. No action required; default behavior is unchanged. https://github.com/MystenLabs/sui/pull/28037: Fullnodes no longer restrict simulated transactions to their preferred proposers by default. Operators who want the previous behavior must set `enable-simulate-allowed-proposers: true` in the node config. https://github.com/MystenLabs/sui/pull/28076: Validators now pull transactions from a consensus-side pool at block proposal time instead of the admission queue pushing them. To keep the previous behavior, set `consensus-transaction-pool.enabled: false` in the node config; `authority-overload-config.admission-queue-enabled` only applies when the pool is disabled. ## gRPC https://github.com/MystenLabs/sui/pull/28022: Rosetta now fetches latest checkpoint data in one request, preventing transient `Checkpoint N not found` failures when fullnodes behind a load balancer have different heights. No user action is required. ## GraphQL https://github.com/MystenLabs/sui/pull/27721: Adds `derivedObject` and `multiGetDerivedObjects` to `IAddressable`. https://github.com/MystenLabs/sui/pull/27743: Adds `Query.multiGetDynamicFields` for fetching multiple dynamic fields across different parent objects. https://github.com/MystenLabs/sui/pull/27758: Adds the nullable `Balance.coinMetadata` field. https://github.com/MystenLabs/sui/pull/28010: `Transaction.effects.checkpoint` now resolves for transactions delivered over a subscription; it was previously always null. ## CLI https://github.com/MystenLabs/sui/pull/27351: `sui client ptb` now accepts `withdrawal(amount)` and `withdrawal<T>(amount)` inputs for address balance withdrawals. https://github.com/MystenLabs/sui/pull/28048: In `sui move test`, `test_scenario` now tracks address and object funds across transactions. `balance::withdraw_funds_from_object` succeeds only up to the funds actually sent to the object, and otherwise aborts with `sui::funds_accumulator` error 5 (previously every object withdrawal succeeded in unit tests). Two new test-only functions: `test_scenario::withdraw_balance_from_address` creates a withdrawal from an address, reserved against its settled balance, and `test_scenario::settled_balance` reads an address's or object's settled balance. --- #### Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.81.1
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one