3.3.6

Latest release
Released 1 month ago (March 19, 2026)

Software
HAProxy
Introduction HAProxy 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.
Vendor HAProxy Technologies
Author Willy Tarreau
Designed by Willy Tarreau
Developer HAProxy Community
Written in C
Platform Cross-platform
Operating system Linux, BSD, Solaris, AIX
Type Load Balancer, Proxy Server
Repository https://github.com/haproxy/haproxy
Website https://www.haproxy.org
License GNU General Public License v2

All Releases

VersionStatusFirst official releaseLatest patch releaseEnd of life
3.4LTS
Development
-3.4-dev9
7 days ago
April 15, 2026
Ends in 4 years, 11 months
April 01, 2031
3.3
Supported
3.3.0
4 months ago
November 26, 2025
3.3.6
1 month ago
March 19, 2026
Ends in 8 months
January 01, 2027
3.2LTS
Supported
3.2.0
10 months ago
May 28, 2025
3.2.15
1 month ago
March 19, 2026
Ends in 3 years, 11 months
April 01, 2030
3.1
End of life
3.1.0
1 year ago
November 26, 2024
3.1.17
1 month ago
March 19, 2026
Ended 3 months ago
January 01, 2026
3.0LTS
Supported
3.0.0
1 year ago
May 29, 2024
3.0.19
1 month ago
March 19, 2026
Ends in 2 years, 11 months
April 01, 2029
2.9
End of life
2.9.0
2 years ago
December 05, 2023
2.9.15
1 year ago
March 21, 2025
Ended 1 year, 1 month ago
March 21, 2025
2.8LTS
Supported
2.8.0
2 years ago
May 31, 2023
2.8.20
1 month ago
March 20, 2026
Ends in 1 year, 11 months
April 01, 2028
2.7
End of life
2.7.0
3 years ago
December 01, 2022
2.7.12
2 years ago
April 05, 2024
Ended 2 years ago
April 05, 2024
2.6LTS
Supported
2.6.0
3 years ago
May 31, 2022
2.6.25
1 month ago
March 20, 2026
Ends in 11 months
April 01, 2027
2.5
End of life
2.5.0
4 years ago
November 23, 2021
2.5.14
2 years ago
May 02, 2023
Ended 2 years, 11 months ago
May 02, 2023
2.4LTS
End of life
2.4.0
4 years ago
May 14, 2021
2.4.31
1 month ago
March 09, 2026
Ended 20 days ago
April 01, 2026
2.3
End of life
2.3.0
5 years ago
November 05, 2020
2.3.21
3 years ago
July 27, 2022
Ended 3 years, 8 months ago
July 27, 2022
2.2LTS
End of life
2.2.0
5 years ago
July 07, 2020
2.2.34
11 months ago
April 23, 2025
Ended 11 months ago
April 23, 2025
2.1
End of life
2.1.0
6 years ago
November 25, 2019
2.1.12
5 years ago
March 18, 2021
Ended 5 years, 1 month ago
March 18, 2021
2.0
End of life
2.0.0
6 years ago
June 16, 2019
2.0.35
2 years ago
April 05, 2024
Ended 2 years ago
April 05, 2024
1.9
End of life
1.9.0
7 years ago
December 19, 2018
1.9.16
5 years ago
July 31, 2020
Ended 5 years, 8 months ago
July 31, 2020
1.8
End of life
1.8.0
8 years ago
November 26, 2017
1.8.31
3 years ago
December 09, 2022
Ended 3 years, 4 months ago
December 09, 2022
1.7
End of life
1.7.0
9 years ago
November 25, 2016
1.7.14
5 years ago
March 31, 2021
Ended 4 years, 6 months ago
October 01, 2021
1.6
End of life
1.6.0
10 years ago
October 13, 2015
1.6.16
5 years ago
March 19, 2021
Ended 5 years, 6 months ago
October 01, 2020
1.5
End of life
1.5.0
11 years ago
June 19, 2014
1.5.19
9 years ago
December 25, 2016
Ended 6 years, 3 months ago
January 10, 2020
1.4
End of life
1.4.0
16 years ago
February 26, 2010
1.4.27
10 years ago
March 14, 2016
Ended 6 years, 3 months ago
January 10, 2020
1.3
End of life
1.3.0
19 years ago
July 03, 2006
1.3.28
10 years ago
March 14, 2016
Ended 10 years, 1 month ago
March 14, 2016
1.2
End of life
1.2.0
20 years ago
December 18, 2005
1.2.18
17 years ago
May 25, 2008
Ended 14 years, 8 months ago
August 06, 2011
1.1
End of life
1.1.0
20 years ago
December 17, 2005
1.1.34
20 years ago
January 29, 2006
Ended 20 years, 2 months ago
January 29, 2006
1.0
End of life
1.0.0
20 years ago
December 17, 2005
1.0.0
20 years ago
December 17, 2005
Ended 24 years, 3 months ago
December 30, 2001

Recent Releases

Version Release date
3.4-dev9 7 days ago
April 15, 2026
3.4-dev8 19 days ago
April 03, 2026
3.4-dev7 1 month ago
March 20, 2026
2.8.20 1 month ago
March 20, 2026
2.6.25 1 month ago
March 20, 2026

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.