Skip to content

Releases: MystenLabs/sui

devnet-0.24.0

01 Feb 17:28
Compare
Choose a tag to compare

Highlights

  • The sui client publish command in the Sui Client CLI now verifies dependencies by default. This release deprecates the --verify-dependencies flag, which is set for removal in the next major release. You can use the --skip-dependency-verification flag to skip dependency verification. See #7632 for more information.
  • In Move Call transactions, you no longer need to specify their package parameter as an ObjectRef (ID, version, digest). Instead, specify just its ObjectID. See #7597 for more information.
  • [Breaking changes] The two devInspect APIs are now merged into a single API. The new API allows for general transaction payloads, but does not require a gas coin (or other gas parameters). See #7372 for more information.
  • Bugfixes:
  • TypeScript:
    • Allow passing PureArg types directly in Move call #7765.
    • Modify gas selection logic to take gas price into account #7916. Previously the gas selection algorithm selected coins with amount greater than the gas budget (gas price was always one). There is now a variable gas price, so the threshold is gas budget * gas price.

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.24.0

devnet-0.23.0

25 Jan 17:27
Compare
Choose a tag to compare

Highlights

  • Reconfiguration, stake delegation, voting power, and staking rewards are active! Most of these have worked since v0.22.0, but we did not advertise this functionality. Here are the basics:
    • Epoch changes occur every ~2.5 hours
    • At each epoch change, pending staking and un-staking actions take effect, staking rewards are distributed, and validator voting power is recomputed. All stake-related entry functions live in the sui_system module, and the Sui wallet also supports staking and un-staking.
    • By convention, total validator voting power is always 10,000, and the quorum threshold is always 6,667. This means that individual voting powers can easily be interpreted as percentages (e.g., voting power 500 = 0.5%).
    • Validator voting power is proportional to the stake, with one exception: voting power of individual voting power is capped at 1,000 (i.e., 10%) if possible. This will always be the case in a realistic Sui system, but in the 4-validator devnet we will clearly need at least one validator over the cap :).
  • We introduced several new libraries for testing Move code:
    • test_utils, which has helpful functions for asserting equality (you’ll see both values when the assertion fails!) and debug printing: (example: test_utils::print(b”we here”) )
    • test_random, which exposes a seeded pseudorandom number generator for creating test values of various types. This makes it easier to exercise a variety of different test inputs, or even write a mini-fuzzer(#7574) (we have some ideas on first-class fuzzing support in Move tests—stay tuned :)).
  • Checkpoints now have a unix timestamp in the CheckpointSummary. This can be accessed along with other checkpoint fields via sui_getCheckpointSummary
  • Epoch have epoch start unix time stamp, also accessible in Move smart contracts via the following function. This is an important step toward the long-awaited feature of fine-grained time access in Move, which is coming soon!
  • New flag (--with-unpublished-dependencies) for sui client publish and sui move build to simplify set-up after wipes by enabling packages to be published even if they have unpublished dependencies, by bundling the modules in those dependencies into the package. #7426
  • Add methods for the CoinRead endpoints #7507
  • Fix websocket default port for DevNet #7637

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.23.0

devnet-0.22.0

19 Jan 22:13
Compare
Choose a tag to compare

Highlights

  • Events are now emitted during staking operations and epoch changes. #7342 #7228
  • Added dynamic field support to Sui CLI, users can now use sui client dynamic-field <object id> to view dynamic fields of an object. #7151
  • A bug fix to allow optional move input via SuiJson. #7118
  • Added an additional parameter to configure the epoch for dev-inspect. Expect more changes to this API endpoint. #7209
  • Introduce Publisher module which acts as a proof of publishing. #7196
  • Added toast messages/notifications for wallet. Sdk-ts fix FaucetResponse type. #7272
  • Wallet adapters now notify dapps when wallet disconnects. #7258
  • Added validator types, getDelegatedStake, and getValidators.#7389
  • Enable staking and unstaking on the wallet. #7403

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.22.0

devnet-0.21.0

12 Jan 17:11
Compare
Choose a tag to compare

Highlights

  • sui_executeTransaction
     now requires the client to be responsible to serialize flag || signature || pubkey
     in one field and submit in the signature
     field. See #7185 for details.
  • Wallet keystore now only stores flag || privkey instead of flag || privkey || pubkey. See #6989 for details.
  • Added sui::vec_map::key function to return a vec map’s keys in a vector. #7051
  • Allow entry functions and module initializers to accept a &TxContext instead of &mut TxContext if they only need to read from the context. #7043
  • WalletKit moved into a core, framework-agnostic package. #6950
  • Objects that were created but never existed in storage (started off wrapped, and then deleted) no longer show up in the effects of the transaction that deleted them. #7174
  • std::vector::insert<Element>(&mut vector<T>, Element, u64) added to the Move standard library.
  • std::debug::print<T>(&T) now has special-casing for printing of std:::ascii::string.

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.21.0

devnet-0.20.0

04 Jan 18:50
54b65af
Compare
Choose a tag to compare

Highlights

  • New address and hex modules added to the sui package.
  • A new sui client sub-command: verify-source which compiles a package and checks all its modules match their on-chain counterparts.
  • A new dev-inspect transaction type for test calling any Move function without making state changes. Stay tuned for more detailed documentation.
  • Coin APIs added to Rust SDK alongside other coin JSON-RPC API
  • SuiJSON u64 inputs must be strings
  • Fixes to wallet-kit UI
  • Various fixes to the ID Leak verifier
  • Added --bcs flag for sui client object
  • Sui Framework and Stdlib no longer cost gas to load sui move now allows compilation of packages with non-0x0 self-addresses (but they will still fail to publish)
  • The old node-sync/follower system was removed and all fullnodes will now rely on checkpoints for syncing

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.20.0

devnet-0.19.0

16 Dec 20:56
Compare
Choose a tag to compare

Highlights

Refactor node configs to remove local-only addresses from genesis, see #6629 for more details

Accepted user signature now needs to commit to an intent message instead of a BCS serialized transaction data with a type tag. See #6445 for details.

What's Changed

Full Changelog: https://github.com/MystenLabs/sui/commits/devnet-0.19.0

devnet-0.18.0

08 Dec 18:22
Compare
Choose a tag to compare

devnet-0.17.0

01 Dec 17:11
Compare
Choose a tag to compare

devnet-0.16.0

17 Nov 19:18
Compare
Choose a tag to compare

devnet-0.15.2

15 Nov 00:18
4409cd3
Compare
Choose a tag to compare

What's Changed

Full Changelog: devnet-0.15.1...devnet-0.15.2