# sshkeeper v0.5.0 — Persistent SSH Sessions v0.5.0 adds an optional multi-session workflow backed by `tmux`. It lets sshkeeper keep several interactive SSH connections alive in one terminal workspace without turning sshkeeper itself into a terminal emulator. `tmux` is intentionally optional. If it is not available, Sessions are not shown anywhere in the TUI and ordinary Connect/Tunnel workflows behave exactly as they did in v0.4.1. ## Persistent sessions When `tmux` is available in `PATH`: - **Server Actions → Open in session** opens the selected server in a persistent tmux window; - **Manage → Sessions** lists SSH windows created by sshkeeper; - `Enter` attaches to the selected session; - `Ctrl+D` closes it after confirmation; - `Ctrl+R` refreshes the list. If sshkeeper runs outside tmux, it uses a dedicated tmux workspace named `sshkeeper`. If it is already running inside tmux, new SSH windows are created inside the current tmux session rather than starting a nested client. ## Vault and authentication Sessions continue to use the existing sshkeeper/OpenSSH connection planner, including routes, bastions, identity files and startup commands. Key and SSH-agent sessions do not need a vault unlock. Password and key-passphrase sessions ask for the vault master password inside their own tmux window. Secrets are not copied through command-line arguments, environment variables or temporary shell scripts. ## Platform behavior Linux and macOS support Sessions when `tmux` is installed. On macOS it can be installed with Homebrew using `brew install tmux`. Native Windows builds keep Sessions hidden because upstream tmux is not a native Windows backend for this workflow. Windows users can use Sessions by running the Linux build inside WSL with tmux installed there. Linux native packages do **not** require tmux. Package metadata keeps OpenSSH as the hard dependency and marks tmux only as `Recommends`, so the application remains fully usable without the Sessions feature. ## Validation The release is covered by normal unit tests plus a real tmux lifecycle test that creates a temporary workspace/window, verifies sshkeeper can discover its metadata, closes it, and confirms it disappears. The release gate also runs `go vet`, Linux package migration tests and release cross-builds for Linux amd64/arm64, macOS amd64/arm64 and Windows amd64. GitHub CI additionally runs the test suite natively on both Ubuntu and macOS. ## Install Debian/Ubuntu (amd64): ```bash sudo apt install ./sshkeeper_0.5.0-1_amd64.deb ``` Fedora/RHEL-family (x86_64): ```bash sudo dnf install ./sshkeeper-0.5.0-1.x86_64.rpm ``` ARM64 packages and tar/zip archives are published alongside them. Verify downloads against `checksums.txt`.