A software upgrade is the process of replacing an older version of one or more programs to a newer version. Use this tag for questions about upgrading individual packages, or the entire operating system to a later release.

What constitutes a software upgrade:

When a software upgrade is performed, an older version of one or more programs are replaced with a newer version, while carrying over the current configuration and settings for the application. Software upgrades are typically performed to address any of the following:

  • Fixing security vulnerabilities
  • Fixing bugs
  • Introducing new features
  • Removing redundant features (often related to security)

Some software upgrades that affect the core part of the system will require a reboot before they are applied. This is true for upgrades, as well as updates to and .

Some basic definitions:

Version - an identifier (usually a number and/or name) which helps to distinguish where the program is in development. Earlier forms (and/or non finished products) may have numbers or names like:

  • 0.01
  • Alpha
  • Unstable
  • Testing
  • 0.90
  • Beta
  • Etc.

Later forms may be:

  • 1.0
  • Release
  • Stable
  • Etc.

Brief introduction to the subject:

The version name of a program usually will increase in value, from 1 - 1.01 for minor releases, and 1.99 - 2.0. With versions of Ubuntu (and other programs/operating systems) the releases are tied to a date, and are given a name (such as Saucy, Lucid, etc.) There are also working versions which will be given terms such as Stable, Unstable, and Testing (when looking at Debian GNU/Linux). This determines what software is available in the repositories, and often is tied into the amount of testing which has gone into the system as a whole.

When a version of anything comes out it must be tested if it is to be released to the public. This is where quality assurance/testing comes into play. During the initial phase the testing may be put into Alpha stage for testing with a small amount of people. After improvements the program may be put into Beta phase, which may open the program up for testing to the public, or a closed group of testers. Then it may go to release. This is not always the case, but it is an example.

Moving from one version of a program to another is called "upgrading". It does not always mean that the new program is better, but usually there is a reason the program has been "upgraded".

Important Links for Learning More: