Copyright (c) Hyperion Entertainment and contributors.

Version Strings

From AmigaOS Documentation Wiki
Jump to navigation Jump to search

Introduction

Software versioning is one of the key elements in software development. It supports constant development and improvement while making regular releases. In versioning, each release will get a unique version number that identifies the release. The version number tells the software product's release order (release history), how big changes have been made since the previous release, and when each version was released.

On Amiga, the version number is divided in two sets of numbers separated by a point. The leftmost number is the major version number, and the rightmost number is the revision number that indicates a minor change. For example, the very first version is 1.1: the first revision of the first version.

The revision number should be increased when a program gets a minor update, i.e. when the added functionality does not break the program's backward compatibility. When incompatible changes are made, the program has received a major update and its major version number should be increased.

For example, releasing two minor updates bumps the version number up as follows: 1.11.21.3. Making a new edition increases the major version number and resets the revision number. Thus after two minor and one major update, the version history looks like this:

1.1 (the first version)
1.2 (1st minor update)
1.3 (2nd minor update)
2.1 (major update)

The version information is embedded in a program as a text sequence called a version string. The format of this text sequence is:

$VER: <name> <version>.<revision> (<dd>.<mm>.<yyyy>)
<name>
The name of your application
<version>
Major version number
<revision>
Minor revision number
<dd>
Day when the application was created
<mm>
Numeric month when the application was created
<yyyy>
Year when the application was created
Example

The first version of application MyApplication that was released on 15th of July 2023:

$VER: MyApplication 1.1 (15.07.2023)

Using version strings is not restricted to applications. They can and should be used in libraries, devices, scripts, data files, etc.

Hand-Coded Version Strings

Automating Version Numbering with BumpRev

See Also