kids encyclopedia robot

Software versioning facts for kids

Kids Encyclopedia Facts

When you use computer programs, you might notice they have numbers like "Version 1.0" or "Version 2.5". This is called software versioning. It's how computer programs are given special names or numbers to show their different stages or updates. These numbers usually go up as new features are added or problems are fixed.

Think of it like keeping track of different drafts of a school project. You might have "Project_Draft1.doc", then "Project_Draft2.doc" after you make changes. Software versioning works in a similar way, but for computer programs.

Computers often use two main types of version numbers:

  • An internal version number that changes very often, sometimes many times a day, as developers work on the code.
  • A release version that changes less often. This is the number you usually see, like "Version 3.0".

How Software Versioning Started

Long ago, even before computers, people used file numbers in offices to keep track of important documents. When computers came along, this idea was used for computer files too. One of the first computer systems to do this was at MIT in 1972.

Later, people started listing files and their versions, and even how different files depended on each other. For example, if one part of a program needed another part to work, the system would know. Linux systems, like Debian, created special software to manage these "packages" and their dependencies. This meant that when you installed a program, the computer could automatically figure out and install all the other parts it needed. To make updates easier, they started using minimum version numbers, so the computer knew if a new version was better than the one it needed.

Different Ways to Version Software

There are many different ways to give software its version numbers. These methods have become so popular that they are even used outside of computers sometimes!

Using Number Sequences

VersionNumbers
An example of how version numbers can go up

Many software versions use a sequence of numbers or letters, like "1.0" or "2.5.3". Each part of the sequence can mean something different.

What Do the Numbers Mean?

In some systems, the numbers tell you how big the changes are between versions.

  • The first number changes for the biggest updates (like a completely new program).
  • The second number changes for new features or important improvements.
  • The third number changes for small fixes or minor updates.

The people who make the software decide what counts as a "big" or "small" change. It could be based on how many lines of code changed, how many new features were added, or how much work users will need to do to switch to the new version.

Semantic Versioning (SemVer)

Semver
Semantic versioning uses three main numbers

Semantic Versioning, often called SemVer, is a very popular way to number software. It uses three main numbers: Major.Minor.Patch. It can also have extra tags for early versions.

  • Major (the first number): This changes when there are big updates that might break things in older versions. For example, if you use version 2.0 of a program, and a new version 3.0 comes out, some of your old files or settings might not work with it. This is a high-risk change.
  • Minor (the second number): This changes when new features are added, but the program still works with older files and settings. This is a medium-risk change.
  • Patch (the third number): This changes for small bug fixes or very minor improvements that don't add new features and don't break anything. This is the lowest risk change.

If a version starts with zero (like 0.y.z), it means the software is still being worked on and might have big changes that break things.

Other Ways to Use Number Sequences

Sometimes, developers might skip minor versions to show that many new features have been added, even if it's not a full "major" update. For example, Internet Explorer 5 went from 5.1 to 5.5.

Another way is to add words like "alpha," "beta," or "release candidate" to the version number.

  • Alpha (like 0.5a): This is a very early version, usually tested only by the developers.
  • Beta (like 0.9b): This is a more developed version, often given to a small group of users to test and find bugs.
  • Release Candidate (RC) (like 1.0rc1): This is almost the final version. It's tested to make sure it's stable before the official release.
How different stages are shown
Stage Semantic
Versioning
Numeric
Status
Alpha 1.2.0-a.1 1.2.0.1
Beta 1.2.0-b.2 1.2.1.2
Release Candidate (RC) 1.2.0-rc.3 1.2.2.3
Final Release 1.2.0 1.2.3.0
Small Fixes After Release 1.2.5 1.2.3.5

How Numbers Go Up

There are two main ways numbers go up:

  • Most open-source software treats numbers like separate parts: 1.7.0, then 1.8.0, then 1.8.1.
  • Some older software used decimal numbers: 1.7, then 1.8, then 1.81 (meaning 1.8.1). This can be confusing because 1.81 is actually 1.8.1, not 1.810.

Resetting Version Numbers

Sometimes, developers might reset the main version number to 1.0.0. This often happens when a software project enters a new big phase. For example, the game Minecraft reset its major version number when it went from Alpha to Beta, and then again when it was officially released.

How Numbers Are Separated

Version numbers are often separated by dots (like 2.4.13), but sometimes you might see slashes (2/4/13) or hyphens (2-4-13).

How Many Numbers?

Sometimes there's a fourth number that isn't usually shown to the public. This often refers to the specific "build" of the software. For example, Adobe Flash used to show four numbers like 10.1.53.64.

Negative Numbers?

Believe it or not, some projects have even used negative version numbers! The SmartEiffel compiler started at -1.0 and counted up to 0.0.

Odd and Even Numbers for Development

For a long time, the Linux kernel used odd minor version numbers (like 2.3) for versions still being developed, and even minor version numbers (like 2.4) for stable versions that were ready for everyone to use. This system is not used by Linux anymore, but some other software still uses it.

Using Dates for Versions

Street Fighter EX Opening Version Number
Street Fighter EX showing its version as a date: "961219 USA"

Many projects use the date they were released as their version number. This is called Calendar Versioning (or CalVer).

For example, Ubuntu Linux uses the year and month. So, Ubuntu 18.04 was released in April 2018. This makes it easy to know when a version came out and how long it will be supported. Some video games, like Street Fighter EX, also show dates as their version numbers.

When dates are used, they often follow the YYYY-MM-DD format (Year-Month-Day), like 2025-08-08. This makes them easy to sort.

Sometimes, the year is used in the product name for marketing, even if the internal version number is different. For example, Windows 95 was internally version 4.0.

Other Ways to Version Software

Some software uses unique schemes. For example, the Debian Linux project uses names from the movie Toy Story for its different development stages (stable, unstable, testing).

Urbit uses something called Kelvin versioning. Their software versions start at a high number and count down to 0. When it reaches 0, the software is considered finished, and no more changes are made.

Why Version Numbers Are Important

For Technical Reasons

In Software Development

Version numbers help people who use software know which copy they have and if it's the newest one. For programmers, versioning is super important for tracking every small change they make to the code. This helps them work together and fix problems.

Many programmers now use clear versioning rules, like Semantic Versioning. This helps other programmers know if a new update might cause problems with their own code. This is especially important for software libraries (pieces of code others can use) and frameworks (foundations for building programs).

Versioning also makes it possible to update software automatically and fix bugs easily.

For Technical Support

Version numbers are a big help for people who provide technical support. If you call for help with a program, they can ask for your version number to know exactly which code you are running. This helps them figure out if a problem you're having has already been fixed in a newer version.

Release Trains

Imagine a train with many cars, each carrying a different software product. A software release train is a way of releasing software where many different versions of different products are released on a regular schedule. Users can try out a newer "train" of updates before using it for their main work. This lets them try new features early while still using a stable older version for important tasks.

Internal Version Numbers

Sometimes, a program has an "internal" version number that's different from the one you see. For example, Java SE 5.0 actually has an internal version of 1.5.0. Also, Microsoft Windows versions like Windows 2000 (NT 5.0) and Windows 10 (NT 10.0) have different internal numbers than their marketing names.

For Marketing Reasons

Version Numbers as a Marketing Tool

Sometimes, companies make big jumps in version numbers just for marketing. They might skip version 1.0 because some customers think 1.0 software is too new or might have too many bugs. Or, they might jump numbers to match their competitors. For example, Microsoft Access jumped from version 2.0 to 7.0 to match Microsoft Word's version number.

This can be confusing because it doesn't always follow the rules of what the numbers usually mean. It can also make users feel like there are too many updates, or make it hard to know how big the changes really are.

Making Minor Updates Seem Major

Another marketing trick is to make a small update seem like a big one. For example, Sun's Java used to be called "Java 5" even though its internal version was 1.5.0. This made it sound like a much bigger jump than it was.

Cultural Meanings of Version Numbers

Version 1.0 as a Big Step

In the world of free and open source software, developers often release early versions with numbers less than 1 (like 0.5). This shows that the software is still being built and might not be ready for everyone to use.

Version 1.0 is a huge achievement! It means the software has all its main features and is considered stable and ready for general use. For example, the Linux kernel started as version 0.01 in 1991 and didn't reach 1.0.0 until 1994.

The developers of the arcade game emulator MAME never plan to release a version 1.0 because they believe there will always be more arcade games to add. So, version 0.99 was followed by 0.100.

Superstitions

Sometimes, version numbers are skipped because of superstitions!

  • Microsoft Office 2007 was version 12, but Office 2010 was version 14. They skipped 13 because some people consider the number 13 unlucky. Visual Studio also skipped 13.
  • Roxio Toast went from version 12 to 14 for the same reason.
  • Corel's WordPerfect Office version 13 was marketed as "X3" (Roman numeral 10 and 3).
  • Sybase skipped both 13 and 14 for its database product, going from 12.5 to 15.0.
  • In some cultures, like Chinese culture, the number 4 is associated with "death." Because of this, the CMMS (Computerized Maintenance Management System) Maximo skipped "Series 4" and went straight from "Series 3" to "Series 5."

Geek Culture

Some version numbers are chosen as inside jokes or references to popular culture:

Examples of Software Versioning

Python

The Python Software Foundation has its own detailed system for versioning, which includes parts for the "epoch" (a big change in the versioning scheme itself), the main release, pre-release, and development stages.

TeX

TeX is a special computer program for making documents. Its version numbers are very unique! Since version 3.1, updates are shown by adding an extra digit to the end. This means the version number gets closer and closer to the mathematical number pi (3.14159...). As of 2025, the version is 3.141592653. This shows that TeX is very stable and only gets tiny updates. The creator, Donald Knuth, even said that the "absolutely final change" after he passes away will be to change the version number to exactly pi, and then any remaining bugs will become permanent features!

Similarly, the version number of Metafont, another program by Donald Knuth, gets closer and closer to Euler's number, e (2.71828...).

Apple

For a long time, Mac OS X (now called macOS) used a unique versioning system. Because "X" is the Roman numeral for 10, all versions started with 10. The first version was 10.0, then 10.1, 10.2, and so on. So, the 11th major version was actually called "10.10". This continued until macOS Big Sur was released in November 2020, which finally jumped to version 11.0. macOS Monterey, released in October 2021, became version 12.

In June 2025, Apple announced a new way of naming its operating systems. Starting in the fall of 2025, their operating systems like iOS, macOS, and iPadOS will be named after the year, like iOS 26 and macOS 26.

Microsoft Windows

Early versions of Microsoft Windows had standard numbers like Windows 1.0 to 3.11. After that, Microsoft started using names instead of just numbers. Windows 95 was version 4.0, Windows 98 was 4.10, and Windows 2000 was 5.0.

For its server versions (like Windows Server 2008 R2), Microsoft started adding "R2" for minor updates. Client versions like Windows XP (5.1) and Windows Vista (6.0) used different names. Then, Windows 7 (6.1), Windows 8 (6.2), and Windows 8.1 (6.3) went back to numbers in their names, but these weren't the actual internal version numbers.

With Windows 10, the internal version number jumped to 10.0. Even though Windows 11 was released in October 2021 and is called "11," its internal version number is still 10.0, just like Windows 10.

Versioning Outside of Software

Versioning isn't just for software!

  • Some computer file systems keep different versions of files.
  • Documents often have version numbers. When you make a small change, the version number might go up by 1.
  • You can even find software-style version numbers in other media, like movies (e.g., Jackass 2.5, which was a version of the movie with extra features) or music albums (like Garbage's album Version 2.0).
  • Sometimes, it's used to sound high-tech, like the video game Tron 2.0 or the idea of Web 2.0, which described websites that let users create content.
  • Technical drawing and CAD software files also use version numbers to track changes.

See also

  • Continuous Data Protection
  • Maintenance release
  • Product life cycle management
  • Release management
  • Release notes
  • Software engineering
kids search engine
Software versioning Facts for Kids. Kiddle Encyclopedia.