zendframework / maintainers

Contributors and maintainers information for Zend Framework.
BSD 3-Clause "New" or "Revised" License
50 stars 25 forks source link

Suggestion: switch to SemVer release naming #52

Open Ocramius opened 6 years ago

Ocramius commented 6 years ago

As per https://github.com/Roave/BackwardCompatibilityCheck/issues/37#issuecomment-392429139 by @alcohol:

Composer does not strictly follow semver formatting. If you look at https://github.com/composer/semver (specifically, the tests) you'll see it is very similar but there are a few deviations for legacy reasons. I think the v prefix is the only prefix we support. The release- prefix is not supported btw, but it is stripped for legacy reasons AFAIK.

weierophinney commented 6 years ago

We've been using release-X.Y.Z since, well, the very first public release, and continued that into ZF2; Composer added a rule to allow the release- prefix early on, because it was already our practice.

With the 2.5.0 release and breaking into components, we kept the release-X.Y.Z format as we were able to maintain the sha1 compatibility with existing composer.lock files if we did.

At the time, I made the following decision:

As such, we have >50% of our components currently using straight SemVer names, and around 50 or so on the old scheme.

We have a few options:

Ocramius commented 6 years ago

Duplication of our tags should work quite okay, but I'll make sure that I ask first

alcohol commented 6 years ago

Well, we strip release- for legacy reasons (probably because you asked at some point if we can support your tags :P). And that isn't going to go away anytime soon. So basically, all your release-X.Y.Z tags are just considered as X.Y.Z tags. Adding proper Semver tags to those same references would probably result in unpredictable behavior as I am not sure how Composer would/could determine which X.Y.Z has precedence.