Kephra / lib / Kephra / Versioning.pod

=head1 Kephra Versioning Schema

=head2 Goals

=over 2

=item * simple (as linear as possible - as a watch)

=item * measures development status not time

=item * no extras (Alpha, Beta, Release Candidate, Patchlevel)


=head2 General Pattern

  Revision . Stable . Testing . Development

=head3 Development

Development number is changed after every important commit.
Normally after every day of development.

Development releases come with no warranty whatsoever.

=head3 Testing

Testing number is raised if a new feature of importance has to attract
the attention of the testers.

Testing releases come with all known bugs disabled (if possible).
Interfaces glitches may occur.

=head3 Stable

Stable number goes up if several greater new features are in
and all known bugs are out.
If there are still bugs,
they have to be disabled with the feature there are sitting on.

Stable releases should have a polished interface and no bugs.
If one appears in 0.3 it will be fixed ASAP with a.s.o.
During a time window before releasing a stable version,
all new features will go into a new branch, which will become 0.3.1.
The next testing should be released soon after the stable is out.

=head3 Revision

Has the word vision in it. When I got my initial vision we are at 1.0.
If I have a new one after that or we change a fundamental technology
there is gonna be a 2.0. 
Or in case we just want to break backward compatibelity of the Kephra::API.

=head2 What Changed?

We dropped the special patchlevel number.
The version 0.3 Patchlevel 5 is now