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.

Table Of Contents

Previous topic

Changes in version 0.9.1

Next topic

Changes in version 0.9.3

This Page