| Version Numbers and Releases | 
 | ============================ | 
 |  | 
 |  Curl is not only curl. Curl is also libcurl. They're actually individually | 
 |  versioned, but they mostly follow each other rather closely. | 
 |  | 
 |  The version numbering is always built up using the same system: | 
 |  | 
 |         X.Y.Z | 
 |  | 
 |   - X is main version number | 
 |   - Y is release number | 
 |   - Z is patch number | 
 |  | 
 | ## Bumping numbers | 
 |  | 
 |  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 main version number will get bumped when *really* big, world colliding | 
 |  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. | 
 |  | 
 |  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 | 
 |  set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99 | 
 |  becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100 might come. | 
 |  | 
 |  All original curl source release archives are named according to the libcurl | 
 |  version (not according to the curl client version that, as said before, might | 
 |  differ). | 
 |  | 
 |  As a service to any application that might want to support new libcurl | 
 |  features while still being able to build with older versions, all releases | 
 |  have the libcurl version stored in the curl/curlver.h file using a static | 
 |  numbering scheme that can be used for comparison. The version number is | 
 |  defined as: | 
 |  | 
 |         #define LIBCURL_VERSION_NUM 0xXXYYZZ | 
 |  | 
 |  Where XX, YY and ZZ are the main version, release and patch numbers in | 
 |  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 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`. |