- Fix Apache support on Ubuntu 14.04 and Debian 8.0
- Python improvements:
- use new official download URLs for
setuptools
andpip
(Arnaud Vazard) - fix
virtualenv
when thelocal
flag is passed (Troy J. Farrell)
- use new official download URLs for
- Node.js improvements:
- fix
package_version
when no package is installed (Alexandre Patry) - add a
checkinstall
flasg to build and install a distribution package when installing from source (Fabien Meghazi)
- fix
- Arch Linux improvements:
- add support for the ManjaroLinux variant (Gaëtan Lamothe)
- fixsupport for
setuptools
(Robin Lambertz) - fix support for
supervisor
(Robin Lambertz) - recognize all known distribution IDs and normalize them to
Arch
- Debian/Ubuntu improvements:
- add support for the Elementary OS variant (Arnaud Vazard)
This release requires Fabric >= 1.7.0 and drops support for Python 2.5.
- Add
drop_user
anddrop_database
inpostgres
module - Add LinuxMint to the Debian family list (Frank Rousseau)
- Add support for git remotes (Bryan Folliot)
- Add support for Tomcat (Jan Kowalski)
- Add support for Gentoo / portage (Travis Shirk)
- Add support for Mercurial (Travis Shirk)
- Add support for GVM (Groovy environment manager) (Bryan Folliot)
- Documentation fixes and updates
- MySQL improvements:
- do not require a password when a specific user is specified
- expose
mysql.query
in the public API
- Python improvements:
- Switch to pip 1.5 (warning: you will need to use the
allow_external
and/orallow_unverified
options to install packages not hosted on PyPI) - Update GitHub download URL for pip installer (Guillaume Andreu Sabater)
- Retry when trying to download pip/setuptools installers
- Add support for pip's
--exists-action
option
- Switch to pip 1.5 (warning: you will need to use the
- Improved OS support in
distrib_family()
and newUnsupportedFamily
exception - Make sure to install
curl
before using it (ponty) - Vagrant improvements:
- Add function to get the Vagrant version
- Add function to get the status of a Vagrant machine
- Add function to get the list of Vagrant machines
- Add function to get the list of Vagrant base boxes
- Files improvements:
- Add
temp_dir
parameter torequire.file
(default istmp
) - Add
require.files.temporary_directory
- Add
files.umask
to get the user's umask - Fix
require.file
ownership and permissions when usingsudo
- Add helpers to copy, move, symlink or remove files
- Add
- Fix
require.deb.uptodate_index
- Use
rpm
instead ofyum
to check if an RPM package is installed - Update JDK install to match changes to the Oracle web site
- Fix
cron.add_task
(thanks to Dan Fairs and Ikuya Yamada)
- Vagrant improvements:
- Fix support for Vagrant >= 1.3.0
- Fix duplicate function in
vagrant
module documentation (Dean Malmgren)
- Package management improvements:
- Ubuntu PPA fixes (Anthony Scalisi)
- Add support for
opkg
package manager (ponty) - Add conditional APT index updates, based on the time of the last update (ponty)
- Update
files.upload_template
to match Fabric parameters (thanks to Adam Patterson) - PostgreSQL improvements:
- Fix: use
run
instead ofsudo
in_run_as_pg
(iiie) - Improve SmartOS and locale support (Andreas Kaiser)
- Fix: use
- Support tags in addition to branches in
require.git.working_copy
(Andreas Kaiser) - Services management improvements:
- Improve upstart support in
service.is_running
(John MacKenzie) - Add support for
systemd
inservice.is_running
(Adrien Raffin)
- Improve upstart support in
- Improve support for Arch Linux in
nodejs
,service
andsupervisor
modules (Steeve Chailloux) - Allow custom
nginx
package names (Laurent Meunier) - Add module management for Apache (Eugene Leonovich)
- Fix test environment for Python 2.5
- Use the new Read the Docs theme if available when building the docs locally
- Fix bug with user/group creation with int UID/GID
- Redis improvements
- Make bind and port arguments explicit
- Improve documentation
- Upgrade default version to 2.6.16
- Python improvements
- Improve support for using specific Python interpreters (warning: API changes)
- Expose low-level virtualenv operations
- Improve pip installation
- Switch from distribute to setuptools 0.7+ after project merge (warning: API changes)
- Do not install curl and python-dev packages when setuptools is already installed (ponty)
- Make package names case-insensitive in python.is_installed (ponty)
- Fix pip version parsing when using
pythonbrew switch
- Fix
require.system.locales
when a prefix is set - Fix require.system.locale() on fresh Ubuntu systems
- Add optional environment variables in crontab
- Fix crontab permissions
- Allow special characters in MySQL password (Régis Behmo)
- Fix bug with some services not starting correctly (Chris Marinos)
- Add
getdevice_by_uuid
to the disk module (Bruno Adele) - Fix implicit directory name in
git.working_copy
(iiie) - Make
require.sysctl
robust to procps start failure
- Fix missing import in
user.local_home_directory()
(Sebastien Beal) - Improved Arch Linux support:
- Fix locale support in Arch Linux (Bruno Adele)
- Add support for yaourt package manager in Arch Linux (Bruno Adele)
- Improvements to the
redis
module: - Fix Redis startup after reboot (Victor Perron)
- Upgrade default Redis version to 2.6.14
- Improvements to the
- Improvements to the
git
module: - Add optional force parameter to git pull and checkout (Sebastien Beal)
- Improvements to the
- Improvements to the
python
module: - Add parameter to use a specific Python interpreter (Bruno Adele)
- Stop using PyPI mirrors now that it has a CDN (Dominique Lederer)
- Improvements to the
- Debian/Ubuntu improvements:
- Add optional version parameter to deb.install() (Anthony Scalisi)
- Improved support for installing APT public keys (Santiago Mola)
- SmartOS improvements (Andreas Kaiser):
- Fix md5sum on recent SmartOS
- Fix bug in pkg.is_installed with certain package names
- Add support for SmartOS in remote system identification
- Add support for SmartOS in require.git.command()
- RedHat improvements:
- Fix broken rpm.install() (Sho Shimauchi)
- Oracle JDK improvements:
- Upgrade default version to 7u25-b15 (Sebastien Beal)
- Fix Oracle JDK version parsing when OpenJDK is installed
- Fix Oracle JDK installation on Debian squeeze (Stéphane Klein)
- Better tests documentation (thanks to Stéphane Klein)
- Add require.directories() (Edouard de Labareyre)
- Add support for Apache web server (Stéphane Klein)
- Upgrade default Node.js version to 0.10.13
Note: Fabtools now requires Fabric >= 1.6.0
- Upgrade default pip version to 1.3.1
- Improved vagrant support:
- Add support for Vagrant 1.1 providers in functional tests
- Also set
env.user
andenv.hosts
invagrant
context manager
- Add
fabtools.system.cpus
to get the host's CPU count - Less verbose output
- Move OS detection functions to
fabtools.system
- Better support for Red Hat based systems
- Improvements to the
user
module: - Fix home dir default behaviour in
require.user
- Add support for SSH authorized keys (Kamil Chmielewski)
- Add support for SSH known hosts public keys
- Add
non_unique
argument to user functions (Zhang Erning) - Get absolute path to the local user's home dir (Sebastien Beal)
- Fix home dir default behaviour in
- Improvements to the
- Use
SHOW DATABASES
to test existence of MySQL (Zhang Erning) - Improvements to the
git
module - Expose lower level
fetch
operation (Andreas Kaiser) - Fix missing import in
require
module (Muraoka Yusuke) - Require
git
command line tool
- Expose lower level
- Improvements to the
- Use
ifconfig
as root innetwork
module - Update OpenVZ guest context manager for Fabric 1.6.0
- Improvements to the
python
module: - Improved detection of distribute
- Add support for virtualenv
--prompt
option (Artem Nezvigin) - Allow relative path in
virtualenv
context manager
- Improvements to the
- Improvements to the
oracle_jdk
module: - Upgrade default Oracle JDK version to 7u21-b11 (Kamil Chmielewski)
- Add support for Oracle JDK version 6 (Sebastien Beal)
- Improvements to the
- Fix broken
fabtools.deb.upgrade
- Add support for Arch Linux packages (Bruno Adele)
- Add support for Linux disk partitions (Bruno Adele)
- Add OpenSSH server hardening (Adam Patterson)
- Add
systemd
module (Jakub Stasiak) - Improvements to the
redis
module: - Fix broken Redis configuration (Victor Perron)
- Upgrade default Redis version to 2.6.13
- Improvements to the
- Abort on nginx configuration errors
- Upgrade default Node.js version to 0.10.7
- Add support for managing remote git repositories (Andreas Kaiser)
- Add intersphinx to docs (Andreas Kaiser)
- Add HTTP proxy support to speed up functional tests
- Upgrade default Node.js version to 0.10.0
- Upgrade default Redis version to 2.6.11
- Upgrade default Oracle JDK version to 7u17-b02
- Fix vagrant support (thanks to Dominique Lederer and anentropic)
- Do not create home directory for system users
- Fix
pkg.is_installed
on SmartOS (thanks to Anthony Scalisi) - Fix
system.get_arch
(thanks to Kamil Chmielewski) - Add support for installing Oracle JDK (thanks to Kamil Chmielewski)
- Add support for creating Postgres schemas (thanks to Michael Bommarito)
- Fix
mysql.user_exists
(thanks to Serge Travin)
- Fix requiring an existing user (thanks to Jonathan Peel)
- Upgrade default Redis version to 2.6.10
- Upgrade default Node.js version to 0.8.19
- Better support for remote hosts where sudo is not installed
- Enable/disable nginx sites (thanks to Sébastien Béal)
- Add support for SmartOS (thanks to Anthony Scalisi)
- Add support for RHEL/CentOS/SL (thanks to Anthony Scalisi)
- Add files missing in 0.9.3 (thanks to Stéfane Fermigier)
- Fix bugs in user creation (thanks pahaz and Stéphane Klein)
- Add support for group creation
- Add syntax highlighting in README (thanks to Artur Dryomov)
- Fix documentation formatting issues
- Improve user creation and modification
- Add support for BSD / OS X to
files.owner
,files.group
,files.mode
andfiles.md5sum
(thanks to Troy J. Farrell) - Improve PostgreSQL user creation (thanks to Troy J. Farrell and Axel Haustant)
- Add
reload
andforce_reload
operations to theservice
module (thanks to Axel Haustant) - Fix missing import in
require.redis
(thanks to svevang and Sébastien Béal) - Add
clear
option to Python virtualenv (thanks to pahaz) - Upgrade default Redis version to 2.6.7
- Upgrade default Node.js version to 0.8.16
- Decrease verbosity of some operations
- Speed up functional tests
- Really fix pip version parsing issue
- Upgrade default pip version to 1.2.1
- Improve user module (thanks to Gaël Pasgrimaud)
- Fix locale support on Debian (thanks to Olivier Kautz)
- Fix version number in documentation (thanks to Guillaume Ayoub)
- Fix potential issue with pip version parsing
- Fix changed directory owner requirement (thanks to Troy J. Farrell)
- Add functions to get a file's owner, group and mode
- Add support for Node.js (thanks to Frank Rousseau)
- Fix dependency on Fabric >= 1.4.0 (thanks to Laurent Bachelier)
- Documentation and packaging fixes
- The
watch
context manager now allows you to either provide a callback or do an explicit check afterwards (warning: this change is not backwards compatible, please update your fabfiles) - Add support for some network-related operations:
- get the IPV4 address assigned to an interface
- get the list of name server IP addresses
- The
services
module now supports both upstart and traditional SysV-style/etc/init.d
scripts (thanks to Selwin Ong) - The
virtualenv
context manager can now also be used withlocal()
(thanks to khorn) - The
supervisor
module now usesupdate
instead ofreload
to avoid unnecessary restarts (thanks to Dan Fairs) - Add support for OpenVZ containers (requires a kernel with OpenVZ patches)
pip
can now use a download cache- Upgrade Redis version to 2.4.17
- Misc bug fixes and improvements
- Support for Ubuntu 12.04 LTS and Debian 6.0
- Documentation improvements
- Added support for requiring an arbitrary APT source
- Added support for adding APT signing keys
- Added support for requiring a user with a home directory
- Added vagrant helpers
- Fixed Python virtualenv context manager
- Fixed README formatting
- Fixed bug in functional tests runner
- Added support for Shorewall (Shoreline Firewall)
- Fixed Python 2.5 compatibility
- Refactored tests
- Packaging fixes
- Added support for hostname and sysctl (kernel parameters)
- Added support for Redis
- Simplified API for supervisor processes
- Packaging fixes
- Initial release