Skip to content

Releases: MystenLabs/sui

testnet-v1.36.1

22 Oct 02:23
cf3fee7
Compare
Choose a tag to compare

⚠️ Notice ‼️

This release includes a change which will cause approximately 20-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: 65

#19799: Enable distributed vote scoring in mainnet v63

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


Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.36.1

testnet-v1.36.0

21 Oct 22:10
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 65

#19799: Enable distributed vote scoring in mainnet v63

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

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

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


Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.36.0

devnet-v1.36.0

21 Oct 16:18
Compare
Choose a tag to compare
devnet-v1.36.0 Pre-release
Pre-release

Protocol

Sui Protocol Version in this release: 65

#19799: Enable distributed vote scoring in mainnet v63

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

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

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


Full Log: https://github.com/MystenLabs/sui/commits/devnet-v1.36.0

mainnet-v1.35.2

17 Oct 23:51
4e46da8
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 64

Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.35.2

testnet-v1.35.1

15 Oct 16:07
f176dc2
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 63

#19851: Lower per object queue age and length thresholds

Nodes (Validators and Full nodes)

#19811: 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.

GraphQL

#19809: Adds support for TransactionBlockFilter.affectedAddress, and AddressTransactionBlockRelationship.AFFECTED to find transactions associated with any address they touch (sender, recipient, or payer).


Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.35.1

mainnet-v1.35.1

15 Oct 22:06
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 63

#19503: Enable distributed vote scoring in testnet

#19553: Enable distributed vote scoring in testnet

#19522: Reduces minimum shares for random beacon protocol to 700. This may reduce the costs of running the protocol.

#19672: The protocol version has been bumped to 62, changing the semantics around the package/module in the PTB from which the event originated.

Nodes (Validators and Full nodes)

#19617: Remove unsupported compound filters for querying events from the JSON-RPC schema to avoid confusion. Remove support for compound filters from the deprecated events subscription system.

#19811: 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.

Indexer

#19543: Add indices to support efficient pruning by tx sequence number.

#19614: Adds support for filtering transactions by their affected object

#19615: Remove support for InputObject and OutputObject transaction filters (replaced by AffectedObject).

#19616: Remove support for filtering transactions by ToAddress, (instead of FromOrToAddress`).

#19617: Remove compound filters for querying events.

#19618: A transaction's "affected objects" include objects that it created and wrapped, or unwrapped.

JSON-RPC

#19433: feature: adds a configurable health check endpoint for json rpc fullnodes to report down if too far behind

#19618: A transaction's "affected objects" include objects that it created and wrapped, or unwrapped.

GraphQL

#19618: A transaction's "affected objects" include objects that it created and wrapped, or unwrapped.

#19671: Add --skip-migration-consistency-check to allow bypassing the database compatibility checks.

#19809: Adds support for TransactionBlockFilter.affectedAddress, and AddressTransactionBlockRelationship.AFFECTED to find transactions associated with any address they touch (sender, recipient, or payer).

CLI

#19485: sui move new produces module templates with the new module label syntax, rather than the previous module block syntax.

#19387: Introduce lock file version 3, which renames a dependency's name field to id and introduces a separate name field that stores the package's name from its manifest for improved error reporting. Older lock files will be ignored when resolving dependencies so that this information is always available.

#19487: Improved the error message when running sui start when a sui config folder exists without genesis metadata.

#19506: Fixes an issue with active-env and envs commands that were not showing an output if the active RPC url was not correct.

#19540: Remove legacy support for custom package hooks, replacing it with initial logic for on-chain dependencies.

#19057: Changes to external dependency resolution: allows processing multiple null-separated contents to extend the package graph per resolution call.

#17124: Move lint now warns against unnecessary self-assignments.


Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.35.1

testnet-v1.35.0

07 Oct 22:24
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 62

#19503: Enable distributed vote scoring in testnet

#19553: Enable distributed vote scoring in testnet

#19522: Reduces minimum shares for random beacon protocol to 700. This may reduce the costs of running the protocol.

#19672: The protocol version has been bumped to 62, changing the semantics around the package/module in the PTB from which the event originated.

Nodes (Validators and Full nodes)

#19617: Remove unsupported compound filters for querying events from the JSON-RPC schema to avoid confusion. Remove support for compound filters from the deprecated events subscription system.

Indexer

#19543: Add indices to support efficient pruning by tx sequence number.

#19614: Adds support for filtering transactions by their affected object

#19615: Remove support for InputObject and OutputObject transaction filters (replaced by AffectedObject).

#19616: Remove support for filtering transactions by ToAddress, (instead of FromOrToAddress).

#19617: Remove compound filters for querying events.

#19618: A transaction's "affected objects" include objects it created, wrapped, or unwrapped.

JSON-RPC

#19433: feature: adds a configurable health check endpoint for json rpc fullnodes to report down if too far behind

#19618: A transaction's "affected objects" include objects it created, wrapped, or unwrapped.

GraphQL

#19618: A transaction's "affected objects" include objects it created, wrapped, or unwrapped.

#19671: Add --skip-migration-consistency-check to allow bypassing the database compatibility checks.

CLI

#19485: sui move new produces module templates with the new module label syntax, rather than the previous module block syntax.

#19387: Introduce lock file version 3, which renames a dependency's name field to id and introduces a separate name field that stores the package's name from its manifest for improved error reporting. Older lock files will be ignored when resolving dependencies so that this information is always available.

#19487: Improved the error message when running sui start when a sui config folder exists without genesis metadata.

#19506: Fixes an issue with active-env and envs commands that were not showing an output if the active RPC url was not correct.

#19540: Remove legacy support for custom package hooks, replacing it with initial logic for on-chain dependencies.

#19057: Changes to external dependency resolution: allows processing multiple null-separated contents to extend the package graph per resolution call.

#17124: Move lint now warns against unnecessary self-assignments.


Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.35.0

devnet-v1.35.0

07 Oct 16:25
Compare
Choose a tag to compare
devnet-v1.35.0 Pre-release
Pre-release

Protocol

Sui Protocol Version in this release: 62

#19503: Enable distributed vote scoring in testnet

#19553: Enable distributed vote scoring in testnet

#19522: Reduces minimum shares for random beacon protocol to 700. This may reduce the costs of running the protocol.

#19672: The protocol version has been bumped to 62, changing the semantics around the package/module in the PTB from which the event originated.

Nodes (Validators and Full nodes)

#19617: Remove unsupported compound filters for querying events from the JSON-RPC schema to avoid confusion. Remove support for compound filters from the deprecated events subscription system.

Indexer

#19543: Add indices to support efficient pruning by tx sequence number.

#19614: Adds support for filtering transactions by their affected object

#19615: Remove support for InputObject and OutputObject transaction filters (replaced by AffectedObject).

#19616: Remove support for filtering transactions by ToAddress, (instead of FromOrToAddress).

#19617: Remove compound filters for querying events.

#19618: A transaction's "affected objects" include objects it created, wrapped, or unwrapped.

JSON-RPC

#19433: feature: adds a configurable health check endpoint for json rpc fullnodes to report down if too far behind

#19618: A transaction's "affected objects" include objects it created, wrapped, or unwrapped.

GraphQL

#19618: A transaction's "affected objects" include objects it created, wrapped, or unwrapped.

#19671: Add --skip-migration-consistency-check to allow bypassing the database compatibility checks.

CLI

#19485: sui move new produces module templates with the new module label syntax, rather than the previous module block syntax.

#19387: Introduce lock file version 3, which renames a dependency's name field to id and introduces a separate name field that stores the package's name from its manifest for improved error reporting. Older lock files will be ignored when resolving dependencies so that this information is always available.

#19487: Improved the error message when running sui start when a sui config folder exists without genesis metadata.

#19506: Fixes an issue with active-env and envs commands that were not showing an output if the active RPC url was not correct.

#19540: Remove legacy support for custom package hooks, replacing it with initial logic for on-chain dependencies.

#19057: Changes to external dependency resolution: allows processing multiple null-separated contents to extend the package graph per resolution call.

#17124: Move lint now warns against unnecessary self-assignments.


Full Log: https://github.com/MystenLabs/sui/commits/devnet-v1.35.0

mainnet-v1.34.2

01 Oct 22:05
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 60

#19014: Fail fast on invalid public inputs to Groth16 zk-proof verification. Add a flatten Move function, which flattens a vector of vectors into a single vector. This introduces a new protocol, version 59.

#19310: Increase the maximum type layout size in the VM. Most users should not notice this change.

#19446: Transactions that include unparseable types will not be signed by validators from protocol 60 onwards.

Nodes (Validators and Full nodes)

#19438: sui_getTransactionBlock and sui_multiGetTransactionBlock JSON-RPC endpoints will now heed the showRawEffects option and return the BCS representation of the transaction effects.

Indexer

#19196: Adds a cred before the next deployment to enable uploading.

#19355: Index the addresses affected by a transaction (either because they are a sender or a recipient of the transaction).

#19447: Index the objects affected by a transaction (either because they are an input object or are changed by the transaction).

GraphQL

#19410: GraphQL only supports one version instead of beta, stable, legacy. This change removes the previous routes and only allows for / and /graphql, which will always point to the latest version.

#19371: Introduce staging.graphql. This schema includes changes being developed and tested but not yet productionised.

#19430: Deprecates TransactionBlockFilter.signAddress, replacing it with TransactionBlockFilter.sentAddress, which behaves identically. Similarly AddressTransactionBlockRelationship.SIGN is deprecated and replaced by AddressTransactionBlockRelationship.SENT.

#19446: MoveType can fail to provide a layout or abilities in cases where it represents an unparseable type.

CLI

#19312: Fixes a bug where the CLI would write out a config with a relative path for the keystore that would only work if the CLI was subsequently called from the same directory that the config was first created in.

#16875: Move lint will now warn against loops without breakorreturn`

#16856: Move will now lint against unnecessary conditionals, if-else expressions.

#18636: Improve error and status messages for sui move build.

#19374: Added debug prints for preparing a tx and executing it. Similarly, adds debug prints for executing a dry run. Use RUST_LOG=debug sui to see the extra information printed on the terminal.

#19375: The CLI switched to using WaitForEffectsCert in the quorum driver for transaction execution. Due to this, it simulates WaitForLocalExecution via polling as JSON RPC ignores WaitForLocalExecution requests now.

#19436: the indexer feature was removed from the sui crate as the dynamic linking to libpq was removed. Therefore, the sui-pg binary will not be part of releases anymore. This sui-pg binary was used for starting a network with --with-indexer and --with-graphql flags. These commands will still work as before and it is still required to have installed a Postgres database. If you used sui-pg binary previously, you can simply use sui binary from this version on.


Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.34.2

testnet-v1.34.1

30 Sep 22:17
218db6e
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 60

#19531: Support concurrent threads locking the same transaction

#19558: indexer: relax migration check

#19544: rosetta: don't panic when accessing inputs


Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.34.1