Skip to content

Releases: MystenLabs/sui

devnet-v1.32.0

26 Aug 20:02
5855c7f
Compare
Choose a tag to compare
devnet-v1.32.0 Pre-release
Pre-release

Protocol

Sui Protocol Version in this release: 55

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


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

mainnet-v1.31.1

20 Aug 22:18
87e1047
Compare
Choose a tag to compare

Sui Protocol Version in this release: 54

#18876: Enable soft bundle on mainnet.

#18879: Additional compiler errors for incomplete name access chains (such as use some_pkg::some_module::) might appear in the compiler output.

#18888: Enables the native randomness (random beacon) feature on Sui Mainnet.

#18862: Adds support for running GraphQL against a pruned version of the service.

#18825: Added a way to always have chainIdentifier query return the correct chain ID even when pruning is enabled.

#18794: Fixed an issue where --dump-bytecode-as-base64 did not work as expected if package addresses are automatically managed.

Full log:

https://github.com/MystenLabs/sui/commits/mainnet-v1.31.1

testnet-v1.31.1

12 Aug 22:09
Compare
Choose a tag to compare

Sui Protocol Version in this release: 54

#18876: Enable soft bundle on mainnet.

#18879: Additional compiler errors for incomplete name access chains (such as use some_pkg::some_module::) might appear in the compiler output.

#18888: Enables the native randomness (random beacon) feature on Sui Mainnet.

#18862: Adds support for running GraphQL against a pruned version of the service.

#18825: Added a way to always have chainIdentifier query return the correct chain ID even when pruning is enabled.

#18794: Fixed an issue where --dump-bytecode-as-base64 did not work as expected if package addresses are automatically managed.

Full log:

https://github.com/MystenLabs/sui/commits/testnet-v1.31.1

devnet-v1.31.0

12 Aug 18:05
ea010a0
Compare
Choose a tag to compare
devnet-v1.31.0 Pre-release
Pre-release

Sui Protocol Version in this release: 54

#18876: Enable soft bundle on mainnet.

#18879: Additional compiler errors for incomplete name access chains (such as use some_pkg::some_module::) might appear in the compiler output.

#18888: Enables the native randomness (random beacon) feature on Sui Mainnet.

#18862: Adds support for running GraphQL against a pruned version of the service.

#18825: Added a way to always have chainIdentifier query return the correct chain ID even when pruning is enabled.

#18794: Fixed an issue where --dump-bytecode-as-base64 did not work as expected if package addresses are automatically managed.

Full log:

https://github.com/MystenLabs/sui/commits/devnet-v1.31.0

testnet-v1.30.3

08 Aug 18:13
Compare
Choose a tag to compare

mainnet-v1.30.1

07 Aug 07:57
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 53

#18756: Enables the native randomness (random beacon) feature on Sui Mainnet.

CLI

#18706: Additional compiler errors for incomplete name access chains (such as some_pkg::some_module::) might appear in the compiler output.

#18607: Changed sui start to allow configurable hosts for indexer (--indexer-host ), GraphQL (--graphql-host ), and faucet (--faucet-host) services. This enables the use of sui start from a Docker container. By default, all services start with 0.0.0.0 host.

JSON-RPC

#18720: Bugfix for displaying PTBs where a pure input has been used multiple times.

#18712: Nodes (Validators and Full nodes): Bugfix for fetching package information over JSON-RPC from fullnodes, where a package containing UTF8 string constants could fail to disassemble.

GRAPHQL

#18666: Output node estimation has been made more accurate -- the estimate should now track the theoretical max number of nodes on the JSON data output.

#18664: The service now detects unsupported directives on query variable definitions.

#18662: x-sui-rpc-version is no longer an accepted request header, as versions are now selected by modifying the path.

#18661: Passing an unsupported directive to the service is now treated as a BAD_USER_INPUT rather than an INTERNAL_SERVER_ERROR.

#18486: Introduces an optional rootVersion parameter to Query.owner. This can be used to do versioned lookups when reading dynamic fields rooted on a wrapped object or another dynamic object field.

#18552: Introduces a new scalar -- UInt53 -- to represent unsigned 53 bit integer values. Some uses of Int in the existing schema have been replaced with UInt53. All clients need to register the new scalar, and clients for statically typed languages also need to use a wider (64 bit, for instance), unsigned type to hold the value.

Full log:

https://github.com/MystenLabs/sui/commits/mainnet-v1.30.1

testnet-v1.30.2

07 Aug 15:58
Compare
Choose a tag to compare
testnet-v1.30.2 Pre-release
Pre-release

#18904: fixing builds for our release pipeline

testnet-v1.30.1

29 Jul 22:07
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 53

#18756: Enables the native randomness (random beacon) feature on Sui Mainnet.

CLI

#18706: Additional compiler errors for incomplete name access chains (such as some_pkg::some_module::) might appear in the compiler output.

#18607: Changed sui start to allow configurable hosts for indexer (--indexer-host ), GraphQL (--graphql-host ), and faucet (--faucet-host) services. This enables the use of sui start from a Docker container. By default, all services start with 0.0.0.0 host.

JSON-RPC

#18720: Bugfix for displaying PTBs where a pure input has been used multiple times.

#18712: Nodes (Validators and Full nodes): Bugfix for fetching package information over JSON-RPC from fullnodes, where a package containing UTF8 string constants could fail to disassemble.

GRAPHQL

#18666: Output node estimation has been made more accurate -- the estimate should now track the theoretical max number of nodes on the JSON data output.

#18664: The service now detects unsupported directives on query variable definitions.

#18662: x-sui-rpc-version is no longer an accepted request header, as versions are now selected by modifying the path.

#18661: Passing an unsupported directive to the service is now treated as a BAD_USER_INPUT rather than an INTERNAL_SERVER_ERROR.

#18486: Introduces an optional rootVersion parameter to Query.owner. This can be used to do versioned lookups when reading dynamic fields rooted on a wrapped object or another dynamic object field.

#18552: Introduces a new scalar -- UInt53 -- to represent unsigned 53 bit integer values. Some uses of Int in the existing schema have been replaced with UInt53. All clients need to register the new scalar, and clients for statically typed languages also need to use a wider (64 bit, for instance), unsigned type to hold the value.

Full log:

https://github.com/MystenLabs/sui/commits/testnet-v1.30.1

devnet-v1.30.0

29 Jul 16:57
246afbf
Compare
Choose a tag to compare
devnet-v1.30.0 Pre-release
Pre-release

Protocol

Sui Protocol Version in this release: 53

#18756: Enables the native randomness (random beacon) feature on Sui Mainnet.

CLI

#18706: Additional compiler errors for incomplete name access chains (such as some_pkg::some_module::) might appear in the compiler output.

#18607: Changed sui start to allow configurable hosts for indexer (--indexer-host ), GraphQL (--graphql-host ), and faucet (--faucet-host) services. This enables the use of sui start from a Docker container. By default, all services start with 0.0.0.0 host.

JSON-RPC

#18720: Bugfix for displaying PTBs where a pure input has been used multiple times.

#18712: Nodes (Validators and Full nodes): Bugfix for fetching package information over JSONRPC from fullnodes, where a package containing UTF8 string constants could fail to disassemble.

GRAPHQL

#18666: Output node estimation has been made more accurate -- the estimate should now track the theoretical max number of nodes on the JSON data output.

#18664: The service now detects unsupported directives on query variable definitions.

#18662: x-sui-rpc-version is no longer an accepted request header, as versions are now selected by modifying the path.

#18661: Passing an unsupported directive to the service is now treated as a BAD_USER_INPUT rather than an INTERNAL_SERVER_ERROR.

#18486: Introduces an optional rootVersion parameter to Query.owner. This can be used to do versioned lookups when reading dynamic fields rooted on a wrapped object or another dynamic object field.

#18552: Introduces a new scalar -- UInt53 -- to represent unsigned 53 bit integer values. Some uses of Int in the existing schema have been replaced with UInt53. All clients need to register the new scalar, and clients for statically typed languages also need to use a wider (64 bit, for instance), unsigned type to hold the value.

Full log:

https://github.com/MystenLabs/sui/commits/devnet-v1.30.0

mainnet-v1.29.2

23 Jul 22:17
09db80a
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 52

#18302: Enable soft bundle on Protocol Version 50 in devnet and testnet.

#18462: This change updates the ascii module in the following ways: Adds new methods to std::ascii:

  • ascii::append(&mut String, String)
  • ascii::is_empty(): bool
  • ascii::substring(&String, i, j): String
  • ascii::index_of(&String, &String): u64
  • ascii::to_uppercase(&String): String
  • ascii::to_lowercase(&String): String

These additions make the ASCII interface more similar to the UTF8 one.

Renames:

  • string::bytes() to string::as_bytes()
  • string::sub_string() to string::substring()

Deprecates:

  • string::sub_string in favor of string::substring
  • string::bytes in favor of string::as_bytes

Additional changes:

  • updates std::type_name to use std::substring
  • removes use statements for implicit imports
  • renames constants from E_INDEX to conventional EIndexOutOfBounds

#18473: Enable Mysticeti for mainnet.

#18569: Enables Move enums (https://move-book.com/reference/enums.html) in testnet.

GraphQL

#17934: When dynamic fields are selected under the object field if it is a dynamic object field, then its contents will be from the latest version that is at most equal to its parent object's version.

#18347: Fix a bug where starting the service using a config with not all fields set would result in the unset fields being zeroed out rather than taking their usual default values (as would happen if no config had been explicitly supplied).

#18580: Added the health endpoint to version routes as well.

CLI

#18204: Integrated sui-test-validator into sui start.

sui start can now be used to also start an indexer, a GraphQL service,
or a faucet. Note that you need to build sui with --features indexer, and have installed libpq to start the indexer and GraphQL
services. By default, this feature is turned off to preserve backward
compatibility of sui start. Alternatively, you can download the latest
release and use the sui-pg binary, which is built using the indexer
feature.

  • the default behavior of the existing sui start is preserved
  • the default sui-test-validator behavior can be achieved by passing
    two flags: sui start --force-regenesis --with-faucet.
  • adds a sui-test-validator.sh bash script to sui/scripts folder
    that is executable to keep backward compatibility with the previous
    binary

#17995: Running sui client publish or sui client upgrade will now cause package addresses to be tracked in the Move.lock file. This removes the need to manually record or edit published-at addresses in the Move.toml file going forward. See docs PR #18433 for full details.

#18470: Running sui client publish and sui client upgrade will now manage addresses when publishing a package to one or more chains. Refer to the documentation on Automated Address Management for usage and guidelines.

#18515: Starting with v1.29, sui-test-validator binary will no longer be used to start a network. If you used it in the past, download the latest release archive and use the sui-pg binary if you need to start an indexer or GraphQL service, or build from source with the indexer feature enabled: cargo build --bin sui --features indexer. You can also use the sui/scripts/sui-test-validator.sh drop-in replacement script to run the commands as you used to.

If you only used sui-test-validator to start a local network from a
new genesis, use sui start --with-faucet --force-regenesis which will
exhibit the exact same behavior.
Finally, if you only used sui start before, the behavior is preserved
and you can continue using it as before.

#18553: sui client faucet received some improvements in the way it handles and responds to errors from the faucet service.

#18574: When you call sui start without a sui config directory, the command generates a genesis along with all the config files. The client.yaml file that the process generates creates a localnet with IP set to 0.0.0.0, which leads to problems on Windows. This change fixes that issue by setting the IP to 127.0.0.1. This is also the case when using sui genesis.

Nodes

#18712: Bugfix for fetching package information over JSON-RPC from fullnodes, where a package containing UTF8 string constants could fail to disassemble.

Full log:

https://github.com/MystenLabs/sui/commits/mainnet-v1.29.2