[Japag-devl] Japag Version Numbering
Brought to you by:
garzol,
p72endragon
|
From: P72endragon <p72...@us...> - 2010-10-09 23:36:30
|
Hi, Over the last few months, there have been a number of bug fixes and minor enhancements made to Japag, and I think it's about time it was released. I notice the current version is 1.3c. I'm not clear what the previous policy has been regarding how much of a change warrants each component of the version number to be incremented. I've been thinking about tweaking the current numbering system to make it more consistent with other applications. I'm considering a format along the lines of "major.minor.maintenance" where each component is a number, separated by a decimal point. The significance of each component is as follows: - Major: The code has been changed in a way such that XML configuration files that worked on a previous major version will not work on a newer major version. In other words, a major change can be considered as a "breaking change". To a greater or lesser extent, it is not backwards compatible. - Minor: One or more new things have been added to improve Japag. This should in no way break any existing functionality and all XML configuration files that worked on a previous minor version will work on a newer minor version. - Maintenance: Bug fixes. This is simply to fix some functionality that doesn't work as it should do. One thing I'm not sure about is how to handle updates to XML configuration files that are distributed as part of the Japag download. A couple of options that come to mind include: - Every change counts as a maintenance release - Every change to an existing config counts as a maintenance release, but any new configs that get added count as a minor release. - Bug fixes in existing configs count as maintenance releases, but new functionality in an existing config or adding a new config counts as a minor release. My initial feelings are that the last option provides the most consistent approach with the application in general. Users will view it as a maintenance release fixes stuff that was wrong and a minor release gives them something new/improved. Neither of these will break anything, so any configs they've developed themselves will continue to work. Only a major release will break any existing configs. In this way, I can perhaps foresee a time when there are 1.x and 2.x releases being maintained side-by-side. The last release was 1.3c. Since then there have been a number of bug fixes, minor enhancements and two new configs added. Therefore, this would count as a minor release. To keep the numbering in step, I would suggest calling this next release 1.4.0 Does anyone have any thoughts or comments on this? Regards, Paul Walker |