Skip to content

OmnySSH v1.0.2

Choose a tag to compare

@github-actions github-actions released this 20 May 05:58
c8e2348

Features

  • Automatic update checks: On startup OmnySSH checks GitHub Releases for a newer version and shows a popup when one is available. You can install the update, skip that version, or disable checks entirely. Failed or offline checks are silent and never delay startup.
  • In-app self-update: For manual / install.sh installs on Linux and macOS, an update can be downloaded and installed from within the app — the release archive is verified against its SHA-256 checksum before the binary is replaced. Homebrew, Cargo, and Nix installs instead show the matching upgrade command.
  • Top processes on the detail page: The server detail view now shows the three busiest processes by CPU usage, along with their CPU and memory percentages.

Bug Fixes

  • Windows double input fixed: Each keystroke is now registered once instead of twice (e.g. "j" no longer produced "jj"). Key-release events reported by the Windows console are no longer treated as input.
  • Ubuntu 22.04 compatibility: Linux release binaries are now built against an older glibc, fixing the version 'GLIBC_2.39' not found error when running on Ubuntu 22.04 and similarly aged distributions.
  • Mouse scroll inside full-screen apps fixed: On the Terminal screen, the mouse wheel now scrolls inside vim, less, htop, and other alternate-screen apps. The wheel is forwarded to the foreground application — as native mouse-wheel events when it enabled mouse reporting, or as cursor-key presses otherwise. The normal screen still scrolls local scrollback.
  • Multi-line paste into the terminal fixed: Bracketed paste is now implemented. Pasting multi-line text into the Terminal screen no longer drops the first characters, and editors like vim insert it verbatim without cascading auto-indent.
  • Top processes exclude OmnySSH's own connection: The detail-page top-processes panel no longer lists OmnySSH's metric-polling SSH connection. Its sshd process chain is filtered out by PID, so an idle server shows real workload while SSH sessions from other users still appear.
  • Bracketed paste restored after system SSH: Connecting to a host via the system ssh binary no longer leaves bracketed paste disabled on return, so multi-line paste into the terminal keeps working.
  • Host keys are now verified: A server's host key is recorded in ~/.ssh/known_hosts on first connection (trust on first use). A later key change — or an unreadable known_hosts — refuses the connection instead of silently accepting an unverified key.
  • Password authentication reliably disabled: Auto SSH Key Setup now adds the PasswordAuthentication, UsePAM, and challenge/keyboard-interactive directives when sshd_config omits them, so password login is disabled even on configs that previously relied on compiled-in defaults.
  • System SSH launch failure no longer quits the app: If the ssh binary cannot be started, OmnySSH restores the TUI and reports the error in the status bar instead of exiting.
  • Remote command exit status honoured: SSH command execution now exposes a non-zero remote exit status; the key-setup sudo check uses it to detect missing sudo access correctly.

Other

  • Release archives are now published alongside a SHA256SUMS checksum file.
  • Internal refactor: The oversized app.rs was split into focused submodules under src/app/ (host, snippets, file manager, terminal, update, input, and action dispatch). This is a pure code reorganization with no change in behaviour.
  • Test coverage: Added unit tests for previously untested core logic — snippet parameter substitution, host/snippet form validation, the SSH-config/manual host merge, hosts.toml serialization, form-field UTF-8 editing, host/snippet filtering and sorting, file-panel selection, and terminal pane state.