|
Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (major, minor), these numbers are generally assigned in increasing order and correspond to new developments in the software. At a fine-grained level, revision control is often used for keeping track of incrementally different versions of electronic information, whether or not this information is actually computer software. It has been suggested that this article or section be merged with Computer program. ...
Revision control (also known as version control, source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information. ...
Software versioning schemes A variety of version numbering schemes have been created to keep track of different versions of a piece of software. The ubiquity of computers has also led to these schemes being used in contexts outside computing.
Numeric The most common software versioning scheme is a scheme in which different major releases of the software each receive a unique numerical identifier. This is typically expressed as three numbers, separated by periods, such as version 2.4.13. One very commonly followed structure for these numbers is: Image File history File links VersionNumbers1. ...
- major.minor[.revision[.build]]
or - major.minor[.maintenance[.build]]
In most commercial software, the first released version of a software product has version 1.0. Numbers below 1 mean alpha or beta versions, i.e., versions for testing purposes or internal use, or versions that aren't stable enough for general or practical deployment. Software development stages In computer programming, development stage terminology expresses how the development of a piece of software has progressed and how much further development it may require. ...
Software development stages In computer programming, development stage terminology expresses how the development of a piece of software has progressed and how much further development it may require. ...
In principle, in subsequent releases, the major number is increased when there are significant jumps in functionality, the minor number is incremented when only minor features or significant fixes have been added, and the revision number is incremented when minor bugs are fixed. A typical product might use the numbers 0.9 (for beta software), 0.9.1, 0.9.2, 0.9.3, 1.0, 1.0.1, 1.0.2, 1.1, 1.1.1, 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.2, etc. Developers may at times jump (for example) from version 5.0 to 5.5 to indicate that significant features have been added, but not enough to warrant incrementing the major version number. There is sometimes a fourth, unpublished number which denotes the software build (as used by Microsoft). Some companies also include the build date. Version numbers may also include letters and other characters, such as Lotus 1-2-3 Release 1a. Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ...
Lotus 1-2-3 is a spreadsheet program from Lotus Software (now part of IBM). ...
A different approach is to use the major and minor numbers, along with an alphanumeric string denoting the release type, i.e. 'alpha', 'beta' or 'release candidate'. A release train using this approach might look like 0.5, 0.6, 0.7, 0.8, 0.9 == 1.0b1, 1.0b2 (with some fixes), 1.0b3 (with more fixes) == 1.0rc1 (which, if it's stable enough) == 1.0. If 1.0rc1 turns out to have bugs which must be fixed, it turns into 1.0rc2, and so on. The important characteristic of this approach is that the first version of a given level (beta, RC, production) must be identical to the last version of the release below it: you cannot make any changes at all from the last beta to the first RC, or from the last RC to production. If you do, you must roll out another release at that lower level. This is to permit users (or potential adopters) to evaluate how much real-world testing a given build of code has actually undergone. If changes are made between, say, 1.3rc4 and the production release of 1.3, then that release, which asserts that it has had a production-grade level of testing in the real world, in fact contains changes which have not necessarily been tested in the real world at all. This approach commonly permits the third level of numbering ("change"), but does not apply this level of rigor to changes in that number: 1.3.1, 1.3.2, 1.3.3, 1.3.4... 1.4b1, etc.
Date The Wine project used a date versioning scheme, which uses the year followed by the month followed by the day of the release; for example, "Wine 20040505". Wine is now on a "standard" release track; the most current version as of June 29, 2007, is 0.9.40. Ubuntu Linux uses a similar versioning scheme—Ubuntu 7.04, for example, was released April 2007. Wine is a project which aims to allow a PC with an x86 architecture processor running a Unix-like operating system and the X Window System to execute programs that were originally written for Microsoft Windows. ...
is the 180th day of the year (181st in leap years) in the Gregorian calendar. ...
Ubuntu is a desktop Linux distribution, based on Debian GNU/Linux. ...
Year of release Other examples, identifying versions by year (Adobe Illustrator 88, WordPerfect Office 2003) This article does not cite any references or sources. ...
WordPerfect Office is an Office applications suite. ...
Alphanumeric codes Examples: // == Macromedia Flash == ==]] Using Macromedia Flash 8 (bundled in Studio 8) in Windows XP. Maintainer: Adobe Systems (formerly Macromedia) Latest release: 8 / September 30th, 2005 OS: Windows (no native Windows XP Professional x64 Edition support), Mac OS X, Linux (i386 only, via wine [1]) Use: Multimedia Content Creator License: Proprietary Website...
âPhotoshopâ redirects here. ...
TeX TeX has an idiosyncratic version numbering system. Since version 3, updates have been indicated by adding an extra digit at the end, so that the version number asymptotically approaches π. The current version is 3.141592. This is a reflection of the fact that TeX is now very stable, and only minor updates are anticipated. TeX developer Donald Knuth has stated that the "absolutely final change (to be made after my death)" will be to change the version number to π, at which point all remaining bugs will become permanent features. TeX (IPA: as in Greek, often in English; written with a lowercase e in imitation of the logo) is a typesetting system created by Donald Knuth. ...
An asymptote is a straight line or curve which a curve approaches as one moves along the curve. ...
When a circles diameter is 1, its circumference is Ï. The mathematical constant Ï is an irrational real number, approximately equal to 3. ...
Donald Ervin Knuth ( or Ka-NOOTH[1], Chinese: [2]) (b. ...
Apple Apple has a formalised version number structure based around the NumVersion struct, which specifies a one- or two-digit major version, a one-digit minor version, a one-digit 'bug' (i.e. revision) version, a stage indicator (drawn from the set development/prealpha, alpha, beta and final/release), and a one-byte (i.e. having values in the range 0-255) pre-release version, which is only used at stages prior to final. In writing these version numbers as strings, the convention is to omit any parts after the minor version whose value are zero (with 'final' being considered the zero stage), thus writing 1.0.2b12, 1.0.2 (rather than 1.0.2f0), and 1.1 (rather than 1.1.0f0).
Other schemes Some software producers use different schemes to denote releases of their software. For example, the Microsoft Windows operating system was first labelled with standard numerical version numbers (Windows 1.0 through Windows 3.11), then by years (Windows 95, Windows 98, Windows 2000), after that using alphanumeric codes (Windows Me, Windows XP), and now using names (Windows Vista). The Debian project uses a major/minor versioning scheme for releases of its operating system, but uses code names from the movie Toy Story during development to refer to stable, unstable and testing releases. The Ubuntu GNU/Linux distribution uses the one-digit year number ("7" for 2007, etc.) followed by the two-digit month (4.10, 5.04, 5.10, and 6.06). Microsoft Windows is the name of several families of proprietary software operating systems by Microsoft. ...
Windows 1. ...
The Windows 3. ...
Windows 95 is a consumer-oriented graphical user interface-based operating system. ...
Windows 98 (codenamed Memphis and formerly known as Windows 97) is a graphical operating system released on June 25, 1998 by Microsoft and the successor to Windows 95. ...
Windows 2000 (also referred to as Win2K) is a preemptive, interruptible, graphical and business-oriented operating system that was designed to work with either uniprocessor or symmetric multi-processor 32-bit Intel x86 computers. ...
Windows Millennium Edition, or Windows Me (IPA pronunciation: [miË], [Ém iË]), is a hybrid 16-bit/32-bit graphical operating system released on September 14, 2000 by Microsoft. ...
Windows XP is a line of operating systems developed by Microsoft for use on general-purpose computer systems, including home and business desktops, notebook computers, and media centers. ...
Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ...
Debian is a project based around the development of a free, complete operating system through the collaboration of volunteers from around the world. ...
Toy Story is an Academy-award-winning CGI animated feature film produced by Pixar Animation Studios and released by Walt Disney Pictures and Buena Vista Distribution in the United States on November 22, 1995, and Australia on December 7, 1995, as well as in the United Kingdom on 22 March...
Ubuntu (IPA pronunciation ) is a predominantly desktop-oriented Linux distribution, based on Debian GNU/Linux but with a stronger focus on usability, regular releases, and ease of installation. ...
Internal version numbers Software may have an "internal" version number which differs from the version number shown in the product name (and which typically follows version numbering rules more consistently). J2SE 5.0, for example, has the internal version number of 1.5.0, and versions of Windows from 95 on have continued the standard numerical versions internally: Windows 95 is Windows 4.0, 98 is 4.10, 2000 is 5.0, Me is 4.90, XP is 5.1, 2003 is 5.2, and Vista is 6.0. Java 2 Platform, Standard Edition or J2SE is a collection of java Application Programming Interfaces targeting Java platform applications running on a workstation. ...
Windows 95 is a consumer-oriented graphical user interface-based operating system. ...
Windows 98 (codenamed Memphis and formerly known as Windows 97) is a graphical operating system released on June 25, 1998 by Microsoft and the successor to Windows 95. ...
Windows 2000 (also referred to as Win2K) is a preemptive, interruptible, graphical and business-oriented operating system that was designed to work with either uniprocessor or symmetric multi-processor 32-bit Intel x86 computers. ...
Windows Millennium Edition, or Windows Me (IPA pronunciation: [miË], [Ém iË]), is a hybrid 16-bit/32-bit graphical operating system released on September 14, 2000 by Microsoft. ...
Windows XP is a line of operating systems developed by Microsoft for use on general-purpose computer systems, including home and business desktops, notebook computers, and media centers. ...
Windows Server 2003 is a server operating system produced by Microsoft. ...
Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ...
Pre-release versions In conjunction with the various versioning schemes listed above, a system for denoting pre-release versions is generally used, as the program makes its way through the stages of the software release life cycle. Programs that are in an early stage are often called "alpha" software, after the first letter in the Greek alphabet. After they mature but are not yet ready for release, they may be called "beta" software, after the second letter in the Greek alphabet. Alpha- and beta-version software is often given numerical versions less than 1 (such as 0.9), to suggest their approach toward a public "1.0" release. However, if the pre-release version is for an existing software package (e.g. version 2.5), then an "a" or "alpha" may be appended to the version number. So the alpha version of the 2.5 release might be identified as 2.5a or 2.5.a. Software packages which are soon to be released as a particular version may carry that version tag followed by "rc-#", indicating the number of the release candidate. When the version is actually released, the "rc" tag disappears. A software release is the distribution, whether public or private, of an initial or new and upgraded version of a computer software product. ...
Modifications to the numeric system Odd-numbered versions for development releases Up until the 2.6.x series, Linux used odd minor version numbers to denote development releases and even minor version numbers to denote stable releases. For example, Linux 2.3 was a development family of the second major design of the Linux kernel, and Linux 2.4 was the stable release family that Linux 2.3 matured into. After the minor version number in the Linux kernel is the release number, in ascending order; for example, Linux 2.4.0 → Linux 2.4.22. Even further, a trivial version number was added to 2.6.8, making 2.6.8.1 which denoted a very minor change. This fourth number has been made standard since 2.6.11.1. Linux (IPA pronunciation: ) is a Unix-like computer operating system. ...
Odd has several meanings. ...
In mathematics, the term even is used in several senses: an integer is called even if it is divisible by two; see even and odd numbers a function f defined on the real numbers is called even if f(x) = f(âx) for all x; see even and odd functions...
Apple Apple had their own twist on this habit during the era of the classic MacOS: although there were minor releases, they rarely went beyond 1, and when they did, they twice jumped straight to 5, suggesting a change of magnitude intermediate between a major and minor release (thus, 8.5 really means 'eight and a half', and 8.6 is 'eight and a half point one'). The complete sequence of versions (neglecting revision releases) is 1.0, 1.1, 2.0, 2.1, 3.0, 3.2 (skipping 3.1), 4.0, 4.1, 5.0, 5.1, 6.0, 7.0, 7.1, 7.2, 7.5, 7.6, 8.0, 8.1, 8.5, 8.6, 9.0, 9.1, 9.2. Logo: Mac OS System 7, 8 and 9 On January 24th, 1984 Apple Computer introduced the Apple Macintosh personal computer, with the Macintosh 128K model, which came bundled with the Mac OS operating system. ...
Mac OS X has bucked this trend, having gone more conventionally from 10.0 to 10.5, one minor release at a time. However, note that the 10.4.10 update bucks the previously-indicated approach of having a "one- or two-digit major version, a one-digit minor version, a one-digit 'bug' (i.e. revision) version…". The bug-fix value is not a decimal indicator, but is an incremental whole value; while it is not expected, there would be nothing preventing a distant-future "10.4.321" release. Mac OS X is the newest of Apple Computers Mac OS line of operating systems. ...
Mac OS X version 10. ...
Political significance of version numbers Version 1.0 as a milestone Commercial software developers often start at version 1 for the first release of a program and increment the major version number with each rewrite, meaning that a program can reach version 3 within a few months of development, before it's even considered stable or reliable. In contrast to this, the free-software community tends to use version 1.0 as a major milestone, indicating that the software is "complete", that it has all major features, and is considered reliable enough for general release. Clockwise from top: The logo of the GNU Project (the GNU head), the Linux kernel mascot Tux the Penguin, and the FreeBSD daemon Free software is a term coined by Richard Stallman and the Free Software Foundation[1] to refer to software that can be used, studied, and modified without...
In this scheme, the version number slowly approaches 1.0 as more and more bugs are fixed in preparation for the 1.0 release. The developers of MAME do not intend to release a version 1.0 of their emulator program. The argument is that it will never be truly "finished" because there will always be more arcade games. Version 0.99 was simply followed by version 0.100 (minor version 100 > 99). MAME is an emulator application designed to recreate the hardware of arcade game systems in software, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. ...
Centipede by Atari is a typical example of a 1980s era arcade game. ...
To describe program history Winamp released an entirely different architecture for version 3 of the program. Due to lack of backwards compatibility with plugins and other resources from the major version 2, a new version was issued that was compatible with both version 2 and 3. The new version was set to 5 (2+3), skipping version 4. Winamp is a proprietary media player written by Nullsoft, a subsidiary of Time Warner. ...
This article or section does not cite its references or sources. ...
Keeping up with competitors There is a common habit in the commercial software industry (usually, though not always, spurned by non-commercial programmers) to make major jumps in numeric major or minor version numbers for reasons which do not seem (to many members of the program's audience) to merit the "marketing" version numbers. This can be seen in several Microsoft products, as well as Sun Solaris and Java Virtual Machine numbering, SCO Unix version numbers, and Corel Word Perfect, as well as the filePro DB/RAD programming package, which went from 2.0 to 3.0 to 4.0 to 4.1 to 4.5 to 4.8 to 5.0, and is about to go to 5.6, with no intervening release. A slightly different version can be seen in AOL's PC client software, which tends to have only major releases (5.0, 6.0, 7.0, etc.). Likewise, Microsoft Access jumped from version 2.0 to version 7.0, to match the version number of Microsoft Word. Look up rad in Wiktionary, the free dictionary. ...
This article does not cite any references or sources. ...
Microsoft Office Word is Microsofts flagship word processing software. ...
Microsoft has also been the target of 'catch-up' versioning, with the Netscape browser skipping version 5 to 6, in line with Microsoft's Internet Explorer, but also because the Mozilla application suite inherited version 5 in its user agent string during pre-1.0 development and Netscape 6.x was built upon Mozilla's code base. Netscape Communications Corporation (commonly known as Netscape), was an American computer services company, best known for its web browser. ...
Netscape was a proprietary cross-platform Internet suite created by Netscape Communications Corporation and then in-house by AOL to continue the Netscape series after Netscape 6. ...
Windows Internet Explorer (formerly Microsoft Internet Explorer, abbreviated MSIE), and commonly abbreviated to IE, is a series of proprietary graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems starting in 1995. ...
A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web. ...
Sun's Java has at times had a hybrid system, where the actual version number has always been 1.x but twice has been marketed by reference only to the x: Java is a programming language originally developed by Sun Microsystems and released in 1995. ...
- JDK 1.0.3
- JDK 1.1.2 through 1.1.8
- J2SE 1.2.0 ("Java 2") through 1.4.2
- J2SE 1.5.0 ("Java 5")
Overcoming perceived marketing difficulties In the mid-1990s, the rapidly growing CMMS, Maximo, moved from Maximo Series 3 directly to Series 5, skipping Series 4 due to that number's perceived marketing difficulties in the Chinese market, where pronunciation of the number 4 (四) in Chinese rhymes with “death” or “failure”. This did not, however, stop Maximo Series 5 version 4.0 being released. (It should be noted the "Series" versioning has since been dropped, effectively resetting version numbers after Series 5 version 1.0's release.) Computerized Maintenance Management System (CMMS) is also known as Enterprise Asset Management. ...
Work order maintenance system that runs on a number of databases such as Oracle or SQL Server. ...
Significance in software engineering Version numbers are used in practical terms by the consumer, or client, by being able to compare their copy of the software product against another copy, such as the newest version released by the developer. For the programmer team or company, versioning is often used on a file-by-file basis, where individual parts or sectors of the software code are compared and contrasted with newer or older revisions, often in a collaborative version control system. There is no absolute and definite software version schema; it can often vary from software genre to genre, and is very commonly based on the programmer's personal preference. Consumers refers to individuals or households that purchase and use goods and services generated within the economy. ...
Revision control is an aspect of documentation control wherein changes to documents are identified by incrementing an associated number or letter code, termed the revision level, or simply revision. It has been a standard practice in the maintenance of engineering drawings for as long as the generation of such drawings...
Significance in technical support Probably the most important, and most overlooked, usage of version numbers, is to permit people providing support to users of a program to ascertain exactly what code a user is running, so that they know what known bugs might affect a problem, and the like. This occurs when a program has a substantial user community, especially when that community is large enough that the people providing technical support are not the people who wrote the code.
Version numbers for files and documents Some computer file systems, such as the OpenVMS Filesystem, also keep versions for files. It has been suggested that Crash counting be merged into this article or section. ...
Files-11, also known as on-disk structure, is the filesystem used by Hewlett-Packards OpenVMS operating system, and also (in a simpler form) by the older RSX-11. ...
Versioning amongst documents is relatively similar to the routine used with computers and software engineering, where with each small change in the structure, contents, or conditions, the version number is incremented by 1, or a smaller or larger value, again depending on the personal preference of the author and the size or importance of changes made. An author is any person(s) or entity(s) that originates and assumes responsibility for an expression or communication. ...
Version number ordering systems Version numbers very quickly evolve from simple integers (1,2,...) to rational numbers (2.08,2.09,2.10) and then to non-numeric "numbers" such as 4:3.4.3-2. These complex version numbers are therefore better treated as character strings. Operating systems that include package management facilities (such as all non-trivial Linux or BSD distributions) will use a distribution-specific algorithm for comparing version numbers of different software packages. For example, the ordering algorithms of Red Hat and derived distributions differ to those of the Debian-like distributions. Linux (IPA pronunciation: ) is a Unix-like computer operating system. ...
Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the Unix derivative distributed by the University of California, Berkeley starting in the 1970s. ...
As an example of surprising version number ordering implementation behavior, in Debian, leading zeroes are ignored in chunks, so that 5.0005 and 5.5 are considered as equal, and 5.5<5.0006. This can confuse users; string-matching tools may fail to find a given version number ; and this can cause subtle bugs in package management if the programmers use string-indexed data structures such as version-number indexed hash tables. Debian is a project based around the development of a free, complete operating system through the collaboration of volunteers from around the world. ...
In order to ease sorting, some software packages will represent each component of the major.minor.release scheme with a fixed width. Perl represents its version numbers as a floating-point number, for example, Perl's 5.8.7 release can also be represented as 5.008007. This allows a theoretical version of 5.8.10 to be represented as 5.008010. Other software packages will pack each segment into a fixed bit width, for example, 5.8.7 could be represented in 24 bits: ( 5 << 16 | 8 << 8 | 7 ). The floating-point scheme will break down if any segment of the version number exceeds 1,000; a packed-binary scheme employing 8 bits apiece after 256.
Use in other media Software-style version numbers may be used in other media, playing on associations of version numbers with technology. Examples include: - The X-Men Two-Disc Special Edition DVD was released as X-Men 1.5.
- Live Free or Die Hard was released as Die Hard 4.0 outside North America.
- The title of the computer game Tron 2.0 implies that the motion picture Tron was version 1.0.
X-Men is a 2000 American action film, featuring a group of comic book superheroes called the X-Men. ...
DVD (Digital Versatile Disc or Digital Video Disc) is an optical disc storage media format that can be used for data storage, including movies with high video and sound quality. ...
Live Free or Die Hard (released as Die Hard 4. ...
Tron 2. ...
Tron is a 1982 science fiction film starring Jeff Bridges as Kevin Flynn (and his counterpart inside the electronic world, Clu), Bruce Boxleitner as Alan Bradley (and Tron), Cindy Morgan as Lora Baines (and Yori) and Dan Shor as Ram. ...
See also A software release is the distribution, whether public or private, of an initial or new and upgraded version of a computer software product. ...
Revision control (also known as version control, source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information. ...
â This article is about managing the life of a product in the market. ...
Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ...
External links |