Skip to content

Releases: stellar/stellar-cli

25.2.0

11 Mar 16:48
2848488

Choose a tag to compare

🚀 New Features

  • Auto-build on deploy: stellar contract deploy and stellar contract upload now automatically build your contracts when no WASM is provided — no manual build step required. (#2378)
  • Self-describing events: stellar events and contract invoke now display human-readable event descriptions from the contract spec. (#2380)
  • Fee bump for large transactions: Transactions that exceed the base fee threshold are automatically wrapped in a fee bump transaction. (#2382)
  • Pipe secrets from stdin: Key secrets can now be passed via pipe, making it easier to integrate with secret managers in scripts and CI. (#2403)
  • stellar network root-account: New command to retrieve the root account for a given network. (#2402)
  • Network ID in stellar network info: The network ID is now included in the output of stellar network info. (#2413)
  • Auto-convert string arguments in contract invoke: String-typed arguments are now automatically coerced, reducing friction when calling contracts from the CLI. (#2410)
  • --locked passthrough on contract build: The --locked flag is now forwarded when building contracts, ensuring reproducible builds. (#2383)
  • --hd-path propagation: The --hd-path flag now correctly propagates to auth signers and alias resolution. (#2437)
  • Spec shaking (build side): The build pipeline now supports spec shaking, reducing generated output size. (#2353)

🔒 Security

  • Sensitive env vars concealed by default: stellar env now hides sensitive values (secret keys, RPC headers, signing keys) by default, showing # KEY=<concealed> instead of the raw value. (#2440, #2408)
  • Path traversal prevention: Network and contract alias names are now validated to block path traversal attacks. (#2443)
  • Restrictive file permissions: Config directories and key files are now created with tighter permissions on Unix systems. (#2415)
  • RPC headers hidden from output: RPC headers (which may contain auth tokens) are no longer shown in stellar network ls --long or debug trace output. (#2441, #2442)
  • Control character sanitization: Control characters in contract spec display output are now sanitized. (#2433)
  • Keccak vulnerability patched: Updated keccak to address CWE-758. (#2422)

🐛 Bug Fixes

  • Fixed BytesN parsing when using valid hex values. (#2385)
  • Fixed snapshot create unconditionally adding entries when match result was unused. (#2404)
  • Fixed --asset in trustline commands to accept valid asset codes of any length. (#2405)
  • Fixed an error when fetching ledger entries for trustlines using the native asset. (#2406)

🔧 Developer Experience

  • Warnings are now shown when a contract spec references types that are missing. (#2426)
  • Improved dependency checking in the install script. (#2399)
  • --no-default-features is now honored when using cargo install. (#2416)

📦 TypeScript Bindings

  • Updated bindings to the latest JS SDK version. (#2373)

Full Changelog: v25.1.0...v25.2.0

New Contributors: @teddav made their first contribution in #2373 — welcome! 🎉

25.1.0

29 Jan 16:55
a048a57

Choose a tag to compare

🛡️ Bug Fixes

  • Better error reporting for contract builds — The CLI now raises a clear error when building contracts without overflow checks enabled, helping developers catch misconfigurations early.

📦 Packaging & Distribution

  • Debian package support — Added .deb package generation to the CI pipeline, making it easier to install the Stellar CLI on Debian and Ubuntu systems.
  • Fixed Nix build configuration — Moved pkg-config to nativeBuildInputs in the Nix configuration, resolving cross-compilation and build issues for Nix users.

Full Changelog: v25.0.0...v25.1.0

25.0.0

22 Jan 16:33
a64925e

Choose a tag to compare

What's Changed

✨ Features & Improvements

  • Add SEP-53 message signing and verification by @tomerweller in #2346
  • Add --inclusion-fee and --resource-fee arguments as a replacement for --fee to give users more control over setting fees by @mootz12 in #2321
  • Add stellar fees command that allows users to read network feestats and configure default --inclusion-fee arguments by @mootz12 in #2321
  • Warn during stellar contract build if overflow-checks are off in Cargo.toml by @fnando in #2360

🐛 Fixes

  • Apply inclusion fee and resource fee to simulated transaction correctly by @mootz12 in #2355
  • Handle contract build info when multiple attestations are available by @fnando in #2359

🛠️ Technical Updates

🗑️ Deprecations Notice

  • stellar contract invoke --fee -> Use stellar contract invoke --inclusion-fee
  • stellar feestats -> Use stellar fees stats

New Contributors

Full Changelog: v23.4.1...v25.0.0

23.4.1

07 Jan 01:47
a152ec2

Choose a tag to compare

What's Changed

🐛 Bug Fixes

Full Changelog: v23.4.0...v23.4.1

23.4.0

23 Dec 15:16
fc6745f

Choose a tag to compare

Stellar CLI v23.4.0

We're excited to announce Stellar CLI v23.4.0! This release focuses on improving the installation experience, enhancing error messages, and giving you more control over your CLI configuration.

🚀 Highlights

Easier Installation with One-Line Install Script

Getting started with Stellar CLI is now easier than ever! We've added a new installation script that automatically detects your platform and installs the latest version with a single command:

curl -fsSL https://github.com/stellar/stellar-cli/install.sh | sh

The installer supports multiple installation modes:

  • System-wide installation (default): Installs to /usr/local/bin
  • User installation (--user flag): Installs to ~/.local/bin without requiring sudo
  • Custom directory (--dir flag): Install anywhere you want

This provides a simpler alternative to package managers, especially for Linux users.

Better Configuration Management

You now have complete control over your CLI defaults with new unset commands:

  • stellar keys unset - Remove your default identity when you want to work without a preset account
  • stellar network unset - Clear your default network configuration

These commands make it easy to reset your environment and work more flexibly across different contexts.

Address Encoding & Decoding with strkey Command

You can now encode and decode Stellar addresses directly from the CLI with the new stellar strkey command. This is particularly useful when you need to extract and work with the raw payloads within Stellar addresses.

Clearer Error Messages

We've improved error reporting to help you troubleshoot issues faster:

  • Ledger device errors now provide specific, actionable error messages instead of generic failures, making it much easier to diagnose and fix common issues
  • Account funding errors are now properly reported when using --fund with stellar keys generate, so you'll immediately know if friendbot is unavailable

Installation

Get the latest version using our new installer:

curl -fsSL https://github.com/stellar/stellar-cli/install.sh | sh

Or upgrade using your preferred package manager.

Full Changelog: v23.3.0...v23.4.0

23.3.0

05 Dec 00:25
08473ac

Choose a tag to compare

✨ New Features

  • Add stellar snapshot merge to merge several snapshots into one file
  • Print all env vars prefixed with STELLAR

🐛 Bug Fixes

  • Fix help generation for recursive custom types
  • Revert ts-binding option type change
  • Properly handle $STELLAR_CONFIG_HOME and $STELLAR_DATA_HOME
  • Pass 'quiet' value through to config.sign
  • Do not show warning if local dir is pointing to global dir

⚡ Improvements

  • Add bulk memory feature for wasm optimization
  • Link to Stellar Lab after deploying contract, so users can interact with it
  • Move upgrade check file to data directory

Full Changelog: v23.2.1...v23.3.0

23.2.1

19 Nov 17:53
496ac35

Choose a tag to compare

🐛 Bug Fixes

  • 🔧 Fix argument parsing for some types: Fixed invalid hash argument parsing for bytes, bytesn, timepoint, and duration types when invoking contracts. This resolves issues where certain data types weren't being parsed correctly from command-line arguments. (#2295) by @mootz12

  • 🔐 Fix Soroban auth signing for secure store keys: Resolved authentication signing issues when using secure store keys, improving the reliability of contract invocations with stored credentials. (#2230) by @elizabethengelman

  • 📝 Fix TypeScript bindings transaction option type: Corrected the transaction option type in generated TypeScript client bindings, ensuring proper type safety in JavaScript/TypeScript projects. (#2283) by @chadoh

✨ Features & Enhancements

  • 📦 Add contract instance to ledger entry fetch: Introduced new --instance flag for the ledger entry fetch contract-data command, making it easier to retrieve a contract's WASM hash based on its contract ID or alias. This simplifies contract inspection workflows. (#2269) by @elizabethengelman

Full Changelog:
v23.2.0...v23.2.1

23.2.0

14 Nov 04:43
8c559e8

Choose a tag to compare

🆕 New Features

New Commands & Capabilities

  • 📡 stellar tx fetch events — Fetch and inspect events from transactions with ease
  • 🔑 ledger entry fetch — Retrieve ledger entries directly from the network
  • 📚 Improved Help Documentation — CLI options are now organized into logical sections for better discoverability

🛠️ Enhanced Developer Experience

Contract Building & Optimization

  • 🎯 Better Contract Optimization — Use stellar contract build --optimize for streamlined contract building
  • 🏷️ CLI Version Injection — Automatically inject CLI version metadata into contracts during build
  • ⚙️ Instruction Leeway Parameter — New --instruction-leeway option added across multiple commands for finer control

Network Configuration

  • 🌐 Network-Aware TTL Settings — Max TTL extension now respects your network settings
  • 📋 RPC Header Documentation — Learn how to pass the --rpc-header option for advanced configurations

Debugging & Diagnostics

  • 🔍 Transaction Envelope Tracing — Enhanced simulation tracing for better debugging insights
  • 🏥 Improved stellar doctor — Now includes data directory information for better diagnostics
  • ⚠️ Better Error Messages — Container error messaging is more helpful and actionable
  • 💬 Clearer Deprecation Warnings — Users are now better informed about deprecated commands and switches

🔐 Security & Data Integrity

  • 🛡️ Key Management Safetystellar keys add no longer overwrites existing keys unless explicitly requested with --overwrite
  • 🗂️ Snapshot Cache Protection — Ensured snapshot bucket cache cannot be corrupted
  • 🦀 rust 1.91.0this version can have issues with wasms and has been blocked from building contracts.

🗑️ Deprecations Notice

Please update your workflows:

  • stellar contract optimize → Use stellar contract build --optimize
  • stellar --list → Use stellar plugin ls

📦 Under the Hood

Quality & Stability Improvements

  • 🐛 Fixed action execution on Windows
  • 📝 Updated and corrected documentation links
  • 🎨 Added emoji support for unknown terminals
  • 📌 Plugin list now excludes duplicate entries
  • ⚡ Made --cost functionality fully operational

Documentation Enhancements

  • 📚 New stellar-keys.mdx documentation guide
  • 📖 Cookbook updates for contract uploads and metadata
  • 🔗 Clarified asset format documentation
  • ✏️ Improved error handling documentation for contract invocation arguments

Build & Development

  • 📋 Updated RUSTFLAGS warning to suggest CARGO_BUILD_RUSTFLAGS

📊 Full Changelog

Total Changes: 40+ improvements and additions

View the complete changelog: v23.1.4...v23.2.0

23.1.4

02 Oct 23:37
4b99a25

Choose a tag to compare

What's Changed

✨ New Features

  • Add stellar tx new liquidity-pool-deposit and stellar tx op add liquidity-pool-deposit by @fnando in #2209
  • Add ledger seq number to stellar tx fetch output by @elizabethengelman in #2193
  • Add stellar tx new liquidity-pool-withdraw and stellar tx op add liquidity-pool-withdraw by @fnando in #2212
  • Add stellar tx new begin-sponsoring-future-reserves and stellar tx new end-sponsoring-future-reserves (and tx op add counterparts) by @fnando in #2213
  • Add stellar tx new revoke-sponsorship and stellar tx op add revoke-sponsorship by @fnando in #2215
  • Add support for identities as signer on tx new set-options by @fnando in #2216
  • Add WASM fetch by hash support by @leighmcculloch in #2225

🐛 Bug Fixes

🔧 Improvements

Full Changelog: v23.1.3...v23.1.4

23.1.3

12 Sep 20:40
dde778f

Choose a tag to compare

🆕 New Transaction Commands

  • Transaction Decoding/Encoding: Added new stellar tx decode and
    stellar tx encode subcommands to convert transaction XDR between base64 and
    JSON formats, making it easier to inspect and modify transactions
  • Asset Clawback Support: Added comprehensive clawback functionality:
    • stellar tx clawback - Clawback assets from account holders (requires
      clawback-enabled assets)
    • stellar tx clawback-claimable-balance - Clawback claimable balances by
      their balance ID
    • Both commands are also available via stellar tx op add for building
      multi-operation transactions

⚡ Performance & User Experience Improvements

  • Optimized Contract Invocations 🚀: Contract simulations now run only once
    per invocation, reducing execution time and network requests
  • Improved Linux Keyring Support 🐧: Fixed keyring integration issues on
    Linux systems for better credential storage

🐛 Bug Fixes

  • Updated RPC client integration to support the latest Stellar RPC requirements

Full Changelog:
v23.1.2...v23.1.3