testnet-v1.64.1

MystenLabs/suitestnet-v1.64.1Jan 27, 2026by ebmifa

AI Summary

Identical to v1.64.1 (mainnet), enabling address aliases, PTB flexibility, and extensive GraphQL features.

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.
  • 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/testnet-v1.64.1