Latest Stable
3.4.0
Released 03 Jun 2026
(3 days ago)
Software
HAProxy
IntroductionHAProxy is a free, open-source, high-performance TCP/HTTP load balancer and proxy solution. It is renowned for its reliability, performance, and rich feature set, making it a de facto standard for distributing traffic across application servers and improving the availability and scalability of web applications.
VendorHAProxy Technologies
AuthorWilly Tarreau
Designed byWilly Tarreau
DeveloperHAProxy Community
Written inC
PlatformCross-platform
Operating systemLinux, BSD, Solaris, AIX
TypeLoad Balancer, Proxy Server
Repositoryhttps://github.com/haproxy/haproxy
Websitehttps://www.haproxy.org
LicenseGNU General Public License v2
LATEST RELEASES:
3.4.0 03 Jun 2026 (3 days ago)
3.4-dev14 26 May 2026 (11 days ago)
3.4-dev13 20 May 2026 (17 days ago)
3.4-dev12 13 May 2026 (24 days ago)
2.6.29 11 May 2026 (26 days ago)

All Releases

HAProxy support lifecycle 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 3.4 (LTS) Version: 3.4 Status: Supported End of life: 2026-06-03 to 2031-04-01 Version: 3.4 Status: Supported End of life: 2026-06-03 to 2031-04-01 3.3 Version: 3.3 Status: Supported End of life: 2025-11-26 to 2027-01-01 Version: 3.3 Status: Supported End of life: 2025-11-26 to 2027-01-01 3.2 (LTS) Version: 3.2 Status: Supported End of life: 2025-05-28 to 2030-04-01 Version: 3.2 Status: Supported End of life: 2025-05-28 to 2030-04-01 3.1 Version: 3.1 Status: EOL End of life: 2024-11-26 to 2026-01-01 Version: 3.1 Status: EOL End of life: 2024-11-26 to 2026-01-01 3.0 (LTS) Version: 3.0 Status: Supported End of life: 2024-05-29 to 2029-04-01 Version: 3.0 Status: Supported End of life: 2024-05-29 to 2029-04-01 2.9 Version: 2.9 Status: EOL End of life: 2023-12-05 to 2025-03-21 Version: 2.9 Status: EOL End of life: 2023-12-05 to 2025-03-21 2.8 (LTS) Version: 2.8 Status: Supported End of life: 2023-05-31 to 2028-04-01 Version: 2.8 Status: Supported End of life: 2023-05-31 to 2028-04-01 2.6 (LTS) Version: 2.6 Status: Supported End of life: 2022-05-31 to 2027-04-01 Version: 2.6 Status: Supported End of life: 2022-05-31 to 2027-04-01 Today: 2026-06-06 Today: 2026-06-06 End of life
VersionStatusInitial releaseLatest releaseEnd of life
3.4LTS
Supported
3.4.0
03 Jun 2026
(3 days ago)
3.4.0
03 Jun 2026
(3 days ago)
01 Apr 2031
(Ends in 4 years, 9 months)
3.3
Supported
3.3.0
26 Nov 2025
(6 months ago)
3.3.6
19 Mar 2026
(2 months ago)
01 Jan 2027
(Ends in 6 months)
3.2LTS
Supported
3.2.0
28 May 2025
(1 year ago)
3.2.19
11 May 2026
(26 days ago)
01 Apr 2030
(Ends in 3 years, 9 months)
3.1
End of life
3.1.0
26 Nov 2024
(1 year ago)
3.1.17
19 Mar 2026
(2 months ago)
01 Jan 2026
(Ended 5 months ago)
3.0LTS
Supported
3.0.0
29 May 2024
(2 years ago)
3.0.23
11 May 2026
(26 days ago)
01 Apr 2029
(Ends in 2 years, 9 months)
2.9
End of life
2.9.0
05 Dec 2023
(2 years ago)
2.9.15
21 Mar 2025
(1 year ago)
21 Mar 2025
(Ended 1 year, 2 months ago)
2.8LTS
Supported
2.8.0
31 May 2023
(3 years ago)
2.8.24
11 May 2026
(26 days ago)
01 Apr 2028
(Ends in 1 year, 9 months)
2.7
End of life
2.7.0
01 Dec 2022
(3 years ago)
2.7.12
05 Apr 2024
(2 years ago)
05 Apr 2024
(Ended 2 years, 2 months ago)
2.6LTS
Supported
2.6.0
31 May 2022
(4 years ago)
2.6.29
11 May 2026
(26 days ago)
01 Apr 2027
(Ends in 9 months)
2.5
End of life
2.5.0
23 Nov 2021
(4 years ago)
2.5.14
02 May 2023
(3 years ago)
02 May 2023
(Ended 3 years, 1 month ago)
2.4LTS
End of life
2.4.0
14 May 2021
(5 years ago)
2.4.31
09 Mar 2026
(2 months ago)
01 Apr 2026
(Ended 2 months ago)
2.3
End of life
2.3.0
05 Nov 2020
(5 years ago)
2.3.21
27 Jul 2022
(3 years ago)
27 Jul 2022
(Ended 3 years, 10 months ago)
2.2LTS
End of life
2.2.0
07 Jul 2020
(5 years ago)
2.2.34
23 Apr 2025
(1 year ago)
23 Apr 2025
(Ended 1 year, 1 month ago)
2.1
End of life
2.1.0
25 Nov 2019
(6 years ago)
2.1.12
18 Mar 2021
(5 years ago)
18 Mar 2021
(Ended 5 years, 2 months ago)
2.0
End of life
2.0.0
16 Jun 2019
(6 years ago)
2.0.35
05 Apr 2024
(2 years ago)
05 Apr 2024
(Ended 2 years, 2 months ago)
1.9
End of life
1.9.0
19 Dec 2018
(7 years ago)
1.9.16
31 Jul 2020
(5 years ago)
31 Jul 2020
(Ended 5 years, 10 months ago)
1.8
End of life
1.8.0
26 Nov 2017
(8 years ago)
1.8.31
09 Dec 2022
(3 years ago)
09 Dec 2022
(Ended 3 years, 5 months ago)
1.7
End of life
1.7.0
25 Nov 2016
(9 years ago)
1.7.14
31 Mar 2021
(5 years ago)
01 Oct 2021
(Ended 4 years, 8 months ago)
1.6
End of life
1.6.0
13 Oct 2015
(10 years ago)
1.6.16
19 Mar 2021
(5 years ago)
01 Oct 2020
(Ended 5 years, 8 months ago)
1.5
End of life
1.5.0
19 Jun 2014
(11 years ago)
1.5.19
25 Dec 2016
(9 years ago)
10 Jan 2020
(Ended 6 years, 4 months ago)
1.4
End of life
1.4.0
26 Feb 2010
(16 years ago)
1.4.27
14 Mar 2016
(10 years ago)
10 Jan 2020
(Ended 6 years, 4 months ago)
1.3
End of life
1.3.0
03 Jul 2006
(19 years ago)
1.3.28
14 Mar 2016
(10 years ago)
14 Mar 2016
(Ended 10 years, 2 months ago)
1.2
End of life
1.2.0
18 Dec 2005
(20 years ago)
1.2.18
25 May 2008
(18 years ago)
06 Aug 2011
(Ended 14 years, 10 months ago)
1.1
End of life
1.1.0
17 Dec 2005
(20 years ago)
1.1.34
29 Jan 2006
(20 years ago)
29 Jan 2006
(Ended 20 years, 4 months ago)
1.0
End of life
1.0.0
17 Dec 2005
(20 years ago)
1.0.0
17 Dec 2005
(20 years ago)
30 Dec 2001
(Ended 24 years, 5 months ago)

How Does HAProxy Decide How Long a Version Is Supported?

HAProxy uses a branch numbering system to signal support duration upfront. Even-numbered branches (2.6, 2.8, 3.0, 3.2...) are designated LTS (Long-Term Support) and maintained for 5 years from release. Odd-numbered branches (2.7, 2.9, 3.1, 3.3...) are called stable and receive maintenance for only 12 to 18 months.

The distinction is intentional and targets two different operator profiles. LTS branches are for teams who prioritize stability over features and want a long runway between upgrades. Stable branches are for engineers who stay close to the cutting edge and are comfortable rolling back when something breaks.

Branch Type Version Numbering Support Duration Target Users Feature Backports
LTS Even minor version (e.g. 2.8, 3.0, 3.2) 5 years from release General users, embedded deployments Bug fixes and security only
Stable Odd minor version (e.g. 2.9, 3.1, 3.3) 12--18 months (flexible) Advanced users, frequent upgraders Occasionally, if low-risk and in demand

EOL dates published on the HAProxy website use a YYYY-Qn format rather than exact dates. This is a deliberate choice by the maintainers to preserve flexibility. The release table above uses the conservative interpretation: the first day of the given quarter (Q1 = January 1, Q2 = April 1, Q3 = July 1, Q4 = October 1).

More details are available on the official HAProxy website and the HAProxy mailing list.

What Can Go Wrong When You Run an Unsupported HAProxy Branch?

Running an EOL HAProxy branch in production means your load balancer -- the single component sitting in front of every upstream service -- stops receiving fixes. For most software this is a gradual risk. For a proxy that terminates TLS and forwards HTTP traffic at high volume, the exposure is immediate and architectural.

No more CVE patches

HAProxy handles TLS negotiation, header parsing, and HTTP/2 framing. Vulnerabilities in these areas have historically allowed request smuggling, header injection, and in some cases connection hijacking. When a branch reaches EOL, none of these get patched regardless of severity.

ACL and configuration directive drift

New HAProxy versions regularly deprecate or rename directives. Staying on an old branch while the rest of your infrastructure moves forward creates subtle config incompatibilities, especially when using configuration management tools (Ansible, Chef, Terraform) that generate HAProxy config from templates targeting current syntax.

Backend and upstream protocol mismatches

If your upstream services begin using newer HTTP features -- HTTP/3, extended CONNECT, revised ALPN negotiation -- an old HAProxy branch may silently mishandle them. Load balancers are expected to be transparent; an outdated one can introduce protocol-level bugs that are very hard to diagnose.

Stable branches expire faster than teams expect

The 12--18 month window on stable branches catches teams off guard more than any other aspect of HAProxy's lifecycle. If you deployed a stable branch thinking "we'll upgrade in a year," the EOL date may arrive before your next scheduled maintenance window. In practice, LTS branches are a safer default for most infrastructure teams.

What Actually Happens When an HAProxy Branch Goes EOL?

When an HAProxy branch reaches its EOL date, the upstream project stops publishing patch releases for it. There are no security advisories, no backported fixes, and no further entries in the changelog. The branch is marked as "unmaintained" on the HAProxy website.

Unlike some projects that enter a "critical fixes only" phase before full EOL, HAProxy moves directly from active maintenance to unmaintained -- with one exception. Some LTS branches go through a transitional period where only critical fixes are applied before the branch is fully dropped. You can identify this status in the release table above.

The HAProxy binary itself continues to run after EOL. Nothing breaks immediately. But from that point forward, any bug you encounter -- whether it is a crash under load, a TLS regression, or a header parsing edge case -- will not receive an upstream fix. Your options become: patch it yourself, stay on the broken behavior, or upgrade.

Most distributions that package HAProxy (Debian, Ubuntu, RHEL) track LTS branches specifically to avoid shipping EOL software to end users. If your distro's package manager stops updating HAProxy, it is a signal that the branch it is tracking has reached or is approaching EOL.

How To Check Your HAProxy Version

The fastest way to check your running HAProxy version is with the -v flag:

haproxy -v

This prints the version string along with the build date and compile-time options. A typical output looks like:

HAProxy version 3.2.15-c24b2f0 2026/03/19 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes in 2030/Q2.
Known bugs: http://www.haproxy.org/bugs/bugs-3.2.15.html
Running on: Linux 6.1.0 #1 SMP x86_64

Note that recent builds include a Status line that directly tells you the branch type and when support ends. This is one of the most developer-friendly EOL disclosures of any open source project.

If HAProxy is running as a service, you can also query the process without restarting:

haproxy -vv

The -vv flag adds verbose build information including enabled features (OpenSSL version, Lua support, PCRE, etc.), which is useful when diagnosing compatibility issues across environments.

To check via the stats socket at runtime (without restarting):

echo "show info" | socat stdio /var/run/haproxy/admin.sock | grep Version

The minor version number in the output tells you immediately whether you are on an LTS or stable branch: even = LTS, odd = stable.

FAQ

Q1: What is the difference between HAProxy LTS and stable branches?
LTS branches have an even minor version number and are supported for 5 years. Stable branches have an odd minor version number and are supported for only 12 to 18 months. LTS branches receive bug fixes and security patches throughout their lifecycle. Stable branches may occasionally receive feature backports, but the short window makes them unsuitable for most production deployments unless your team actively tracks upgrades.

Q2: Why does HAProxy use YYYY-Qn instead of exact EOL dates?
The HAProxy project uses quarter-based EOL dates intentionally, as documented on the mailing list. The maintainers prefer flexibility -- a branch may be extended or closed slightly earlier depending on the release activity of the next branch. The conservative interpretation (first day of the given quarter) is what the release table above uses, and it is adjusted if a newer release shifts the timeline.

Q3: Should I run an HAProxy stable branch in production?
It depends on your team. Stable branches are explicitly aimed at experienced users who upgrade frequently and can roll back if needed. For most infrastructure teams managing HAProxy as a long-lived component, LTS branches are the better choice. The 12--18 month window on stable branches is short enough that it often expires before the next planned upgrade cycle.

Q4: Does HAProxy have a "security-only" support phase before EOL?
Not as a formal policy. Some LTS branches enter a "critical fixes only" phase near the end of their lifecycle, but this is informal and not guaranteed for every branch. Once a branch is marked unmaintained, no fixes of any kind are published. This is different from projects like Python, which have a defined multi-year security-only phase.

Q5: How do I know if the HAProxy version shipped by my Linux distro is still supported?
Check the minor version number of the package your distro ships. If it is an even number, it is an LTS branch -- cross-reference the EOL date in the release table above against the current date. Major distributions like Debian and Ubuntu intentionally track LTS branches; if the packaged version is an odd number, it is likely old enough that it has already reached EOL upstream. In that case, consider adding the official HAProxy PPA or using a container image from Docker Hub.