3 ms·
Semantic versioning serves a purpose - it makes it possible to automatically update dependencies to the latest compatible version without breaking code. If you
by paskozdilar 5y ago
Semantic versioning serves a purpose - it makes it possible to automatically update dependencies to the latest compatible version without breaking code.
If you don't need automatic updates, then any kind of versioning is fine. Hell, you could get away with just using a single incrementing integer. v1, v2, v3, ..., v225883, etc.
- tsimionescu 5y agoThat's a terrible purpose, and SemVer does no such thing. There are approximately 0 large libraries that actually offer SemVer style guarantees. For example, the Go stdlib itself is definitely not using SemVer, as it often introduces breaking changes between minor versions. The only thing loose dependencies and automatic version resolution and duplicating libraries achieve is a false sense of security when upgrading code. And the only thing Go's awful, awful idea to force v2+ to change import path is to make a mess in your version control history, and hide the important bits in a sea of needlessly changed files.
- henvic 5y agoSemver isn't designed for this, and this whole idea of automatically updating dependencies is awful. Don't do it. Use discretion when updating anything.
- paskozdilar 5y agoLarge-scale compatibility is exactly what semver was designed for. > this whole idea of automatically updating dependencies is awful. Yeah, well, that's just, like, your opinion, man.