⚠️ Notice ‼️
This release includes a change which will cause approximately 5-30 minutes of complete unresponsiveness for all full nodes with indexing enabled. The unresponsiveness will occur only once, the first time your node starts after upgrade, please do not restart your node while this operation is occurring. For RPC operators hoping to avoid complete downtime during this release, make sure to stagger the upgrades to your nodes.
Protocol
Sui Protocol Version in this release: 67
#19799: Enable distributed vote scoring in mainnet v63
#20036: Protocol bumped to 67
, introducing a framework change to fix next_epoch_stake
book-keeping while redeeming fungible staked sui.
Nodes (Validators and Full nodes)
#19807: Temporarily re-enable EventFilter::Any
as a kind of event subscription filter. Note that subscriptions are deprecated. This means they are not officially supported nor actively maintained.
#19895: Adds authentication signatures to Discovery protocol messages.
#19770: Reduced disk usage from consensus db.
Indexer
#19947: Index fix
#19806: Indexer no longer fills the tx_sender
and tx_recipient
tables.
GraphQL
#19654: The Event
type has a new field called contents
, which is the event's content value as a MoveValue
. This replaces the previous scheme that flattened the MoveValue
type in the Event
type. A bcs
field was also added, which represents the Base64 encoded BCS serialized event.
#19357: Added support for paginated queries for epochs. This allows users to fetch epoch data in a paginated format.
#19669: Add Event.transactionBlock
for fetching the transaction that emitted the event, as long as the event is indexed (not just executed).
#19785: Change Parent.parent
from an Object
to an Owner
. Although it's guaranteed to be an object if it exists, it may be wrapped, in which case it will not exist. Exposing it as an Owner allows queries to extract its ID and also fetch other dynamic fields from it even if it is wrapped.
#19708: Adds support for TransactionBlockFilter.affectedAddress
, and AddressTransactionBlockRelationship.AFFECTED
to find transactions associated with any address they touch (sender, recipient, or payer).
#19818: Adds MovePackage.packageBcs
to expose the BCS representation of the MovePackage
struct (as opposed to the BCS representation of the outer Object
struct.
#19768: The bcs
field of TransactionBlock
has new data. Instead of serializing to bcs
from SenderSignedData
, which includes signatures and intent message, it only serializes the TransactionData
object. Note that this breaks the semantics compared to previous JSON RPC which serialized the intent and signatures. TransactionData
only includes tx data, but no signatures or intent.
#19804: Formally remove TransactionBlockFilter.signAddress
and AddressTransactionBlockRelationship.SIGN
, which were deprecated two releases ago. They have been replaced by TransactionBlockFilter.sentAddress
and AddressTransactionBlockRelationship.SENT
, which offer the same features
under clearer names.
#19805: TransactionBlockFilter.recvAddress
and AddressTransactionBlockRelation.RECV
have been replaced by TransactionBlockFilter.affectedAddress
and AddressTransactionBlockRelation.AFFECTED
which offer similar semantics but without confusion around the sender address which was also often (but not always) an implicit recipient. Now, we don't distinguish between senders and recipients -- we only have senders and "affected" addresses that were touched by the transaction in some way.
JSON-RPC
#19822: Introduces a new coin index used in returning paginated coins for the sui_getCoins JSON-RPC method. This changes the pagination order of coins to be returned in order of decreasing value (coins with a larger balance are returned first). In order to accomplish this a new column family (coin_index_2) was added to the jsonrpc indexes rocksdb database, deprecating and obsolescing the old coin_index column family.
CLI
#19562: The user will see a different error when an upgrade error is thrown, which includes the details of each error.
#19336: Move fixed_point32
has been deprecated for a new uq32_32
module