Skip to content

Releases: blacknon/lssh

Version 0.8.0

08 Apr 17:23
1c262e7

Choose a tag to compare

lssh v0.8.0

v0.8.0 is a larger minor release from v0.7.1, bringing together several major feature additions.
This release introduces the new TUI multiplexer lsmux and the new one-way sync command lssync. It also includes many practical improvements for day-to-day operations, such as conditional config switching, opening terminals directly from lsmon, and launching the mux UI from lssh.

Highlights

  • Added lsmux

    • Introduces a tmux-like pane-based SSH client
    • Lets you view and operate on multiple hosts at the same time
    • Supports command panes, broadcast input, and pane-local file transfer
    • Reuses the existing lssh host inventory as-is
  • Added lssync

    • Introduces a one-way sync command built on SSH/SFTP
    • Supports local-to-remote, remote-to-local, and remote-to-remote sync without requiring rsync on the remote side
    • Supports deleting destination-only entries with --delete
  • Added conditional config overrides with match / when.*

    • You can now switch settings based on local IP, OS, terminal type, environment variables, and more
    • This makes it easier to handle things like proxy switching by network or hiding hosts depending on where you are connecting from

Improvements

  • Enhanced lsmon

    • You can now open a terminal for the selected host from the top-style viewer with Ctrl + T
    • --share-connect allows terminal sessions to reuse the monitor connection
  • Enhanced lssh

    • Added -P to launch the lsmux-compatible mux UI directly from lssh
    • Added support for --hold and --allow-layout-change to improve multi-host command workflows
  • Enhanced lsshell

    • Added %sync, allowing one-way sync operations directly from inside the shell
  • Improved transfer workflows

    • Refined path resolution and transfer handling around lscp, lsftp, and lssync
  • Updated documentation and packaging

    • Reworked the README to make command roles clearer
    • Updated package layout to make installation by use case easier

Notes

  • lssh, lscp, and lsftp are considered stable
  • lssync, lsmon, lsshell, and lsmux are currently considered beta
  • lsmux and lssync are the main additions in this release, so feedback is especially welcome

Thanks

Main changes included in this release:

  • Added lsmux
  • Added lssync
  • Added conditional configuration with match / when
  • Added terminal integration to lsmon
  • Added lssh -P
  • Updated documentation and demo environment

Version 0.7.1

06 Apr 13:46
f80e42e

Choose a tag to compare

v0.7.1

This release is a bugfix release focused on stability improvements around ControlMaster, forwarding, CI, and the demo environment.

Fixes

  • Fixed forwarding behavior when ControlMaster is enabled
  • Fixed local forward (-L) under ControlMaster-enabled connections
  • Fixed dynamic forward / SOCKS5 (-D) under ControlMaster-enabled connections
  • Fixed remote forward (-R) handling and added demo coverage for it
  • Fixed forwarding-related behavior by updating bundled go-sshlib
  • Fixed SFTP/subsystem handling used by ControlMaster-based forwarding paths
  • Fixed demo E2E coverage by adding ControlMaster forwarding scenarios
  • Fixed vendored dependency state so demo builds use the updated go-sshlib
  • Fixed GitHub Actions setup to use the Go version declared in go.mod
  • Fixed GitHub Actions warnings by updating deprecated Node 20-based actions
  • Fixed GitHub Actions cache restore instability by disabling setup-go built-in cache in workflows
  • Fixed demo sshd-based containers to include nc for easier diagnostics and checks

CI / Workflow Updates

  • Updated actions/checkout to v5
  • Updated actions/setup-go to v6
  • Updated actions/upload-artifact to v6
  • Updated actions/download-artifact to v7
  • Updated jdx/mise-action to v4
  • Replaced actions/create-release@v1 with gh release create

Demo / Test Updates

  • Added ControlMaster-enabled demo targets
  • Added demo checks for:
    • local forwarding
    • dynamic forwarding
    • remote forwarding

Notes

  • This release is recommended for users relying on ControlMaster
  • Especially recommended if you use port forwarding or SOCKS proxy mode

Version 0.7.0

05 Apr 08:19

Choose a tag to compare

Release Highlights

This release brings a major update across the lssh suite, with new demo and test infrastructure, stronger SSH session reuse, better proxy support, and substantial improvements to lsshell, lsftp, and lscp.
Additionally, the sub-projects lsmon and lsshell have been integrated.

Added

  • Added a full Docker Compose based demo environment under demo/
  • Added end-to-end tests for the demo environment
  • Added examples for:
    • password authentication
    • public key authentication
    • SSH proxying
    • HTTP proxying
    • SOCKS5 proxying
    • nested proxy chains
    • bastion-style access
    • local_rc based shell customization
  • Added ControlMaster / ControlPersist support
  • Added tunnel support with --tunnel
  • Added background execution support with -f
  • Added new mise tasks for demo usage and testing
  • Added CI workflows for release, tests, and demo E2E verification

Improved

  • Improved lsshell with process substitution support and better local command integration
  • Improved lsshell completion and duplicate server handling
  • Improved lsftp command set, including copy-related operations
  • Improved lscp stability, including parallel copy behavior
  • Improved proxy routing support, including multi-hop SSH/HTTP/SOCKS combinations
  • Improved OpenSSH config handling and ControlPersist integration
  • Improved Windows build compatibility across the project
  • Reworked and expanded the documentation across the main README, command READMEs, and demo guide

Fixed

  • Fixed several lsshell issues around outexec, server completion, and command behavior
  • Fixed lscp / lsftp issues related to Windows support
  • Fixed ControlPersist and proxy route handling in SSH connections
  • Fixed multiple demo and CI issues discovered while adding E2E coverage
  • Bugfix #146, #105

Notes

  • This release includes substantial internal refactoring across command entrypoints, configuration loading, SSH connection handling, monitor support, and vendored dependencies.
  • The demo environment is now one of the easiest ways to validate real-world connection patterns locally before using them in production.

Version 0.6.14

21 Mar 16:06

Choose a tag to compare

  • Upgrade packages
  • Add knownhost check

Version 0.6.13

09 Sep 14:35
105ec27

Choose a tag to compare

  • bugfix: when selecting a server from the second page onwards using the mouse.
  • bugfix: Corrected to disconnect if ssh connection is made using Proxy when ssh connection fails.
  • update go-sshlib. v0.1.16 to v0.1.18

Version 0.6.12

23 Aug 05:18
c64840c

Choose a tag to compare

Version 0.6.11

11 Aug 02:15
a742f2b

Choose a tag to compare

  • Debug. where keys in Server config were not inherited when they were of int type.

Version 0.6.10

10 Aug 15:22
12b2e90

Choose a tag to compare

  • update go-sshlib (bugfix)

Version 0.6.9

10 Jul 14:34
190bbba

Choose a tag to compare

  • update go-sshlib
  • bugfix #137

Version 0.6.8

03 May 11:12
3c68b3d

Choose a tag to compare

  • #108
  • #104
  • #74
  • #95
  • #98
  • #99
  • features add: Added %outexec as a pshell build-in command
  • go-sshlib version up(v0.1.11)
  • bugfix: Corrected to overwrite 0 bytes when writing a file with sftp protocol.