# Features just merged to 0.8

**URL:** <https://forum.ansible.com/t/features-just-merged-to-0-8/11868>\
**Category:** Ansible Project\
**Created:** [September 7, 2012, 1:02am UTC](https://forum.ansible.com/t/features-just-merged-to-0-8/11868 "2012-09-07T01:02:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [September 7, 2012, 1:02am UTC](https://forum.ansible.com/t/features-just-merged-to-0-8/11868/1 "2012-09-07T01:02:39Z")

</div>

Now that the code freeze has lifted, I've just merged in a ton of  
shiny goodness:

1)

You can now use "is\_set" inside an only\_if expression to check if a  
given variable is available.

Example: is\_set('ansible\_eth0')

This eliminates the need for the ugly 'not  
'$ansible\_eth0'.startswith('$') hack to check if a variable was/wasn't  
defined.

2)

If you have a command that removes a file, rather than adding it, and  
you want it to be called idempotently, there is now a removes= that  
works just like creates=, only in the opposite way.

3) postgresql modules now take an optional port= parameter

4) /proc/cmdline info is now available in Linux facts

5) public host key detection for OS X in the setup module

6) to\_yaml and from\_yaml are available as Jinja2 filters, in addition  
to to\_json and from\_json which were already there. I don't think many  
people will need these, but if you have a variable stored as a YAML  
list and you need to write it to a JSON config file, this is for you.

7) as I mentioned a bit earlier -- server side action code (template,  
etc) are now fully pluggable -- tests are happy, but let me know if  
you see any problems.

Lots of new stuff, and 0.8 is only a few minutes old 🙂

--Michael
