Releases: stellar/stellar-cli
20.0.0-rc2
v20.0.0-rc2: Protocol 20, Soroban!
Note: This version is currently only compatible with Stellar networks running [email protected]
, which corresponds to Preview 11, the final Protocol 20 preview (using stellar/stellar-xdr@9ac0264).
Soroban RPC
Added
- List
--network
under RPC options (#814) - Enforce enabling diagnostics events (#820)
simulateTransaction
will automatically detect ledger entries which require restoring (#865, #966)simulateTransaction
will try to return diagnostic events on failure (#878)getLedgerEntries
can query multiple ledger entries at once (#896)getLedgerEntries
can set the maximum number of keys to query for (#903)- Temporary ledger entry evictions are ingested (#926)
Fixed
- Support StrKey format for
contractIds
field ingetEvents
request (#797) - Limit the execution duration of the jrpc requests (#804)
- Performance fixes and improvements: add writethrough cache for config ledger entries and cache DB results better (#837, #847, #845, #901)
- Fix ledgerentry visibility bug (#871)
- Fix simulation sequence number for bump/restore operations (#877)
- Improve missing command line arguments message (#880)
- Add missing config settings in ledger entry cache on reads (#885)
- Fix caching of
GetLatestLedgerSequence
(#897) - Limit request size to 10MB (#898)
- Limit number of concurrent requests (#799)
- Improve HTTPRequestDurationLimiter by adding a recover handling (#888)
- Stream ledgers on initialization (#904)
- Increase instruction leeway to 20% in preflight (#909)
- Validate xdr payloads in soroban-rpc requests (#957)
- Fix double-counting bug (#960)
- Fix datarace in bufferedResponseWriter.WriteOut (#961)
- Fix
set_authorization_entries
bug in preflight (#939) - Restore CORS support (#943)
Soroban CLI
Added
- Add multi-party authorization + signing support (#749)
- Add two new output types for
contract inspect
(#829) - Add
config identity fund
to fund accounts on networks (#828) - Add restore/bump support with
--wash_hash
(#824) - Allow passing
true
andfalse
to boolean types (#834) - Each generated contract method adds
<contract-arg>-file-path
(#833) - Add
dotenv
so directories can now set CLI args (#894) - Generated TypeScript bindings have significantly improved:
Fixed
- Make aliases visible in help doc (#848)
- Ensure that the sim events are logged; improve format of main logs (#906)
- Fix
--cost
flag (#911) - Set the exit code to 1 in case of an error (#923)
- Return an error once
contract read
is unable to read any entry (#924) wrap token
no longer fails with valid inputs in sandbox mode (#936)
New Contributors
- @criadoperez made their first contribution in (#812)
Full Changelog: v0.9.4...v20.0.0-rc2
20.0.0-rc1
v20.0.0-rc1: Protocol 20, Soroban!
Note: This version is currently only compatible with Stellar networks running [email protected]
, which corresponds to Preview 11, the final Protocol 20 preview (using stellar/stellar-xdr@9ac0264).
Soroban RPC
Added
- List
--network
under RPC options (#814) - Enforce enabling diagnostics events (#820)
simulateTransaction
will automatically detect ledger entries which require restoring (#865, #966)simulateTransaction
will try to return diagnostic events on failure (#878)getLedgerEntries
can query multiple ledger entries at once (#896)getLedgerEntries
can set the maximum number of keys to query for (#903)- Temporary ledger entry evictions are ingested (#926)
Fixed
- Support StrKey format for
contractIds
field ingetEvents
request (#797) - Limit the execution duration of the jrpc requests (#804)
- Performance fixes and improvements: add writethrough cache for config ledger entries and cache DB results better (#837, #847, #845, #901)
- Fix ledgerentry visibility bug (#871)
- Fix simulation sequence number for bump/restore operations (#877)
- Improve missing command line arguments message (#880)
- Add missing config settings in ledger entry cache on reads (#885)
- Fix caching of
GetLatestLedgerSequence
(#897) - Limit request size to 10MB (#898)
- Limit number of concurrent requests (#799)
- Improve HTTPRequestDurationLimiter by adding a recover handling (#888)
- Stream ledgers on initialization (#904)
- Increase instruction leeway to 20% in preflight (#909)
- Validate xdr payloads in soroban-rpc requests (#957)
- Fix double-counting bug (#960)
- Fix datarace in bufferedResponseWriter.WriteOut (#961)
- Fix
set_authorization_entries
bug in preflight (#939) - Restore CORS support (#943)
Soroban CLI
Added
- Add multi-party authorization + signing support (#749)
- Add two new output types for
contract inspect
(#829) - Add
config identity fund
to fund accounts on networks (#828) - Add restore/bump support with
--wash_hash
(#824) - Allow passing
true
andfalse
to boolean types (#834) - Each generated contract method adds
<contract-arg>-file-path
(#833) - Add
dotenv
so directories can now set CLI args (#894) - Generated TypeScript bindings have significantly improved:
Fixed
- Make aliases visible in help doc (#848)
- Ensure that the sim events are logged; improve format of main logs (#906)
- Fix
--cost
flag (#911) - Set the exit code to 1 in case of an error (#923)
- Return an error once
contract read
is unable to read any entry (#924) wrap token
no longer fails with valid inputs in sandbox mode (#936)
New Contributors
- @criadoperez made their first contribution in (#812)
Full Changelog: v0.9.4...v20.0.0-rc.1
0.9.4
Soroban-CLI
What's Changed
- Contract Install with internal error restores the code
- Enums with tuple of any length now allowed and example is updated
- restore/bump if no keys provided contract instance used
- invoke improvements
- add --wasm args to bump/restore
- update default futurenet to use new rpc_url
- build: update soroban-client in typescript template
- Update rust-version
Soroban-RPC
What's Changed
- simulateTransaction: Get budget settings from the network
Full Changelog: v0.9.0...v0.9.4
0.9.1
Soroban-CLI
What's Changed
- Update js-soroban-client dependency from 0.9.0 to 0.9.1
Full Changelog: v0.9.0...v0.9.1
0.9.0
0.8.7
Soroban-CLI
What's Changed
- fix: use correct url for cargo-binstall by @willemneal in #700
- feat(CLI): move soroban-spec-json/typescipt; add soroban-spec-tools by @willemneal in #702
- Fix publish with new crates by @leighmcculloch in #709
- Reenable Windows builds with fix for publish-dry-run by @leighmcculloch in #699
- feat: upgrade freighter-api to 1.5.0 & soroban-client to 0.8.1 by @chadoh in #708
- rust: fix rust-analyzer testing by @tsachiherman in #712
- fix: allow generated JS libs to use localhost by @chadoh in #711
- Add command for building contracts by @leighmcculloch in #713
- Remove unnecessary rustc options by @leighmcculloch in #714
- Add CODEOWNERS to keep contract committers automatically mentioned on changes to soroban contract build by @leighmcculloch in #715
- Add missing readmes for crates preventing publishing by @leighmcculloch in #718
Soroban-RPC
What's Changed
- pin os version of the rpc dockerfile build stage by @sreuland in #705
- build: update slash direction for windows RPC builds by @tsachiherman in #701
- Add package-based soroban-rpc Dockerfile by @jacekn in #710
New Contributors
Full Changelog: v0.8.5...v0.8.7
0.8.5
Soroban-CLI
What's Changed
- Refactor the bindings command into subcommands and adds a TS project.
- Downloads the bytes of a contract. Print to stdout or write to a file
- Add support for "soroban config network ls -l"
- Return contract Addresses and allow passing hex when used as an contract arg
Full Changelog: v0.8.0...v0.8.5
0.8.0
Soroban-CLI
What's Changed
- Add support for fees
- Add meta output when inspecting contract
- Support passing identity instead of address
- Support token interface changes
Soroban-RPC
What's Changed
- Add support for fees calculations
- Add support for multi-host function invocations
- Print xdr version in dev builds
- Read configuration from toml file.
- Add metrics support
- improve error logging
- add admin endpoint
- add graceful shutdown
Full Changelog: v0.7.0...v0.8.0
0.7.1
See Changelog for 0.7.0 for changes in soroban-rpc, and soroban-cli.
Soroban-Test
- Include a README.md, so the cargo publish works
0.7.0
General
- Support the new xdr.ScVal types, to simplify contract interactions
- Testing infrastructure improvements throughout
Soroban-CLI
Changed
-
When using
invoke
, contract function names now come after the--
.Old vs new:
-soroban contract invoke [options] --fn hello -- --to World +soroban contract invoke [options] -- hello --to World
This comes with contract-level
--help
, which lists all functions in a contract:soroban contract invoke [options] -- --help
It also works nicely with aliases in your shell:
alias hello="soroban contract invoke [options] --" hello --help
-
Replaced
--identity
,--secret-key
, and--account
flags with single--source-account
(alias:--source
)Old vs new:
soroban config identity generate alice -soroban contract deploy --identity alice +soroban contract deploy --source alice -soroban contract deploy --secret-key SC36… +soroban contract deploy --source SC36…
The old
--account
option accepted a public key, and only worked in sandbox. This has been removed, since a public key can be derived from a secret key or seed phrase.You could not use a seed phrase before, but now you can:
+soroban contract deploy --source "kite urban…"
Note: don't do this! Including seed phrases and private keys in CLI commands puts them in your shell history file, which can be read by other system processes. It has been included for backwards-compatibility. It is safer to use an identity.
The default identity is the one given by
soroban config identity generate --default-seed
.You can still set this using the environment variable
SOROBAN_ACCOUNT
.
Added
- When using
invoke ... -- [contract] [method] --help
, you'll now get better docs and examples for each argument (by @willemneal in #465) - Automatic comprehensive docs; more extensive long help with
--help
; shorter help available with-h
(by @chadoh in #518) - Added
soroban --version
- Better errors, replacing
Unknown
(#469) - 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 by @willemneal in #443
- feat: add new soroban-test crate by @willemneal in #528
- Update to Clap v4 by @chadoh in #491
- Support for new
diagnostic
type events
Fixed
- fix(CLI): string/u/i256 XDR parsing by @willemneal in #529
Soroban-RPC
Changed
- Set a maximum ledger latency in /health method by @2opremio in #461
- Add resultMetaXdr and envelopeXdr back to getTransaction() response by @tamirms in #467
- Support for new
diagnostic
contract events. - Remove 'soroban serve' subcommand (#486)
- Limit preflight-computation concurrency through a worker pool (#488, #489, and #517)
- Miscellaneous fixes by @2opremio in #492
- General improvements to compilation and testing
- Add contract events to simulateTransaction's response by @2opremio in #534
Full Changelog: v0.6.2...v0.7.0