Skip to content

v0.2.4

Latest

Choose a tag to compare

@github-actions github-actions released this 24 May 01:49
· 23 commits to master since this release
Immutable release. Only release title and notes can be modified.
v0.2.4
b678966

Added

  • smv now reads ~/.ssh/config by default, applying HostName, User, Port, IdentityFile, Compression, and ConnectTimeout directives. Explicit CLI flags still take precedence.
  • smv -F/--ssh-config option to load an alternative ssh_config file (mirrors scp -F).
  • smv --no-ssh-config option to disable ssh_config reading entirely.
  • smv -o KEY=VALUE (repeatable) to pass ssh_config-style options on the command line. Supported keys: Compression, ConnectTimeout, HostName, IdentityFile, Port, and User. Unknown keys are rejected with a clear error. Precedence: explicit CLI flag > -o > -F > ~/.ssh/config > built-in defaults (matches scp).
  • smv -q/--quiet to silence INFO-level log output (errors are still printed).
  • smv -v/--verbose as an alias for -d/--debug (matches scp -v).
  • smv -B for scp batch-mode compatibility. Accepted as a no-op because paramiko is already non-interactive by default.
  • smv -J [user@]host[:port][,...] to route the SFTP connection through one or more SSH jump hosts (scp -J equivalent). Multiple hops are comma-separated. Each hop's port defaults to 22 and the user falls back to the target user if omitted.
  • smv -o ProxyJump=... is now also honoured (added to the -o whitelist). Same chain syntax as -J. Explicit -J takes precedence over -o ProxyJump.
  • smv -l KBIT_PER_SEC to throttle SFTP uploads in Kbit/s. The limit is applied per file (each upload is independently bounded to the rate). Implemented as a sleep-based callback passed to paramiko's sftp.put.
  • secure_move_path accepts a new bandwidth_limit_kbits: float | None = None keyword for the same effect when calling the library directly.

Changed

  • merge-dependabot-prs and merge-pre-commit-ci-prs no longer print a full traceback when a pull request fails to merge during normal runs. A concise warning is logged instead, noting that the pull request will be retried. The full traceback is still emitted under -d/--debug.
  • smv -i/--key now takes a path argument (validated for existence) instead of a file handle, so the option is actually usable; previously a file-handle object was passed to paramiko, which expects a path.

Fixed

  • smv (and the underlying secure_move_path utility) no longer fails with OSError: Failure when the remote target is a directory (for example smv file.zip host:~/Downloads/). The source basename is now appended to directory-style targets, matching scp behaviour, while plain renames still work when the target does not exist remotely.
  • smv no longer mis-parses user@host:path targets; the user@ prefix is now correctly separated from the hostname before being handed to paramiko, which previously failed DNS resolution.

Full Changelog: v0.2.3...v0.2.4