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

incr to beta versions #13

Open
renatorfr opened this issue Oct 25, 2023 · 2 comments
Open

incr to beta versions #13

renatorfr opened this issue Oct 25, 2023 · 2 comments

Comments

@renatorfr
Copy link

Semver specification accepts beta versions, it would be nice to have this in incr.
This is useful for unfinished versions, not production ready, but they need to be deployed in a QA or Staging environment for tests or demo. Some tools need a change in the version to be able to trigger automatic pipes of CI/CD or a new version of a Docker image.

Examples:

Current version: v0.25
Command: incr mix beta
New version: v0.26-beta.1

Current version: v0.26-beta.1
Command: incr mix beta
New version: v0.26-beta.2

Current version: v0.26-beta.1
Command: incr mix minor
New version: v0.26

@jcouture
Copy link
Owner

Hi @renatorfr,

Thank you for bringing up the suggestion to add support for both pre-release and build metadata in incr.

The SemVer specification is open-ended when it comes to pre-release and build metadata. This openness allows for flexibility but can also lead to ambiguity in certain implementations. This variability makes it challenging to standardize and automate version increments. Implementing logic for correctly sorting and prioritizing versions, especially since pre-release versions have a lower precedence than normal versions, can be tricky.

Given that the specification provides room for interpretation, I would like to ensure that our approach aligns with the needs and expectations of the majority of our users.

Again, thanks for your suggestion, I am actively exploring ways to address these challenges.

@renatorfr
Copy link
Author

I agree and understand the chalenge of doing this feature.
But I think that we could start with a scoped version, ie accepting just beta versions 0.9.0 < 1.0.0-beta.1 < 1.0.0-beta.2 < 1.0.0, which complies with SemVer spec but it's easier to implement than a 100% free choice for pre-releases

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

No branches or pull requests

2 participants