I’m curious to find out the process/philosophy behind removing deprecated functions from core.
The Codex says this:
These functions below have been deprecated. That means they have been replaced by new functions or are no longer supported, and may be removed from future versions.
Since ‘may be removed’ is a bit ominous and somewhat unclear, I have the following questions.
- What is the criteria for deletion of a deprecated function? (i.e. version gap, time-frame, security risk, etc…)
- Is the deletion of a function communicated to the public officially?
For example: get_postdata()
has been deprecated since 1.5.1 and doesn’t have an official Codex page. Is there a reason this is still around other than to support older versions of WordPress?
To the best of my knowledge, and having heard Nacin say it explicitly, no deprecated function has ever been removed from WordPress to date.
No guarantees for the future, but it’s never happened yet. Still, avoid deprecated functions.
There is no “criteria” or whatever
…like in most other places.
Don’t take it as anything official, but I seem to recall one of the core devs saying something to the effect that they don’t have plans to permanently remove any of the deprecated functions in the foreseeable future. That’s not to say it won’t happen eventually, though. If you see a function that doesn’t have a Codex page, add it!
There was some discussion a couple years ago to have a set number of releases between deprecation and removal, but at the time deprecation was poorly handled. There were a number of functions that did not have an @deprecated version number filled in, certain functions were widely used by loosely maintained plugins, and so on. It doesn’t seem like there was any real resolution to the matter either.