Changes in version 0.9.2¶
The following changes were implemented in Fabric 0.9.2:
- 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.
- 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).
- 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.