Swift versioning was developed to support the Swift Package Manager. It's based on Semantic versioning but includes its own concept of ranges.