1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 16:18:48 -05:00

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
This commit is contained in:
Daniel Stenberg 2011-08-08 09:25:59 +02:00
parent 3d919440c8
commit 967deb43f8

View File

@ -11,32 +11,25 @@ Version Numbers and Releases
The version numbering is always built up using the same system: The version numbering is always built up using the same system:
X.Y[.Z][-preN] X.Y[.Z]
Where Where
X is main version number X is main version number
Y is release number Y is release number
Z is patch 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 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 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 included in the version number.
pre releases (they're never used in public, official, releases).
The main version number will get bumped when *really* big, world colliding The main version number will get bumped when *really* big, world colliding
changes are made. The release number is bumped when big changes are changes are made. The release number is bumped when changes are performed or
performed. The patch number is bumped when the changes are mere bugfixes and things/features are added. The patch number is bumped when the changes are
only minor feature changes. The pre-release is a counter, to identify which mere bugfixes.
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.
It means that after release 1.2.3, we can release 2.0 if something really big 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 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 were fixed.
for the brave people to try before the actual release.
Bumping, as in increasing the number with 1, is unconditionally only 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 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 #define LIBCURL_VERSION_NUM 0xXXYYZZ
Where XX, YY and ZZ are the main version, release and patch numbers in 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 hexadecimal. All three number fields are always represented using two digits
would appear as "0x010200" while version 9.11.7 appears as "0x090b07". (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 This 6-digit hexadecimal number is always a greater number in a more recent
always a greater number in a more recent release. It makes comparisons with release. It makes comparisons with greater than and less than work.
greater than and less than work.
This number is also available as three separate defines: This number is also available as three separate defines:
LIBCURL_VERSION_MAJOR, LIBCURL_VERSION_MINOR and LIBCURL_VERSION_PATCH. LIBCURL_VERSION_MAJOR, LIBCURL_VERSION_MINOR and LIBCURL_VERSION_PATCH.