Skip to content

Releases: michael-ltm/sshm

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 09 Sep 18:07

Changelog

  • 4377f7f: build: pin installers to signed preview 31 assets ( <>)
  • 911a82e: build: pin signed preview 32 installers ( <>)
  • 2a92760: build: pin signed preview 33 installers ( <>)
  • f180582: build: pin signed preview 34 installers (Claude Code noreply@anthropic.com)
  • 7cf8f30: feat: add encrypted cloud management and cross-platform terminal UI ( <>)
  • 9526fee: feat: add guided pairing and safe inventory lifecycle ( <>)
  • fddb873: feat: pair public-IP servers without a callback; tidy home/add UI and rm (Claude Code noreply@anthropic.com)
  • 5104ade: feat: rm and TUI delete offer a local+cloud tombstone (Claude Code noreply@anthropic.com)
  • 4088b70: fix: define StartSessionAgent for Windows so the client cross-compiles (Claude Code noreply@anthropic.com)
  • 3775b8d: fix: enforce safe pairing command bounds (@michael-ltm)
  • cbbdf63: fix: execute opted-in macOS commands in the user's desktop keychain session ( <>)
  • 5835243: fix: harden Windows pairing service startup ( <>)
  • d34fdcd: fix: make POSIX pairing copy-safe ( <>)
  • 50ff83a: fix: resolve user execution environments and diagnose session authorization ( <>)
  • 30f835d: fix: restore SSH after vault unlock without re-encrypting keys ( <>)
  • 430abdc: fix: scope desktop delegation to GitHub credentials and preserve SSH file access ( <>)
  • 3657643: fix: support OpenSSH 10.5 pairing (@michael-ltm)
  • 3ac3c2c: fix: verify copy-id auth and prompt exec passwords ( <>)

sshm v0.7.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 13:10

Highlights

Interactive server management

  • sshm list / sshm ls now opens a keyboard-driven server manager in a TTY.
  • Select a host with the arrow keys, then connect, inspect, test reachability, add or edit descriptions, change the remote password in a direct PTY, set the default host, create hosts, or delete with confirmation.
  • --plain keeps deterministic table output for scripts, pipes, and AI tooling.

AI-safe host discovery

  • Servers now have first-class description, group, and tags metadata.
  • The new read-only find_servers MCP tool ranks hosts by intent without exposing private notes.
  • AI-visible metadata is bounded and rejects credential-like content; --redacted provides share-safe JSON.

Safer destructive and credential operations

  • CLI deletion requires typing the exact alias unless --yes is explicitly supplied.
  • MCP deletion requires an exact confirm_alias, is audited, and refuses to remove hosts referenced by project profiles.
  • Remote password changes run directly inside an SSH PTY. Password bytes never enter MCP payloads, config files, audit logs, or chat.
  • Terminal rendering strips control sequences to reduce terminal-output injection risks.

Project profiles and remote workflows (included since v0.5.1)

  • Version-3 project profiles capture the server, local root, remote workspace/run root, artifact path, shell, build command, and verification command.
  • New MCP tools: list_projects, get_project, upsert_project, and exec_project.
  • Detached jobs and tail_logs now work across POSIX and Windows remotes.
  • The bundled sshm skill adds lower-token project workflows plus authorized remote reverse/dynamic-debug guidance.

Compatibility

  • Existing version-2 configuration files load without implicit migration and upgrade only when saved.
  • Existing server-only CLI and MCP tool names remain available.

Release artifacts

  • macOS: amd64, arm64
  • Linux: amd64, arm64
  • Windows: amd64, arm64
  • checksums.txt contains SHA-256 checksums for every archive.

Full details: CHANGELOG.md

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 03:15

Changelog

  • b5a5370: feat: improve ssh diagnostics and transfers ( <>)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 19:08

Changelog

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 03 Jul 13:48

Changelog

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 02:06

Changelog

  • 1befb44: feat(ssh): proxy/VPN-aware dialing with retry fallback (Claude Opus 4.8 (1M context) noreply@anthropic.com)
  • d1f3e13: feat(ssh): support authenticated SOCKS5 proxies ( <>)
  • ee016c4: test(ssh): skip known_hosts perm assertions on Windows ( <>)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Jun 16:43

Changelog

  • 8e17df7: feat(mcp): add upload/download tools via sftp (Claude Opus 4.8 (1M context) noreply@anthropic.com)
  • f52398b: feat(mcp): timeout_seconds, partial-output-on-timeout, output cap, parallel exec_multi, detach (Claude Opus 4.8 (1M context) noreply@anthropic.com)
  • b47248d: feat(security): verify host keys via TOFU by default (Claude Opus 4.8 (1M context) noreply@anthropic.com)
  • d73a0c7: fix(concurrency): serialize config RMW and audit appends ( <>)
  • b9ad1d7: fix(mcp): infer auth=key when add_server is given key_path (@michael-ltm)
  • b7d3c34: fix(mcp): thread request ctx, deterministic list, version var, gen_key auth, ProbeMany cancel ( <>)
  • 4507d52: fix(plugin): make the repo a valid Claude Code marketplace ( <>)
  • 7f47a90: fix(plugin): plugin.json author must be an object (Claude Opus 4.7 (1M context) noreply@anthropic.com)
  • a323e5e: fix(safety): block flagless shred /dev/*, stop IPv6 regex masking MACs ( <>)
  • 00f94cf: fix(safety): broaden secret masking and dangerous-command filter (Claude Opus 4.8 (1M context) noreply@anthropic.com)
  • 2488b48: style: gofmt test files ( <>)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 May 09:47

Changelog

  • a740b65: chore(mcp): go mod tidy — mcp-go is a direct dependency ( <>)
  • 4d75bd6: docs(plugin): correct add_server required-args in quick-reference ( <>)
  • c1e8b45: feat(bootstrap): embedded hardening script + runner ( <>)
  • 0720649: feat(cli): sshm init ( <>)
  • 09fcaff: feat(cli): sshm mcp — start the stdio MCP server ( <>)
  • ff97f70: feat(cli): sshm status ( <>)
  • 1e9486d: feat(mcp): exec + exec_multi tools with safety filter ( <>)
  • 5d0e8c8: feat(mcp): ops tools (bootstrap/gen_key/copy_id/tail_logs) ( <>)
  • c653e42: feat(mcp): read-only tools (list/get/test/status) ( <>)
  • 7f3f44c: feat(mcp): server skeleton + mcp-go dependency ( <>)
  • aa8393c: feat(mcp): write tools (add/edit/remove server) ( <>)
  • 6d15dad: feat(plugin): Claude Code plugin sshm-skill ( <>)
  • 6e13a0b: feat(safety): append-only JSON-lines audit log ( <>)
  • b6eb34c: feat(safety): dangerous command pattern filter ( <>)
  • f5dfef7: feat(safety): sensitive data masking ( <>)
  • fd5282a: feat(status): rich remote snapshot collector ( <>)
  • 59c9e65: fix(cli): init exits non-zero on incomplete bootstrap ( <>)
  • 7bc2f34: fix(mcp): audit records when exec bypassed the safety filter (Claude Sonnet 4.6 noreply@anthropic.com)
  • 9abc008: fix(mcp): edit_server applies auth/key_path; validate host/auth/port ( <>)
  • 1f0d189: fix(safety): catch rm -rf ~/ and uppercase -R; document guardrail scope ( <>)
  • c50ed5a: fix(test): portable mcp integration build, dedicated CI step (Claude Sonnet 4.6 noreply@anthropic.com)
  • d6d8c65: refactor(bootstrap): fix Run comment, wrap $PM, surface stderr (Claude Sonnet 4.6 noreply@anthropic.com)
  • d63271d: refactor(cli): status renders ports comma-separated, aligns flag help ( <>)
  • 9926972: refactor(mcp): mask test_connection error at the handler ( <>)
  • 7ca471d: refactor(status): brace-group uptime fallback, relax ports grep ( <>)
  • 92607b1: test(mcp): stdio integration test for the MCP server ( <>)
  • 9e2efc5: test(safety): audit test covers Result masking and timestamp ( <>)
  • fabcce1: test(safety): lock priv-key-first masking order; document over-masking ( <>)

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 21 May 08:06

Changelog