Protocol
Sui Protocol Version in this release: 124
#26505: Bump protocol version
#26203: Adds protocol version 123 (gas_model_version 12). Fixes a stack-height double-decrement in the gas meter for native calls. Internal accounting correctness only; no user-visible change to successful transactions.
#26504: Enables address balances, gasless transactions, coin reservations, and the accumulator/withdraw stack on mainnet at protocol version 125. Gasless transactions are gated behind an empty token allow-list until a follow-up configures the mainnet tokens.
#26417: Adds the mainnet stablecoin gasless allowlist (USDC, USDSUI, SUI_USDE, USDY, FDUSD, AUSD, USDB) with a $0.01 per-stable minimum transfer in protocol v123. Gasless remains disabled on mainnet.
Nodes (Validators and Full nodes)
#26456: callers of DBMap::safe_range_iter(..=K) or DBMap::reversed_safe_iter_with_bounds(_, Some(K)) where K serializes to all 0xFF will now correctly include the entry at K. Previously that entry was silently skipped.
gRPC
#26403: rpc-index DB version has been updated to 4. This means that on startup re-indexing will be required and can take some time depending on the amount of object history present on the node.
GraphQL
#26525: Adding new TransactionEffects.version field for typed TransactionEffects version (v1, v2, etc)
CLI
#26369: Fix sui client send-funds which was always failing with Insufficient balance … Coin balance: 0 regardless of the sender's actual coin balance.
#26405: sui replay now allows to pass a custom node url to a GraphQL server: sui replay --node https://graphql.devnet.sui.io/graphql.
#26346: external-keys subcommand receives --provision-mode [recoverable-assumed|mnemonic-backed|non-recoverable]
#26485: Sui CLI has a new --forking-mode flag to be used with the new sui-fork tool to allow impersonate a sender.
Indexing Framework
#26357: A new pipeline-depth config knob is added to sequential pipelines which allows the pipeline to continue to build batches while a batch is being flushed to the database. No need to set this config explicitly, the default value should suffice.
#26358: Added MAX_PENDING_ROWS to sequential pipelines. It's a soft-cap that forces the batching loop to attempt a flush to the database, not a hard-cap on the amount of rows buffered in memory.
#26268: sui-indexer-alt-framework-store-traits: add store/connection test macros
#26526: Add support to IngestionClient to set arbitrary headers when making requests to remote stores.