v0.2.0
UniSSH 0.2.0 — the vault opens both ways, and the window is ours.
Highlights
Your data, portable. Export a whole vault — hosts, keys, snippets, recordings — to a single encrypted .unisshbak that opens with its passphrase alone: no account, no keyset, no server. Restore it into any instance, including one that isn't ours. Most clients compete on how much they can import; this release documents the way out.
Secrets keep their history. Every password and note retains its earlier values — a clock button lists them, newest first, and an old value reveals as deliberately as a live one.
Logins that used to be impossible. Two-factor keyboard-interactive prompts now reach you (one-time codes, push confirmations, forced password changes), and a host can authenticate through the system ssh-agent — FIDO/U2F tokens, smart cards, Secure Enclave, 1Password. Agent forwarding arrives deliberately narrow: one key, one confirmation per signature, and the prompt names where that signature would log in.
The terminal grew up. Session recording as encrypted asciicast v2 with replay and export; a synced snippet library with per-host startup commands; OSC 133 shell integration (jump between prompts, failed commands marked); opt-in GPU rendering; scrollback as a setting with no ceiling; an optional modern-only crypto policy — post-quantum KEX, Ed25519, AEAD only.
The window is ours. The native title bar is gone — the toolbar is the title bar, with window controls left of the logo on Windows and Linux. macOS keeps its real traffic lights, tiling menu included; the bar shapes itself to them and gives back their space in fullscreen.
Hosts feel finished. Right-click any host: connect, SFTP, group membership with one-click toggles. Selection is a frame, not a fill; sidebar numbers mean running now (terminals, active tunnels), not shelf stock; the auth picker explains every option in a sentence.
Wider builds. macOS universal (Apple Silicon + Intel), Linux ARM64, every Android ABI.
Breaking
The per-host tmux toggle is gone — it typed the attach into the PTY and raced the login. Replace it with a startup snippet on the same host: tmux new -A -s main. Existing profiles need no migration.
Vault format extended additively; server protocol unchanged. Upgrade the server first, as always. The full story, including what each change costs, is in CHANGELOG.md.
Downloads
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | UniSSH_0.2.0_universal.dmg |
| Windows (x86-64) | UniSSH_0.2.0_x64-setup.exe — or the .msi |
| Linux (x86-64) | UniSSH_0.2.0_amd64.AppImage · .deb · .rpm |
| Linux (ARM64) | UniSSH_0.2.0_aarch64.AppImage · arm64.deb · .rpm |
| Android (sideload) | UniSSH_0.2.0_universal.apk — works on any device |
| ↳ smaller, if you know your ABI | _arm64 · _armv7 · _x86_64 · _x86 .apk |
| iOS (sideload, unsigned) | UniSSH_0.2.0_ios-sideload.ipa |
Windows is x86-64 only — there is no ARM build for it. Every other
platform here covers both architectures.
Does this break anything you already have? The changelog answers that
per release, including whether the vault format or server protocol moved:
CHANGELOG.md.
Your OS will block the first launch. These builds carry no Apple or
Windows code-signing certificate — obtaining one would attach a legal
identity to an anonymously maintained project. The way past the warning is
ten seconds per platform:
Installing unsigned builds.
Verify it before you trust it. SHA256SUMS, a minisign signature
over that file, and GitHub build provenance proving this repo's public CI
built these exact artifacts from this exact commit — which is a stronger
claim than a certificate:
Verifying release integrity.
Desktop keeps itself current. After the first install, UniSSH checks
this feed, verifies the download against a signing key compiled into the
app, and installs on your click — never silently. Turn it off in
Settings → About. Mobile sideloads are updated by hand.
Full Changelog: v0.1.3...v0.2.0