[deprecated] Deprecated meaning?

When jQuery, Microsoft or some other software company says:"this function is deprecated".

For example, when there is a func1 that works fine in version 1.0 and is deprecated in version 2.0 that also introduces a new func2:

  1. Should func1 also be included in version 2.0 for backwards compatibility?
  2. Is func1 supposed to work without bugs in version 2.0? ( func2 is fine with versions 2 and 1)
  3. Is func2 allowed not to work correctly in version 2.0?

What does deprecation really mean and does it mean the same in all organizations?

For ex. the live method in jQuery doesn't work in 1.7 in IE but it does in Chrome).

This question is related to deprecated

The answer is


I think the Wikipedia-article on Deprecation answers this one pretty well:

In the process of authoring computer software, its standards or documentation, deprecation is a status applied to software features to indicate that they should be avoided, typically because they have been superseded. Although deprecated features remain in the software, their use may raise warning messages recommending alternative practices, and deprecation may indicate that the feature will be removed in the future. Features are deprecated—rather than immediately removed—in order to provide backward compatibility, and give programmers who have used the feature time to bring their code into compliance with the new standard.


The simplest answer to the meaning of deprecated when used to describe software APIs is:

  • Stop using APIs marked as deprecated!
  • They will go away in a future release!!
  • Start using the new versions ASAP!!!

Deprecated in general means "don't use it".
A deprecated function may or may not work, but it is not guaranteed to work.


Deprecated means they don't recommend using it, and that it isn't undergoing further development. But it should not work differently than it did in a previous version unless documentation explicitly states that.

  1. Yes, otherwise it wouldn't be called "deprecated"

  2. Unless stated otherwise in docs, it should be the same as before

  3. No, but if there were problems in v1 they aren't about to fix them


If there are true answers to those questions, it would be different per software vendor and would be defined by the vendor. I don't know of any true industry standards that are followed with regards to this matter.

Historically with Microsoft, they'll mark something as deprecated and state they'll remove it in a future version. That can be several versions before they actually get rid of it though.