Latest in branch 2.9
2.9.15
Released 21 Mar 2025
(1 year ago)
SoftwareHAProxy
Version2.9
Status
End of life
Initial release2.9.0
05 Dec 2023
(2 years ago)
Latest release2.9.15
21 Mar 2025
(1 year ago)
End of life21 Mar 2025
(Ended 1 year, 2 months ago)
Release noteshttps://www.haproxy.org/download/2.9/src/CHANGELOG
Source codehttp://git.haproxy.org/?p=haproxy-2.9.git;a=tree;h=refs/tags/v2.9.15
Downloadhttps://www.haproxy.org/download/2.9/
HAProxy 2.9 ReleasesView full list

What Is New in HAProxy 2.9

Category Key Changes
New Features Dynamic TLS Certificate Update, Event-Driven MQTT Support, DNS over TCP, Log Distribution Forwarding
Improvements HTTP/3 Experimental Support, Enhanced Prometheus Exporter, Stick Table Data Type Additions
Bug Fixes Numerous fixes across HTTP, SPOE, SSL, and connection management
Deprecated The hash-balance-factor algorithm

How does HAProxy 2.9 handle TLS certificates dynamically?

HAProxy 2.9 introduces a new command to dynamically update TLS certificates without a reload. You can now push a new certificate and key to a running process using the set ssl cert command via the runtime API. This eliminates the operational overhead and latency of a full reload for certificate rotations.

In practice, this means zero downtime when updating certificates from an ACME client like certbot. The feature supports both the crt and crt-list directives, making it a seamless upgrade for existing configurations.

What MQTT enhancements were added?

Version 2.9 brings event-driven MQTT support, moving beyond the previous simple packet filtering. This allows HAProxy to make more intelligent routing decisions based on MQTT message content, such as the topic or client ID.

You can now use ACLs to inspect MQTT CONNECT messages and route traffic accordingly. This matters because it transforms HAProxy into a full-fledged, high-performance MQTT broker layer, which is crucial for IoT and real-time messaging infrastructures.

Is DNS over TCP supported now?

Yes, HAProxy 2.9 finally adds native support for DNS over TCP. Before this, DNS resolution was limited to UDP, which could cause issues with large responses that get truncated.

This is a foundational improvement. It ensures reliable DNS resolution for all record sizes, making HAProxy more robust in environments with complex service discovery that relies on large DNS payloads.

How was the Prometheus exporter improved?

The Prometheus exporter got a significant upgrade, now automatically exposing all metrics from the built-in stats page. You no longer need to manually declare which metrics to export, which simplifies configuration dramatically.

This auto-exposure feature means you get immediate visibility into every metric without extra work. It also includes new metrics for the internal task scheduler, giving deeper insight into HAProxy's performance.

What new data types are available for stick tables?

Stick tables now support two new data types: str and bin. The str type stores a string value, while bin stores a binary payload.

This opens up new possibilities for state tracking. For example, you can now store a JWT or a serialized user session object directly in a stick table for shared state across a cluster of HAProxy nodes.

FAQ

Can I use HTTP/3 in production with HAProxy 2.9?
No, the HTTP/3 implementation is still marked as experimental. It's included for early testing and development, but it's not recommended for production workloads due to its preliminary status.

What command do I use to update a TLS certificate at runtime?
Use the runtime API command set ssl cert <filename> <payload> followed by commit ssl cert <filename> to apply the new certificate without a reload.

Why was the hash-balance-factor algorithm deprecated?
It was deprecated because it was rarely used and added unnecessary complexity to the codebase. The consistent hashing algorithm is the preferred and more efficient method for load balancing.

Does the new DNS over TCP support work for both resolution and service discovery?
Yes, the support applies to both cases where HAProxy acts as a DNS client for resolver configurations and when it uses DNS for service discovery via SRV records.

What is the new log forwarding feature?
It's a feature that allows you to forward logs to a server that understands the HAProxy log format. This is useful for building custom log aggregation pipelines without relying on standard syslog protocols.

Releases In Branch 2.9

VersionRelease date
2.9.1521 Mar 2025
(1 year ago)
2.9.1429 Jan 2025
(1 year ago)
2.9.1312 Dec 2024
(1 year ago)
2.9.1208 Nov 2024
(1 year ago)
2.9.1119 Sep 2024
(1 year ago)
2.9.1003 Sep 2024
(1 year ago)
2.9.914 Jun 2024
(1 year ago)
2.9.811 Jun 2024
(1 year ago)
2.9.705 Apr 2024
(2 years ago)
2.9.626 Feb 2024
(2 years ago)
2.9.515 Feb 2024
(2 years ago)
2.9.431 Jan 2024
(2 years ago)
2.9.318 Jan 2024
(2 years ago)
2.9.211 Jan 2024
(2 years ago)
2.9.115 Dec 2023
(2 years ago)
2.9.005 Dec 2023
(2 years ago)
2.9-dev1230 Nov 2023
(2 years ago)
2.9-dev1124 Nov 2023
(2 years ago)
2.9-dev1018 Nov 2023
(2 years ago)
2.9-dev904 Nov 2023
(2 years ago)
2.9-dev820 Oct 2023
(2 years ago)
2.9-dev706 Oct 2023
(2 years ago)
2.9-dev622 Sep 2023
(2 years ago)
2.9-dev508 Sep 2023
(2 years ago)
2.9-dev425 Aug 2023
(2 years ago)
2.9-dev312 Aug 2023
(2 years ago)
2.9-dev221 Jul 2023
(2 years ago)
2.9-dev102 Jul 2023
(2 years ago)
2.9-dev031 May 2023
(3 years ago)