Supports to the playbook of Process Substitution
Add a hostname module, which sets system's hostname.
Take out the spaces inside the parenthesis.
Raise an error on unsupported platform/distributions.
Remove extra sysloggings.
Rewrite with "try ... finally" instead of "with" statement to support Python 2.4.
Fix a bug in DebianStrategy.get_permanent_hostname(). Use strip, not split!
Avoid duplicates of the 'all' group when using inventory script.

Do not recreate an 'all' group when it is in the inventory script's
output, but use the one created upfront.
ec2 inventory script: Add a global group for EC2 and RDS instances when
listing EC2 inventory
add 'chars' parameter to password plugin to allow custom character set

It accepts comma separated list of names that are
either string module attributes (ascii_letters,digits, etc)
or are used literally

To enter comma use two commas ',,' somewhere - preferably at the end
Qoutes and double qoutes are not supported
filter out qoutes since they cause random errors
apt: pass child process stdout and stdout to m.fail_json() and m.exit_json().

Without this, this fails:

    - name: apt-get dist-upgrade
      action: apt upgrade=dist
      register: apt_get_contents

    - name: apt-get clean
      action: command apt-get clean
      when: apt_get_contents.stdout.find("0 upgraded") == -1

TASK: [apt-get clean] *********************************************************

fatal: [192.168.2.2] => error while evaluating conditional: {% if apt_get_contents.stdout.find("0 upgraded") == -1 %} True {% else %} False {% endif %}

FATAL: all hosts have already failed -- aborting
apt: do not consider not-removed and not-upgraded packages as changes.

If one pins a package and does a 'apt-get dist-upgrade' then the
output looks like:

    # apt-get dist-upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages have been kept back:
      cassandra
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

The check for any changes made should only be on the 'upgraded' and
'newly installed' values and not include the 'to remove' and 'not
upgraded' values.
Enforce umask for cron module, so cron_file generated files are 0644.

Certain cron implementations get cranky if files in cron.* are group
writable.
mysql_db now supports import and dump of gzip and bzip2 compressed files
Adding path_prefix to run_command so that one can pass in a path to the run environment if you nees something in a non-default path.
Adding the bin/ directory of the virtualenv (if you specify a virtualenv) as a path_prefix so that other programs that only exist in the virtualenv will be available to things being installed into said virtualenv.  Classic example: installing gevent requires cython binary to be available, but if cython is in the virtualenv only it won't be found without this.
Set default of 'yes' for update_cache, as is in the documentation
add docker module
add example docs