// the find
mxcl/Version
semver (Semantic Version) Swift µFramework.
A small Swift library pulled out of Swift Package Manager's internal Version type, with semver parsing, comparison, Codable, and range support. Useful for anyone who needs real semver semantics (prerelease ordering, build metadata handling) without pulling in SPM internals or writing their own comparator.
Correctly implements the fiddly parts of semver that people get wrong, like build metadata being ignored for equality/hashing/comparison but preserved in the string representation. The tolerant initializer handles real-world version strings like "10.0" or "v3" that aren't strict semver but show up constantly in the wild. Split across multiple small files instead of one dump, and it tracks the upstream SPM Version.swift for fixes rather than drifting silently.
337 stars for something this fundamental suggests most Swift projects just reach for SPM's internal copy or roll their own rather than adding a dependency for this. The range caveats around prerelease identifiers (1.0.0..<2.0.0-beta including 2.0.0-alpha) are correct per spec but easy to get wrong when consuming the API, and the README buries this in prose instead of a code example showing the gotcha. Single-platform scope — this only solves semver parsing, nothing about resolving version constraints or dependency graphs, so it's a building block, not a tool.