If you don't care about the process for deprecating web-exposed APIs you can stop reading now.
We've got a lot of APIs in the web platform that we'd all love to remove someday. Unfortunately, being good stewards of a long-lasting platform means we have to be very thoughtful about how we do that without damaging developer confidence and the user experience.
We've had a couple
examples recently where (despite very low usage) we felt it was probably a mistake to have removed an API without a deprecation period. In the future I feel we should hold ourselves to a slightly higher bar - almost always
giving developers at least one milestone of warning before removing an API with non-zero usage. We're also exploring
other ideas for better communicating API deprecation to web developers (the devtools console alone is a very leaky feedback channel).
If we'd like web developers to take our deprecation warnings seriously we also need to avoid over-using them. We have a few examples of long-standing deprecation warnings with no credible plan for removal in any concrete time frame. Going forward I propose that all "intent to deprecate" threads should include a concrete plan for removal in a specific milestone, and that the deprecation warnings should include the removal milestone (a pattern that most new warnings have already been following). We know that merely listing an API as deprecated does not have much impact on usage in practice, so it's not enough to hope that deprecating an API will result in the usage dropping below a level that we can break in the future.
Some of the API owners chatted about this today and there was general agreement, and so I've optimistically tweaked the
deprecation process and
template. If there's consensus then I will begin to file bugs for the people who have added existing deprecation messages that don't already include a removal milestone (though I'm in no specific rush to see all messages updated or removed). In the future I could imagine us building some tooling to help encourage and automate this process.
Thoughts?
Rick