This is why it is important to stratify your API promises.
Git is a good example of this, with "plumbing" commands meant for scripts and software and "porcelain" commands meant for a more comfortable user experience. Code is rigid while humans are flexible.
Only freeze APIs that have been proven in the field to be stable and necessary in the field by thousands of people.