Computer files created by humans almost inevitably go through many revisions, whether they are programs to control a satellite, or just the words of a promotion for the latest soap product.
Computer vendors have long dealt with this by attaching version numbers ¸version number to software releases. These consist of two or three numbers with some separator character, such as a period (full stop, dot). The first number is called the major version number ; it gets changed only at long intervals, usually years, when really significant changes have been incorporated. A second number is a minor version number which is incremented as smaller changes and bug fixes are incorporated. Sometimes a third number is appended, which is an edit number ; it gets incremented every time any change at all is made to the file.
In careful software production, a change log¸change log is kept to record the reasons for every change; this is particularly important when commercial interests or legal issues are at stake. [Military organizations the world over are famous for their paperwork trails; perhaps that is what helps to keep them busy during times of peace.]
For smaller files, you can probably get by with just a major version number and an edit number; for larger projects, three or more are recommended.
Here is what one version of this document had in its standard file header:
%%% version = "1.01",
Version numbers are particularly useful when reporting problems to the author of a file; they allow rapid verification of whether the author and end user are even talking about the same thing.
From version 1.30 of this package, version number strings may contain a final single-letter suffix which is treated as the minor version number by update-minor-version.¸update-minor-version In this style, incrementing the minor version number turns a version number 1.30 into 1.30a, 1.30b, ..., 1.30z, instead of 1.31, 1.32, ..., 1.56. Upper-case minor version letters are also recognized.
The choice of this style is determined by the form of an existing version number, or by a non-nil value for the variable file-header-minor-version-is-alphabetic.¸file-header-minor-version-is-alphabetic An error is raised if the incrementing would produce a non-letter. This style is not recommended, but is supported at the special request of the American Mathematical Society, which uses it in their TEX files.
multiple values, Attribute descriptions, version, Attribute descriptions