Adding new versions to wyBuild is simple; click the "new version" tab and a new version is created. You can change the version number and wyBuild automatically reorders them for you:
If you're unsure how wyUpdate will interpret your version numbers, simply add new version tabs in wyBuild and see how wyBuild reorders them. It puts the "older" versions on the left and the "newer" versions on the right.
wyBuild and wyUpdate are liberal in what they allow for version numbers. You can use any version numbering schemer you want, but we recommend using the typical alphanumeric versioning scheme:
Major.Minor.Revision.Build [Extra Status]
A few examples of valid version numbers are "1.0", "0.1.2.3", "4.3.2.1 beta 1", "1.27.4.158 release candidate".
When wyUpdate checks for updates, it downloads the server file and compares the version currently installed with the version in the server file. If the version in the server file is newer than the one installed on the user's computer, the update is downloaded and installed.
1.47 is the newer version. Version numbers are not to be confused with decimal numbers. A simple way to compare these versions in your head is to make the numbers between the periods an equal length.
So, with this version comparison it's "1" vs. "1" and "47" vs. "05". The numbers before the first periods (the Major numbers) are equal, so then the Minor numbers are compared. 47 is greater than 5, thus 1.47 is newer than 1.5
1.5 is the newer version. wyUpdate compares these as 1.4.7 vs. 1.5.0, where the Major numbers are equal (1 = 1), and the Minor number of 1.5 is greater than the Minor number of 1.4.7 (5 > 4).
Also note that it doesn't matter that the Revision number of 1.4.7 is greater than that of 1.5 (7 > 0).
1.2.3 is the newest version, followed by 1.2.3 release candidate, with 1.2.3 beta as the oldest. As you can see the Major, Minor, and Revision numbers are identical for each version, which leaves just the Extra Status to compare. The Extra Status is compared with the following hierarchy - the higher on the list, the "newer" the version is:
Because "1.2.3" has no extra status at all it's newer than both "1.2.3 beta" and "1.2.3 release candidate". And "1.2.3 release candidate" is greater than "1.2.3 beta" because "release candidate" (or "rc") is greater than Greek letters.
For further reference you might want to check out the Software versioning article on Wikipedia.