Releases: MystenLabs/sui
mainnet-v1.34.2
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
breakor
return`
#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
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
testnet-v1.34.0
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
breakor
return`
#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/testnet-v1.34.0
devnet-v1.34.0
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
breakor
return`
#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/devnet-v1.34.0
mainnet-v1.33.2
Sui Protocol Version in this release: 59
#19404: Enable probing of consensus rounds against peers.
#19119: Unsigned integers now support .to_string() methods, for example 10u8.to_string() is the same as b"10".to_string()
GraphQL
#18774: Introduces .move
name resolution (internal & external) for GraphQL. Only supported on a non-mainnet environment for the time being.
#18017: Added a max_tx_payload_size
variable to protect against large transaction queries. The sum of txBytes + signatures
in all GraphQL mutation executeTransactionBlock
nodes or txBytes
in dryRunTransactionBlock
nodes from a query have to be below the max_tx_payload_size
. The max_tx_payload_size
is computed based on the protocol_version -> max_tx_bytes
and a Base64 overhead as follows: max_tx_bytes * 4 / 3
Added also a check that the overall query size is not larger than max_tx_payload_size
+ max_query_payload_size
, where max_query_payload_size
is the read
part of the query.
#19191: Removes support for multiple versions. GraphQL's version now aligns with the sui-node
version, and it drops support for the ServiceConfig.availableVersions
query.
CLI
#16626: Move will now lint against unnecessary math operations in many cases.
#19126: Move integer modules now have a bitwise_not
function and a max_value
macro function.
Full Log: https://github.com/MystenLabs/sui/commits/mainnet-v1.33.2
testnet-v1.33.2
Protocol
Sui Protocol Version in this release: 59
#19404: Enable probing of consensus rounds against peers.
Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.33.2
testnet-v1.33.1
Protocol
Sui Protocol Version in this release: 58
#19299: chore: update quinn-proto to address RUSTSEC-2024-0373
#19293: [Consensus] count missing ancestors and blocks per authority
Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.33.1
testnet-v1.33.0
Protocol
Sui Protocol Version in this release: 58
#19119: Unsigned integers now support .to_string() methods, for example 10u8.to_string() is the same as b"10".to_string()
GraphQL
#18774: Introduces .move
name resolution (internal & external) for GraphQL. Only supported on a non-mainnet environment for the time being.
#18017: Added a max_tx_payload_size
variable to protect against large transaction queries. The sum of txBytes + signatures
in all GraphQL mutation executeTransactionBlock
nodes or txBytes
in dryRunTransactionBlock
nodes from a query have to be below the max_tx_payload_size
. The max_tx_payload_size
is computed based on the protocol_version -> max_tx_bytes
and a Base64 overhead as follows: max_tx_bytes * 4 / 3
Added also a check that the overall query size is not larger than max_tx_payload_size
+ max_query_payload_size
, where max_query_payload_size
is the read
part of the query.
#19191: Removes support for multiple versions. GraphQL's version now aligns with the sui-node
version, and it drops support for the ServiceConfig.availableVersions
query.
CLI
#16626: Move will now lint against unnecessary math operations in many cases.
#19126: Move integer modules now have a bitwise_not
function and a max_value
macro function.
Full Log: https://github.com/MystenLabs/sui/commits/testnet-v1.33.0
devnet-v1.33.0
Protocol
Sui Protocol Version in this release: 58
#19119: Unsigned integers now support .to_string() methods, for example 10u8.to_string() is the same as b"10".to_string()
GraphQL
#18774: Introduces .move
name resolution (internal & external) for GraphQL. Only supported on a non-mainnet environment for the time being.
#18017: Added a max_tx_payload_size
variable to protect against large transaction queries. The sum of txBytes + signatures
in all GraphQL mutation executeTransactionBlock
nodes or txBytes
in dryRunTransactionBlock
nodes from a query have to be below the max_tx_payload_size
. The max_tx_payload_size
is computed based on the protocol_version -> max_tx_bytes
and a Base64 overhead as follows: max_tx_bytes * 4 / 3
Added also a check that the overall query size is not larger than max_tx_payload_size
+ max_query_payload_size
, where max_query_payload_size
is the read
part of the query.
#19191: Removes support for multiple versions. GraphQL's version now aligns with the sui-node
version, and it drops support for the ServiceConfig.availableVersions
query.
CLI
#16626: Move will now lint against unnecessary math operations in many cases.
#19126: Move integer modules now have a bitwise_not
function and a max_value
macro function.
Full Log: https://github.com/MystenLabs/sui/commits/devnet-v1.33.0
mainnet-v1.32.2
Protocol
Sui Protocol Version in this release: 56
#19199: Enable bridge on mainnet
#19031: Enable Move enums in mainnet
Indexer
#18899: This PR modifies the indexer database schemas for improving GraphQL query performance. Specifically, an objects_version table along with various transaction and events lookup tables are added. The tx_calls table is replaced by more fine-grained tables: tx_calls_pkg, tx_calls_mod, and tx_calls_fun.
#18450: adds two new indexer tables that stores protocol configs and features flags of different versions.
GraphQL
#18966: Query.owner
's rootVersion
parameter should accepts a UInt53
rather than an Int
.
#17543: Dynamic fields can now be looked up on any historical object (not just objects in the available range).
#17692: Introduce Query.package
and MovePackage.atVersion
to query packages at specific versions.
#17693: Add Query.latestPackage
and MovePackage.latest
for fetching the latest version of a package.
#17696: Introduces Query.packages
for paginating through all packages (optionally bounding by the checkpoint the package was introduced in).
#17697: Introduces Query.packageVersions
and MovePackage.versions
for paginating over the versions of a particular package.
#18287: The GraphQL binary no longer supports generating examples, or exporting its own schema as these commands have been unused for some time.
#18288: The schema file has been moved from crates/sui-graphql-rpc/schemas/current_progress_schema.graphql
to crates/sui-graphql-rpc/schema.graphql
.
#18336: New sub-command for sui-graphql-rpc
, generate-config
for creating a TOML config with all default values set.
#18450: uses the stored data to query for protocol configs instead of native configs stored in the binary.
#18413: Introduce scanLimit
for paginating TransactionBlocks
. Queries that include multiple complex filters (filters on the function called, affected objects, recipient), need to include a scan limit which controls the number of transactions that are looked at as candidates.
CLI
#16876: Move will now lint against while (true)
, which should be replaced by loop
#16878: Move will now lint against using &TxContext
instead of &mut TxContext
in public functions
#18978: Explicitly setting published-at = "0x0"
is treated as if the published-at
field was omitted.
#18964: sui client verify-source
now also confirms a package's linkage table matches its source dependencies.
Rust SDK
#18996: Adds support for simulating WaitForLocalExecution
in the client, using polling, as the flag will be ignored by fullnodes shortly.