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 Testnet test network. Software releases may occur between Testnet releases. If you're interacting with Testnet the recommended software versions to use in development are below. Releases to Testnet may include network resets and network passphrase changes.
Preview 11 (September 11, 2023): Testnet and Futurenet Edition
Software
Software | Version |
---|---|
XDR | 9ac02641139e6717924fdad716f6e958d0168491 |
Soroban Environment | v20.0.0-rc2 |
Soroban Interface Version | 57 |
Stellar Core | 20.0.0-1504.rc2.22088c1f2.focal |
Soroban Rust SDK | v20.0.0-rc2 |
Soroban CLI | v20.0.0-rc4 |
Soroban RPC | v20.0.0-rc4 |
Stellar Horizon | 2.27.0~rc2-384 |
Stellar Friendbot | soroban-v0.0.2-alpha |
Stellar Quickstart | docker.io/stellar/quickstart:testing@sha256:40636cdb1b9168b47e5dc120949fe3610ff914e8dd43409edb6fa66496bdd9c3 |
Stellar JS Stellar Base | 10.0.0-beta.1 |
Stellar JS Soroban Client | v1.0.0-beta.2 |
Freighter | 5.6.1 |
Laboratory | 2.12.0 |
Soroban React Payment dapp | 2.0.0 |
Soroban Mint Token dapp | 2.0.0 |
Soroban Swap Token dapp | 2.0.0 |
Futurenet Network Passphrase | Test SDF Future Network ; October 2022 |
Testnet Network Passphrase | Test SDF Network ; September 2015 |
The Soroban RPC version for Preview 11 is presently in Stellar's unstable and testing apt repositories. Additionally, its Docker image release can be accessed at docker.io/stellar/soroban-rpc:20.0.0-rc3-39.
Changelog
XDR
- Generate for entry expired error
- Bump XDR
- Generate XDR DepthLimiter and depth-limited Read/WriteXdr
- Bump XDR
- Make SCError into a union to allow user errors to be u32
- Update rust-version
- Bump XDR
- Bump XDR
- Bump XDR
- Regen to pick up ContractCostType changes
- Bump XDR
- Update to reflect removal of SCSpecTypeSet
- Bump XDR
- Take change from txSOROBAN_RESOURCE_LIMIT_EXCEEDED to txSOROBAN_INVALID
- Run CI via in merge queue
- Update rust-version
- Bump curr and next
- Bump XDR
- Bump version to 20.0.0-rc1
Soroban Environment
- Attach the auth in recording mode to any valid tracker when possible
- Make RecordedAuthPayload consistently return None for invoker
- Expiration-related fixes
- Turn dynamic borrow panics into HostErrors
- Use Ed25519 verify_strict function rather than just verify, fix #857
- Misc int32 issues
- Enforce object handle integrity when inserting into containers, fix #569
- Add testcase for out-of-order scmaps, fix #223
- Add a function to compute the rent fee
- Use host.err for auth error
- Add a smoke test for recording auth for create contract host fn
- Stop treating storage errors as missing entries
- Refactor authorization manager to only maintain mutable borrow on minimal amount of fields
- Bump xdr
- Add rent bumps to the SAC
- Add is_admin function
- Bump xdr
- Add function to compute the write fee based on the ledger size
- Prohibit using disjoint signatures to cover the auth tree
- Enforce DepthLimiter in the Host to avoid stack overflow
- Relative objects in wasm
- Adapt to ResourceLimiter, replacing mem_fuel metering
- Make del_contract_data no-op for removing non-existent instance storage key
- Add "tracy" feature to enable Tracy profiler, with some basic annotat…
- Update host to account for the XDR changes
- Update rust-version
- Adapt to SCError change to be an enum, with ContractError(u32)
- Make some host errors non-recoverable in try_call
- Fix panic-string-logging code path broken by recent dynamic-borrow fix
- Add soroban-bench-utils, add benchmark tests to measure metering accuracy
- Bump env xdr and do the fee library changes corresponding to config changes
- Bump env xdr
- Remove event topic limits
- Bump env xdr
- Unify/fix expiration bump logic in host
- Add new tests for error escalation from contract calls
- Add a helper that invokes a host function 'end-to-end'
- Add helpers for container bulk init; applies to auth metering
- Switch some auth errors from Internal to InvalidInput
- Enable post-MVP WASM ops (sign-ext and mutable-globals), fix #968
- More token tests
- Alloc example
- Mop up some residual uses of format strings in errors (no longer supported)
- Add wasm for upgrade write-bytes contract
- Scale the linear cost model coefficient; improve model fitting
- Error if bumping past max_entry_expiration and and host function to retrieve max_entry_expiration
- Make has checks to properly populate the storage map in recording mode
- Clean up budget cost types
- Add debug events to storage error reporting
- Switch to stable rust-analyzer in CI
- Add some comments and tests to env-common/symbol.rs
- Upgrade dalek crates to new stable versions
- Add an option to return an error when encountering non-root auth in recording mode
- Reject env.json if there are duplicate export names, fix #189
- Tighten signature of unchecked_visit_val_obj, fix #595
- Tighten dependencies further
- Fix incorrect argument name
- Bump env xdr
- Tighten up Map and Vector and metering coverage
- Store dummy instance for test contracts
- Update XDR to take change that removes SCSpecTypeSet
- Fix comparison in Tag::is_object
- Fix calibration due to delak change
- Charge write fees for expiration entry bumps
- Reduce the expiration entry write size
- Refactor host to support the new expiration ledger approach
- Add lifetime threshold
- Enable build workflow for merge groups
- Remove key size from rent change computation
- Take change from txSOROBAN_RESOURCE_LIMIT_EXCEEDED to txSOROBAN_INVALID
- Add ExpirationEntry support
- Add git rev dep check to ci
- Fix encode contract events metering
- Trim deps
- Reject vals with invalid tags, fix #1029
- Host: fix EXPIRATION_ENTRY_SIZE constant
- Avoid iloop externalizing diagnostics for invalid references
- Add "coverage" Makefile target for lcov.info, add a test that extends coverage
- Fix asset-code rendering in native contract
- Fix rent changes extraction bug
- Graydon code review
- Jay code review
- Bump xdr and use curr instead of next
- Trivial xdr bump
- Tighten wasm interface version checks, and do on upload, Fix #1052
- Update wasmi to 0.31.0-soroban
- Bump version to 20.0.0-rc1
Soroban Rust SDK
- Implement deployer functions that return the deployed contract id
- Add Vec::to_vals
- Expose PRNG functions
- Expose secp256k1 and keccak256 in the SDK
- Upgrade env to v20.0.0-rc2
- Elaborate more in comment on PRNG strengths and weaknesses
- Bump version to 20.0.0-rc2
- Token events
- Update rust-version
- Update SDK to recent env
- Add admin function
- fix: use uppercase const name
- Fix allocator
- Add Arbitrary impl for Duration and Timepoint
- Fix Budget::memory_bytes_cost
- Bump env to c5607a2e9e296b2636b46dc910387aa3446b3e29
- Bump env
- Update dalek, remove non-syn2 exemptions, tighten deps
- Update map iterator to be index based
- Remove ScSpecTypeSet support, which was already mostly dead
- Provide a way to allow non-root auth in recording mode
- Update env version in SDK
- Update SDK to support expiration entry rework
- Bump env for bump interface changes
- Correct comment on String::copy_into_slice
- Add doc comments about why symbol_short!
- Add test vector for workspace setups where contract types live in a lib
- Update rust-version
- Enable build workflow for merge groups
- re-enable linux arm64 builds
- Fix/criadoperez
- Text corrections
- Update rust-version
- bump env
- Fix name of the Stellar Asset admin client
- Add git rev dep check to ci
- Remove authorized from standard token interface
- Bump env
- Adapt to removal of ConversionError from number type conversions
- Bump version to 20.0.0-rc1
Soroban RPC
- List --network under RPC options
- Enforce enabling diagnostics events
- simulateTransaction will automatically detect ledger entries which require restoring
- simulateTransaction will try to return diagnostic events on failure
- getLedgerEntries can query multiple ledger entries at once
- getLedgerEntries can set the maximum number of keys to query for
- Temporary ledger entry evictions are ingested
- Support StrKey format for contractIds field in getEvents request
- Limit the execution duration of the jrpc requests
- Performance fixes and improvements: add writethrough cache for config ledger entries and cache DB results better
- Fix ledgerentry visibility bug
- Fix simulation sequence number for bump/restore operations
- Improve missing command line arguments message
- Add missing config settings in ledger entry cache on reads
- Fix caching of GetLatestLedgerSequence
- Limit request size to 10MB
- Limit number of concurrent requests
- Improve HTTPRequestDurationLimiter by adding a recover handling
- Stream ledgers on initialization
- Increase instruction leeway to 20% in preflight
- Validate xdr payloads in soroban-rpc requests
- Fix double-counting bug
- Fix datarace in bufferedResponseWriter.WriteOut
- Fix set_authorization_entries bug in preflight
- Restore CORS support
Soroban CLI
- Add multi-party authorization + signing support
- Add two new output types for contract inspect
- Add config identity fund to fund accounts on networks
- Add restore/bump support with --wash_hash
- Allow passing true and false to boolean types
- Each generated contract method adds
<contract-arg>-file-path
- Add dotenv so directories can now set CLI args
- Generated TypeScript bindings have significantly improved
- Make Wallet injectable
- Correct generated README
- Allow fetching contract from network
- Removed --contract-name, added --overwrite
- Require configuring network settings
- Leveraging the latest soroban-client (v1.0.0-beta)
- Make aliases visible in help doc
- Ensure that the sim events are logged; improve format of main logs
- Fix --cost flag
- Set the exit code to 1 in case of an error
- Return an error once contract read is unable to read any entry
- wrap token no longer fails with valid inputs in sandbox mode
Preview 10 (July 13, 2023)
Software
Software | Version |
---|---|
XDR | e372df9f677961aac04c5a4cc80a3667f310b29f |
Soroban Environment | v0.0.17 |
Soroban Interface Version | 51 |
Stellar Core | 19.12.1-1406.b7d3a8f8d.focal~soroban |
Soroban Rust SDK | v0.9.2 |
Soroban CLI | v0.9.1 |
Soroban RPC | v0.9.2 |
Stellar Horizon | stellar-horizon:2.26.1~soroban-373 |
Stellar Friendbot | soroban-v0.0.2-alpha |
Stellar Quickstart | stellar/quickstart:soroban-dev@sha256:8a99332f834ca82e3ac1418143736af59b5288e792d1c4278d6c547c6ed8da3b |
Stellar JS Stellar Base | 10.0.0-soroban.3 |
Stellar JS Soroban Client | 0.9.2 |
Freighter | 5.2.3 |
Laboratory | 2.11.0 |
Soroban React Payment dapp | 1.1.0 |
Soroban Mint Token dapp | 1.1.0 |
Futurenet Network Passphrase | Test SDF Future Network ; October 2022 |
Changelog
XDR
- Remove TransactionResultV2
- Regenerate for overhaul of error codes
- Bump xdr
- Bump XDR
- Update for state-expiration XDR changes
- Update rust-version
- Bump XDR
- Regenerate for new crypto cost types
- Bump XDR
- Bump op
- Generate for storage type removal
- Drop ContractCostType::VerifyEcdsaSecp256k1Sig
- Update next to pickup int256 cost types
- Regenerate rename
- Regenerate for typo
- Bump xdr with contract instance storage changes
- Regenerate for removal of ScVal::StorageType
- Regenerate for RestoreFootprintOp
- Generate rename
- Update crate-git-revision
Soroban Environment
- Move a bunch of code out of host, reorg modules slightly.
- Remove temp storage, fixes #758
- Bump xdr
- Anti features
- Err reform
- Some further cleanups to diagnostic events
- Bump xdr
- Enforce AUTH_REVOCABLE on contract balances
- Implement PRNG subsystem (round 2)
- Remove incorrect debug_assert from ed25519_pub_key_from_bytes
- Support Auth Next for host fns
- Bump xdr
- Update rust-version
- Switch to wasmi native fuel metering
- Fix get_authenticated_authorizations test utility.
- Change authentication contract errors to be auth errors.
- Improve VmInstantiation calibration
- Update storage interface for state expiration
- Update README.md
- Implement contract expiration bumps
- Calibrate wasmi fuel and tiered wasm instructions
- Bump env XDR
- Implement
TryFrom<&Error>
for ScVal - Provide host function for authorizing deep contract calls from current contract
- Switch auth from autoincrement nonces to temporary random values.
- Fix metering for internal events
- Return strings for name/symbol and use strkey for issuer.
- Remove Mergeable and rename Exclusive to Persistent
- Add secp256k1 and keccak256 host functions
- Add host functions for returning contract ids
- Fix comparisons
- Rename rawval to val
- Enforce readonly footprint on bump
- Add host functions for {u,i}256 arithmetics
- More raw to val
- Support Timepoint, Duration
- Bump xdr
- Check map order when rebuilding from exact iter
- Updates for contract instance related XDR changes.
- Change StorageType to Just Be An Enum
- Bump xdr for RestoreFootprintOp
- Bump xdr for rename
- Add host function for bumping contract instance
- Implement contract instance storage in Soroban host.
- Change [IU]256 arithmetic host functions to take Val not Object.
- Replace increase and decrease functions with approve
- Expose bumps
- Fix calibration tests
- Change [IU]256 [from,to]_bytes functions to work with Val
- Bump wasmi version
Soroban Rust SDK
- Fix storage comment
- Noop in instance bump for tests
Soroban RPC
- Update js-soroban-client dependency from 0.9.0 to 0.9.1
Soroban CLI
- Update js-soroban-client dependency from 0.9.0 to 0.9.1
Preview 9 (May 24th, 2023)
Software
Software | Version |
---|---|
XDR | 2f16687fdf6f4bcfb56805e2035f69997f4b34c4 |
Soroban Environment | v0.0.16 |
Soroban Interface Version | 37 |
Stellar Core | 19.10.1-1310.6649f5173.focal~soroban |
Soroban Rust SDK | v0.8.4 |
Soroban CLI | v0.8.0 |
Soroban RPC | v0.8.0 |
Stellar Horizon | stellar-horizon:2.25.1~soroban-346 |
Stellar Friendbot | soroban-v0.0.2-alpha |
Stellar Quickstart | stellar/quickstart:soroban-dev@sha256:57e8ab498bfa14c65595fbb01cb94b1cdee9637ef2e6634e59d54f6958c05bdb |
Stellar JS Stellar Base | 9.0.0-soroban.1 |
Stellar JS Soroban Client | 0.7.0 |
Freighter | 5.0.1 |
Laboratory | 2.10.0 |
Futurenet Network Passphrase | Test SDF Future Network ; October 2022 |
Changelog
XDR
See https://github.com/stellar/rs-stellar-xdr/releases v0.0.16 for more details.
Soroban Environment
See https://github.com/stellar/rs-soroban-env/releases v0.0.16 for more details.
Soroban Rust SDK
See https://github.com/stellar/rs-soroban-sdk/releases v0.8.4 for more details.
Soroban RPC
See https://github.com/stellar/soroban-tools/releases v0.8.0 for more details.
Soroban CLI
See https://github.com/stellar/soroban-tools/releases v0.8.0 for more details.
Preview 8 (April 4th, 2023)
Software
Software | Version |
---|---|
XDR | 7356dc237ee0db5626561c129fb3fa4beaabbac6 |
Soroban Environment | v0.0.15 |
Soroban Interface Version | 32 |
Stellar Core | 19.8.1-1246.064a2787a.focal~soroban |
Soroban Rust SDK | v0.7.0 |
Soroban CLI | v0.7.0 |
Soroban RPC | v0.7.0 |
Stellar Horizon | stellar-horizon:2.24.62~soroban-338 |
Stellar Friendbot | soroban-v0.0.2-alpha |
Stellar Quickstart | stellar/quickstart:soroban-dev@sha256:a057ec6f06c6702c005693f8265ed1261e901b153a754e97cf18b0962257e872 |
Stellar JS Stellar Base | 8.2.2-soroban.12 |
Stellar JS Soroban Client | v0.5.0 |
Freighter | v2.12.2 |
Laboratory | v2.8.0 |
Futurenet Network Passphrase | Test SDF Future Network ; October 2022 |
Breaking changes note
This release includes a major overhaul of the value representation at the XDR level, which potentially breaks contracts that rely on the old type definitions, here is a summary of the changes:
- Removed the object/value split at the XDR level
- Expanded size of value tag from 8 to 128 cases
- Removed types:
U63
,Static
,Bitset
- Added
U256
,I256
and special case u64 subtypesTimepoint
andDuration
- Added
String
which is aBytes
-like object but displays as text - Enhanced
Symbol
to have a maximum size of 32 bytes (no more 10-char limit)
SDK support has also been added/updated for these types. See xdr, env and sdk changes for more details.
Changelog
XDR
- Make types wrapping Strings no longer aliases
- Value representation overhaul
- Diagnostic events
See https://github.com/stellar/rs-stellar-xdr/releases v0.0.15 for more details.
Soroban Environment
- Remove the unnecessary error events that appeared in non-error scenarios.
- Reform metering for value cloning and memory allocation.
- Provide more test coverage for Auth Next.
- Check issuer clawback flag when new contract balance is created.
- Add a test that covers out-of-order require_auth calls.
- Token name in events.
- Adapt Storage and SnapshotSource to use Rc only.
- Add host functions to convert addresses to/from account/contract ids.
- Value and object representation overhaul.
- Move InvokerType from common env to internal host implementation.
- fix thinko in vec_new_from_linear_memory.
- Improve safety of custom account contracts.
- Split out DeclaredSizeForMetering from MeteredClone and use it for Compare.
- Structured debug events.
- Fix an i128 conversion bug.
- Use new bulk memory ops for tuples.
- Host budget metering, cost model, calibration changes.
- Increase memory budget to 50MB.
See https://github.com/stellar/rs-soroban-env/releases v0.0.15 for more details.
Soroban Rust SDK
- Add docs in specs for types.
- Rename Serialize/Deserialize to To/FromXdr.
- Use the updated source_account() interface.
- Update storage docs.
- Expose reset budget functions to testutils.
- Adapt storage and snapshot interface to env changes.
- Add utils for converting from/to contract/account ids.
- Value and object representation overhaul.
- Add a getter for address of a generated contract client.
- Use String for log_fmt_values.
- Add a utility to call __check_auth in tests.
- Add more support for the new types in soroban-spec.
- Use vector bulk-init in Vec.
- Bump env and update for event changes.
- fix(macro): add new XDR types to parser.
- Update budget test.
- bump env and update budget print.
See https://github.com/stellar/rs-soroban-sdk/releases v0.7.0 for more details.
Soroban RPC
- Set a maximum ledger latency in /health method.
- Add resultMetaXdr and envelopeXdr back to getTransaction() response.
- Support for new
diagnostic
contract events.- soroban-rpc: Add filtering support for diagnostic events.
- soroban-rpc: Ingest diagnostic events.
- Remove 'soroban serve' subcommand.
- Limit preflight-computation concurrency through a worker pool.
- Miscellaneous fixes.
- General improvements to compilation and testing.
- Add contract events to simulateTransaction's response.
See https://github.com/stellar/soroban-tools/releases v0.7.0 for more details.
Soroban CLI
- Improved documentation, and
--help
text- feat: auto-generate comprehensive CLI docs.
- When using
invoke
, contract function names now come after the--
, likesoroban invoke --id <contract_id> -- hello --to "world"
- Improvements to identity management
- fix: allow using ENV to add identity and pass secret.
- Replaced
--identity
,--secret-key
, and--account
flags. Replace with single--source
, which understands identities, and secret keys. - feat: add better docs for UDT and add examples for each arg.
- Added
soroban --version
- Better errors, replacing
Unknown
- Refactor, so that the cli can be imported via the new
soroban-test
crate. This makes testing and using soroban-cli as a library easier.- feat: reorg into a proper library.
- feat: add new soroban-test crate.
- Update to Clap v4.
- fix(CLI): string/u/i256 XDR parsing.
- Support for new
diagnostic
type events
See https://github.com/stellar/soroban-tools/releases v0.7.0 for more details.
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:soroban-dev@sha256: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. 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 Environment
- Allow 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:soroban-dev@sha256:c4429def497ed78ca99ae40c8e2522ec932081b4428df992900b5bc8d53bd642 |
Stellar Quickstart (arm64) | stellar/quickstart:soroban-dev@sha256: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 withVec
- 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 CLI
- Update 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:soroban-dev@sha256: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 assoroban 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
Software | Version |
---|---|
XDR | https://github.com/stellar/stellar-xdr-next/tree/48d5e17ae63bba0aa9725cd9d18d7438f44c07b1 |
Soroban Environment | v0.0.9 |
Soroban Interface Version | 23 |
Stellar Core | 19.5.1-1111.eba1d3de9.focal~soroban |
Soroban Rust SDK | v0.2.1 |
Soroban CLI | v0.2.1 |
Soroban RPC | 0.3.1-32 |
Stellar Horizon | 2.22.0~soroban-304 |
Stellar Quickstart | stellar/quickstart:soroban-dev@sha256:0993d3350148af6ffeab5dc8f0b835236b28dade6dcae77ff8a09317162f768d |
Futurenet Network Passphrase | Test SDF Future Network ; October 2022 |
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
- Initial Release
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
Software | Version |
---|---|
XDR | https://github.com/stellar/stellar-xdr-next/tree/161e2e5b64425a49f9ccfef7f732ae742ed5eec4 |
Soroban Environment | v0.0.6 |
Soroban Interface Version | 23 |
Stellar Core | 19.4.1-1097.4e813f20e.focal~soroban |
Soroban Rust SDK | v0.1.1 |
Soroban CLI | v0.1.2 |
Soroban RPC | ??? |
Stellar Horizon | 2.22.0~soroban-304 |
Stellar Quickstart | stellar/quickstart:soroban-dev@sha256:e58d83f92a61f43406087f488dd1cba110a92646dca85f14b3a416163609e853 |
Futurenet Network Passphrase | Test SDF Future Network ; October 2022 |
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.