mainnet-v1.64.1
MystenLabs/suimainnet-v1.64.1Jan 28, 2026by ebmifa
AI Summary
Major release enabling address aliases, PTB flexibility, and extensive GraphQL Display V2 support. Adds CLI tree-shaking flag.
Key Highlights
- Address aliases feature enabled on testnet.
- PTB `TxContext` arguments can now appear in any position.
- Extensive GraphQL updates including Display V2 support, JSON blobs, and MoveValue formatting.
- CLI `--no-tree-shaking` flag added.
New Features
- Address aliases feature.
- PTB TxContext flexibility.
- GraphQL Display V2 support.
- GraphQL JSON blob support (effectsJson, transactionJson).
- CLI tree-shaking flag.
Full Release Notes
## Protocol #### Sui Protocol Version in this release: `109` https://github.com/MystenLabs/sui/pull/24802: `TxContext` arguments can now appear in any position and still be callable in the PTB layer. https://github.com/MystenLabs/sui/pull/24835: Signature check for entry functions is disabled. Move compiler changes will follow https://github.com/MystenLabs/sui/pull/24895: Enables address alias feature on testnet. https://github.com/MystenLabs/sui/pull/24879: poseidon_bn254 is enabled on all networks. ## gRPC https://github.com/MystenLabs/sui/pull/24794: Return an error when `balance_changes` is requested but the transactions have not been indexed yet. ## GraphQL https://github.com/MystenLabs/sui/pull/24782: Introduce `Query.node(id: ID!): Node`, part of the GraphQL Global Identification Specification, to the schema, to support Relay's `@refetchable` annotation. https://github.com/MystenLabs/sui/pull/24781: `Epoch.totalTransactions` now returns a value for the latest epoch as of the checkpoint being viewed, rather than `null`. https://github.com/MystenLabs/sui/pull/24750: Add `effectsJson` on `TransactionEffects` and `transactionJson` on `Transaction`, that supports returning effects and transactions as JSON blob https://github.com/MystenLabs/sui/pull/24865: GraphQL requests are now subject to a single "rich query" limit, which enforces a budget on the number of dedicated requests to the database can be made by a single request. https://github.com/MystenLabs/sui/pull/24836: Add balanceChangeEffectJson on TransactionEffects, that supports returning balance changes as JSON blob https://github.com/MystenLabs/sui/pull/24876: Added BalanceWithdraw type to TransactionInput union https://github.com/MystenLabs/sui/pull/24770: Introduces `MoveValue.extract` for extracting a sub-slice from a `MoveValue` using a Display v2 expression. https://github.com/MystenLabs/sui/pull/24771: Introduce `MoveValue.asAddress` and `IAddressable.addressAt` for coercing a `MoveValue` to a GraphQL `Address` and viewing an address at a difference checkpoint. https://github.com/MystenLabs/sui/pull/24772: Adds `DynamicFieldName.literal` for providing a dynamic field name as a Display v2 literal. https://github.com/MystenLabs/sui/pull/24774: Add `MoveValue.format` to evaluate a single format string against a Move value. https://github.com/MystenLabs/sui/pull/24775: PTB Inputs are represented as `MoveValue`-s, if their types can be inferred. https://github.com/MystenLabs/sui/pull/24776: Remove fields related to the system state from `Epoch`, in favour of exposing the whole system state as `Epoch.systemState: MoveValue`. Similarly replace most fields on `ValidatorSet` with `ValidatorSet.contents: MoveValue`, and `Validator` with `Validator.contents: MoveValue`. https://github.com/MystenLabs/sui/pull/24779: Replace `Query.suinsName(name: ...)` with `Query.address(name: ...)`, replace `IAddressable.defaultSuinsName` with `IAddressable.defaultNameRecord.target`, and add `Query.nameRecord` for fetching the SuiNS NameRecord for a given SuiNS name. https://github.com/MystenLabs/sui/pull/25025: `Balance.totalBalance` now returns the sum of balances from owned coins and from the accumulator object. The individual coin or address balances can be retrieved through `Balance.coinBalance` and `Balance.addressBalance` respectively. For the previous behavior, select the `Balance.coinBalance` field for coin balances only. ## CLI https://github.com/MystenLabs/sui/pull/24822: Fixed the issue for `sui client publish | upgrade` around using various flags (e.g., dry-run). https://github.com/MystenLabs/sui/pull/24844: Added `--no-tree-shaking` flag that can only be used with `--dump-bytecode-as-base64`. This will ensure that all dependencies will be kept in the list of dependencies in the json output, regardless if they're used or not used in the source code. In contrast, by default, the CLI will remove any unused dependencies from the dependency list on publication/upgrade and when `--no-tree-shaking` flag is false. ## Indexing Framework https://github.com/MystenLabs/sui/pull/24925: Adding optional jitter to watermark update interval. --- #### Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.64.1