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

Move version from YYYY.0M.MICRO to YYYY.MINOR.MICRO #1089

Merged
merged 3 commits into from
Feb 8, 2024
Merged

Move version from YYYY.0M.MICRO to YYYY.MINOR.MICRO #1089

merged 3 commits into from
Feb 8, 2024

Conversation

Hofer-Julian
Copy link
Contributor

@visr
Copy link
Member

visr commented Feb 7, 2024

Ok I have been thinking about this more than I probably should. I'm still glad we have a YYYY and the same version for all components, so let's think about good options for the rest.

Regarding the linked build failure, we can of course easily return a non-stripped version with ribasim --version. We cannot stop external tools like pip and conda from stripping.

YYYY.MM.MICRO (2024.2.0)

  • no pip/conda/julia stripping the leading zero, so always consistent

YYYY.0M.MICRO (2024.02.0)

  • sorts nicely as a string
  • like xarray
  • more recognizable as a month (for most of the year)

Other Deltares software with calender based versions

  • Delft3D FM Suite 2023.02
  • Delft-FEWS 2020.02
  • D-Stability 2024.01

The other Deltares software that starts with YYYY is something like YYYY.0MINOR, in that the second part is not a month, just a sequential number in the year, starting at 1, which is often max 2, but they still add a leading zero. I haven't really checked if they use a MICRO part, or just mention the build number somewhere.

Perhaps not using months is not such a bad idea. I can imagine at some point:

  • Wanting to release a breaking change or new feature in the same month, meaning we need to wait to next month or use the MICRO part for that, both not great solutions.
  • Needing to provide new bugfix releases for past versions, for which it would be nice to keep MICRO only for bugfixing, as a patch number.

It is nice to see the release month from the version, but consistency with other Deltares software and my point above is also important. I could see us having 10 MINOR versions in one year, and just one or two in another year. I suggest to use the MICRO version as well, though for many purposes communicating only the year and minor version (as the other Deltares software) would be sufficient, unless you are dealing with bugs.

https://calver.org/

@visr visr marked this pull request as draft February 7, 2024 23:01
@Hofer-Julian Hofer-Julian marked this pull request as ready for review February 8, 2024 10:07
@Hofer-Julian Hofer-Julian changed the title Move version from YYYY.0M.MICRO to YYYY.MM.MICRO Move version from YYYY.0M.MICRO to YYYY.MINOR.MICRO Feb 8, 2024
@Hofer-Julian
Copy link
Contributor Author

@visr and I now agreed on YYYY.MINOR.MICRO following pip's version scheme.
The PR doesn't have to be adapted for this.

@visr
Copy link
Member

visr commented Feb 8, 2024

The release docs do need updating.

@Hofer-Julian
Copy link
Contributor Author

The release docs do need updating.

Ah yes, nice find.
Updated the docs.

@visr visr merged commit 279fc6b into main Feb 8, 2024
21 checks passed
@visr visr deleted the version branch February 8, 2024 13:18
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

Successfully merging this pull request may close these issues.

None yet

2 participants