Difference between revisions of "Version Number"

From Custom Mario Kart
Jump to navigation Jump to search
(Undo: Before it was a paragraph with text (=normal description). Now it is neither a paragraph nor a list; it's just unformatted.)
(Specification about alternative versions)
(11 intermediate revisions by 9 users not shown)
Line 1: Line 1:
This article should help to find a correct version number for a software product. A custom track is a software product and should follow the rules, so that all people know what the author mean. The goal is to avoid the RC mixture used by the ct authors.
+
== Introduction ==
 
+
{{about|Related article: [http://en.wikipedia.org/wiki/Software_versioning Software versioning]}}
If an end user gets for example a release candidate (RC), he thing he gets a nearly 100% working track and he doesn't expect a buggy alpha with known freezes.
 
 
 
 
 
__TOC__
 
  
 +
This article should help [[custom track]], software and any kind of mod creators find a correct version number for their files. Files listed on the Wiiki are treated as software and should have proper software versioning. The purpose of software versioning is to help the creators stay organized.
  
 
== Basic Versioning ==
 
== Basic Versioning ==
 +
Software development goes through several stages and many builds (compiled/generated versions). Sometimes the author wants to publish some of these builds, so the author should find a good version name. All version numbers regarding the same software must follow an order, thus the number or stage may not decrease in future versions.
  
If software (and also tracks) is developed it goes to several stages and many builds (compiled/generated versions). Sometimes the author want to publish some of these builds and to find a good version naming.
+
The stages are not clearly defined and the following are only suggestions:
 
+
* '''Preview''' is a very early stage of the software and not usable.
The stages are not clearly defined and the following is only a suggestion.
+
* '''Alpha''' version is principally complete with known major bugs.
A '''preview''' is e very early stage of the software and not usable.
+
* '''Beta''' version is nearly ready with known minor bugs.
An '''alpha''' version is principal complete with known major bugs.
+
* '''Release Candidate''' (RC) has no known bugs.
A '''beta''' version is nearly ready with known minor bugs.
+
* '''Release''' should be bug free.
A '''release candidate''' has no known bugs and is published for final tests.
+
* '''Alternative''' versions should be unofficial and/or style modifications of any existing version.
A '''release''' is bug free — or should be bug free.
 
  
 
=== Preview ===
 
=== Preview ===
 +
A Preview is a very early and incomplete copy of the software. It should give some impressions.
  
A preview (pre release) is a very early and incomplete copy of the software. It should give some impressions.
+
;Examples for naming
 
 
;Examples for naming:
 
 
* pre-3
 
* pre-3
 
* preview4
 
* preview4
Line 28: Line 24:
  
 
=== Alpha ===
 
=== Alpha ===
 +
An Alpha has (nearly) all things implemented and is much closer to a product than a Preview, but it has some known major bugs or some missing parts of the software.
  
An alpha version has (nearly) all thinks implemented, but is known to have major bugs and much closer to a product than a ''preview''.
+
;Examples for naming
 
 
;Examples for naming:
 
 
* alpha
 
* alpha
 
* a4
 
* a4
Line 37: Line 32:
  
 
=== Beta ===
 
=== Beta ===
 +
A Beta is nearly ready, has some known minor bugs, and works generally as expected. The author gives it away for tests to find more bugs.
  
A beta version is nearly ready, has some known minor bugs and works generally as expected. The author(s) give it away for tests to find more bugs.
+
;Examples for naming
 
 
;Examples for naming:
 
 
* beta
 
* beta
 
* b4
 
* b4
Line 46: Line 40:
  
 
=== Release Candidate ===
 
=== Release Candidate ===
 +
A Release Candidate (RC) is a ''candidate for release''. The author means that it is bug-free (if not, the author must declare the known minor bugs) and gives it away for final tests. Release candidates may stay as release candidates for extended periods of development during which bugs are repeatedly found and fixed.
  
A release candidate (RC) is a candidate for the release. The author means, it is ready and bug free (if not, he must declare the known bugs) and give it away for final tests.
+
;Examples for naming
 
 
RC1 means ''first release candidate'' and RC2 ''second release candidate''. Numbers like RC0.9 and RC1.4 are nonsense.
 
 
 
;Examples for naming:
 
 
* RC1
 
* RC1
 
* rc-2
 
* rc-2
Line 57: Line 48:
  
 
=== Release ===
 
=== Release ===
 +
If the release candidate is stable and well-tested, the next version following it may become a Release and it is renamed to v* where * may be nearly anything.
  
If the release candidate is stable and well tested, you rename it to "v*". "*" may be nearly anything.
+
;Examples for naming
 
+
* v1.0
;Examples for naming:
 
* v1
 
 
* v1.2
 
* v1.2
 
* v1a
 
* v1a
 
* v1.12b
 
* v1.12b
 
* v00001.02.0003
 
* v00001.02.0003
 +
''The preceding '''v''' is often omitted for final releases, where the author has no initial intention of updating the software.''
  
You can also combine version numbers with preview, alpha, beta or release candidate. You need the if you plan e.g. e beta for version 2. Separate the suffix from the main version number by a dot.
+
=== Alternative versions ===
 +
Unofficial and restylized versions should use *-alt instead of increasing the version number. This guarantees less confusion when official versions of the track (that may include fixes, complete remakes or more elements) are released.
  
;Examples for naming:
+
;Examples for naming
 +
* v1.0-alt
 +
* v1.1b-alt
 +
* RC1-alt
 +
* v2.alpha-5-alt
 +
 
 +
== More Specific Version Numbers ==
 +
Version numbers can be combined with preview, alpha, beta or release candidate (for example, a beta for version 2). Separate the suffix from the main version number by a period.
 +
 
 +
;Examples for naming
 
* v3.pre-1
 
* v3.pre-1
 
* v12.alpha
 
* v12.alpha
Line 75: Line 76:
 
* v5.RC3
 
* v5.RC3
  
== Alternative Versioning ==
+
== Proof of concept ==
=== Proof Of Concept ===
+
A Proof of concept (PoC) is a software version to test a concept of anything, like the [http://www.youtube.com/watch?v=z4zaiKSKUqo »Train for Kalimari PoC«]. The goal of a PoC track is not to have a running track, but to find out if a technical detail will work.
  
A ''Proof Of Concept'' (short ''POC'') is a software version to test a concept of anything, like the [http://www.youtube.com/watch?v=z4zaiKSKUqo »Train for Kalimari POC«]. The goal of a POC track is not to have a running track, but to find out, if a technical detail will work.
+
;Examples for naming
 
+
* PoC-1
;Examples for naming:
 
* POC-1
 
 
* poc2
 
* poc2
 
  
 
[[Category:General Information]]
 
[[Category:General Information]]

Revision as of 20:24, 16 December 2019

Introduction

Related article: Software versioning

This article should help custom track, software and any kind of mod creators find a correct version number for their files. Files listed on the Wiiki are treated as software and should have proper software versioning. The purpose of software versioning is to help the creators stay organized.

Basic Versioning

Software development goes through several stages and many builds (compiled/generated versions). Sometimes the author wants to publish some of these builds, so the author should find a good version name. All version numbers regarding the same software must follow an order, thus the number or stage may not decrease in future versions.

The stages are not clearly defined and the following are only suggestions:

  • Preview is a very early stage of the software and not usable.
  • Alpha version is principally complete with known major bugs.
  • Beta version is nearly ready with known minor bugs.
  • Release Candidate (RC) has no known bugs.
  • Release should be bug free.
  • Alternative versions should be unofficial and/or style modifications of any existing version.

Preview

A Preview is a very early and incomplete copy of the software. It should give some impressions.

Examples for naming
  • pre-3
  • preview4
  • v3.pre5

Alpha

An Alpha has (nearly) all things implemented and is much closer to a product than a Preview, but it has some known major bugs or some missing parts of the software.

Examples for naming
  • alpha
  • a4
  • v3.alpha-5

Beta

A Beta is nearly ready, has some known minor bugs, and works generally as expected. The author gives it away for tests to find more bugs.

Examples for naming
  • beta
  • b4
  • v3.beta-5

Release Candidate

A Release Candidate (RC) is a candidate for release. The author means that it is bug-free (if not, the author must declare the known minor bugs) and gives it away for final tests. Release candidates may stay as release candidates for extended periods of development during which bugs are repeatedly found and fixed.

Examples for naming
  • RC1
  • rc-2
  • v3.rc2

Release

If the release candidate is stable and well-tested, the next version following it may become a Release and it is renamed to v* where * may be nearly anything.

Examples for naming
  • v1.0
  • v1.2
  • v1a
  • v1.12b
  • v00001.02.0003

The preceding v is often omitted for final releases, where the author has no initial intention of updating the software.

Alternative versions

Unofficial and restylized versions should use *-alt instead of increasing the version number. This guarantees less confusion when official versions of the track (that may include fixes, complete remakes or more elements) are released.

Examples for naming
  • v1.0-alt
  • v1.1b-alt
  • RC1-alt
  • v2.alpha-5-alt

More Specific Version Numbers

Version numbers can be combined with preview, alpha, beta or release candidate (for example, a beta for version 2). Separate the suffix from the main version number by a period.

Examples for naming
  • v3.pre-1
  • v12.alpha
  • v2.b3 (b for beta)
  • v5.RC3

Proof of concept

A Proof of concept (PoC) is a software version to test a concept of anything, like the »Train for Kalimari PoC«. The goal of a PoC track is not to have a running track, but to find out if a technical detail will work.

Examples for naming
  • PoC-1
  • poc2