Ok, so now that the program is actually getting to the stage where genuine applications can be written and saved we need to be concerned about how our changes affect those saved files. This raises certain issues because we don't have any idea what the finalized output format will be nor do we have any idea what different pieces of data we will need to save. With these things in mind, we plan to start actually tracking the current version number of the editor and checking the version number on the save files in the loaders (the version number is already saved but it has just been 0s until now).
The editor currently has the following three versioning components already built in and saved: major version number, minor version number, and revision number. These are in decreasing order of significance as is evident by the names and these three components are a fairly common basis for all program versioning. We will be sticking to this with the following guidelines for changes:
Major version:
It is not uncommon to leave all versions with a major version of 0 until a release version is made. Since it is unlikely that we will be releasing the program any time soon (since we aren't even at beta yet) we are going to leave this at 0.
Minor version:
This is a way of measuring progress towards a release version. It represents significant milestones. At the moment, we can't really decide on what these milestones would be without some sort of customer input/feedback. For the time being we will use a minor version of 1.
Revision number:
This is a more flexible measure of day-to-day progress in the program. This is what we will predominantly use to set markers for short-term progress. Any time a change in functionality, even basic, is made, the version needs to be updated. That means, before committing, update as usual and increment the revision number by 1 if you have made a changed that you believe merits a change. We will see how this works for now and change it later if necessary. The first revision will be number 1.