3 ms·
I've been at so many companies where someone is pushing to adopt semantic versioning without actually following step 1 in the spec... > 1. Software using Seman
by SimonPStevens 9y ago
I've been at so many companies where someone is pushing to adopt semantic versioning without actually following step 1 in the spec...
> 1. Software using Semantic Versioning MUST declare a public API. This API could be declared in the code itself or exist strictly in documentation. However it is done, it should be precise and comprehensive.
SemVer doesn't even make sense if you don't have a public API. SemVer doesn't make sense for end user products that don't have an API. I really wish people would stop trying to abuse it.
- deleted 9y ago[deleted]
- dudul 9y agoI'm pretty sure they mean "API" in its true sense. An API for a module or a library, not necessarily a Web API. It's not unusual for an organization to maintain several projects/libraries/services that interact internally via their APIs (sometimes over HTTP, sometimes directly as a library), SemVer makes perfect sense for this use case.
- SimonPStevens 9y agoYeah, which is fine if that's what you do. You can take 'public' to have whatever meaning works for you. I'm talking about places that try and apply SemVer to their consumer facing product, that has no API. That doesn't make sense.
- fenomas 9y agoThey mean API in the sense of anything that someone can declare a dependency against. Whether it's a web service or a library is immaterial; the point of the thing is to be able to update something and formally tell any downstream dependencies whether the update breaks compatibility or not.