Skip to content

Releases: stellar/stellar-cli

20.0.0-rc2

19 Sep 14:51
1c49aed
Compare
Choose a tag to compare

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 in getEvents 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 and false 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:
    • Make Wallet injectable (#819)
    • Correct generated README (#823)
    • Allow fetching contract from network (#836)
    • Removed --contract-name, added --overwrite (#849)
    • Require configuring network settings (#852)
    • Leveraging the latest soroban-client (v1.0.0-beta, #964).

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

Full Changelog: v0.9.4...v20.0.0-rc2

20.0.0-rc1

14 Sep 22:35
7d3b417
Compare
Choose a tag to compare

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 in getEvents 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 and false 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:
    • Make Wallet injectable (#819)
    • Correct generated README (#823)
    • Allow fetching contract from network (#836)
    • Removed --contract-name, added --overwrite (#849)
    • Require configuring network settings (#852)
    • Leveraging the latest soroban-client (v1.0.0-beta, #964).

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

Full Changelog: v0.9.4...v20.0.0-rc.1

0.9.4

27 Jul 00:44
76cacc7
Compare
Choose a tag to compare

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

12 Jul 17:18
b5e8586
Compare
Choose a tag to compare

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

12 Jul 13:17
34da8d6
Compare
Choose a tag to compare

Soroban-CLI

What's Changed

  • a
  • b
  • c

Soroban-RPC

What's Changed

  • a
  • b
  • c

Full Changelog: v0.8.7...v0.9.0

0.8.7

23 Jun 16:26
de12c55
Compare
Choose a tag to compare

Soroban-CLI

What's Changed

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

15 Jun 12:57
1ff4e4a
Compare
Choose a tag to compare

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

23 May 21:23
6bdd01a
Compare
Choose a tag to compare

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

05 Apr 11:02
01cdac0
Compare
Choose a tag to compare

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

03 Apr 21:05
75f45cf
Compare
Choose a tag to compare

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.
  • Update to Clap v4 by @chadoh in #491
  • Support for new diagnostic type events

Fixed

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.
    • soroban-rpc: Add filtering support for diagnostic events by @2opremio in #530
    • soroban-rpc: Ingest diagnostic events by @tamirms in #536
  • 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