How many years does an API need in purgatory of EXPERIMENTAL status before it is forgiven its sins and considered STABLE?


This one has been stable for almost four years.


Add associated interface to above:


There are no strict rules for this, it is basically a decision that will be made by responsible developer according to their judgement and plans. I've asked about those two cases and will update information.


For above cases, there are no immediate plans to change the current API status.


I had no doubt this was the case. Effectively, there is no major difference between Internal or Experimental from the outside perspective. Both really mean: "use at your own risk" and "expect breaking changes anytime".

That is why I referred to these annotations as being "sadistic".

Take out internal and experimental API usage, and most of my plugins will be useless or not be able to work.



There are quite strong differences between "Internal" and "Experimental" API, please see


I did not mean there is no difference in the official definition or internal handling, I meant there is no difference from the outside perspective, here is an excerpt from the link above:

  • ApiStatus.@Experimental is considered unstable and may break or be removed.

  • ApiStatus.@Internal must not be used by plugins, see Internal API Migration for more details and replacements.

  • ApiStatus.@ScheduledForRemoval denotes API that will be removed in a future version.

Both really mean: "use at your own risk" and "expect breaking changes anytime"

Lets add "May go away at any time in the future" to all 3, then externally, all effectively mean the same thing.


Please sign in to leave a comment.