Releases: WhiteRoseLK/neossh
Releases · WhiteRoseLK/neossh
Release list
v2.0.0
2.0.0 (2026-09-22)
⚠ BREAKING CHANGES
- core: preload and manage server state in-memory (#90)
Features
- cli: add --ssh-config-readonly flag to prevent modifying config (#52) (06fdce1)
- cli: add option to exit after an SSH session finishes (#50) (50e48be)
- cli: allow filtering or connecting directly via command line switch (#56) (04ad838)
- cli: scp command generator and clipboard helper (#79) (4bee8f9)
- config: add Git SSH key configuration and profile switcher (#64) (5f55122)
- config: configurable default identity SSH key for new servers (#83) (8232760)
- config: import hosts from ~/.ssh/known_hosts (#58) (b431f28)
- config: save server tags directly as SSH config comments (#57) (b98da74)
- config: support multiple aliases on a single Host line (#51) (5da3b08)
- config: support wildcard pattern blocks (#53) (c49b412)
- core: integrate native OS keyring and encrypted vault for credentials (#88) (c39fc5e)
- core: pre-connect command hooks and pre-SSH script execution (#80) (5a6d739)
- core: sshfs remote mount integration (#86) (7b9f1c9)
- core: support password authentication via sshpass or credential store (#87) (7403734)
- release: provide Windows Scoop package manifest (#85) (8910d27)
- ui: active background SSH sessions panel and process controls (#62) (205365b)
- ui: add ability to duplicate / clone existing server entry (#40) (a8ce2a1)
- ui: add shortcut K to install SSH key via ssh-copy-id (f68484e)
- ui: allow hiding specific hosts from the UI list (#60) (e40c51d)
- ui: automatically set terminal and tab title on SSH connection (#78) (25381ed)
- ui: display SSH error messages in UI when connection fails (#47) (62c34fb)
- ui: implement Ping All with visual status indicators (#36) (2c5fa4d)
- ui: improve keyboard navigation, focus borders, and confirmation dialogs (#59) (f4a1923)
- ui: internationalization framework and localization support (#65) (28b9fac)
- ui: paste SSH command from clipboard to create a server entry (#39) (1fe4be5)
- ui: server folders, nested grouping, and tmux session integration (#63) (b683e1e)
- ui: support Dark, Light, and System color themes with runtime toggle (#61) (5b49771)
Bug Fixes
- cli: format defer closures to satisfy gofmt and errcheck (b7b75b6)
- config: eliminate extra blank lines during edit operations (#42) (2945a77)
- config: skip directory matches in Include globs (#82) (da90951)
- config: use relative tilde paths for IdentityFile and UserKnownHostsFile (#44) (885667f)
- core: handle remote disconnects cleanly and prevent terminal hangs (#41) (9fb3516)
- parser: strip surrounding double quotes from Host alias entries (#76) (64f9b1e)
- ui: allow usernames starting with a digit in server form validation (#77) (54edffc)
Documentation
- add Arch Linux AUR installation instructions (#84) (40b01a9)
- enforce mandatory README updates in agent guidelines and PR template (#55) (97be399)
- fix README table formatting and update screenshots with neossh branding (#81) (8dd0120)
- highlight new features and bug fixes vs lazyssh in README (#38) (28be199)
- standardize issue templates and fix GitHub issue forms (#45) (98be4b5)
- update README with CLI options, new features, and keybindings (#54) (b7a9a4b)
Continuous Integration & Tooling
- allow main scope in semantic-prs for release-please PRs (5ed1864)
- auto-label new issues with needs-triage (#48) (705a960)
- configure changelog-sections in release-please-config.json (35c8b04)
- configure Google Release Please, CI workflows, and developer guidelines (ce285f6)
- deps: bump actions/checkout from 4 to 7 (#24) (54acde0)
- deps: bump actions/upload-artifact from 4 to 7 ([#21](https://github.com/White...
v1.0.0
neossh v1.0.0
Note
neossh is an actively maintained fork and continuation of lazyssh, created by Adembc.
Version 1.0.0 marks the official debut of neossh, integrating upstream community pull requests, long-awaited features, critical bug fixes, and seamless migration from lazyssh.
🚀 New Features & Enhancements
📂 Full SSH Config Include Directive Support
- Multi-file parsing: Hosts defined in included files (e.g.
~/.ssh/config.d/*) are recognized and displayed alongside main config entries. - Safe write routing: Editing or deleting a host modifies only the specific file where it is defined, preserving handcrafted formatting, comments, and structure elsewhere.
- Ambiguity modal: An interactive dialog prompts for the target file when duplicate aliases exist across files, remembering your choice in metadata.
- Upstream PR: adembc/lazyssh#112 by @DelphicOkami (with related work from adembc/lazyssh#60 by @malaiwah, adembc/lazyssh#76 by @aabichou, and adembc/lazyssh#117 by @barthofu).
🔍 Interactive Fuzzy Search
- Filter your server list in real-time by alias, hostname, IP address, or custom tags using the
/shortcut. - Upstream PR: adembc/lazyssh#59 by @malaiwah.
📋 One-Key SSH Command Copy
- Press
con any highlighted server to copy the full connection command (ssh user@host -p port) directly to your clipboard. - Upstream PR: adembc/lazyssh#87 by @levinion.
💾 Persistent Sort Preferences
- Sort mode changes (by alias, last SSH timestamp, or reverse order) are automatically remembered across restarts in
settings.json. - Upstream PR: adembc/lazyssh#88 by @gaoyifan.
⚙️ Custom SSH Config Path & XDG Compliance
- Custom config flag: Use
--sshconfig <path>to target an alternative SSH configuration file.- Upstream PR: adembc/lazyssh#84 by @omani (resolves adembc/lazyssh#83).
- XDG Base Directory: Honors
$XDG_CONFIG_HOMEand$XDG_STATE_HOMEfor configuration, metadata, and log paths when set.- Upstream PR: adembc/lazyssh#113 by @gonsalvesc (resolves adembc/lazyssh#21).
⌨️ Panel Navigation Shortcuts
- Quickly jump focus between panels with numeric keys:
1(Search),2(Server list),3(Details). - Upstream PR: adembc/lazyssh#102 by @k161196.
🔄 Seamless Migration from lazyssh
- Automatically detects and migrates existing server favorites, history, tags, and settings from
~/.lazysshto~/.neossh.
🐛 Bug Fixes
- Input handling: Fixed
Backspacebehavior in text inputs so it deletes characters instead of switching tabs (adembc/lazyssh#106 by @breakersun, fixing adembc/lazyssh#92). - Username validation: Username fields now accept
@and:characters (adembc/lazyssh#86 by @arniom, fixing adembc/lazyssh#85). - Navigation stability: Fixed an issue where
j/knavigation broke after a mouse click in the terminal (adembc/lazyssh#107 by @OlalalalaO). - Tag management: Fixed tag editing (
t) on newly added hosts and allowed removing the last remaining tag (adembc/lazyssh#115 by @manato-tajiri, fixing adembc/lazyssh#116). - Column alignment: Corrected server alias column formatting on wide terminals (adembc/lazyssh#97 by @leoncamel).
🔮 Roadmap & Deferred Upstream PRs
The following pull requests from the upstream repository are scheduled for future releases:
- Direct CLI SSH connection: adembc/lazyssh#109 (to be cleanly reimplemented).
- Features under review: adembc/lazyssh#98 (Git SSH keys), adembc/lazyssh#99 (server grouping + tmux), adembc/lazyssh#100 (themes), adembc/lazyssh#101 (active sessions), adembc/lazyssh#114 (localization), adembc/lazyssh#122 (keyboard navigation).
- Conflicting upstream PRs: adembc/lazyssh#33, adembc/lazyssh#52, adembc/lazyssh#56 will be re-evaluated after rebasing.