Releases: stellar/stellar-cli
23.4.0
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 | shThe installer supports multiple installation modes:
- System-wide installation (default): Installs to
/usr/local/bin - User installation (
--userflag): Installs to~/.local/binwithout requiring sudo - Custom directory (
--dirflag): 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 accountstellar 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
--fundwithstellar 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 | shOr upgrade using your preferred package manager.
Full Changelog: v23.3.0...v23.4.0
23.3.0
✨ New Features
- Add
stellar snapshot mergeto 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_HOMEand$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
🐛 Bug Fixes
-
🔧 Fix argument parsing for some types: Fixed invalid hash argument parsing for
bytes,bytesn,timepoint, anddurationtypes 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
--instanceflag for theledger entry fetch contract-datacommand, 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
🆕 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 --optimizefor streamlined contract building - 🏷️ CLI Version Injection — Automatically inject CLI version metadata into contracts during build
- ⚙️ Instruction Leeway Parameter — New
--instruction-leewayoption 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-headeroption 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 Safety —
stellar keys addno longer overwrites existing keys unless explicitly requested with--overwrite - 🗂️ Snapshot Cache Protection — Ensured snapshot bucket cache cannot be corrupted
- 🦀 rust 1.91.0 — this version can have issues with wasms and has been blocked from building contracts.
🗑️ Deprecations Notice
Please update your workflows:
stellar contract optimize→ Usestellar contract build --optimizestellar --list→ Usestellar 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
--costfunctionality fully operational
Documentation Enhancements
- 📚 New
stellar-keys.mdxdocumentation 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
What's Changed
✨ New Features
- Add
stellar tx new liquidity-pool-depositandstellar tx op add liquidity-pool-depositby @fnando in #2209 - Add ledger seq number to
stellar tx fetchoutput by @elizabethengelman in #2193 - Add
stellar tx new liquidity-pool-withdrawandstellar tx op add liquidity-pool-withdrawby @fnando in #2212 - Add
stellar tx new begin-sponsoring-future-reservesandstellar tx new end-sponsoring-future-reserves(andtx op addcounterparts) by @fnando in #2213 - Add
stellar tx new revoke-sponsorshipandstellar tx op add revoke-sponsorshipby @fnando in #2215 - Add support for identities as signer on
tx new set-optionsby @fnando in #2216 - Add WASM fetch by hash support by @leighmcculloch in #2225
🐛 Bug Fixes
- Fix
stellar contract restoreto allow other ledger entry patterns by @elizabethengelman in #2199 - Filter out the constructor from invoke command function list by @sagpatil in #2186
🔧 Improvements
- Fetch snapshot values dynamically rather than hardcoding them by @fnando in #2219
- Append custom meta entries in one section by @elizabethengelman in #2229
- Update soroban sdk version in contract template by @leighmcculloch in #2206
Full Changelog: v23.1.3...v23.1.4
23.1.3
🆕 New Transaction Commands
- Transaction Decoding/Encoding: Added new
stellar tx decodeand
stellar tx encodesubcommands 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 addfor 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
23.1.2
Release Notes v23.1.2
🔧 Improvements & Fixes
Enhanced Transaction Operations
- Complete
tx op addSupport - Added missing operations tostellar tx op addcommand, providing comprehensive transaction operation building capabilities:claim-claimable-balance- Add claim claimable balance operations to transactionscreate-claimable-balance- Add create claimable balance operations to transactionscreate-passive-sell-offer- Add passive sell offer operations to transactionsmanage-buy-offer- Add buy offer management operations to transactionsmanage-sell-offer- Add sell offer management operations to transactionspath-payment-strict-receive- Add strict receive path payment operations to transactionspath-payment-strict-send- Add strict send path payment operations to transactions
Technical Updates
- Dependencies - Upgraded dependencies to match Protocol 23 stable releases.
Full Changelog: v23.1.1...v23.1.2
23.1.1
🎉 What's New
New Transaction Operations
We've significantly expanded the transaction operation support with several new stellar tx new commands:
stellar tx new claim-claimable-balance- Claim claimable balance operationsstellar tx new create-claimable-balance- Create claimable balance operations with comprehensive predicate supportstellar tx new manage-sell-offer- Create and manage sell offers on the DEXstellar tx new manage-buy-offer- Create and manage buy offers on the DEXstellar tx new create-passive-sell-offer- Create passive sell offersstellar tx new path-payment-strict-send- Path payments with strict send amountsstellar tx new path-payment-strict-receive- Path payments with strict receive amounts
New Features
- Ledger Fetching (
stellar ledger fetch) - Fetch ledger information and data - Network Information - Enhanced network info commands for better network management
- Contract Bindings - Added support for Flutter, Swift, and PHP contract bindings generation
- Restore Command Improvements - Transaction simulation now runs in restore command for better reliability
Documentation & Examples
- Asset Management Cookbook - Comprehensive guide and examples for managing Stellar assets
- Updated Deployment Recipes - Deploy-contract recipe now uses alias for improved workflow
- GitHub Copilot Integration - Added comprehensive development instructions for AI-assisted development
🔧 Improvements & Fixes
Bug Fixes
- Fixed muxed account parsing issues
- Fixed constructor input handling when inputs are empty
- Handled missing arguments gracefully in
stellar tx fetch - Support for single change format in restore metadata parsing
Technical Improvements
- Enhanced EventV0 specs generation for consistent bindings
Developer Experience
- Better error handling and graceful degradation
- Improved test coverage and reliability
- Enhanced debugging capabilities with better simulation
- Streamlined build and deployment processes
Full Changelog: v23.0.1...v23.1.1
23.0.1
🎉 New Features
stellar doctor: New troubleshooting command to help diagnose common issues (#2114)stellar fee-stats: Added command to display network fee statistics (#2054)stellar network settings: New command for managing network configuration settings (#2100)
🛠️ Improvements
- Performance: Optimize processing of multiple WASM files at once (#2103)
- Configuration: Moved all configuration to global config directory for better organization (#2079)
- Lab environment: Start lab by default when running the quickstart image for improved developer experience (#2084)
- Build optimization: Avoid detecting contracts as read-only when build-only flag is set (#2111)
🐛 Bug Fixes
- Fee calculations: Fixed resource & inclusion fees for fee bump transactions wrapping smart contract transactions (#2108)
- Version checking: Fixed version check caching mechanism (#2113)
- Contract simulation: Only simulate invocation when absolutely necessary to improve performance (#2112)
- Address display: Fixed how addresses are displayed in various commands (#2102)
- Key name display: Fixed key name display issues (#2083)
💬 User Experience
- Better messaging: Improved override message when replacing contract aliases (#2107)
- Config deprecation: Fixed how config directory is displayed in deprecation messages (#2106)
- Warning messages: Tweaked deprecation warning message text for clarity (#2105)
- Container guidance: Updated container log and stop command suggestions (#2096)
23.0.0
What's Changed
- Feat/tx fetch by @elizabethengelman in #2035
- Fix typo in alias not found error message format by @Copilot in #2062
- Feat/only fee by @elizabethengelman in #2040
- default to testnet when no network specified by @sagpatil in #2055
- Add comprehensive unit tests for ScVal type conversions by @Copilot in #2057
- Make
stellar tx newsubcommand help text concise and readable by @Copilot in #2067 - Fix/refactor signing paths by @elizabethengelman in #2065
- Add support for Protocol 23. by @fnando in #2044
- Bump version to 23.0.0 by @github-actions[bot] in #2072
New Contributors
- @Copilot made their first contribution in #2062
Full Changelog: v22.8.2...v23.0.0