## Version numbering scheme

> The version number consists of 3 digits. I will call them B,M,L.
> - L has two different meanings. If the version is a hackers release, increasing L will mean adding new features, new bugfixes and new bugs. But if the version is a stable release, L means ONLY bugfixes. you should always upgrade to a version that has a higher L, but the same M and B than your version. (especially if you are using a stable release)
> - M means real changes. Adding a help menu would be a change for example. Odd (1,3,5,7,...) M numbers mean hackers releases. Do not use them if you want to have a stable program. Even (0,2,4,6,8,...) M numbers mean stable releases. Use them :-)
> - B is for real big changes. sometimes a hackers release isn't converted into a higher M number, because there are too many changes. so B will be increased and M and L will be set to zero again. Converting the software into a multi toilet exchanger system would be a BIG change, for example.
> The following list shows a hypothetical development history of a program, so that you understand the version numbering scheme

> 0.1.0 | developlemt starts, of course this is a hackers release

> 0.1.1

> first bugfixes, and another terrible hardware support is included

> 0.1.2

> you can now save files, and some ugly bugfixes

> 0.1.3

> only bugfixes, the author wants to release a stable program, soon

> 0.1.4

> aargh, even more fixes

> 0.2.0

> finally, a stable release :-)

> 0.2.1

> thousands of users tested 0.2.0, and so a bug was found. this is fixed now

> 0.3.0

> the author wants to continue development. he adds new features, so he continues with a hacker release

> 0.3.1

> added support for multi headed multi voice devices

> 0.2.2

> argl! some stupid user found another bug. it is now fixed

> 0.3.2

> the author continues development

> puuuuh :-) understood everything? This version numbering scheme guarantees real stable versions. stable versions will always be fixed, newer upgraded, so the number of bugs decreases.

> One day there will be too much stable releases. For example: 0.2.2, 0.4.8 and 0.6.1. Now the author may decide to stop fixing the 0.2.* tree. You have to upgrade to the 0.4.* or the 0.6.* tree then, because if you find new bugs in the 0.2.* tree, nobody will fix them for you. If the author would have to maintain all the trees and never throw old ones away, there would just be too many versions to maintain.

> Now you should understand, what the Actual Releases page means.

alphabetic index hierarchy of classes

Mail to the Author

generated by doc++