Stable Release in branch 2.2 (LTS)
2.2.34
Released 23 Apr 2025
(1 year ago)
SoftwareHAProxy
Version2.2 (LTS)
Initial release2.2.0
07 Jul 2020
(6 years ago)
Latest release2.2.34
23 Apr 2025
(1 year ago)
End of life23 Apr 2025
(Ended 1 year ago)
Release noteshttps://www.haproxy.org/download/2.2/src/CHANGELOG
Source codehttp://git.haproxy.org/?p=haproxy-2.2.git;a=tree;h=refs/tags/v2.2.34
Downloadhttps://www.haproxy.org/download/2.2/
HAProxy 2.2 (LTS) ReleasesView full list

What Is New in HAProxy 2.2

HAProxy 2.2 introduces significant enhancements in security, observability, and dynamic configuration. This release focuses on tightening the data plane and expanding the capabilities of the Runtime API.

Category Key Changes
New Features Stick Tables to Redis, Log Forwarding, FastCGI App, Prometheus Exporter
Improvements Enhanced DNS Resolution, Traffic Shadowing, Runtime API Expansions
Bug Fixes Numerous fixes across the codebase for stability
Deprecated The stats socket level operator is deprecated in favor of the admin level

How did data plane security get stronger?

The data plane is now more secure with the introduction of a new privileges parameter for the stats socket directive. This allows for fine-grained control over which commands can be executed, moving beyond the simple read/write/admin levels.

In practice, you can now restrict a management socket to only allow specific actions, like clearing counters, without granting full administrative rights. This matters because it minimizes the potential damage from a compromised socket connection.

What new observability features were added?

Observability gets a major boost with a native Prometheus exporter. You can now expose metrics in Prometheus format by simply appending ;prometheus to a stats uri declaration.

This eliminates the need for external exporters or custom scripts, providing a direct and efficient way to feed metrics into your monitoring stack. The built-in exporter covers a wide array of metrics from frontends, backends, and servers.

How does the new Redis integration work?

Stick tables can now use Redis as a persistence layer. By adding the store keyword with a Redis configuration to a stick-table definition, HAProxy will offload stick-table data to a Redis server.

This is a game-changer for distributed environments. It allows multiple HAProxy instances to share session state, enabling true zero-downtime reloads and seamless failover without losing user sessions.

stick-table type ip size 1m store http_req_cnt in redis 127.0.0.1:6379 db 0

What improvements were made to dynamic updates?

The Runtime API was expanded with new commands for managing SSL certificates and servers. You can now dynamically update SSL certificates on a listener without a reload using set ssl cert and commit ssl cert.

Server management also got smarter. The set server command now accepts a agent-addr parameter, allowing you to dynamically override the address used for agent checks. This adds flexibility for complex environments where agent check networks differ from data paths.

What is the new FastCGI application service?

HAProxy 2.2 introduces a mode that allows it to act as a FastCGI application server, not just a proxy. This means it can directly communicate with processes using the FastCGI protocol.

This opens up new use cases for serving dynamic content directly through HAProxy, potentially simplifying architectures that previously required a separate web application server layer for PHP or similar languages.

FAQ

How do I start using the built-in Prometheus exporter?
Add ;prometheus to your existing stats uri line. For example: stats uri /haproxy?stats;prometheus. Then, point your Prometheus server to scrape this endpoint.

Can I use the Redis stick table feature for SSL session tickets?
Yes. The store parameter supports storing SSL session IDs in Redis, which is crucial for sharing SSL session state across a cluster of load balancers to maintain performance.

What replaces the deprecated 'operator' socket level?
You should use the new privileges parameter to grant specific command permissions instead of the broad operator level. The admin level remains for full control.

Is the FastCGI application mode production-ready?
It is a new feature that provides basic functionality. For complex PHP applications, a dedicated FastCGI process manager like PHP-FPM behind HAProxy is still the recommended and more robust approach.

How does the new DNS resolution improve upon the old method?
The resolver received updates for better handling of large numbers of SRV records and improved consistency in resolution across threads, reducing the chance of stale DNS data affecting load balancing.

Releases In Branch 2.2 (LTS)

VersionRelease date
2.2.3423 Apr 2025
(1 year ago)
2.2.3305 Apr 2024
(2 years ago)
2.2.3219 Dec 2023
(2 years ago)
2.2.3119 Aug 2023
(3 years ago)
2.2.3012 Jun 2023
(3 years ago)
2.2.2914 Feb 2023
(3 years ago)
2.2.2831 Jan 2023
(3 years ago)
2.2.2727 Jan 2023
(3 years ago)
2.2.2609 Dec 2022
(3 years ago)
2.2.2528 Jul 2022
(4 years ago)
2.2.2413 May 2022
(4 years ago)
2.2.2306 May 2022
(4 years ago)
2.2.2214 Mar 2022
(4 years ago)
2.2.2102 Mar 2022
(4 years ago)
2.2.2012 Jan 2022
(4 years ago)
2.2.1929 Nov 2021
(4 years ago)
2.2.1805 Nov 2021
(4 years ago)
2.2.1707 Sep 2021
(5 years ago)
2.2.1617 Aug 2021
(5 years ago)
2.2.1516 Jul 2021
(5 years ago)
2.2.1429 Apr 2021
(5 years ago)
2.2.1302 Apr 2021
(5 years ago)
2.2.1231 Mar 2021
(5 years ago)
2.2.1118 Mar 2021
(5 years ago)
2.2.1003 Mar 2021
(5 years ago)
2.2.906 Feb 2021
(5 years ago)
2.2.813 Jan 2021
(5 years ago)
2.2.708 Jan 2021
(5 years ago)
2.2.630 Nov 2020
(5 years ago)
2.2.505 Nov 2020
(5 years ago)
2.2.430 Sep 2020
(6 years ago)
2.2.308 Sep 2020
(6 years ago)
2.2.231 Jul 2020
(6 years ago)
2.2.123 Jul 2020
(6 years ago)
2.2.007 Jul 2020
(6 years ago)
2.2-dev1204 Jul 2020
(6 years ago)
2.2-dev1126 Jun 2020
(6 years ago)
2.2-dev1019 Jun 2020
(6 years ago)
2.2-dev911 Jun 2020
(6 years ago)
2.2-dev822 May 2020
(6 years ago)
2.2-dev705 May 2020
(6 years ago)
2.2-dev617 Apr 2020
(6 years ago)
2.2-dev523 Mar 2020
(6 years ago)
2.2-dev409 Mar 2020
(6 years ago)
2.2-dev325 Feb 2020
(6 years ago)
2.2-dev207 Feb 2020
(6 years ago)
2.2-dev122 Jan 2020
(6 years ago)
2.2-dev025 Nov 2019
(6 years ago)