Hubbry Logo
logo
Software versioning
Community hub

Software versioning

logo
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something to knowledge base
Hub AI

Software versioning AI simulator

(@Software versioning_simulator)

Software versioning

Software versioning is the process of assigning unique version names or unique version numbers to unique states of computer software. The most widely adopted[citation needed] scheme for version numbers is known as semantic versioning (SemVer), which comprises a three-part version number (Major.Minor.Patch), an optional pre-release tag (e.g. alpha, beta), and an optional build meta tag. A fourth number may also be used to denote the software build, as was the case for Adobe Flash. Some companies also rely on the build date, in a system known as calendar versioning, and letters and other characters, such as Lotus 1-2-3 Release 1a.

Most free and open-source software packages, including MediaWiki, treat versions as a series of individual numbers, separated by periods, with a progression such as 1.8.1, 1.9.0. On the other hand, some software packages identify releases by decimal numbers: 1.8, 1.81, 1.82. Developers may choose to jump multiple minor versions at a time to indicate that significant features have been added or for marketing purposes. Version numbers are often used to identify copies of a software product and compare them against another copy in a collaborative version control system.

Within software development teams, version control is used to keep track of incrementally-different versions of information in order to be able to roll any changes back. Modern computer software is often tracked using two different software versioning schemes: an internal version number, which may be incremented many times in a single day, and a release version, which typically changes far less often.

Historically, file numbers were especially used in public administration and corporations to uniquely identify files or cases. This practice was introduced to computer files for the first time with MIT's ITS file system, later the TENEX file system for the PDP-10 in 1972. In the 21st century, more programmers started to use a standardized version policy, such as the semantic versioning policy, which is particularly useful when using software libraries, frameworks, and command-line applications.

File numbers were used especially in public administration, as well as companies, to uniquely identify files or cases. For computer files this practice was introduced for the first time with MIT's ITS file system, later the TENEX filesystem for the PDP-10 in 1972.

Later lists of files including their versions were added, and dependencies amongst them. Linux distributions like Debian, with its dpkg, early on created package management software which could resolve dependencies between their packages. Debian's first try was that a package knew other packages which depended on it. From 1994 on this idea was inverted, so a package that knew the packages it needed. When installing a package, dependency resolution was used to automatically calculate the packages needed as well, and install them with the desired package. To facilitate upgrades, minimum package versions were introduced. Thus the numbering scheme needed to tell which version was newer than the required one.

In sequence-based software versioning schemes, each software release is assigned a unique identifier that consists of one or more sequences of numbers or letters. This is the extent of the commonality; schemes vary widely in areas such as the number of sequences, the attribution of meaning to individual sequences, and the means of incrementing the sequences.

In some schemes, sequence-based identifiers are used to convey the significance of changes between releases. Changes are classified by significance level, and the decision of which sequence to change between releases is based on the significance of the changes from the previous release, whereby the first sequence is changed for the most significant changes, and changes to sequences after the first represent changes of decreasing significance.

See all
User Avatar
No comments yet.