Open maudnals opened 3 years ago
"Alice" = developer
deprecated
field:
true
: this API is already deprecated. this likely means Alice needs to migrate. She may check the value of removedSince
: typically, the older removedSince
is, the higher the prio of this migration.false
: this API isn't yet deprecated according to that UA.
anticipatedRemoval
. anticipatedRemoval
is absent:
anticipatedRemoval
means that the API may or may not be deprecated in the future. Alice knows she needs look into migration strategies⏤very low prio if this API isn't key to Alice's web app, higher prio in case the web app's core use case does rely on this API.anticipatedRemoval
date for this deprecation, Alice will be notified of this in other reports, coming from users of newer UAs. So nothing falls through the cracks. anticipatedRemoval
is present: Alice checks its value.
Bump. I consider deprecation reports is one of key pieces to help developers catching up with the current rapid evolution. How can we get this sorted?
One key information developers need from deprecation reports is whether an API is already deprecated or whether it will be deprecated. Depending on this information, developers will approach the issue differently.
Assumptions
Problem today 💥
Today, by looking at a deprecation report, there's no straightforward way to know whether an API is deprecated or will be deprecated. The optional field
anticipatedRemoval
isn't sufficient because:Source: https://wicg.github.io/deprecation-reporting/#deprecation-report
Proposed solution ☑️
Extend the report body with two new fields:
deprecated
:true
|false
removedSince
: only present ifdeprecated
istrue
anticipatedRemoval
remains, but can be present only ifdeprecated
isfalse
. Ifdeprecated
isfalse
andanticipatedRemoval
is absent, it means, like in today's spec, that the removal may not actually occur.⁉️ Open question: Should the dates in
removedSince
andanticipatedRemoval
be actual human readable dates? Or should they be browser versions?