Releases: ParallelSSH/parallel-ssh
Releases · ParallelSSH/parallel-ssh
Release 1.13.0
Changes
- Added
pssh.config.HostConfig
for providing per-host configuration. Replaces dictionaryhost_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
andscp_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 fromSSHClient(timeout=<timeout>)
session timeout.ParallelSSHClient.join
with timeout now has finished and unfinished commands asTimeout
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
andscp_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
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
Changes
- Added
ssh-python
based native client withrun_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 raiseTimeout
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
Fixes
ParallelSSHClient
going out of scope would cause new client sessions to fail ifclient.join
was not called prior - #200
Release 1.11.1
Changes
- Improved packaging.
Release 1.11.0
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 eitherNone
when exit code not ready or the exit code as reported by channel - #191ParallelSSHClient.get_exit_codes
is now a no-op and scheduled to be removed in2.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
Changes
- Added
return_list
optional argument torun_command
to return list ofHostOutput
objects rather than dictionary - defaults toFalse
. List output will become default starting from2.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
Release 1.9.1
Fixes
- Native client SCP and SFTP uploads would not handle partial writes from waiting on socket correctly.
- Native client
copy_file
SFTP upload would get stuck repeating same writes until killed when copying multi-MB files from Windows clients - #148 - Native client
scp_send
would not correctly preserve file mask of local file on the remote. - Native client tunnel, used for proxy implementation, would not handle partial writes from waiting on socket correctly.
Release 1.9.0
Changes
- Removed libssh2 native library dependency in favour of bundled
ssh2-python
libssh2 library. - Changed native client forward agent default behaviour to off due to incompatibility with certain SSH server implementations.
- Added keep-alive functionality to native client - defaults to
60
seconds.ParallelSSHClient(<..>, keepalive_seconds=<interval>)
to configure interval, Set to0
to disable. - Added
~/.ssh/id_ecdsa
default identity location to native client.
Release 1.8.2
Fixes
- Native parallel client
forward_ssh_agent
flag would not be applied correctly.