Breaking Changes: How to Avoid Shipping Them and What to Do When You Must