title: What is a breaking change in software?
body: <p>In our company we have a definition of what a breaking change is.</p>
  
  <p>It is a change </p>
  
  <pre><code> - that changes a method signature.
   - that changes the behavior of a method.
   - that changes settings, configuration.
   - that adds dependencies to a module, assembly etc..
  </code></pre>
  
  <p>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)?</p>
  
  <p>Thanks in advance.</p>
  
  <p><strong>EDIT:</strong> Just found this <a href="https://stackoverflow.com/questions/1456785/a-definitive-guide-to-api-breaking-changes-in-net">A definitive guide to API-breaking changes in .NET</a></p>