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 ofstring::substring
string::bytes
in favor ofstring::as_bytes
Additional changes:
- updates
std::type_name
to usestd::substring
- removes use statements for implicit imports
- renames constants from
E_INDEX
to conventionalEIndexOutOfBounds
#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 tosui/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.