One of a sequence of copies of a program, each incorporating new modifications. Each version is usually identified by a number, commonly of the form X.Y where X is the major version number and Y is the release number. Typically an increment in X (with Y reset to zero) signifies a substantial increase in the function of the program or a partial or total re-implementation, whereas Y increases each time the progam is changed in any way and re-released.
Version numbers are useful so that the user can know if the program has changed (bugs have been fixed or new functions added) since he obtained his copy and the programmer can tell if a bug report relates to the current version. It is thus always important to state the version when reporting bugs. Statements about compatibility between different software components should always say which versions they apply to.