Closed nilsdeppe closed 3 years ago
I was thinking that we should definitely start using some kind of versioning when we begin doing complicated simulations using input files. That way it would be easier to keep track of and also reproduce previous simulations that were done using a previous version of the code.
Just making a note of this here, no need to make a decision now:
The molecular dynamics code GROMACS switched to year.x
style version numbers in 2018: http://manual.gromacs.org/documentation/
They had major.minor.patch versions before, but found that they only rarely incremented the major version because things changed gradually. Then their users ended up using years-old versions of the code because it wasn’t clear to them how old their version actually was and when they should upgrade. So since 2018 they release a version on each Jan 1st that is tagged with the year, and a number of patches throughout the year while working on next year’s version. They support each version for two years.
We decided on a date-based versioning scheme, see #2606, discussions in #2598 and docs at https://spectre-code.org/versioning_and_releases.html.
Should we use semantic versioning? While it's a bit early to discuss this, it's something some of us should start thinking about a little bit anyway. I found the following useful: https://semver.org/