In our company we have a definition of what a breaking change is and we try to avoid it as much as possible.
It is a change
- that changes a method signature.
- that changes the behavior of a method.
- that changes settings, configuration.
- that adds dependencies to a module, assembly etc..
Would you say this is a good/complete definition of a breaking change? Is there something missing? Would you consider a change in the database schema a breaking change too (e.g. a new column or new table)?
Thanks in advance.
EDIT: Just found this A definitive guide to API-breaking changes in .NET