Processes, procedures, and reference
Loading...
Searching...
No Matches
Version Numbers

Version numbers are applied to projects to commemorate named milestones in the git commit history.

Major Minor Revision

v

1

.

0

.

0

  • v is always included as a prefix.
  • A Major version is a significant release, representing changes in encompassing methods and frameworks. Generally things within a Major release will be more or less compatible with other Minor releases within the same Major version.
  • A Minor version is an update to a previous Minor version within the same Major release. This will reflect framework updates, methodologies, class implementations, and new functionality. It is probably not backwards compatible.
  • A Revision update represents bug fixes, hot fixes, clarifications, documentation, etc.

A version number can be tagged to a repository on the command line:

git commit -a -m "Solved that annoying bug."
git tag -a "v1.2.34" -m "We've really worked out some of the bugs we were seeing"
git push origin --tags

This version number will appear at times and can be used to lock a submodule to a tag number. This can be useful because if absolutely necessary, a tag can be updated in the git history and submodules referring to the tag can use git submodule update to retrieve a fix. The latest tag number will also appear in documentation, however the source code itself may not have been tagged at main.

It's important to note the number syntax, despite alphabetization.

For instance:

# a chain of versions:
v1.0.1
v1.0.2
...
v1.0.9
v1.0.10 # 10 is clearly after 9 here
# however, when alphabetized, it's less clear:
v1.0.1
v1.0.10
v1.0.2
...
v1.0.9

The segments of the version number do not have leading zeros, so be aware that v1.0.34 may be in the middle of an alphabetized list of version numbers.