Skip to content

Releases: MystenLabs/sui

testnet-v1.29.1

16 Jul 20:31
0e22aed
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.

Full log:

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

mainnet-v1.28.3

16 Jul 22:08
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 51

#18536: Defer all possible errors from connect_lazy until request time

#18206: Explicitly set the number of leaders per round to 1 for Mysticeti commits

#17868: A new feature flag and protocol config fields will be introduced.

#18233: Refactor the DKG to allow protocol upgrades of the cryptographic protocol, and migrate to V1 (controlled by a protocol config parameter).

Nodes (Validators and Full nodes)

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

#17868: A new API SoftBundleCertifiedTransactionsV3 will be added.

#18233: Refactor the DKG to allow protocol upgrades of the cryptographic protocol, and migrate to V1 (controlled by a protocol config parameter).

Indexer

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

JSON-RPC

#18099: Enable configuring the jsonrpc server type via the jsonrpc-server-type field in the node config as follows:

'websocket' for a websocket based service (deprecated)
'http' for an http based service
'both' for both a websocket and http based service (deprecated)

The default is 'http' if not specified.

This also formally deprecates the websocket jsonrpc service which will be removed completely within another few releases. For now users can opt back in to enabling this service by setting the `jsonrpc-server-type` config. We have found that this service is overall unreliable and leads to production issues/missing data or events when used and as such have decided to sunset it.

Deprecate the websocket-based jsonrpc service

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

GraphQL

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

CLI

#17920: Add better rendering for Move aborts, and added support for rendering clever errors.

Full log:

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

devnet-v1.29.0

15 Jul 17:02
7155a30
Compare
Choose a tag to compare
devnet-v1.29.0 Pre-release
Pre-release

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 favour of string::substring
  • string::bytes in favour 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 behaviour of the existing sui start is preserved
  • the default sui-test-validator behaviour 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 behaviour.
Finally, if you only used sui start before, the behaviour 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.

Full log:

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

devnet-afe6d26-v1.29.0

10 Jul 15:57
afe6d26
Compare
Choose a tag to compare
Pre-release
Sui devnet (afe6d26) v1.29.0 release

testnet-v1.28.3

08 Jul 22:34
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 51

#18536: Defer all possible errors from connect_lazy until request time

Full log

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

mainnet-v1.27.4

05 Jul 19:41
Compare
Choose a tag to compare

Earlier today an issue causing full nodes to crash loop and become non-operational was identified and root-caused. There is now a fix for this issue. Validators were unaffected and operational.

The fix contains the commits below:

  • ec8a29a: authority_client: rewrite udp address to tcp
  • 4ec65b4: mysten-network: default to http if not present

mainnet-v1.27.3

05 Jul 18:50
Compare
Choose a tag to compare

Fix fullnode crashes after 7/5/2024's epoch change:

  • authority_client: rewrite udp address to tcp

testnet-v1.28.2

02 Jul 20:27
08b5038
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 51

#18206:
Explicitly set number of leaders per round to 1 for Mysticeti commits

#17868:
New feature flag and protocol config fields will be introduced.

#18233:
Refactor the DKG to allow protocol upgrades of the cryptographic protocol, and migrate to V1 (controlled by a protocol config parameter).

Nodes (Validators and Full nodes)

#18175:
Added
MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

#17868:
A new API SoftBundleCertifiedTransactionsV3 will be added.

#18233:
Refactor the DKG to allow protocol upgrades of the cryptographic protocol, and migrate to V1 (controlled by a protocol config parameter).

Indexer

#18175:
Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

JSON-RPC

#18099:
Enable configuring the jsonrpc server type via the jsonrpc-server-type field in the node config as follows:

'websocket' for a websocket based service (deprecated)
'http' for an http based service
'both' for both a websocket and http based service (deprecated)

The default is 'http' if not specified.

This also formally deprecates the websocket jsonrpc service which will be removed completely within another few releases. For now users can opt back in to enabling this service by setting the `jsonrpc-server-type` config. We have found that this service is overall unreliable and leads to production issues/missing data or events when used and as such have decided to sunset it.

Deprecate the websocket-based jsonrpc service

#18175:
Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

GraphQL

#18175:
Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

CLI

#17920:
Add better rendering for Move aborts, and added support for rendering clever errors.

testnet-v1.28.1

28 Jun 05:04
f58faa4
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 51

#18206: Version 50 - Explicitly set number of leaders per round to 1 for Mysticeti commits

#17868: New feature flag and protocol config fields will be introduced.

#18233:

Nodes (Validators and Full nodes)

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the
MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

#17868: A new API SoftBundleCertifiedTransactionsV3 will be added.

#18233:

Indexer

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

JSON-RPC

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large"
errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

#18099: Enable configuring the jsonrpc server type via the jsonrpc-server-type field in the node config as follows:
'websocket' for a websocket based service (deprecated)
'http' for an http based service
'both' for both a websocket and http based service (deprecated)
The default is 'http' if not specified.
This also formally deprecates the websocket jsonrpc service which will be removed completely within another few releases. For now users can opt back in to enabling this service by setting the jsonrpc-server-type config. We have found that this service is overall unreliable and leads to production issues/missing data or events when used and as such have decided to sunset it.

GraphQL

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large"
errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

CLI

#17920: Add better rendering for Move aborts, and added support for
rendering clever errors.

testnet-v1.28.0

27 Jun 22:35
1428c71
Compare
Choose a tag to compare

Protocol

Sui Protocol Version in this release: 51

#18206: Version 50 - Explicitly set number of leaders per round to 1 for Mysticeti commits

#17868: New feature flag and protocol config fields will beintroduced.

#18233: Refactor the DKG to allow protocol upgrades of the cryptographic protocol, and migrate to V1 (controlled by a protocol config parameter).

Nodes (Validators and Full nodes)

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

#17868: A new API SoftBundleCertifiedTransactionsV3 will be added.

#18233: Refactor the DKG to allow protocol upgrades of the cryptographic protocol, and migrate to V1 (controlled by a protocol config parameter).

Indexer

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

JSON-RPC

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

GraphQL

#18175: Added MAX_ANNOTATED_VALUE_SIZE environment variable which can be used to override the MAX_BOUND for annotated values at startup (useful if encountering "Deserialized value too large" errors). If the MAX_ANNOTATED_VALUE_SIZE is not set, MAX_BOUND will default to the existing max bound of ~1MiB.

CLI

#17920: Add better rendering for Move aborts, and added support for rendering clever errors.