Versioning is the creation and management of multiple releases of a product, all of which have the same general function but are improved, upgraded or customized. The term applies especially to operating systems (OSs), software and Web services. Version control is the practice of ensuring collaborative data sharing and editing among users of systems that employ different versions of a product. The terms "versioning" and "version control" are sometimes used interchangeably even though their technical meanings are different.
In software versioning, subsequent releases of a specific product receive numerical identifiers consisting of two or three numbers separated by periods. The first number, called the major number, is increased when there are significant improvements or changes in functionality. The second number, called the minor number, is incremented when there are minor feature changes or significant fixes. The third number, if it exists, is called the revision number. It is added or increased when minor bugs are eliminated.