# How long does a deprecated feature stay in the release?

**URL:** <https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986>\
**Category:** Ansible Project\
**Created:** [October 16, 2012, 4:53pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986 "2012-10-16T16:53:45Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zack\_Perry](https://avatars.discourse-cdn.com/v4/letter/z/54ee81/32.png) [@Zack\_Perry](https://forum.ansible.com/u/Zack_Perry)\
**Post date:** [October 16, 2012, 4:53pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986/1 "2012-10-16T16:53:45Z")

</div>

ansible is evolving faster and faster now. So, I have been going over quite a lot of my existing playbooks to ensure that

1. They use the latest features if such a usage results in efficiency and clarity gain
2. They don’t use deprecated features  
Regarding 2, sometimes, the doc mentions whether a feature is deprecated and from which release. An example is [http://ansible.cc/docs/playbooks2.html?highlight=ignore\_errors](http://ansible.cc/docs/playbooks2.html?highlight=ignore_errors). But we are at 0.8 already, the feature is still there, and is still used in at least one example and some places in the library and test.

So, the Q: is there a general policy once a feature is deprecated, when can we expect it to be completely removed from ansible?

Regards,

– Zack

---

<div class="post-metadata">

**Author:** ![Tim\_Bielawa](https://avatars.discourse-cdn.com/v4/letter/t/ed8c4c/32.png) [@Tim\_Bielawa](https://forum.ansible.com/u/Tim_Bielawa)\
**Post date:** [October 16, 2012, 5:55pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986/2 "2012-10-16T17:55:55Z")

</div>

Tangential to that:

Is ignore\_errors really deprecated? I have valid use cases for that.

Back on topic:

I think in IRC we talked once about spitting out plain and obvious  
"DEPRECATION WARNING: foo, will be gone in $this\_release+X" messages.

---

<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:** [October 16, 2012, 5:56pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986/3 "2012-10-16T17:56:16Z")

</div>

This is a documentation error, ignore\_errors is NOT deprecated.

Please file a bug.

The only thing I've been threatening to kill is configuration via  
environment variable.

Once actually deprecated in a released release, the feature may be  
removed in the following release.

In general, we're \*NOT\* allowing removal of anything from playbooks or  
breaking the Playbook YAML signature, API signature, or /usr/bin/\*  
flags.

---

<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:** [October 16, 2012, 6:00pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986/4 "2012-10-16T18:00:21Z")

</div>

> Back on topic:
> 
> I think in IRC we talked once about spitting out plain and obvious  
> "DEPRECATION WARNING: foo, will be gone in $this\_release+X" messages.

And this is exactly what I've done for when I've done this. Nothing  
changed here.

---

<div class="post-metadata">

**Author:** ![Zack\_Perry](https://avatars.discourse-cdn.com/v4/letter/z/54ee81/32.png) [@Zack\_Perry](https://forum.ansible.com/u/Zack_Perry)\
**Post date:** [October 16, 2012, 6:21pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986/5 "2012-10-16T18:21:36Z")

</div>

> This is a documentation error, ignore\_errors is NOT deprecated.
> 
> Please file a bug.

My colleague just did.

Thanks for the clarification.

> The only thing I’ve been threatening to kill is configuration via  
> environment variable.
> 
> Once actually deprecated in a released release, the feature may be  
> removed in the following release.

IMHO this “policy” should be part of the official documentation. In the current [ansible.cc/docs](http://ansible.cc/docs/), I suggest to place this statement towards the end of the chapter “[Getting Started](http://ansible.cc/docs/gettingstarted.html)”, perhaps with a new section “New and Deprecated Features”?

> In general, we’re _NOT_ allowing removal of anything from playbooks or  
> breaking the Playbook YAML signature, API signature, or /usr/bin/\*  
> flags.

Again, I recommend to put the above in said new section.

Regards,

– Zack

---

<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:** [October 16, 2012, 6:24pm UTC](https://forum.ansible.com/t/how-long-does-a-deprecated-feature-stay-in-the-release/11986/6 "2012-10-16T18:24:19Z")

</div>

– Michael

> > This is a documentation error, ignore\_errors is NOT deprecated.
> > 
> > Please file a bug.
> 
> My colleague just did.
> 
> Thanks for the clarification.
> 
> > The only thing I’ve been threatening to kill is configuration via  
> > environment variable.
> > 
> > Once actually deprecated in a released release, the feature may be  
> > removed in the following release.
> 
> IMHO this “policy” should be part of the official documentation. In the current [ansible.cc/docs](http://ansible.cc/docs/), I suggest to place this statement towards the end of the chapter “[Getting Started](http://ansible.cc/docs/gettingstarted.html)”, perhaps with a new section “New and Deprecated Features”?

Meh
