How long does a deprecated feature stay in the release?

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. 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

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.

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.

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.

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, I suggest to place this statement towards the end of the chapter “Getting Started”, 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

– 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, I suggest to place this statement towards the end of the chapter “Getting Started”, perhaps with a new section “New and Deprecated Features”?

Meh