- [Bug] #806: Force strings given to getpass during password
prompts to be ASCII, to prevent issues on some platforms when
Unicode is encountered. Thanks to Alex Louden for the patch.
- [Feature] #805: Update shell_env to play nice with Windows
(7, at least) systems. Thanks to Fernando Macedo for the patch.
- [Bug] #654: Parallel runs whose sum total of returned data was
large (e.g. large return values from the task, or simply a
large number of hosts in the host list) were causing
frustrating hangs. This has been fixed.
- [Bug] #791: Cast reboot‘s wait parameter to a numeric type in
case the caller submitted a string by mistake. Thanks to
Thomas Schreiber for the patch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=36
- [Bug] #766: Use the variable name of a new-style fabric.tasks.Task
subclass object when the object name attribute is undefined.
Thanks to @todddeluca for the patch.
- [Bug] #604: Fixed wrong treatment of backslashes in put operation
when uploading directory tree on Windows. Thanks to Jason Coombs
for the catch and @diresys & Oliver Janik for the patch. for the patch.
- [Bug] #792: The newish shell_env context manager was incorrectly
omitted from the fabric.api import endpoint. This has been
remedied. Thanks to Vishal Rana for the catch.
- [Bug] #775: Shell escaping was incorrectly applied to the value
of $PATH updates in our shell environment handling, causing
(at the very least) local binary paths to become inoperable
in certain situations. This has been fixed.
- Added current host string to prompt abort error messages.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=35
- [Feature] #684: Update how task wraps task functions to preserve
additional metadata; this allows decorated functions to play nice
with Sphinx autodoc. Thanks to Jaka Hudoklin for catch & patch.
- [Bug] #749: Gracefully work around calls to fabric.version on
systems lacking /bin/sh (which causes an OSError in
subprocess.Popen calls.)
- [Bug] #718: isinstance(foo, Bar) is used in main instead of
type(foo) == Bar in order to fix some edge cases. Thanks to
Mikhail Korobov.
- [Bug] #693: Fixed edge case where abort driven failures within
parallel tasks could result in a top level exception (a KeyError)
regarding error handling. Thanks to Marcin Kuźmiński for the report.
- [Support] #681: Fixed outdated docstring for runs_once which
claimed it would get run multiple times in parallel mode. That
behavior was fixed in an earlier release but the docs were not
updated. Thanks to Jan Brauer for the catch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=28
* [Bug] #671 reject-unknown-hosts sometimes resulted in a password
prompt instead of an abort. This has been fixed. Thanks to Roy Smith for the
report.
* [Bug] #659 Update docs to reflect that fabric.operations.local currently
honors 'env.path <env-path>'. Thanks to @floledermann for the catch.
* [Bug] #652 Show available commands when aborting on invalid command names.
* [Support] #651 Added note about nesting 'with' statements on Python 2.6+.
Thanks to Jens Rantil for the patch.
* [Bug] #649 Don't swallow non-`abort`-driven exceptions in parallel mode.
Fabric correctly printed such exceptions, and returned them from
fabric.tasks.execute, but did not actually cause the child or parent
processes to halt with a nonzero status. This has been fixed.
fabric.tasks.execute now also honors env.warn_only <warn-only> so
users may still opt to call it by hand and inspect the returned exceptions,
instead of encountering a hard stop. Thanks to Matt Robenolt for the catch.
* [Support] #645 Update Sphinx docs to work well when run out of a source
tarball as opposed to a Git checkout. Thanks again to @Arfrever for the
catch.
* [Support] #640 (also #644) Update packaging manifest so sdist
tarballs include all necessary test & doc files. Thanks to Mike Gilbert and
@Arfrever for catch & patch.
* [Support] #634 Clarified that fabric.context_managers.lcd does no special
handling re: the user's current working directory, and thus relative paths
given to it will be relative to os.getcwd(). Thanks to @techtonik
for the catch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=26
- [Bug] #562: Agent forwarding would error out or freeze when
multiple uses of the forwarded agent were used per remote
invocation (e.g. a single run command resulting in multiple Git
or SVN checkouts.) This has been fixed thanks to Steven
McDonald and GitHub user @lynxis.
- [Support] #626: Clarity updates to the tutorial. Thanks to
GitHub user m4z for the patches.
- [Bug] #625: hide/show did not correctly restore prior display
settings if an exception was raised inside the block. This has
been fixed.
- [Bug] #624: Login password prompts did not always display the
username being authenticated for. This has been fixed. Thanks
to Nick Zalutskiy for catch & patch.
- [Bug] #617: Fix the clean_revert behavior of settings so it
doesn’t KeyError for newly created settings keys. Thanks to
Chris Streeter for the catch.
- [Bug] #616: Add port number to the error message displayed upon
connection failures.
- [Bug] #609: (and #564) Document and clean up env.sudo_prefix so
it can be more easily modified by users facing uncommon use
cases. Thanks to GitHub users 3point2 for the cleanup and
SirScott for the documentation catch.
- [Bug] #610: Change detection of env.key_filename‘s type
(added as part of SSH config support in 1.4) so it supports
arbitrary iterables. Thanks to Brandon Rhodes for the catch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=24
* Add ``capture`` kwarg to `~fabric.contrib.project.rsync_project`
to aid in debugging rsync problems.
* Allow `~fabric.operations.local` to display stdout/stderr when it
warns/aborts, if it was capturing them.
* Added :ref:`an FAQ entry <init-scripts-pty>` detailing how to
handle init scripts which misbehave when a pseudo-tty is allocated.
* `~fabric.tasks.execute` allowed too much of its internal state
changes (to variables such as ``env.host_string`` and ``env.parallel``) to
persist after execution completed; this caused a number of different
incorrect behaviors. `~fabric.tasks.execute` has been overhauled to clean up
its own state changes -- while preserving any state changes made by the task
being executed.
* `~fabric.contrib.project.upload_project` did not take explicit
remote directory location into account when untarring, and now uses
`~fabric.context_managers.cd` to address this. Thanks to Ben Burry for the
patch.
* `~fabric.decorators.with_settings` did not perfectly match
`~fabric.context_managers.settings`, re: ability to inline additional context
managers. This has been corrected. Thanks to Rory Geoghegan for the patch.
* `contrib.files.first <fabric.contrib.files.first>` used an
outdated function signature in its wrapped `~fabric.contrib.files.exists`
call. This has been fixed. Thanks to Massimiliano Torromeo for catch & patch.
* `--list <-l>` output now detects terminal window size
and truncates (or doesn't truncate) accordingly. Thanks to Horacio G. de Oro
for the initial pull request.
* Parallel task aborts (as oppposed to unhandled exceptions) now
correctly print their abort messages instead of tracebacks, and cause the
parent process to exit with the correct (nonzero) return code. Thanks to Ian
Langworth for the catch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=22
* 🐛495 Fixed documentation example showing how to subclass
~fabric.tasks.Task. Thanks to Brett Haydon for the catch and Mark Merritt
for the patch.
* 🐛410 Fixed a bug where using the ~fabric.decorators.task decorator
inside/under another decorator such as ~fabric.decorators.hosts could cause
that task to become invalid when invoked by name (due to how old-style vs
new-style tasks are detected.) Thanks to Dan Colish for the initial patch.
* :feature:559 ~fabric.contrib.project.rsync_project now allows users to
append extra SSH-specific arguments to rsync's --rsh flag.
* :feature:138 :ref:env.port <port> may now be written to at fabfile module
level to set a default nonstandard port number. Previously this value was
* :feature:3 Fabric can now load a subset of SSH config functionality
directly from your local ~/.ssh/config if :ref:env.use_ssh_config
<use-ssh-config> is set to True. See :ref:ssh-config for details.
Thanks to Kirill Pinchuk for the initial patch.
* :feature:12 Added the ability to try connecting multiple times to
temporarily-down remote systems, instead of immediately failing. (Default
behavior is still to only try once.) See :ref:env.timeout <timeout> and
:ref:env.connection_attempts <connection-attempts> for controlling both
connection timeouts and total number of attempts. ~fabric.operations.reboot
has also been overhauled (but practically deprecated -- see its updated
docs.)
* :feature:474 ~fabric.tasks.execute now allows you to access the executed
task's return values, by itself returning a dictionary whose keys are the
* 🐛487 Overhauled the regular expression escaping performed in
~fabric.contrib.files.append and ~fabric.contrib.files.contains to try
and handle more corner cases. Thanks to Neilen Marais for the patch.
* :support:532 Reorganized and cleaned up the output of fab --help.
* :feature:8 Added :option:--skip-bad-hosts/:ref:env.skip_bad_hosts
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=17
- [Bug] #495: Fixed documentation example showing how to subclass Task.
Thanks to Brett Haydon for the catch and Mark Merritt for the patch.
- [Bug] #410: Fixed a bug where using the task decorator inside/under
another decorator such as hosts could cause that task to become invalid
when invoked by name (due to how old-style vs new-style tasks are
detected.) Thanks to Dan Colish for the initial patch.
- [Feature] #559: rsync_project now allows users to append extra
SSH-specific arguments to rsync‘s --rsh flag.
- [Feature] #138: env.port may now be written to at fabfile module level
to set a default nonstandard port number. Previously this value was
read-only.
- [Feature] #3: Fabric can now load a subset of SSH config functionality
directly from your local ~/.ssh/config if env.use_ssh_config is set
to True. See Leveraging native SSH config files for details. Thanks
to Kirill Pinchuk for the initial patch.
- [Feature] #12: Added the ability to try connecting multiple times to
temporarily-down remote systems, instead of immediately failing.
(Default behavior is still to only try once.) See env.timeout and
env.connection_attempts for controlling both connection timeouts and
total number of attempts. reboot has also been overhauled (but
practically deprecated – see its updated docs.)
- [Feature] #474: execute now allows you to access the executed task’s
return values, by itself returning a dictionary whose keys are the
host strings executed against.
- [Bug] #487: Overhauled the regular expression escaping performed in
append and contains to try and handle more corner cases. Thanks to
Neilen Marais for the patch.
- [Support] #532: Reorganized and cleaned up the output of fab --help.
- [Feature] #8: Added --skip-bad-hosts/env.skip_bad_hosts option to
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=14
- [Bug] #492: @parallel did not automatically trigger linewise
output, as was intended. This has been fixed. Thanks to Brandon
Huey for the catch.
- [Bug] #510: Parallel mode is incompatible with user input, such
as password/hostname prompts, and was causing cryptic Operation
not supported by device errors when such prompts needed to be
displayed. This behavior has been updated to cleanly and obviously
abort instead.
- [Bug] #494: Fixed regression bug affecting some env values such
as env.port under parallel mode. Symptoms included rsync_project
bailing out due to a None port value when run under @parallel.
Thanks to Rob Terhaar for the report.
- [Bug] #339: Don’t show imported colors members in --list output.
Thanks to Nick Trew for the report.
- Update to 1.3.3:
- [Bug] #441: Specifying a task module as a task on the command
line no longer blows up but presents the usual “no task by that
name” error message instead. Thanks to Mitchell Hashimoto for
the catch.
- [Bug] #475: Allow escaping of equals signs in per-task args/kwargs.
- [Bug] #450: Improve traceback display when handling
``ImportError``s for dependencies. Thanks to David Wolever for the patches.
- [Bug] #446: Add QNX to list of secondary-case sed targets.
Thanks to Rodrigo Madruga for the tip.
- [Bug] #443: exists didn’t expand tildes; now it does. Thanks to
Riccardo Magliocchetti for the patch.
- [Bug] #437: with_settings now correctly preserves the wrapped
function’s docstring and other attributes. Thanks to Eric Buckley for the catch and Luke Plant for the patch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=13
- 2011-07-12: released Fabric 1.2.0
- [Feature] #22: Enhanced @task to add aliasing, per-module default
tasks, and control over the wrapping task class. Thanks to Travis
Swicegood for the initial work and collaboration.
- [Bug] #380: Improved unicode support when testing objects for being
string-like. Thanks to Jiri Barton for catch & patch.
- [Support] #382: Experimental overhaul of changelog formatting &
process to make supporting multiple lines of development less of a
hassle.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=4
- Now BuildRequires and Requires python-distribute instead of
python-setuptools.
- Update to 1.0.1:
- #301: Fixed a bug in local‘s behavior when capture=False and
output.stdout (or .stderr) was also False. Thanks to Chris Rose
for the catch.
- #310: Update edge case in put where using the mode kwarg
alongside use_sudo=True runs a hidden sudo command. The mode
kwarg needs to be octal but was being interpolated in the sudo
call as a string/integer. Thanks to Adam Ernst for the catch
and suggested fix.
- #311: append was supposed to have its partial kwarg’s default
flipped from True to False. However, only the documentation was
altered. This has been fixed. Thanks to Adam Ernst for bringing
it to our attention.
- #312: Tweak internal I/O related loops to prevent high CPU
usage and poor screen-printing behavior on some systems. Thanks
to Kirill Pinchuk for the initial patch.
- #320: Some users reported problems with dropped input,
particularly while entering sudo passwords. This was fixed via
the same change as for #312.
- Regenerate spec file with py2pack;
- Add README file as documentation.
- Update to 1.0.0:
- #7: run/sudo now allow full interactivity with the remote end.
You can interact with remote prompts and similar interfaces,
making certain tasks much easier, and freeing you from the
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=2