3.6. How to get HAProxy

  1. HAProxy is an open source project covered by the GPLv2 license, meaning that
  2. everyone is allowed to redistribute it provided that access to the sources is
  3. also provided upon request, especially if any modifications were made.
  4.  
  5. HAProxy evolves as a main development branch called "master" or "mainline", from
  6. which new branches are derived once the code is considered stable. A lot of web
  7. sites run some development branches in production on a voluntarily basis, either
  8. to participate to the project or because they need a bleeding edge feature, and
  9. their feedback is highly valuable to fix bugs and judge the overall quality and
  10. stability of the version being developed.
  11.  
  12. The new branches that are created when the code is stable enough constitute a
  13. stable version and are generally maintained for several years, so that there is
  14. no emergency to migrate to a newer branch even when you're not on the latest.
  15. Once a stable branch is issued, it may only receive bug fixes, and very rarely
  16. minor feature updates when that makes users' life easier. All fixes that go into
  17. a stable branch necessarily come from the master branch. This guarantees that no
  18. fix will be lost after an upgrade. For this reason, if you fix a bug, please
  19. make the patch against the master branch, not the stable branch. You may even
  20. discover it was already fixed. This process also ensures that regressions in a
  21. stable branch are extremely rare, so there is never any excuse for not upgrading
  22. to the latest version in your current branch.
  23.  
  24. Branches are numbered with two digits delimited with a dot, such as "1.6". A
  25. complete version includes one or two sub-version numbers indicating the level of
  26. fix. For example, version 1.5.14 is the 14th fix release in branch 1.5 after
  27. version 1.5.0 was issued. It contains 126 fixes for individual bugs, 24 updates
  28. on the documentation, and 75 other backported patches, most of which were needed
  29. to fix the aforementioned 126 bugs. An existing feature may never be modified
  30. nor removed in a stable branch, in order to guarantee that upgrades within the
  31. same branch will always be harmless.
  32.  
  33. HAProxy is available from multiple sources, at different release rhythms :
  34.  
  35. - The official community web site : http://www.haproxy.org/ : this site
  36. provides the sources of the latest development release, all stable releases,
  37. as well as nightly snapshots for each branch. The release cycle is not fast,
  38. several months between stable releases, or between development snapshots.
  39. Very old versions are still supported there. Everything is provided as
  40. sources only, so whatever comes from there needs to be rebuilt and/or
  41. repackaged;
  42.  
  43. - A number of operating systems such as Linux distributions and BSD ports.
  44. These systems generally provide long-term maintained versions which do not
  45. always contain all the fixes from the official ones, but which at least
  46. contain the critical fixes. It often is a good option for most users who do
  47. not seek advanced configurations and just want to keep updates easy;
  48.  
  49. - Commercial versions from http://www.haproxy.com/ : these are supported
  50. professional packages built for various operating systems or provided as
  51. appliances, based on the latest stable versions and including a number of
  52. features backported from the next release for which there is a strong
  53. demand. It is the best option for users seeking the latest features with
  54. the reliability of a stable branch, the fastest response time to fix bugs,
  55. or simply support contracts on top of an open source product;
  56.  
  57.  
  58. In order to ensure that the version you're using is the latest one in your
  59. branch, you need to proceed this way :
  60.  
  61. - verify which HAProxy executable you're running : some systems ship it by
  62. default and administrators install their versions somewhere else on the
  63. system, so it is important to verify in the startup scripts which one is
  64. used;
  65.  
  66. - determine which source your HAProxy version comes from. For this, it's
  67. generally sufficient to type "haproxy -v". A development version will
  68. appear like this, with the "dev" word after the branch number :
  69.  
  70. HA-Proxy version 1.6-dev3-385ecc-68 2015/08/18
  71.  
  72. A stable version will appear like this, as well as unmodified stable
  73. versions provided by operating system vendors :
  74.  
  75. HA-Proxy version 1.5.14 2015/07/02
  76.  
  77. And a nightly snapshot of a stable version will appear like this with an
  78. hexadecimal sequence after the version, and with the date of the snapshot
  79. instead of the date of the release :
  80.  
  81. HA-Proxy version 1.5.14-e4766ba 2015/07/29
  82.  
  83. Any other format may indicate a system-specific package with its own
  84. patch set. For example HAProxy Enterprise versions will appear with the
  85. following format (<branch>-<latest commit>-<revision>) :
  86.  
  87. HA-Proxy version 1.5.0-994126-357 2015/07/02
  88.  
  89. - for system-specific packages, you have to check with your vendor's package
  90. repository or update system to ensure that your system is still supported,
  91. and that fixes are still provided for your branch. For community versions
  92. coming from haproxy.org, just visit the site, verify the status of your
  93. branch and compare the latest version with yours to see if you're on the
  94. latest one. If not you can upgrade. If your branch is not maintained
  95. anymore, you're definitely very late and will have to consider an upgrade
  96. to a more recent branch (carefully read the README when doing so).
  97.  
  98. HAProxy will have to be updated according to the source it came from. Usually it
  99. follows the system vendor's way of upgrading a package. If it was taken from
  100. sources, please read the README file in the sources directory after extracting
  101. the sources and follow the instructions for your operating system.