DEV Community

Discussion on: What is backwards compatible?

Collapse
 
jessekphillips profile image
Jesse Phillips

You can apply sem version to an application, in that context it is hard to define breaking change because you have to have clarity in what is your public interface. Consider adding a check box, all other components still exist, but now there location is positional different. If someone poorly automated interaction, you have introduced a breaking change.

This terminology is most useful with an API, something programs consume. Libraries expose an API so they are in the same boat.

To look at backwards compatibility, you look at what could have been developed against your public interface/contract, if all of those interactions will behave the same so that users will function the same without change.

Unfortunately bugs can be a public interface and that is why MS spends so much money recreating defects so older software still functions to this day.