Request to Reinstate Semantic Versioning for Clarity and Compatibility
relatedcode opened this issue · 6 comments
Semantic Versioning, often abbreviated as SemVer, is a versioning scheme for software aimed at conveying meaning about the underlying changes with each release. It's structured as MAJOR.MINOR.PATCH
, where:
- MAJOR version increases indicate incompatible API changes,
- MINOR version increases add functionality in a backwards-compatible manner,
- PATCH version increases are for backwards-compatible bug fixes.
This system helps developers and users understand the impact of updating to a new version without having to delve deep into the release notes. For instance, increasing the MAJOR version signals that users might need to make significant changes on their end, while a PATCH update suggests minor, typically safe improvements.
+1
In addition, I request to reinstate semantic version to facilitate referencing from other libraries.
I am referencing this library from a package I am creating, but I cannot use package(url:from:)
in Package.swift and am forced to use package(url:revision:)
.
I think(?) this same problem is hitting my Ignite project: SPM is complaining that adding Ignite fails because it relies on an unstable package: swift-markdown. I might switch to the solution suggested by @fumito-ito, but actual semver would be most welcome.