Just over two months ago, we started work on Ansible 1.2. These last two months have flown by, and it's been amazing to watch the Ansible community grow. Today, I'm happy to release Ansible 1.2, which is now available via ansibleworks.com/releases and will soon be available via pip and your favorite OS package managers.
Just over this last month alone, we had over 70 unique contributors to Ansible, and nearly 130 unique contributors to the release. We've passed over 1650 "watchers" on github and are still growing quickly!
The 1.2 release adds many new features, including roles -- which are a fantastic way to organize content. We've also massively improved our variable support, allowing the same syntax for variables to be used in templates and playbooks alike. Improved conditionals, in the form of the 'when' command greatly simply the ability of a playbook to react to it's environment. Pre and Post tasks provide greater controls to make rolling updates even smoother. If I had to summarize a theme, it's all about streamlining. As we introduce more people to Ansible, we want them to have a really simple, easy, rewarding first experience -- this release takes feedback form all the past releases, looks at questions folks were asking, and provides solutions to nearly all of those questions. Many folks have been running 1.2 from the development branch for some time, and I think most of us agree, it's the easiest to use Ansible release ever.
You can read all about Ansible features on the new improved doc site, http://ansibleworks.com/docs/, which is part of our also newly relaunched homepage, which is of course still at http://ansibleworks.com/
The most interesting part of the release, to me, as always, is the explosion of great new modules brought into Ansible core. This release we have added 32 new modules! We now have modules to manage Red Hat subscriptions, a OpenSuSE and node.js (npm) package management module, and an astounding 11 new modules for managing the various components of OpenStack. There are team chat notification modules for Flowdock, Hipchat, Campfire, IRC, and more. There are monitoring modules to interact with New Relic, Airbrake, Pingdom, Pagerduty, and Monit. There's a new module adding cloud provisioning for Rackspace, adding to already strong support for other virtualization options, as well as a new module for interfacing with F5 "BigIP" load balancers during a rolling update. For the full list of changes, you can see the changelog here
There are many ways to contribute besides code -- testing, sharing ideas, and spreading the word about Ansible are all great ways to contribute. However I would like to use this space to thank all of these great folks who have shared a change with the 1.2 release -- whether in the release or the documentation. Regardless of how you've helped out, I am greatly indebted to all you do for Ansible:
Serge van Ginderachter (18), Stoned Elipot (16), Brian Coca (13), Stephen Fromm (10), Michael Vogt (10), Matt Coddington (8), Jesse Keating (8), Jan-Piet Mens (8), James Martin (8), Chris Gardner (8), Maykel Moya (7), John Jarvis (7), Lorin Hochstein (6), Bernhard Weitzhofer (6), lwade (5), Seth Vidal (5), Scott Sturdivant (5), James Laska (5), Dag Wieers (5), Buce (5), willthames (4), madema (4), Tim Gerla (4), Lester Wade (4), Ivan Lezhnjov IV (4), Ingo Gottwald (4), Blair Zajac (4), lonerr (3), Ton Kersten (3), Timothy Appnel (3), Patrick Callahan (3), Nicolas Grilly (3), Mark Mandel (3), Mario Franco (3), Elan RuusamÃ¤e (3), Darryl Stoflet (3), Dale Sedivec (3), Ceri Storey (3), C. Morgan Hamill (3), Benjamin Schwarze (3), trbs (2), tin (2), mavimo (2), bennojoy (2), Yeukhon Wong (2), Victor Castell (2), Tin Tvrtkovic (2), Rik Theys (2), Pol Llovet (2), Peter Janes (2), Les Aker (2), Kristof Keppens (2), Kent Frazier (2), Kahlil (Kal) Hodgson (2), Junegunn Choi (2), Jon Miller (2), Darren Worrall (2), Cristian Ciupitu (2), Chris Jacobs (2), Chris Hoffman (2), Chris Church (2), Chad Ostrowski (2), Bruce Pennypacker (2), Alexander Bulimov (2), Adam Miller (2), Aaron Brady (2), shirou (1), rektide (1), node (1), milan (1), jtsoi (1), gw0 (1), gw0 (1), bleader (1), William Bowling (1), WAKAYAMA Shirou (1), Trevor Wennblom (1), Toshaan Bharvani (1), Tim Habermaas (1), SÃ©bastien Bocahu (1), Shahar Kedar (1), Raul Melo (1), Ralph Tice (1), Piffey Parlance (1), Peter Hudec (1), Patrick Regan (1), Oleg (1), Nathan L. Walls (1), Michel Blanc (1), Matt Hite (1), Magnus Andersson (1), Luciano Cavalheiro da Silva (1), Lars Vogdt (1), Kavin Kankeshwar (1), Joshua Lund (1), John Gosset (1), Joel Semar (1), JirÌŒiÌ KubiÌ cÌŒek (1), Jim Kleckner (1), JesÃºs GarcÃa Crespo (1), Jeroen Hoekx (1), Jeremiah Heller (1), Jeffrey Chu (1), JcB (1), Jan Duzinkiewicz (1), James Mills (1), James Cammarata (1), Jack Kuan (1), Guillaume Lasmayous (1), Greg Swift (1), Gilles Cornu (1), George Miroshnykov (1), Gavin McDonald (1), Gareth Rees (1), Francesc Esplugas (1), Fabio Bonelli (1), Fabian Arrotin (1), Dylan Silva (1), Dirk Uys (1), Dimos Alevizos (1), David Simon (1), Daniel Wallace (1), Chelsea Robb (1), Bryan Larsen (1), Ben Ritcey (1), BartÅ‚omiej Piotrowski (1), Alex Tomkins (1), Alex Quach (1), Afsin Toparlak (1), Adam Garside (1), Adam (1)
With 32 new modules added for 1.2 -- and lots of really great features like roles, improved variables, and improved conditionals -- it's very clear that the sky is very much the limit for what is coming in 1.3, which is coming in just another two months!.
Thank you everyone!