Hello guys,
Recently two ea versions were released: 2.8.9-ea-0 and 2.8.9-ea-1.
I use Renovate for automatic dependency updates and this tool treats ea versions as stable. I opened an issue about that (https://github.com/renovatebot/renovate/issues/7836), but I'd say that ea suffix is not that common and much more tool can treat such versions as stable.
I suggest using rc version suffix as much more stable.
Per my understanding, the Maven versioning standard does not specify that having a suffix means a version is unstable. Only alpha, beta and rc and their shortened one-letter abbreviations are recognized by Maven. Therefore:
2.8.9-ea-1 is not an unstable version according to the Maven spec2.8.9-ea-1 sorts higher than 2.8.8 so is a valid upgradeHere's a link to the maven source which lists the well-known qualifiers: https://github.com/apache/maven/blob/3736be9c15122d65e6ef675557eb0f882f82b012/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java#L44-L56
A couple more points on versioning:
2.8.6.datatypes sorts lower than 2.8.6 even though it was released after
ok to avoid ea, will use rc, alpha, beta. How then we should call completely unrelated special/experimental releases? would rc-something work?
I've seen the react team using 0.0.0-alpha.* for completely experimental so that they don't sort higher than releases.
0.0.0-alpha-experimental-N Special/experimental releases
0.0.0-alpha-N Not feature complete
0.0.0-beta-N Feature complete, but unstable/buggy
0.0.0-rc-N Contains little to none known issues, release candidate
Reasonable?
Agree. Just a small preference for alphaN (eg. alpha1) instead of alpha-N (eg. alpha-1).
Or rc0 vs rc-0.
Maven should be able to transition between alpha and next digit.
ok
0.0.0-alpha-experimentalN (or milestone-somethingN )
0.0.0-alphaN
0.0.0-betaN
0.0.0-rcN
+1 I know that I can configure gradle to exclude this stuff and am going to have to look it up, but, I'd rather not.
Most helpful comment
0.0.0-alpha-experimental-NSpecial/experimental releases0.0.0-alpha-NNot feature complete0.0.0-beta-NFeature complete, but unstable/buggy0.0.0-rc-NContains little to none known issues, release candidateReasonable?