How to better break software
Semantic Versioning is the current standard for supporting software changes over time. It also an integral part of the OSGi platform. Over the years it has become apparent that although Semantic Versioning allows us to express breaking changes, it does not do a good job in supporting the actual transition from the old to the new. The Semantic Versioning of today favors the parties that are slow to adopt the change, making life hard for everyone else.