Please note
This version of Fabric is outdated. If you're looking for the
latest stable release, please click here.
Changes in version 0.9.2
The following changes were implemented in Fabric 0.9.2:
Feature additions
- The reboot operation has been added, providing a way for
Fabric to issue a reboot command and then reconnect after the system has
restarted.
- python setup.py test now runs Fabric’s test suite (provided you have all
the prerequisites from the requirements.txt installed). Thanks to Eric
Holscher for the patch.
- Added functionality for loading fabfiles which are Python packages
(directories) instead of just modules (single files.) See
Fabfile discovery.
- Added output lines informing the user of which tasks are being executed (e.g.
[myserver] Executing task 'foo'.)
- Added support for lazy (callable) role definition values in env.roledefs.
- Added contrib.django module with basic Django
integration.
- env.local_user was added, providing easy and permanent
access to the local system username, even if an alternate remote username has
been specified.
- #29: Added support for arbitrary command-line-driven anonymous tasks
via fab [options] -- [shell command]. See Arbitrary remote shell commands.
- #52: Full tracebacks during aborts are now displayed if the user has
opted to see debug-level output.
- #101: Added colors module with basic color output support.
(#101 is still open: we plan to leverage the new module in Fabric’s
own output in the future.)
- #137: Commas used to separate per-task arguments may now be escaped
with a backslash. Thanks to Erich Heine for the patch.
- #144: hosts (and roles)
will now expand a single, iterable argument instead of requiring one to use
e.g. @hosts(*iterable).
- #151: Added a puts utility function, which allows
greater control over fabfile-generated (as opposed to Fabric-generated)
output. Also added fastprint, an alias to
puts allowing for convenient unbuffered,
non-newline-terminated printing.
- #208: Users rolling their own shell completion or who otherwise find
themselves performing text manipulation on the output of --list may now use --shortlist to get a plain, newline-separated
list of task names.
Bugfixes
- The interactive “what host to connect to?” prompt now correctly updates the
appropriate environment variables (hostname, username, port) based on user
input.
- Fixed a bug where Fabric’s own internal fabfile would pre-empt the user’s
fabfile due to a PYTHONPATH order issue. User fabfiles are now always loaded
at the front of the PYTHONPATH during import.
- Disabled some DeprecationWarnings thrown by Paramiko when that library is
imported into Fabric under Python 2.6.
- #44, #63: Modified rsync_project to
honor the SSH port and identity file settings. Thanks to Mitch Matuson
and Morgan Goose.
- #123: Removed Cygwin from the “are we on Windows” test; now, only
Python installs whose sys.platform says 'win32' will use Windows-only
code paths (e.g. importing of pywin32).
Documentation updates
- Added a few new items to the FAQ.
- #173: Simple but rather embarrassing typo fix in README. Thanks to
Ted Nyman for the catch.
- #194: Added a note to the install docs about a
possible edge case some Windows 64-bit Python users may encounter.
- #216: Overhauled the process backgrounding FAQ
to include additional techniques and be more holistic.
Packaging updates
- #86, #158: Removed the bundled Paramiko 1.7.4 and updated the
setup.py to require Paramiko >=1.7.6. This lets us skip the known-buggy
Paramiko 1.7.5 while getting some much needed bugfixes in Paramiko 1.7.6.