Software Versions
November 2025
Releases
A release is a version of all the files in a project at a certian point in its development.
When creating a release, other departements in a company may be involved such as marketing.
Timing is important when releasing software, if releases are rare then customers may move to alternative systems.
However, if releases are too frequent, especially if they require changes such as new hardware, customers may not want to upgrade.
Releases often contain many components such as the executable, configuration files, data filees, installation programs, documentation, etc
Versioning
Each version of a system is associated with a version number.
Higher numbers correspond to newer versions.
One common system for versioning software is SemVer
There are also versions that are often used as part of the development stage:
- Pre-alpha - Often used only for internal testing
- Alpha - Often only used internally, more stable than pre-alpha
- Beta - Often used for user tests in a limited group, includes features intended for release
- Release Candidate (RC) - Used by a wider audience than beta, but still only for testing, no new functionality compared to beta, only bugfixes
- Release To Manufacturing (RTM)/Final - The final published version
Some other versioning systems are also used, notably TeX’s version number converges to $\pi$, and METAFONT’s converges to $e$