Deprecation is a technique to signal to developers that a particular piece of functionality will be removed in a future version. By carefully combining deprecation warnings with a sensible release schedule you give the users of your systems the best chance to update their systems to meet the changes.