Release Ledger

Version History & Audit Log

Record of all additions, security fixes, transport migrations, and architectural revisions adhering to Semantic Versioning and Keep a Changelog.

v0.0.1 pre-release
Released: 2026-09-05 GitHub Release ↗

Added Features & Subsystems

  • +
    Native Erlang/OTP SSH Transport:

    Implemented direct Erlang :ssh, :ssh_connection, and :ssh_sftp transport layer. Completely eliminated external process shelling to the system ssh binary.

  • +
    Pluggable Auth Callback System:

    Added SSHClient.SSH.Auth supporting key identities (Ed25519, RSA, custom identity files), ssh-agent, passwords, and keyboard-interactive authentication with per-host priority ordering.

  • +
    Host Key Fingerprint Diff Flow:

    Added SSHClient.SSH.HostKeyVerifier with visual SHA-256 fingerprint diffing and reject-by-default logic on changed host keys.

  • +
    Interactive xterm.js Terminal Bridge:

    Embedded xterm.js container streaming over Phoenix Channel (TerminalChannel) to OTP PTYSession with PTY resize notifications and bracketed paste mode.

  • +
    Cross-Platform Desktop Window Shell:

    Integrated elixir-desktop / SSHClient.Window using WebView2 on Windows and WebKitGTK on Linux.

  • +
    Host Management & Importers:

    Added user@host:port quick-add parser, automatic ~/.ssh/config deduplicated importer, and ranked in-memory fuzzy search.

  • +
    OS Keychain Integration:

    Windows Credential Manager port and Linux Secret Service (libsecret) backend. Decrypted private key passphrases cached strictly in ephemeral memory.

  • +
    Telemetry & Remote Operations:

    Focus-aware polling loop with idle backoff for CPU/RAM/disk metrics, remote service manager (systemd, Docker, PM2) with action confirmations, and journalctl log streamer.

  • +
    Automated Packaging Pipeline:

    GitHub Actions matrix CI covering unit tests on Windows & Ubuntu, Docker OpenSSH target tests, and automated packaging of Windows x64 .zip and Linux x64 .tar.gz release assets on tag push.

Bug Fixes & Hardening

  • ~
    Windows Socket Fallback:

    Resolved Unix domain socket path errors on Windows by implementing graceful fallback to localhost loopback ports.

  • ~
    Erlang Charlist Hostname Handling:

    Fixed SSHClient.SSH.KeyCallback to transparently accept Erlang charlists or Elixir binaries for hostnames.

  • ~
    Encoding Sanitization:

    Stripped UTF-8 Byte Order Marks (BOM) across all project files to satisfy POSIX build standards.

  • ~
    Fuzzy Search Scoring:

    Fine-tuned word boundary penalty calculations for 2-character queries to prevent false negative rankings.

Project Governance & Renaming

  • Namespace & Project Rename:

    Renamed application to :ssh_client and top-level modules to SSHClient.*.

  • Decoupled Omarchy/QML Shell:

    Removed Linux-only Quickshell/QML bar widget dependencies in favor of cross-platform Phoenix LiveView + elixir-desktop.

v0.1.0 historical origin

Precursor project originated as omarchy-server, an agentless SSH monitoring daemon and QML bar widget for Omarchy/Hyprland on Linux desktop environments. Contained initial Unix domain socket JSON API, init-system detection, and standalone PTY daemon.