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

Proposal to Standardize Release Tagging Using Semantic Versioning #784

Open
cdwmhcc opened this issue Jun 25, 2024 · 6 comments · Fixed by #786
Open

Proposal to Standardize Release Tagging Using Semantic Versioning #784

cdwmhcc opened this issue Jun 25, 2024 · 6 comments · Fixed by #786

Comments

@cdwmhcc
Copy link

cdwmhcc commented Jun 25, 2024

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):

  • 1.4.0-dev
  • 1.4.0-alpha.1
  • 1.4.0-beta.1
  • 1.4.0-rc.1
  • 1.4.0

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 Murmele mentioned this issue Jun 26, 2024
@Murmele
Copy link
Owner

Murmele commented Jun 26, 2024

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
Copy link
Contributor

alerque commented Jun 26, 2024

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

@cdwmhcc
Copy link
Author

cdwmhcc commented Jun 26, 2024

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:

  • 1.4.0-dev
  • 1.4.0-alpha.1
  • 1.4.0-beta.1
  • 1.4.0-rc.1
  • 1.4.0

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
Copy link
Contributor

alerque commented Jun 26, 2024

@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
Copy link
Author

cdwmhcc commented Jun 26, 2024

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.

  • stable => gittyup_1.4.0
  • beta => gittyup_1.4.0-beta
  • development => gittyup_1.4.0-dev
  • gittyup_v1.4.0 => gittyup_1.4.0 (Keep it)

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

@Murmele Murmele reopened this Jun 27, 2024
@Murmele
Copy link
Owner

Murmele commented Jun 27, 2024

@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.

@Murmele Murmele reopened this Jun 27, 2024
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

Successfully merging a pull request may close this issue.

3 participants