An operation is announced as deprecated at least six months before it stops being served.
From the day it is announced, every response it gives carries a Deprecation header with the date it was deprecated, a Sunset header with the first day it may no longer be served, and a Link header to the notice.
The notice is published here, with what to use instead, and the API reference marks the operation deprecated.
A breaking change is never made within v1. It is published as a new version, and v1 keeps working until its own sunset, announced the same way.