Skip to content

Releases: danilo-aguiar-br/ssh-cli

ssh-cli v0.5.2

Choose a tag to compare

@danilo-aguiar-br danilo-aguiar-br released this 20 Jul 14:58

ssh-cli 0.5.2

Agent-first SSH CLI for LLMs: SFTP subsystem, SSH-over-TLS / mTLS / ACME, domain types, and residual agent contracts.

Highlights

  • SFTP (sftp upload|download|ls|mkdir|rmdir|rm|stat|rename) with optional --recursive, schemas, and multi-host fan-out
  • TLS feature: SSH-over-TLS, mTLS inventory, ACME account/issue/complete (exit 64 for permanent ACME validation errors)
  • CLI/XDG only: ambient RUST_LOG ignored (use -v); no product env secrets stores
  • Agent discovery: root schema + doctor; single vps-added document with secrets_key_auto_created
  • Domain / errors: newtypes, structured error_code, batch batch_run_id (UUID v7)
  • Residual gates: gaps_v052…gaps_v058

Install

cargo install ssh-cli --locked
# or
cargo install ssh-cli --version 0.5.2 --locked

Docs

ssh-cli v0.5.1

Choose a tag to compare

@danilo-aguiar-br danilo-aguiar-br released this 17 Jul 20:50

ssh-cli 0.5.1

Agent-first gap closure for export/import, wire schema v3, secrets CLI flags, and tunnel bind.

Highlights

  • vps export body is TOML by default (even on pipes); agent envelope with vps export --json (event: vps-export)
  • Import dual-read TOML EN+PT + JSON schema v3; invalid TOML → exit 65; added_at optional on import
  • Secrets: primary-key flags --allow-plaintext-secrets, --secrets-key-file, --use-keyring; JSON events secrets-init / secrets-reencrypt / secrets-key-auto-created
  • Tunnel --bind default 127.0.0.1; empty command → empty command exit 64; auth → exit 77
  • Include-secrets guard for stdout/pipe; doctor secrets_plaintext_opt_out as bool
  • Bilingual docs + skills updated; suite gaps_v051_integration

Install

cargo install ssh-cli --locked --force
ssh-cli --version

Links

v0.4.1 — AUD-POST export/tunnel/auth/scp

Choose a tag to compare

@danilo-aguiar-br danilo-aguiar-br released this 15 Jul 21:25

ssh-cli 0.4.1

PATCH release closing AUD-POST gaps after 0.4.0.

Fixed

  • Export redacted empty secret no longer emits sshcli-enc:v1:… for password "" (EXP-001). Empty secrets stay empty strings.
  • Tunnel one-shot deadline after local bind exits 0 (not 74) once tunnel_listening was emitted (TUN-002). Pre-bind timeout remains 74.

Added

  • tunnel auth parity: --password-stdin, --key-passphrase, --key-passphrase-stdin (CLI-005)
  • health-check auth parity: --password-stdin, --key, --key-passphrase[-stdin] (CLI-006)
  • SCP success JSON event: "scp-transfer" required in schema (IO-009)
  • Suite gaps_v041 + product-line/skills honesty (DOC-041)
  • health-check honors --replace-host-key and JSON error envelopes with --json

Install

cargo install ssh-cli --locked --force
ssh-cli --version

Notes

  • One-shot CLI: birth → execute → die
  • No telemetry
  • crates.io: ssh-cli 0.4.1

v0.4.0 — SCP wire fix + agent-first JSON

Choose a tag to compare

@danilo-aguiar-br danilo-aguiar-br released this 15 Jul 20:18

ssh-cli 0.4.0

Critical: crates.io 0.3.9 advertised SCP but the wire protocol was broken (literal \\n, empty ACK, missing remote status). Upgrade to 0.4.0.

Highlights

  • SCP wire protocol fixed (header newline 0x0a, ACK/EOF 0x00, remote status, path escape)
  • Regular files only (no recursive dirs / no SFTP)
  • Downloads via .ssh-cli.partial + atomic rename; mode/times on partial before rename
  • Upload streams in 32 KiB chunks (no full-file RAM load)
  • Bi-directional mtime/mode preserve (-tp/-fp)
  • scp --json → scp-transfer event + JSON error envelope
  • tunnel --json → tunnel_listening after local bind
  • Flag parity: timeout, key, password-stdin, key-passphrase(-stdin)
  • E2E E10–E14 + suite gaps_v040
  • Product-line docs honesty (DOC-004b/c/d)

Install

cargo install ssh-cli --locked

Links

No telemetry.

v0.3.6

Choose a tag to compare

@danilo-aguiar-br danilo-aguiar-br released this 15 Jul 15:41

ssh-cli 0.3.6

Default at-rest secret encryption (ChaCha20-Poly1305), secrets CLI, TOFU known_hosts, safe sudo packing, install crypto pins (GAP-014), bilingual docs/skills, and JSON schemas.

Install

cargo install ssh-cli --locked

Links

v0.3.3 — owner/repo migration

Choose a tag to compare

@danilo-aguiar-br danilo-aguiar-br released this 15 Jul 10:10

v0.3.3

Migration release after previous GitHub account ban:

Publish to crates.io follows separately.