Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"-MF" is not a special version and so "1.0.0" < "1.0.0-MF" #2131

Closed
fanf opened this issue Dec 31, 2017 · 5 comments
Closed

"-MF" is not a special version and so "1.0.0" < "1.0.0-MF" #2131

fanf opened this issue Dec 31, 2017 · 5 comments

Comments

@fanf
Copy link
Contributor

fanf commented Dec 31, 2017

In maven ordering, a shorthand milestone identifier ("m") must be followed by a number to be considered as such, else the segment is not special. See https://github.com/apache/maven/blob/master/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java#L176 (only spec I know of for maven version rules).

So it means that cats-core_2.12-1.0.0 is considered to be before cats-core_2.12-1.0.0-MF, which is not good at all: nobody will ever be able to use [1.0.0,1.1) (or any qualifier meaning '1.0 or above, binary compatible version).

See for example in maven central:

Artifacts being published (and can't be unpublished in an open world), that horse left a long time ago, so I'm not sure what is the correct way forward.
Perhaps the best option is to have a 1.0.1 release quickly, which would assure that the versionning of the whole ecosystem is correct regarding the 1.0 branch, which aims to be stable.

@tpolecat
Copy link
Member

Ugh, grim. Releasing 1.0.1 seems good to me.

@paulp
Copy link
Contributor

paulp commented Dec 31, 2017

As an aside, it also means the MF version was "newer" than the RCs. One can imagine ways that could have lessened the exercise received by the RCs (but I really have no idea.)

@fanf
Copy link
Contributor Author

fanf commented Dec 31, 2017

@paulp : I think it should have been ok, as the version weren't binary compatible, there is very little chance that anybody used anything but the exact version number. A chance that binary compatibility is not a given! (sorry)

@kailuowang
Copy link
Contributor

kailuowang commented Dec 31, 2017 via email

@fanf
Copy link
Contributor Author

fanf commented Jan 2, 2018

Now that 1.0.1 is published, that issue can be closed. I'm not sure about cats level process, who should do it?

@LukaJCB LukaJCB closed this as completed Jan 2, 2018
rossabaker added a commit to Verizon/ermine-parser that referenced this issue Jan 8, 2018
Works around irritating Maven ordering of 1.0.0-MF. 
typelevel/cats#2131
rossabaker added a commit to Verizon/quiver that referenced this issue Jan 8, 2018
Works around irritating Maven ordering of 1.0.0-MF. 
typelevel/cats#2131
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants