Ledger hardware wallets, end-to-end
- Derive and display addresses with
stellar keys address --ledger(#2557). - Fund accounts directly from Ledger-derived public keys with
stellar keys fund --ledger(#2558). - Register Ledger identities with
stellar keys add --ledger(#2563). - Pick the derivation path consistently with
--hd-pathacross all of the above (#2539, #2540). - Sign contract authorization entries from Ledger identities, enabling multi-auth contract invocations entirely from a hardware wallet — no secret material ever leaves the device (#2569).
Smaller wasm by default
stellar contract buildnow optimizes wasm output by default (#2581).- The
--optimizeflag is no longer required — what comes out ofbuildis production-ready bytecode you can deploy as-is.
New: stellar contract info hash
- Returns the wasm hash for a deployed contract (#2576).
- Useful for scripting verification flows, comparing deployments across networks, or confirming that two contracts run the exact same bytecode.
Organized, discoverable help output
--helpoutput now groups flags into logical sections instead of dumping them in a single flat list (#2567).- Finding the right network, signing, output, or identity flag is much faster — especially for high-surface commands like
contract invoke.
Security hardening across the board
This release closes a number of paths where secrets, credentials, or untrusted input could surface in places they shouldn't:
- Secret values are no longer echoed in error messages, help output, signing previews, or RPC headers.
- Passwords embedded in RPC URLs are redacted in cached config, network display output, and the remaining places URLs were printed.
- Config, cache, and identity files are now created with
0600permissions, and permissions are correctly reset when overwriting via--config-dir. STELLAR_SECRET_KEYis validated before being persisted and is rejected entirely when--secure-storeis in use, preventing accidental disk writes of secret material.- Keyring entries are cleaned up properly when overwriting a key, eliminating stale credential leftovers.
stellar tx editis hardened against temp-file swap attacks, andstellar contract build --print-commands-onlynow shell-escapes its output so it can be safely piped into a shell.- Authorization entries are validated before signing, and the transaction source is no longer silently mixed into auth signing logic.
- Several dependency advisories were addressed (rustls-webpki, astral-tokio-tar, and others).
Quality-of-life and bug fixes
- Identity aliases now resolve inside nested
invokearguments (#2552). - The CLI hints when a contract ID looks like a wasm hash (#2550).
- Secure-store public keys are cached in identity files, so you don't re-hit the keyring on every read (#2533).
--hd-pathis now persisted on plain seed-phrase keys (#2540).--docker-hostis honored for TCP/HTTP Docker connections (#2503).- Control characters in signed messages are escaped in previews.
- Fixed a panic when the global config directory didn't exist.
- Fixed an early-EOF bug in
SkipWhitespaceon whitespace-only chunks.
New Contributors
- @gabrielrondon made their first contribution in #2461
Full Changelog: v26.0.0...v26.1.0