Skip to content

Releases: ParallelSSH/parallel-ssh

2.1.0

25 Oct 12:13
d973500

Choose a tag to compare

Changes

  • Added certificate authentication support for the pssh.clients.ssh clients.

2.0.0

06 Oct 12:52
6c0ebce

Choose a tag to compare

Changes

See Upgrading to API 2.0 for examples of code that will need updating.

  • Removed paramiko clients and dependency.
  • ParallelSSHClient.run_command now always returns a list of HostOutput - return_list argument is a no-op and will be removed in future releases.
  • ParallelSSHClient.get_last_output now always returns a list of HostOutput.
  • SSHClient.run_command now returns HostOutput.
  • Removed deprecated since 1.0.0 HostOutput dictionary attributes.
  • Removed deprecated since 1.0.0 imports and modules.
  • Removed paramiko based load_private_key and read_openssh_config functions from pssh.utils.
  • Removed paramiko based pssh.tunnel.
  • Removed paramiko based pssh.agent.
  • Removed deprecated ParallelSSHClient.get_output function.
  • Removed deprecated ParallelSSHClient.get_exit_code and get_exit_codes functions.
  • Removed deprecated ParallelSSHClient host_config dictionary implementation - now list of HostConfig.
  • Removed HostOutput.cmd attribute.
  • Removed ParallelSSHClient.host_clients attribute.
  • Made ParallelSSHClient(timeout=<seconds>) a global timeout setting for all operations.
  • Removed run_command(greenlet_timeout=<..>) argument - now uses global timeout setting.
  • Renamed run_command timeout to read_timeout=<seconds>) for setting output read timeout individually - defaults to global timeout setting.
  • Removed pssh.native package and native code.
  • ParallelSSHClient.scp_send now supports copy_args keyword argument for providing per-host file name arguments like rest of scp_* and copy_* functionality.
  • Changed exception names to end in Error from Exception - backwards compatible.
  • UnknownHostException, AuthenticationException, ConnectionErrorException, SSHException no longer available as imports from pssh - use from pssh.exceptions.

Fixes

  • Removed now unnecessary locking around SSHClient initialisation so it can be parallelised - #219.
  • ParallelSSHClient.join with encoding would not pass on encoding when reading from output buffers - #214.
  • Clients could raise Timeout early when timeout settings were used with many hosts.

Packaging

  • Package architecture has changed to none-any.

2.0.0 RC1

03 Oct 16:01
05b9318

Choose a tag to compare

Changes

See Upgrading to API 2.0 <upgrade-link>_ for examples of code that will need updating.

  • Removed paramiko clients and dependency.
  • ParallelSSHClient.run_command now always returns a list of HostOutput - return_list argument is a no-op and may be removed.
  • ParallelSSHClient.get_last_output now always returns a list of HostOutput.
  • SSHClient.run_command now returns HostOutput.
  • Removed deprecated since 1.0.0 HostOutput dictionary attributes.
  • Removed deprecated since 1.0.0 imports and modules.
  • Removed paramiko based load_private_key and read_openssh_config functions from pssh.utils.
  • Removed paramiko based pssh.tunnel.
  • Removed paramiko based pssh.agent.
  • Removed deprecated ParallelSSHClient.get_output function.
  • Removed deprecated ParallelSSHClient.get_exit_code and get_exit_codes functions.
  • Removed deprecated ParallelSSHClient host_config dictionary implementation - now list of HostConfig.
  • Removed HostOutput.cmd attribute.
  • Removed ParallelSSHClient.host_clients attribute.
  • Made ParallelSSHClient(timeout=<seconds>) a global timeout setting for all operations.
  • Removed run_command(greenlet_timeout=<..>) argument - now uses global timeout setting.
  • Renamed run_command timeout to read_timeout=<seconds>) for setting output read timeout individually - defaults to global timeout setting.
  • Removed pssh.native package and native code.
  • No native code means package architecture has changed to none-any.

Fixes

  • Removed now unnecessary locking around SSHClient initialisation so it can be parallelised - #219.
  • ParallelSSHClient.join with encoding would not pass on encoding when reading from output buffers - #214.
  • Clients could raise Timeout early when timeout settings were used with many hosts.

2.0.0b3

18 Sep 12:31
eb0feb8

Choose a tag to compare

Updated ci cfg (#225)

2.0.0b2

18 Sep 11:59
7794f69

Choose a tag to compare

Updated circle ci, travis cfgs. Updated tunnel run method. (#224)

2.0.0b1: Version 2 API changes (#221)

18 Sep 10:15
f8bc2aa

Choose a tag to compare

* Removed paramiko clients, tests and embedded server. Removed deprecated imports test.
* Removed paramiko agent and utility functions. Removed deprecated modules. Updated docstrings.
* Updated utils tests.
* Updated imports
* Made single client return host output objects from run_command. Removing deprecated output.
* Updated tests for new API version. Removed deprecated functions.
* Removed deprecated dictionary output support. Updated tests.
* Updated libssh client tests
* Updated output test
* Updated libssh clients, parallel base client.
* Updated changelog, setup.py. docstrings
* Updated documentation
* Added upgrade guide.
* Updated finished and unfinished arguments to join timeout exception to be easier to use - added test. 
* Updated changelog. Removed unused host_clients from parallel clients. Updated make ssh client to not use locks since no longer using old host clients.
* Updated circleci cfg
* Updated tunnel tests and code to cleanup more safely

Release 1.13.0

03 Sep 13:06
c7d446e

Choose a tag to compare

Changes

  • Added pssh.config.HostConfig for providing per-host configuration. Replaces dictionary host_config which is now deprecated. See per-host configuration - https://parallel-ssh.readthedocs.io/en/latest/advanced.html#per-host-configuration - documentation.
  • ParallelSSHClient.scp_send and scp_recv with directory target path will now copy source file to directory keeping existing name instead of failing when recurse is off - #183.
  • pssh.clients.ssh.SSHClient wait_finished timeout is now separate from SSHClient(timeout=<timeout>) session timeout.
  • ParallelSSHClient.join with timeout now has finished and unfinished commands as Timeout exception arguments for use by client code.

Fixes

  • ParallelSSHClient.copy_file with recurse enabled and absolute destination path would create empty directory in home directory of user - #197.
  • ParallelSSHClient.copy_file and scp_recv with recurse enabled would not create remote directories when copying empty local directories.
  • ParallelSSHClient.scp_send would require SFTP when recurse is off and remote destination path contains directory - #157.
  • ParallelSSHClient.scp_recv could block infinitely on large - 200-300MB or more - files.
  • SSHClient.wait_finished would not apply timeout value given.

Release 1.12.1

30 Aug 18:59
c1ca671

Choose a tag to compare

Fixes

  • Reading from output streams with timeout via run_command(<..>, timeout=<timeout>) would raise timeout early when trying to read from a stream with no data written to it while other streams have pending data - #180.

Release 1.12.0

27 Aug 18:12
4528ba5

Choose a tag to compare

Changes

  • Added ssh-python based native client with run_command implementation.
  • ParallelSSHClient.join with timeout no longer consumes output by default to allow reading of output after timeout.

Fixes

  • ParallelSSHClient.join with timeout would raise Timeout before value given when client was busy with other commands - #207

ssh-python client at pssh.clients.ssh.ParallelSSHClient is available for testing. Please report any issues.

To use:

from pssh.clients.ssh import ParallelSSHClient

This release adds (yet another) client, this one based on ssh-python (libssh). Key features of this client are more supported authentication methods compared to ssh2-python.

Future releases will also enable certificate authentication for the ssh-python client.

Please migrate to one of the two native clients if have not already as paramiko is very quickly accumulating yet more bugs and the 2.0.0 release which removes it is imminent.

Users that require paramiko for any reason can pin their parallel-ssh versions to parallel-ssh<2.0.0.

Release 1.11.2

25 Aug 17:33
4f23edc

Choose a tag to compare

Fixes

  • ParallelSSHClient going out of scope would cause new client sessions to fail if client.join was not called prior - #200