=head1 Kephra Versioning Schema

=head2 Goals

=over 2

=item * simple (linear as a watch)

=item * measures development status not time

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

=back

=head2 General Pattern

  Revision . Stable (stage) . Fix . 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 0.5.0.0

Some similar idea is known as semantic versioning L<http://semver.org>.

=head3 Development

Development number is changed after every important commit.
Normally after every day of development.
Development releases come with no warranty whatsoever.

Official releases have no fourth digit (dev number == 0).

=head3 Fix

Fix number is raised if a new bug fix of a stable release had to be released.
Development releases have a fix number == 0.

=head3 Stable

Stable number increases with every new stage (major release).

=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.

Independent of the programs version is the version of the Kephra::API.
If we break that there will be for a time be two parallel API modules for
Plugin authors to program against.


=head2 What Changed?

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