Releases: ParallelSSH/parallel-ssh
0.91.2
0.91.1
0.91.0
Changes:
- Bug fix for multiple single quotes in cmd string not being handled correctly - #39
run_command
now correctly uses the login user's defined shell. Previouslybash
was always used.run_command
has gained a new parameter,use_shell
. When set toFalse
, command is run without a shell. Defaults toTrue
which is existing behaviour. Useful for cases where, for example, commands run by the library are exposed to user input and could lead to shell injection vulnerabilities.run_command
has gainedshell
parameter to allow overriding of the shell to use. For example,run_command(<..>, shell='zsh -c')
orrun_command(<..>, shell='bash -c')
.
0.90.0
Slight backwards incompatible change in order to make command start and remote connection initiation asynchronous.
Exit code will now not be immediately available even for commands that exit immediately.
At least one of
- Iterating over stdout/stderr
- Calling
client.join(output)
is now necessary to cause parallel-ssh
to wait for commands to finish and be able to gather exit codes.
This was already covered in documentation so no API change has happened.
However, since behaviour has in fact changed version has been bumped to a new series.
Example of code that needs changing
output = client.run_command('exit 1')
exit_code = output[<host>]['exit_code']
exit_code
above will now be None
. The above needs changing to
output = client.run_command('exit 1')
client.join(output)
exit_code = output[<host>]['exit_code']
or iterating over either stdout/stderr.
Iterating over stdout/stderr will automatically cause exit code(s) to be gathered without explicitly calling get_exit_codes
. See documentation for more examples.
0.9x.y
will be the last series before a 1.x
release where remaining open, some quite old, issues will hopefully be resolved.
Contributions very much welcome and thank you so much again to all current and future contributors. 👍
Contributors either raised or provided PR for all bugs fixed in this release! 😆
Changes:
- Commands with no output would cause client to block until completion - #56
- Unicode in stdout would cause exception when reading stdout - #54
- Failed hosts with
stop_on_errors=False
would causejoin
andget_exit_codes
to throw exception - #53 - More documentation, parallel commands example under examples directory of the repository. Examples and documentation of overriding host list on an existing client object, iterators for host list parameter and filtering host list.
- Connection establishment and command execution are now much faster, 200ms at least for each, with no enforced delays.
0.80.7
0.80.6
0.80.5
0.80.3
0.80.1
0.80.0
New release, many fixes, one breaking change to ParallelSSHClient.get_output
.
- Getting output for hosts that have errors is now possible without stopping command executions on all hosts. Host exception is now returned in output when
stop_on_errors=False
- #32. See updated documentation ofrun_command
. This has required a breaking change toParallelSSHClient.get_output
which will need updating if it is being used directly. Before:get_output(output)
. Now:get_output(output, greenlet)
. No changes are necessary if usingParallelSSHClient.run_command
as recommended. - Host de-duplication in output - #32
- Fix for lack of stdout causing client to hang - #37
- Host logging now disabled by default - #29. Call
pssh.utils.enable_host_logging()
to enable. - Refactored module into separate packages,
pssh.exceptions
,pssh.pssh_client
et al. - Fake server used for testing renamed to embedded server and gained shell support - #24