docs: add v0.5.0 release notes

This commit is contained in:
mirivlad 2026-09-06 16:25:50 +08:00
parent d13d0f747d
commit a67e7143fa
1 changed files with 72 additions and 0 deletions

72
docs/releases/v0.5.0.md Normal file
View File

@ -0,0 +1,72 @@
# 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`.