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.
We will demonstrate in a straightforward way what happens when we break software and discuss a surprisingly simple approach to fix Semantic Versioning so that it allows all parties (fast and slow) to proceed at their own pace.