Consistent Version Numbering Scheme
- Dominant language
- Java
- Stars
- 3.5k
- Forks
- 250
- Avg merge
- 16h 22m
- Merged PRs (30d)
- 36
Description
Just a suggestion that it might be nice to stick to a consistent version numbering scheme. May I suggest [Semantic Versioning 2.0.0](https://semver.org/)
So far there have been releases with version numbers like:
1. `{major}.{minor}.{hotfix}`
e.g. version `0.0.1` through `0.9.0`.
This is nice, and is inline with Semver.
2. `{major}.{minor}.{hotfix}-{pre-release}`.
e.g. versions `1.0.0-m1` and `1.0.0-m4`.
This is nice, and is also inline with Semver.
3. `{major}.{minor}-{pre-release}`.
e.g. version `1.0-m6`.
This is not so nice, as it is not clear if this is a continuation of the previous 1.0.0 pre-releases or not.
This is *NOT* inline with Semver.
Additionally the filenames for the downloads of `1.0-m6` seem to encode a second pre-release version label, e.g. `1.0-m6-m39` and `1.0-m6-m40`.
There is nothing necessarily wrong with the `m39` aspect, and that can also be accommodated by Semver if you wished, e.g. use instead `1.0.0-m6-m39`.
The 3rd scheme documented above adds additional difficulties for scripts that are trying to work out the latest version and/or download a specific version. Whereas for all previous versions such a script could set a `VERSION=0.9.0` and access a URL like:
```
https://archive.apache.org/dist/maven/mvnd/$VERSION/maven-mvnd-${VERSION}-linux-amd64.zip
```
That is not possible with `1.0-m6` as you would instead need something like:
```
https://archive.apache.org/dist/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-${SECONDVERSION}-linux-amd64.zip
```
and of course such a URL would not in a script be backwards compatible.
It would be great if you could settle on a consistent version numbering scheme :-)
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the release history and the version and download-URL examples listed in this issue, then inspect how releases and artifact names are published. A complete change would define one consistent versioning scheme and make the resulting URLs usable for scripts without the ambiguity described here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100