Commit 967deb43 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

VERSIONS: clarify our versioning concept

Drop the pre-release part from this text as we don't use that in
practise since many years.

Update the phrasing to reflect our more strict interpretation:
http://curl.haxx.se/mail/lib-2011-08/0064.html
parent 3d919440
Loading
Loading
Loading
Loading
+11 −18
Original line number Diff line number Diff line
@@ -11,32 +11,25 @@ Version Numbers and Releases

 The version numbering is always built up using the same system:

        X.Y[.Z][-preN]
        X.Y[.Z]

 Where
   X is main version number
   Y is release number
   Z is patch number
   N is pre-release number

 One of these numbers will get bumped in each new release. The numbers to the
 right of a bumped number will be reset to zero. If Z is zero, it may not be
 included in the version number. The pre release number is only included in
 pre releases (they're never used in public, official, releases).
 included in the version number.

 The main version number will get bumped when *really* big, world colliding
 changes are made. The release number is bumped when big changes are
 performed. The patch number is bumped when the changes are mere bugfixes and
 only minor feature changes. The pre-release is a counter, to identify which
 pre-release a certain release is.

 When reaching the end of a pre-release period, the version without the
 pre-release part will be released as a public release.
 changes are made. The release number is bumped when changes are performed or
 things/features are added. The patch number is bumped when the changes are
 mere bugfixes.

 It means that after release 1.2.3, we can release 2.0 if something really big
 has been made, 1.3 if not that big changes were made or 1.2.4 if mostly bugs
 were fixed. Before 1.2.4 is released, we might release a 1.2.4-pre1 release
 for the brave people to try before the actual release.
 were fixed.

 Bumping, as in increasing the number with 1, is unconditionally only
 affecting one of the numbers (except the ones to the right of it, that may be
@@ -56,12 +49,12 @@ Version Numbers and Releases
        #define LIBCURL_VERSION_NUM 0xXXYYZZ

 Where XX, YY and ZZ are the main version, release and patch numbers in
 hexadecimal. All three numbers are always represented using two digits.  1.2
 would appear as "0x010200" while version 9.11.7 appears as "0x090b07".
 hexadecimal. All three number fields are always represented using two digits
 (eight bits each). 1.2 would appear as "0x010200" while version 9.11.7
 appears as "0x090b07".

 This 6-digit hexadecimal number does not show pre-release number, and it is
 always a greater number in a more recent release. It makes comparisons with
 greater than and less than work.
 This 6-digit hexadecimal number is always a greater number in a more recent
 release. It makes comparisons with greater than and less than work.

 This number is also available as three separate defines:
 LIBCURL_VERSION_MAJOR, LIBCURL_VERSION_MINOR and LIBCURL_VERSION_PATCH.