Soroban Release Preview 7 - February 16th

Releases
The following Soroban releases are preview releases.
We’re releasing early versions of Soroban because we believe it’s important to share the development process, and we want Stellar ecosystem developers and smart contract developers from other ecosystems to have a chance to experiment and provide feedback.
Preview releases are software releases that are also released to the Futurenet test network. Software releases may occur between Futurenet releases. If you're interacting with Futurenet the recommended software versions to use in development are below. Releases to Futurenet may include network resets and network passphrase changes.
Preview 7 (February 16th, 2023)
Software
Software Version XDR df18148747e807618acf4639db41c4fd6f0be9fc Soroban Environment v0.0.14 Soroban Interface Version 29 Stellar Core 19.7.1-1204.871accefc.focal~soroban Soroban Rust SDK v0.6.0 Soroban CLI v0.6.0 Soroban RPC 0.6.1-13 Stellar Horizon stellar-horizon:2.24.61~soroban-335 Stellar Friendbot soroban-v0.0.2-alpha Stellar Quickstart stellar/quickstart:[email protected]:81c23da078c90d0ba220f8fc93414d0ea44608adc616988930529c58df278739 Stellar JS Stellar Base 8.2.2-soroban.11 Stellar JS Soroban Client v0.4.0 Freighter v2.10.0 Laboratory v2.7.0 Futurenet Network Passphrase Test SDF Future Network ; October 2022 Breaking changes note
This release comes with a revamp of authorization approach that is breaking for most of the contracts that did any sort of auth logic or used tokens. See the migration guide, example and authorization overview for more details.
Changelog
XDR
Update Rust XDR for Auth Next.
See https://github.com/stellar/rs-stellar-xdr/releases v0.0.13 and v0.0.14 for more details.
Soroban EnvironmentAllow for a custom budget outside tests Restructure Event to be cheap to clone and allow it to be rolled back Add auth_required support for non-account balances Reform TryFromVal to reduce number of impls Fix override of panic hook during cross-contract testing Add EnvBase::Error, remove CheckedEnv, make Env methods return Error Initial Auth Next implementation in Soroban Host Add 13-tuple conversions Do not include Status as the first arg of a DebugEvent Add a simpler version of require_auth Use auth specific errors Emulate classic account authentication in recording auth mode. Change the interface for the auth testing utility.
See https://github.com/stellar/rs-soroban-env/releases v0.0.13 and v0.0.14 for more details.
Soroban Rust SDK
Support variants with multiple fields in UDTs Error on UDT enums with 0-element tuple variants Allow xlm balance updates Fix vec insert Adapt SDK to changes to {Try,}{From,Into}Val in env crates Fix vec pop_front Use better storage error in tests Adapt to introduction of Env::Error Improve compiler errors for UDTs Allow same named types and functions Make soroban_token_spec::spec_xdr easier to keep updated Remove build-optimized makefile target Auth Next changes in SDK Add docs to contract spec entries SDK support for simplified require_auth
See https://github.com/stellar/rs-soroban-sdk/releases v0.5.0 and v0.6.0 for more details.
Soroban RPC
Configure default limit, update cursor / startLedger validation, and include latest ledger for getEvents Add support for AuthNext Fix rollback error in logs Add getNetwork command Implement event storage Implement ledger entry storage Refactor db and ingestion packages, add ingestion of LedgerCloseMeta Implement simulateTransaction using rust instead of preflight Simplify topic matching for events search
See https://github.com/stellar/soroban-tools/releases v0.5.0 v0.6.0 for more details.
Soroban CLI
Add option for running contract with unlimited budget Add support for AuthNext Add config command Add getNetwork support Reorganize CLI commands
See https://github.com/stellar/soroban-tools/releases v0.5.0 v0.6.0 for more details.
Preview 6 (January 9th, 2023)
Software
Software Version XDR 026c9cd074bdb28ddde8ee52f2a4502d9e518a09 Soroban Environment v0.0.12 Soroban Interface Version 27 Stellar Core 19.6.1-1158.c0ad35aa1.focal~soroban Soroban Rust SDK v0.4.2 Soroban CLI v0.5.0 Soroban RPC 0.4.0-10 Stellar Horizon stellar-horizon:2.22.0~soroban-323 Stellar Friendbot soroban-v0.0.2-alpha Stellar Quickstart (amd64) stellar/quickstart:[email protected]:c4429def497ed78ca99ae40c8e2522ec932081b4428df992900b5bc8d53bd642 Stellar Quickstart (arm64) stellar/quickstart:[email protected]:37205510329845f5fe533bb7c4c182d8f35b3a3515f0a6729889067663e1ec97 Stellar JS Stellar Base 8.0.1-soroban.6 Stellar JS Soroban Client v0.3.0 Futurenet Network Passphrase Test SDF Future Network ; October 2022 Changelog
Soroban Environment
Wasm instruction level calibration Replace im containers with Vec Remove EnvVal Fix first/last_index_of functions to use deep object comparison Export type aliases for Storage and Footprint Add env.json Remove built-in soroban token Update rust-version Use single balances in the Stellar Asset Contract Remove unnecessary i128 clone
See https://github.com/stellar/rs-soroban-env/releases v0.0.12 for more details.
Soroban Rust SDK
Fix contractimpl for empty impl blocks bump env and fix token interface Remove init from the token interface Update rust-version Require only a borrow of Host when updating ledger snapshot Fix doc comments and clippy warnings on ledger snapshot Add LedgerSnapshot::update(Host) undo token deploy revert Revert deploy and update env Remove token deploy in anticipation of removal of the soroban only built-in token Make ledger snapshot write file create dir path Make errors explicit in ledger snapshot functions Update env to include delete-im, remove-EnvVal changes
See https://github.com/stellar/rs-soroban-sdk/releases v0.4.0, v0.4.1, v0.4.2 for more details.
Soroban RPC
Add GitHub linting for GO code
See https://github.com/stellar/soroban-tools/releases v0.4.0 for more details.
Soroban CLIUpdate rust version StrValError --> Error and implemented using thiserror Use soroban-ledger-snapshot for managing ledger.json Use LedgerSnapshot::update to update snapshot instead of unpacking the host and updating ledger info and entries separately. Add events subcommand for local and remote event viewing Deprecate token create command
See https://github.com/stellar/soroban-tools/releases v0.4.0 for more details.
Preview 5 (December 8th, 2022)
Software
Software Version XDR 026c9cd074bdb28ddde8ee52f2a4502d9e518a09 Soroban Environment v0.0.11 Soroban Interface Version 26 Stellar Core stellar-core_19.5.1-1137.b3a6bc281.focal~soroban Soroban Rust SDK v0.3.2 Soroban CLI v0.3.3 Soroban RPC 0.3.1-32 Stellar Horizon stellar-horizon:2.22.0~soroban-318 Stellar Friendbot soroban-v0.0.2-alpha Stellar Quickstart stellar/quickstart:[email protected]:8046391718f8e58b2b88b9c379abda3587bb874689fa09b2ed4871a764ebda27 Stellar JS Stellar Base 8.0.1-soroban.5 Stellar JS Soroban Client v0.2.0 Futurenet Network Passphrase Test SDF Future Network ; October 2022 Changelog
XDR
Remove BigInt from ScVal Add u128 and i128 to ScVal Change the structure of events in meta Change transaction operation structure for Soroban contract deployments and invocations
See https://github.com/stellar/stellar-xdr/compare/48d5e17ae63bba0aa9725cd9d18d7438f44c07b1...026c9cd074bdb28ddde8ee52f2a4502d9e518a09 for more details.
Soroban Environment
Upgrade crate-git-revision to 0.0.4 (contribution by @brson) Add Host::with_artificial_test_contract_frame Restructure benchmark framework, add calibration code for all CostTypes Disable budget costs for object cmp Env changes to decouple contract instance from source Remove BigInt, switch everything to u128 and i128
See https://github.com/stellar/rs-soroban-env/releases v0.0.10, v0.0.11 for more details.
Soroban Rust SDK
Rename data to storage by @leighmcculloch in #786 Add ability to get current Budget from env in tests by @leighmcculloch in #789 Add Env::as_contract for testutils by @leighmcculloch in #761 Update contract deployment to match the Env changes by @dmkozh in #766 Make contract_id public in contract clients. by @dmkozh in #768 Remove BigInt by @sisuresh in #770 Add soroban-ledger-snapshot Change gen JSON output from stream to array (contribution by @vinamogit) Contributions from @vinamogit
See https://github.com/stellar/rs-soroban-sdk/releases v0.3.0, v0.3.1, v0.3.2 for more details.
Soroban RPC
Add soroban-rpc version subcommand Add a new getLedgerEntry jsonrpc method, deprecating and replacing getContractData allowing an application to fetch any ledger entry Added new getEvents method currently backed by horizon
See https://github.com/stellar/soroban-tools/releases v0.3.0, v0.3.1 for more details.
Soroban CLI
Fix apt-get install in publish workflow Added type description to errors when using --arg (contribution by @waldmatias) Additional CLI support for the contract deployment changes Adds support for soroban contract deploy --wasm-hash, as well as soroban contract install --wasm Add xdr and env version to version subcommand output Fix that the footpoint was not set correctly when deploying the wrapped token contract (contribution by @overcat) Contributions from @waldmatias, @willemneal, @overcat, @brson
See https://github.com/stellar/soroban-tools/releases v0.3.0, v0.3.1, 0.3.3 for more details.
Preview 4 (November 15th, 2022)
Software
Changelog
XDR
Trivial whitespace changes Soroban Environment
Vm tuning Add token events Catch panics from native contracts in try_call Improved built-in token error reporting Add missing conversion from Status->ScStatus for the ContractError variant Capture user panic-strings in native builds, avoid spurious NoContractRunning error Few small fixes to error debug events
See https://github.com/stellar/rs-soroban-env/releases v0.0.7, v0.0.8, v0.0.9 for more details.
Soroban Rust SDK
Add Logger::print in testutils Add conversion from Address to Identifier Remove deprecated functions Remove panic-catching and fix tests that use newly-working native try_call Reintroduce an optimized aborting unwrap Add assert_with_error! macro Rename panic_error! to panic_with_error!
See https://github.com/stellar/rs-soroban-sdk/releases v0.2.0, v0.2.1 for more details.
Soroban RPC
Soroban CLI
Strings and symbols are rendered as text in JSON output Bytes are rendered as hex in JSON output Accounts in invocations are created in sandbox Add optimize sub-command that optimizes contracts Fix the bin name in the completion command Fix jsonrpc compliance issue
See https://github.com/stellar/soroban-cli/releases v0.2.0, v0.2.1 for more details.
Preview 3 (October 11th, 2022)
Software
Changelog
See https://www.stellar.org/blog/soroban-a-new-smart-contract-standard.
Preview 2 (September 13th, 2022)
See https://www.stellar.org/developers-blog/soroban-preview-release-2.
Preview 1 (August 1st, 2022)
See https://www.stellar.org/blog/project-jump-cannon-soroban-preview-release.