> It's not semantic versioning Thought I’d check this, and this appears to be incorrect. From https://semver.org:
A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92, 1.0.0-x-y-z.–. From: Mick Semb Wever <m...@apache.org> Date: Thursday, 16 December 2021 at 16:31 To: dev@cassandra.apache.org <dev@cassandra.apache.org> Subject: Re: [DISCUSS] Periodic snapshot publishing with minor version bumps > > > > general feedback seems to be that users don't care so long as version > > numbers are going up > > Curious to hear more about this. It doesn't match my intuition or > experience running systems but I'm also n=1 and there's a lot of opinions > in the world. > > Leap-frogged by Benedict's response here, but I'm in favor of something > like: > 4.1.0-SNAPSHOT-22Q1 > 4.1.0-SNAPSHOT-22Q2 > ... > > Keeps lexicographical comparison but also embeds the intent of the release > and when it hit all in one bundle. And doesn't blow up our minor #'s and > lead to confusion. > It's not semantic versioning, and it breaks the code and drivers. The proposal is about publishing a semantic version, providing a structure that is inclusive to the ecosystem and vendors, combined with the limitations/challenges within the project around what version numbers are valid. The SNAPSHOT suffix/label here does not belong to semantic versioning. In maven repositories it gets replaced with timestamps which is "Build metadata" (#spec-item-10) for SemVer. Both suffixing and extending this becomes messy (and again would not be SemVer). Jumping version numbers can happen when releases cut don't pass staging/voting are cast aside and a new release with a new version is cut instead of a "takeX" approach. For the release manager this is a simpler approach (not having to rollback version numbers and changelogs), and for those using development published artefacts (nightlies, staging, etc) (not having versions clobbered). Release manager practices aside, as a user I agree with Brandon, what matters is the version is greater and whether major/minor/patch numbers are greater. I am interested in others PoV, but am seeing this boiling down to a) extending SemVer to these published dev artefacts (which enables and keeps close the ecosystem and vendors), and b) accepting that the code and drivers is fragile with versions and we need to keep it simple.