Skip to content

Releases: ParallelSSH/parallel-ssh

2.16.0

12 Oct 15:36
38d14ee
Compare
Choose a tag to compare

Changes

  • Added HostOutput.fully_qualified_command for a bytes-string of the fully qualified command executed on that host
    after any and all host argument subtitutions, user switching, sudo, shell switching, encoding via specified encoding
    et al. Populated on calls to run_command only.

2.15.0

12 Oct 13:27
8fa5a91
Compare
Choose a tag to compare

Changes

  • Added compression support for all clients via SSHClient(compress=True), ParallelSSHClient(compress=True) and
    HostConfig(compress=True) - defaults to off. #252
  • Added "keyboard interactive" login support for native clients. This is fully automated username and password
    authentication via SSH's keyboard interactive authentication mechanism and does not actually require a human at the
    keyboard. Used in cases where the server does not allow any other authentication mechanism.
    Note that server configuration may disallow remote command execution via run_command when keyboard interactive
    authentication is required - use interactive shells to run commands with in such cases. See
    Interactive Shells <https://parallel-ssh.readthedocs.io/en/latest/advanced.html#running-commands-on-shells>_
    documentation. Also supported via HostConfig entries. Currently native clients only.
  • Added pssh.exceptions.InvalidAPIUseError for errors raised on client initialisation when an invalid API use is
    detected. For example, keyboard interactive authentication enabled without a password provided.
  • Updated minimum ssh2-python and ssh-python requirements.

2.14.0

02 Feb 18:37
987dd58
Compare
Choose a tag to compare

Changes

  • Handle disconnects better to allow for file descriptor reuse for both clients.
  • Parallel clients no longer forcefully disconnect their clients at de-allocation -
    now done by each individual SSHClient instead when that SSHClient goes out of scope.
    This allows reading of output and anything associated with output, exit codes et al,
    to work as long as one of either the client or an associated output object is alive.
  • SSHClient.disconnect is now a no-op and deprecated - handled by object de-allocation.
  • SSHClient.eagain is now a public function - wrapper for polling socket and calling a given socket using function.
  • SSHClient.eagain_write is now a public function - wrapper for polling socket and calling a given socket using
    write function.
  • SSHClient, TunnelServer and LocalForwarder now use their own gevent pools for greenlets spawned so they
    are cleaned up correctly at shutdown.
  • SSHClient.execute is now deprecated in favour of SSHClient.run_command.

Fixes

  • Forwarder threads used for proxies would not exit gracefully at interpreter shutdown, sometimes causing segfaults.
  • Client, both parallel and single, going out of scope would cause reading output from existing output objects
    to break - #274
  • Explicitly calling SSHClient.disconnect would sometimes cause segfaults at interpreter shutdown.
  • Keepalives being configured on native client would keep client in scope forever.

2.13.0

13 Jan 03:07
f1d46fc
Compare
Choose a tag to compare

Changes

  • Minimum version updates for ssh2-python and ssh-python.
  • Added support for Python 3.12+, removed support for Python <3.8.
  • Package tests under top level tests directory are now cross platform and may be run by vendors.
    Project CI specific ntegration tests moved into their own space.

Fixes

  • Calling HostOutput.stdin.flush with a pssh.clients.ssh client would raise exception.

2.13.0rc1: Upgrade (#398)

13 Jan 03:05
f1d46fc
Compare
Choose a tag to compare
Pre-release
* Fixed issue with stdin flush for libssh clients
* Updated changelog
* Updated sshd template
* Updated versioneer
* Updated logging
* Refactored tests, imports
* Updated CI cfg
* Updated docstrings
* Updated imports
* Updated readme
* Prettify tests

2.12.0

20 Aug 11:24
d812ff3
Compare
Choose a tag to compare

Changes

  • Added alias optional parameter to SSHClient and HostConfig for passing through from parallel clients.
    Used to set an SSH host name alias, for cases where the real host name is the same and there is a need to
    differentiate output from otherwise identical host names - #355. Thank you @simonfelding.
  • Parallel clients now read a common private key only once, reusing it for all clients it applies to,
    to improve performance.
  • Performance improvements for all clients when reading output.
  • Output reading for all clients has been changed to be less prone to race conditions.

Fixes

  • Calling ParallelSSHClient.join without ever running run_command would raise exception. Is now a no-op.

2.11.1

31 Jul 17:10
29d9497
Compare
Choose a tag to compare

Changes

  • Updated default log formatter set by pssh.utils enable logger functions.

Fixes

  • Using native clients under pssh.clients.native with very short lived commands would sometimes cause unexpected
    stalls/delays in reading output from completed commands when a client timeout setting was used - #344.

2.11.0.post2: Updated CI cfg (#352)

31 Jul 15:14
a0787bd
Compare
Choose a tag to compare

2.11.0.post1

31 Jul 15:09
ebfd5f0
Compare
Choose a tag to compare
Updated CI cfg (#351)

2.11.0

31 Jul 14:24
9840ffd
Compare
Choose a tag to compare

Changes

  • Updated minimum required versions for ssh2-python and ssh-python.