Skip to content

v2.1.0: Manual Hosts, SSHTest, Debug Logging and fuse-t

Choose a tag to compare

@uhs-robert uhs-robert released this 22 Sep 21:29
· 8 commits to main since this release

✨ New Features

  • Hosts not in ssh_config: :SSHConnect user@example.com:/srv -p 2222 mounts any host. With no argument, the picker offers "Enter host manually...". (#9, thanks @zeromask1337 for the request)
  • :SSHTest [host]: checks SSH resolution and authentication without mounting, and shows the resolved settings and the exact commands run. (#12)
  • Debug logging: set debug.enabled = true or run :SSHDebug on. Logs cover authentication, ControlMaster, remote home resolution and sshfs. See docs/debug-logging.md. (#11)
  • fuse-t on macOS: NFS-backed fuse-t mounts and sshfs 2.9 option names now work. (#19, thanks @dpezto)
  • Multiple Neovim instances: several instances can connect to the same host, and each one only disconnects the connections it created. (#16, #17, thanks @nanni00)
  • :SSHDisconnectAll and the unmount_all keymap (<leader>mU) unmount every host.
  • global_paths: mount paths offered for every host, in addition to per-host paths.
  • ControlMaster socket directory is created automatically with 0700 permissions, and the health check warns when the socket path exceeds the Unix socket length limit.
  • Better remote home directory resolution, including non-standard home directories. (#8)

🐛 Fixes

  • Connection and mount failures are now reported with their error, and failed mounts no longer leave empty directories behind. (#10)
  • A RemoteCommand in ssh_config no longer breaks mounts or background commands. (#27)
  • Forced tty (RequestTTY) is refused where sftp and captured output run.
  • Stale mount directories are removed before trying to unmount them. (#31)
  • Unmount tries progressively stronger methods, and unmount errors are avoided when a command is missing. (#7, thanks @serhez)
  • macFUSE mounts are detected correctly. (#13, thanks @andrewcchu)
  • findmnt is optional on macOS, and sshfs version detection retries and times out instead of hanging.
  • A picker no longer mixes up two mounts on the same host.
  • lead_prefix is respected in the which-key mount group.
  • The logger escapes control characters and caps log size.

🧪 Testing

  • New automated test suite with CI on Linux and macOS. (#24, #25)

⚠️ Deprecations

The v2.0 aliases (ui.file_picker, mounts.unmount_on_exit, mounts.auto_change_dir_on_mount, :SSHEdit, :SSHBrowse and the old API names) still work with a warning. They will be removed in the next release, v3.0.0 (#34), so update your config now.

Full Changelog: v2.0.0...v2.1.0