github MystenLabs/sui mainnet-v1.5.0

latest releases: sui_v1.38.0_1731457113_rel_notes, testnet-v1.37.3, sui_v1.38.0_1731450779_ci...
16 months ago

Highlights

  • #12676
    Protocol version v18 update. The minimum budget for gas has changed to be the same as the minimum charge. Before it was possible to provide a budget less than the minimum transaction charge, in which case the transaction was guaranteed to fail for insufficient gas, however, gas coins would still be combined together, when more than one was provided. Effectively it was possible to get a merge operation under the minimum charge. With the current changes a transaction will only be accepted if the budget covers the minimum charges. It is important to point out that any and every transaction that was successful before will still be so with no change in gas. In other words, the breaking nature of this change is only over certain transactions that failed with "insufficient gas" before and now would not be able to enter the system.

  • #12515 #12821
    The kiosk::purchase_with_cap method for Sui Kiosk no longer emits the ItemPurchased event. This update should have minimal impact. If the logic of your application does rely on this event, you must change it to leverage custom events instead.

  • #12276
    Invalid coin_type inputs to coin_api now yield error code -32602 instead of the default -32000 error code, with the error string beginning with Invalid struct type. Similarly, invalid cursors will also yield a -32602 if the provided cursor cannot be found (with language cursor not found) or is not a coin (with language cursor is not a coin). Error language has been modified slightly:

    1. "Invalid Cursor {:?}, Object is not a coin" -> "cursor is not a coin"
    2. "Invalid Cursor {:?}, Object not found" -> "cursor not found"

    This is part of a larger effort to make JSON-RPC errors more actionable, by splitting errors into three error codes: -32602 for any client-facing error, -32000 for noncritical server and catchall errors, and -32603 for critical errors.

  • #12650
    Developers may now opt into running linters when building/testing/publishing/upgrading packages via CLI by specifying the -lint flag.

  • #12648 #12600
    Prior to this change, unwrapped_then_deleted field in TransactionEffects only contain unwrapped then deleted objects that previously existed in the store (i.e. was once unwrapped in its lifetime). If an object was always wrapped since creation and was never unwrapped ever, it wouldn't show up in unwrapped_then_deleted. With this change, we no longer make such a distinction. As long as an object is unwrapped and then deleted in a transaction, it would show up in effect regardless of its history. This simplifies the logic of handling them significantly.
    To properly maintain the state of the system accurately with this change, at the epoch boundary when this upgrade happens, we must re-accumulate the state root hash of all objects in the store. This process takes a few seconds on the mainnet. Testnet can take a much longer time (30s-1min) since it contains significantly more objects. Users may observe a brief slowdown of the network during epoch change when this is applied.

  • #12425
    The compiler features additional warnings for unused private functions and unused (uninstantiated) struct types

Full Changelog: https://github.com/MystenLabs/sui/commits/mainnet-v1.5.0

Don't miss a new sui release

NewReleases is sending notifications on new releases.