-
Notifications
You must be signed in to change notification settings - Fork 21
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
Criteria for versioning #301
Comments
Some notes from the 2021-11-22 regarding major/minor versions: What is a major and minor version
Minor release:
|
I think there are advantages to a simple system where the major number increments every year or so I would like to see formal versioning of pre-release aretfacts, e.g we should be working on 7.0.0-alpha now |
@wdduncan I like your list of what classes as major or minor, but does it need to be more granular than that? e.g. a change to a definition might be something as small as a misspelled word being corrected, in which case it doesn't break backwards compatibility, so could be a minor release. We cant list all the possible changes that might occur so there will be a degree of fuzzyness to the system. |
@only1chunts You raise good points. I suppose the answer comes down to what we want out of having a versioning system.
I think changes to wording that don't affect meaning would be appropriate for incrementing the patch number (e.g., 7.0.0 -> fix some minor typo -> 7.0.1). Anyway, sorry to only raise questions here. We can, of course, stick with current practice of just making new releases after some threshold of changes have been made during the year. The benefit of creating rules/criteria for versioning may not be worth the effort. But, perhaps, we should at least pause and think about it for a moment? |
I think a major release involves changes to the core, and that we should stick with the practice of making major releases approximately once a year. I like Bill's suggestion that changes like fixing a typo would be a patch number (e.g., 6.0.1). Throughout the year, we can allow the addition of new packages and checklists, and those would be minor release. If the new package/checklist requires a change to core or a change to a term that is shared across many packages, that change will have to wait until the next major release, but new package/checklist specific terms could be added to a minor release. Following Bill's example, if we have add five new packages between version 6 and 7, to end the year with 6.5, we would then release 7.0, but it would not be the same as 6.5, because their would be changes to the core terms and to any terms that are shared across multiple packages. Based on past experience, it is very unlikely that we would get through a year without changing the core. If, perchance, we did, then our annual release would just be 6.5. Another complication is that people want to be able to mint new terms throughout the year, which may be part of core. I suggest we can give those terms identifiers and publish them in the editor's (non-stable) version of MIxS, but that they would not be officially released until the major release. With github, we could keep our (as yet non-existant) validators up to date in the repo if someone wants to use them provisionally, but the "official" validator would be part of the tagged release that comes out each year. For this to work, we probably need to validate packages/checklists separately from core, which makes sense to me anyway. |
This sounds reasonable to me. |
We need to resolve what we mean by "core" (issue #77) before we can define this exactly. Regardless, adding a new term is a minor release. Changing a term is considered breaking and has to happen in a major release. Typos and similar will be a patch. |
This issue is being covered in this document: https://github.com/GenomicsStandardsConsortium/mixs/blob/606-mixs-editing-workflow-and-policy/src/docs/policy.md and issue #606 . Closing. |
On the MIXS-RDF call today, questions about versioning came up.
If we adopt semantic versioning (i.e. Major.Minor.Patch), we need to have clear criteria on when each number is updated.
So, starting this issue for a place to discuss this.
cc @lschriml @ramonawalls @only1chunts @turbomam @cmungall
The text was updated successfully, but these errors were encountered: