Skip to content

Releases: ParallelSSH/parallel-ssh

2.0.0b3

18 Sep 12:31
eb0feb8
Compare
Choose a tag to compare
Updated ci cfg (#225)

2.0.0b2

18 Sep 11:59
7794f69
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

Release 1.11.1

20 Aug 12:48
9a298a7
Compare
Choose a tag to compare

Changes

  • Improved packaging.

Release 1.11.0

20 Aug 11:52
89985ce
Compare
Choose a tag to compare

Changes

  • Moved socket polling to gevent.select.poll to increase performance and better handle high number of sockets - #189
  • HostOutput.exit_code is now a dynamic property returning either None when exit code not ready or the exit code as reported by channel - #191
  • ParallelSSHClient.get_exit_codes is now a no-op and scheduled to be removed in 2.0.0.

Packaging

  • Removed OSX Python 3.6 and 3.7 wheels. OSX wheels for brew python, currently 3.8, on OSX 10.14 and 10.15 are provided.

Fixes

  • Native client would fail on using sockets with large file descriptor values - #189

Release 1.10.0

14 Aug 16:17
d961c42
Compare
Choose a tag to compare

Changes

  • Added return_list optional argument to run_command to return list of HostOutput objects rather than dictionary - defaults to False. List output will become default starting from 2.0.0.
  • Updated native clients for new version of ssh2-python.
  • Manylinux 2010 wheels.
  • Added OSX 10.14 and 10.15 wheels.
  • Removed OSX < 10.14 wheels.
  • Removed Windows 32 bit wheels.
  • Removed Python 3.5 wheels for OSX and Windows.
  • Added Python 3.8 support and wheels.

Fixes

  • Sockets would not be closed on client going out of scope - #175
  • Calling join() would reset encoding set on run_command - #159