A deprecation with no measurement never completes

Announcing a removal date without instrumentation means the date arrives and nobody can say whether removing it is safe.

the sequence that works:

  1  instrument     usage per version, per client
  2  announce       header, changelog, and email
  3  wait           and watch the number fall
  4  contact        the ones that have not moved
  5  disable        for a day, deliberately, and watch
  6  remove         after 30 days at zero

step 5 is the one people skip, and it is the one that
finds the client nobody instrumented.

The brownout — disabling deliberately for a short window — is the step that converts uncertainty into a list of phone calls. It has to be announced and it has to be short, and it reliably finds the integration that authenticates as a user nobody attributed to a client.