Semantic versioning and public interfaces
...http://paul-m-jones.com/archives/6136Interfaces are more susceptible to BC breaks than concrete classes. Once an interface is published as “stable”, I don’t see how it can be changed at all per the rules of SemVer (that is, unless you bump the major version). The only thing you can do to maintain BC is add an entirely new interface to the package while leaving the old one in place, perhaps even extending the old one if needed.
What are your thoughts on "Semantic versioning and public interfaces"?