1. Herbert Breunung
  2. Kephra


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

If one number is raised, all to the left get a reset to zero.
Trailing zeros can be omited - 0.5 is the same as

=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 or change/set 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 compatibility of the Kephra::API,
it is a signal to all Plugin authors, they have to adapt.

=head2 What Changed?

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