-
Notifications
You must be signed in to change notification settings - Fork 45
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
Respecting semantic release versioning conventions #192
Comments
When in 0.x in semver it communicates that the package is still in the beta stage. https://semver.org/#spec-item-4 I use a special label to communicate this so consumers can still know that there was a breaking change. https://mobile.twitter.com/HipsterSmoothie/status/1223054336625795074 |
@hipstersmoothie, that's a very good point, and I'm so ashamed I totally missed it! |
I'm all for changing our semantic versioning and correcting. I've always thought that betas should stay below v1. |
Sorry to join late to the party. Besides the use of <0.x for betas, this is what we have ended up doing in fMRIPrep - https://www.nipreps.org/devs/releases/ |
Hi @oesteban ! No worries, better late than never! Glad you joined the party. Calendar versioning is actually an interesting approach that we could take into account for our development! If I'm not wrong, AFNI follows the same scheme, right? |
I'm not a fan of calendar versioning myself. People usually associate the version number to how advanced the development is. So, it can give the impression of phys2bids being super developed and that's not the case. As I previously said, and as Óscar mentioned, I'd use anything below 1.0.0 for betas. |
We found that semantic versioning had too much granularity for us. In the end, with the software progressing fast, it was easier to define clear rules of when the patch version would change and push a new minor for everything else. Finally the year at the front gives us a very clear idea of how old is the version of the user. |
I totally get it and understand the reasons behind that decision. My concern is I am not sure we're developing fast enough for such a versioning approach. |
oh, I never commented on, sorry. semver is applicable regardless of the speed of development IMHO... anyways - I see now all wonderful |
This discussion is related to the adoption of
auto
for automatic releases (PR #181 )While @hipstersmoothie was explaining in the issue intuit/auto#1080 how to use auto for beta releases, I realised that we're not respecting semantic versioning conventions (as explained here ).
In practice, thinking that our project is still in beta stage, our latest version should be
0.0.0-beta.6
instead of1.3.0-beta
, with next release planned being0.0.0-beta.7
rather than2.0.0-beta
.If I had to decide whether I wanted people to know that we're in beta stage or that we made a huge change to the repository to the point that the behaviour of the package is very different from the package we had in November, I'd rather go for the second option, and either keep being non-respectful of semantic versioning convention or drop the "beta" suffix.
This mainly comes from the idea that, in an academic open development context (where most of the packages are never reaching release 1.0.0 due to the idea that the package is never stable or finished enough), it would be more important to say in the most direct way "hey, here something really changed and you should consider updating" .
However, I also see why it would be more correct to state we're at version
0.0.0-beta.7
rather than2.0.0
- after all, we are in a pre-production stage, and (my fault, apologies) not respecting the convention we should be using to communicate the development stageI would like to hear your thoughts @vinferrer @rmarkello @RayStick @eurunuela (and all the other devs) about this. I actually would like to hear what other people that have been in this context more than us think about it (for instance, @KirstieJane @yarikoptic @oesteban @emdupre what did you do with your projects?).
Proposed solutions
Knowing that ideally we want people to know when we're doing major changes and at the same time that we're still in development stage:
auto
.Outstanding questions
2.0.0
or0.0.0-beta.7
?The text was updated successfully, but these errors were encountered: