File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / docs / VERSIONS
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:15 2020 UTC (4 years, 10 months ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    1: Version Numbers and Releases
    2: ============================
    3: 
    4:  Curl is not only curl. Curl is also libcurl. They're actually individually
    5:  versioned, but they mostly follow each other rather closely.
    6: 
    7:  The version numbering is always built up using the same system:
    8: 
    9:         X.Y.Z
   10: 
   11:   - X is main version number
   12:   - Y is release number
   13:   - Z is patch number
   14: 
   15: ## Bumping numbers
   16: 
   17:  One of these numbers will get bumped in each new release. The numbers to the
   18:  right of a bumped number will be reset to zero. If Z is zero, it may not be
   19:  included in the version number.
   20: 
   21:  The main version number will get bumped when *really* big, world colliding
   22:  changes are made. The release number is bumped when changes are performed or
   23:  things/features are added. The patch number is bumped when the changes are
   24:  mere bugfixes.
   25: 
   26:  It means that after release 1.2.3, we can release 2.0 if something really big
   27:  has been made, 1.3 if not that big changes were made or 1.2.4 if mostly bugs
   28:  were fixed.
   29: 
   30:  Bumping, as in increasing the number with 1, is unconditionally only
   31:  affecting one of the numbers (except the ones to the right of it, that may be
   32:  set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99
   33:  becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100 might come.
   34: 
   35:  All original curl source release archives are named according to the libcurl
   36:  version (not according to the curl client version that, as said before, might
   37:  differ).
   38: 
   39:  As a service to any application that might want to support new libcurl
   40:  features while still being able to build with older versions, all releases
   41:  have the libcurl version stored in the curl/curlver.h file using a static
   42:  numbering scheme that can be used for comparison. The version number is
   43:  defined as:
   44: 
   45:         #define LIBCURL_VERSION_NUM 0xXXYYZZ
   46: 
   47:  Where XX, YY and ZZ are the main version, release and patch numbers in
   48:  hexadecimal. All three number fields are always represented using two digits
   49:  (eight bits each). 1.2 would appear as "0x010200" while version 9.11.7
   50:  appears as "0x090b07".
   51: 
   52:  This 6-digit hexadecimal number is always a greater number in a more recent
   53:  release. It makes comparisons with greater than and less than work.
   54: 
   55:  This number is also available as three separate defines:
   56:  `LIBCURL_VERSION_MAJOR`, `LIBCURL_VERSION_MINOR` and `LIBCURL_VERSION_PATCH`.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>