This release includes breaking changes for platform teams planning a safe upgrade.
Published 2d
Configuration Management
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
cli
dev-ops
ratatui
rust
sftp
ssh
+3 more
ssh-client
ssh-manager
tui
Summary
AI summaryUpdates Packaging, Internal, and Bug Fixes across a mixed release.
Full changelog
Features
- OmnySSH Desktop — a new native GUI app. A desktop application built on the same engine as the TUI, sharing your
hosts.tomlandsnippets.toml. It bundles a live metrics dashboard, a multi-session terminal, an SFTP file manager, command snippets, host management, one-click SSH key setup, a command palette, and light/dark themes. Distributed as native installers (macOS.dmg, Linux.AppImage/.deb, Windows.exe). The TUI is unchanged and still installs the same ways. macOS builds are unsigned — on first launch right-click the app and choose Open (or install viainstall.sh, which sidesteps the Gatekeeper prompt). - File manager hidden-file toggle (
.): show or hide dot-prefixed entries (hidden by default). The..parent entry is always shown. - Nerd Font file icons in the file manager: per-type glyphs replace the
[DIR]/[ ]markers. Requires a Nerd Font — without one the glyphs render as empty boxes.
Changed
- Terminal next-tab moved from
TabtoCtrl+N, freeingTabfor the shell's own completion inside the embedded terminal. - File manager
h/Leftnow navigates to the parent directory (previously moved the cursor up), matchingranger/lf/nnn/vifm. Returning to a parent places the cursor on the directory just left.
Bug Fixes
- The terminal now handles Cyrillic and other multibyte text. OmnySSH forwards a UTF-8 locale (and the
IUTF8PTY mode) to the remote shell, mirroring a normal ssh client'sSendEnv LANG LC_*. Previously the session could fall back to a single-byte locale, so line editing corrupted the prompt on Cyrillic input and editors likevimrendered mojibake (plaincatwas fine). Applies to both the TUI and GUI terminals. Best-effort — servers that don't accept forwarded env vars are unaffected.
Packaging
- Release builds now ship the GUI. CI bundles native desktop installers for macOS (arm64 + x86_64), Linux x86_64 (
.AppImage+.deb), and Windows x86_64, attached to each GitHub Release alongside the TUI archives and covered bySHA256SUMS. install.shcan install the GUI, the TUI, or both via--gui/--tui/--both(orOMNYSSH_INSTALL=…); it prompts when run interactively and defaults to the GUI (the flagship app) for pipedcurl | sh.
Documentation
- CONTRIBUTING now documents the
omnyssh-guicrate and how to build/test the GUI with the Node/Tauri toolchain. - Documented the Auto SSH Key Setup feature (
Shift+K): added a README Features entry, a Quick Start key reference, and a Help popup shortcut. The feature already existed but was undiscoverable. - README "Development Roadmap" now lists the current
1.1.0release (and1.0.5); it previously stopped at1.0.4. - Removed the dead
connectkeybinding from theconfig.tomlexample and the[keybindings]config struct. Enter-to-connect was always hard-coded, so the field never had any effect.
Internal
- Repository converted to a cargo workspace; the engine now lives in its own crate: The SSH engine, host/snippet/app configuration, metrics parsers, domain events, and the self-updater moved into the new
omnyssh-corelibrary crate (crates/omnyssh-core), which has no dependency on terminal-UI or CLI crates. The TUI application keeps theomnysshpackage name and theomnybinary (crates/omnyssh) and consumes the core as a regular dependency. This prepares the architecture for additional frontends (e.g. a GUI) without duplicating the engine.- The event bus is split: background tasks emit
CoreEventvalues; the TUI wraps them into its ownAppEventstream alongside input events. threshold_colorwas replaced by a UI-agnosticThresholdLevelin the core; the colour mapping moved to the TUI theme module.- Keybinding parsing (config strings → key codes) and PTY key-to-bytes translation moved from the engine into the TUI crate; the core PTY API accepts raw bytes only.
- Removed the unused
nucleodependency. - No user-facing changes: behavior, appearance, the binary name, and install paths are unchanged.
- The event bus is split: background tasks emit
- Removed leftover Alerts/Deep Probe remnants: Deleted the unused
[smart_context]config (SmartContextConfigwas parsed but never read) and reworded stale "Deep Probe" comments left after the subsystem was removed in 1.0.5. No user-facing change — existing config files containing a[smart_context]section still load, as the section is ignored.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About OmnySSH
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]