Murmele / Gittyup

Understand your Git history!
https://murmele.github.io/Gittyup
MIT License
1.37k stars 108 forks source link

Proposal to Standardize Release Tagging Using Semantic Versioning #784

Open cdwmhcc opened 3 days ago

cdwmhcc commented 3 days ago

Description

Dear Gittyup Developers,

I have noticed an inconsistency in the version tagging within the releases section that could potentially confuse users trying to track changes or understand the progression of releases.

Examples of Current Version Tagging

Here are a few examples from the Releases page that illustrate the current inconsistency in version naming:

I don't understand why 1.4.0-dev comes before 1.4.0.

Suggestion

I noticed that the file download list already follows SemVer, but the tree/tag does not follow SemVer.I recommend standardizing the version numbering format by adopting Semantic Versioning (SemVer):

Conclusion

I hope you will consider this proposal to standardize version numbering. I believe adopting SemVer can significantly streamline development workflows and help both contributors and users to better understand the significance of each release.

Thank you for considering this suggestion, and for your continued work on this valuable project.

Murmele commented 2 days ago

Hi @cdwmhcc,

thank you for pointing us to this topic. The stable and latest tags are legacy and are used anymore. I removed them and updated the links on the webpage.

Now only latest which points to the latest stable release and development for the latest non stable version is available.

alerque commented 2 days ago

The gittyup_ prefix on stable semver based release tags should probably be dropped going forward too.

cdwmhcc commented 2 days ago

Hi @Murmele, Sorry for the late reply due to time difference.

Thank you for your prompt response and for addressing the issue with the stable and latest tags. I appreciate your efforts in maintaining and improving the project.

However, I would like to clarify my initial suggestion regarding the adoption of Semantic Versioning (SemVer). My concern was specifically about applying SemVer not only to the file downloads but also directly to the version tags in the repository's tree. This would help in maintaining a consistent versioning strategy across all aspects of the project.

For example, instead of having a mix of different tag styles, we could standardize on:

image

This approach would enhance clarity and predictability for both contributors and users tracking the development progress and release stages.When we enter the https://github.com/Murmele/Gittyup/releases https://github.com/Murmele/Gittyup/tags page, we can clearly get the progress of the project.

I believe that aligning the version tags in the repository tree with SemVer could significantly streamline development workflows and help everyone better understand the significance and stability of each release.

I look forward to your thoughts on this.

alerque commented 2 days ago

@cdwmhcc Do keep in mind that removing existing tags is somewhat problematic because it would break anything downstream that is expecting them to be reachable. The stable tag and any other "sliding" tags could be removed, but none of the existing "fixed" tags should be removed even if a more sane/standard scheme is used going forward.

Also following semver for fixed release tags does not preclude the use of "sliding" tags that don't follow the scheme at all, although personally I would remove them all and rely of GH's release labeling for latest and latest pre-release.

cdwmhcc commented 2 days ago

Gittyup's versioning has been following SemVer since the beginning, it just had a little problem in the tree.

For example: https://github.com/Murmele/Gittyup/releases/tag/development

It lost the version number (tree). What we need to do is to optimize this part. This will help some downstream automated tools or users to distinguish versions well.

@alerque I think it doesn't matter whether to remove or keep gittyup_, it's just a prefix. Everything is about the future.

Murmele commented 2 days ago

@cdwmhcc I see there is also the latest and stable in the repository it self. I will remove them (and a few others in there).

The problem for the development tag is, it is quite complicated to give it a version number because it is a moving tag. It will be moved once a new commit in the master branch is available.

The gittyup tag exists, because Gittyup was a fork of GitAhead and we had to use another version prefix to not getting in conflict with those tags.