Gnuastro can have two formats of version numbers, for official and
unofficial releases. Official Gnuastro releases are announced on the
info-gnuastro mailing list, they have a version control tag in
Gnuastro’s development history, and their version numbers are formatted
like “A.B”. A is a major version number, marking a
significant planned achievement (for example see GNU Astronomy Utilities 1.0), while B is a minor version number, see below for
more on the distinction. Note that the numbers are not decimals, so version
2.34 is much more recent than version 2.5, which is not equal to 2.50.
Gnuastro also allows a unique version number for unofficial releases. Unofficial releases can mark any point in Gnuastro’s development history. This is done to allow astronomers to easily use any point in the version controlled history for their data-analysis and research publication. See Version controlled source for a complete introduction. This section is not just for developers and is very straightforward, so please have a look if you are interested in the cutting-edge. This unofficial version number is a meaningful and easy to read string of characters, unique to that particular point of history. With this feature, users can easily stay up to date with the most recent bug fixes and additions that are committed between official releases.
The unofficial version number is formatted like: A.B.C-D. A
and B are the most recent official version number. C is the
number of commits that have been made after version A.B. D is
the first 4 or 5 characters of the commit hash number6. Therefore, the unofficial version number
3.92.8-29c8’, corresponds to the 8th commit after the official
3.92 and its commit hash begins with
unofficial version number is sort-able (unlike the raw hash) and as shown
above is very descriptive of the state of the unofficial release. Of course
an official release is preferred for publication (since its tarballs are
easily available and it has gone through more tests, making it more
stable), so if an official release is announced prior to your publication’s
final review, please consider updating to the official release.
The major version number is set by a major goal which is defined by the developers and user community before hand, for example see GNU Astronomy Utilities 1.0. The incremental work done in minor releases are commonly small steps in achieving the major goal. Therefore, there is no limit on the number of minor releases and the difference between the (hypothetical) versions 2.927 and 3.0 can be a very small (negligible to the user) improvement that finalizes the defined goals.
|• GNU Astronomy Utilities 1.0:||Plans for version 1.0 release|
in Gnuastro’s history is uniquely identified with a 40 character long hash
which is created from its contents and previous history for example:
5b17501d8f29ba3cd610673261e6e2229c846d35. So the string D in
the version for this commit could be 5b17, or