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

Fix release versioning scheme #78658

Closed
AMDmi3 opened this issue Dec 19, 2024 · 10 comments
Closed

Fix release versioning scheme #78658

AMDmi3 opened this issue Dec 19, 2024 · 10 comments
Labels
(S1 - Need confirmation) Report waiting on confirmation of reproducibility

Comments

@AMDmi3
Copy link

AMDmi3 commented Dec 19, 2024

0.H is unusual scheme which is not compatible with some downstream package managers and other tools, such as new release reporters or vulnerability scanners. You can see that by the broken repology badge. Suggest numeric version like 0.9 or 0.9.0.

@AMDmi3 AMDmi3 added the (S1 - Need confirmation) Report waiting on confirmation of reproducibility label Dec 19, 2024
@RenechCDDA
Copy link
Member

We specifically switched away from numeric release numbers. I can safely say that we will not be up-ending many years of releases to go back.

If downstream tools have issues with our pretty common release scheme, you should report those issues at the downstream tools.

@AMDmi3
Copy link
Author

AMDmi3 commented Dec 20, 2024

We specifically switched away from numeric release numbers.

What was the reason, if I may ask?

I can safely say that we will not be up-ending many years of releases to go back.

Is there a consensus regarding this among active contributors? @ZhilkinSerg @kevingranade @Maleclypse @Night-Pryanik @Standing-Storm @dseguin @GuardianDll @anothersimulacrum @John-Candlebury @LyleSY @PatrikLundell @Procyonae @andrei8l @Karol1223 @Fris0uman @akrieger

pretty common release scheme

This is not closely true. Among 841k projects known to Repology, I've found only 2 other projects using this (specifically, version with a component consisting of a single letter, regardless of component separator and case) scheme: rakudo and woob, and both dropped it around 10 years ago.

you should report those issues at the downstream tools.

Unfortunately you cannot expect downstream tools to handle any non-standard scheme you can come up with the way you intend.

@Procyonae
Copy link
Contributor

Procyonae commented Dec 20, 2024

Unfortunately you cannot expect downstream tools to handle any non-standard scheme you can come up with the way you intend.

Well the repology badge was working fine until pretty recently, we'd probably sooner drop the repology badge than change our 10 year old versioning

@ZhilkinSerg
Copy link
Contributor

I don't get what exactly the issue is. The version string is, well, a string, so it does not matter if it is 0.H or 0.17

@Maleclypse
Copy link
Member

We specifically switched away from numeric release numbers.

What was the reason, if I may ask?

I can safely say that we will not be up-ending many years of releases to go back.

Is there a consensus regarding this among active contributors? @ZhilkinSerg @kevingranade @Maleclypse @Night-Pryanik @Standing-Storm @dseguin @GuardianDll @anothersimulacrum @John-Candlebury @LyleSY @PatrikLundell @Procyonae @andrei8l @Karol1223 @Fris0uman @akrieger

pretty common release scheme

This is not closely true. Among 841k projects known to Repology, I've found only 2 other projects using this (specifically, version with a component consisting of a single letter, regardless of component separator and case) scheme: rakudo and woob, and both dropped it around 10 years ago.

you should report those issues at the downstream tools.

Unfortunately you cannot expect downstream tools to handle any non-standard scheme you can come up with the way you intend.

Drop the badge.

@kevingranade
Copy link
Member

Ok you, the AUTHOR of Repology, opened an issue and are arguing that we are doing versioning wrong because it doesn't fit your assumptions about version strings.

Wow.

Yea let's drop the badge and call it resolved.

@AMDmi3
Copy link
Author

AMDmi3 commented Dec 20, 2024

I am just saying that Gentoo can't handle it, so they have mangle the version, that is why it's shown wrong on the badge. I can fix the badge on Repologys side, but downstream maintainers will still suffer. Still, why was this scheme chosen?

@akrieger
Copy link
Member

I'm not sure how the reasoning is relevant. Not everything has to conform to semver.

@AMDmi3
Copy link
Author

AMDmi3 commented Dec 20, 2024

Not necessarily semver, just any commonly supported scheme. Numeric scheme is a good choice.

I'm not sure how the reasoning is relevant. Not everything has to conform to semver.

Technically "not everything has to conform to" any standard or protocol or contract, but that way it would be impossible to interact. For instance, you won't be able to read this if you've decided not to conform to IP or TCP or HTTP. Versions are less critical than networking protocols, but are still used for important decisions such as checking whether a software or package needs an update, where it is compatible, or whether it is affected by known vulnerabilities. For that, versions need to be understood by the comparison code, and since historically there have been no standard on versions, comparison code (or rather codes, e.g. all instances of such logic in a lot of tools) was written based on fuzzy requirements that it has to handle widely used version patterns at time of writing. And as I've already mentioned, letter component is nowhere near "widely used", so it's quite expected not to be handled properly by some tools (and these which handle it are able to do it purely by happy coincidence), and it's not even their fault.

So here we come to decision whether you want to everybody to be able to use your versions to simplify and automate things, or you have reasons to avoid that. It's not relevant to me personally, as Repology can handle this case perfectly well, but I'm curious, and more importantly I strive to improve f/oss ecosystem, hence this issue.

@esotericist
Copy link
Contributor

look, we're just here to work on our zombie game. if some downstream stuff is choking on our version string of all things, it's most emphatically not our problem.

i suggest you move on, you aren't going to convince us this matters, so it isn't worth more attention here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
(S1 - Need confirmation) Report waiting on confirmation of reproducibility
Projects
None yet
Development

No branches or pull requests

8 participants