2.9.15

Latest release in branch 2.9
Released 1 year ago (March 21, 2025)

Software HAProxy
Branch 2.9
Status
End of life
End of life March 21, 2025
First official release version 2.9.0
First official release date 2 years ago (December 05, 2023)
Release notes https://www.haproxy.org/download/2.9/src/CHANGELOG
Source code http://git.haproxy.org/?p=haproxy-2.9.git;a=tree;h=refs/tags/v2.9.15
Download https://www.haproxy.org/download/2.9/
HAProxy 2.9 Releases View 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

Version Release date
2.9.15 1 year ago
(March 21, 2025)
2.9.14 1 year ago
(January 29, 2025)
2.9.13 1 year ago
(December 12, 2024)
2.9.12 1 year ago
(November 08, 2024)
2.9.11 1 year ago
(September 19, 2024)
2.9.10 1 year ago
(September 03, 2024)
2.9.9 1 year ago
(June 14, 2024)
2.9.8 1 year ago
(June 11, 2024)
2.9.7 2 years ago
(April 05, 2024)
2.9.6 2 years ago
(February 26, 2024)
2.9.5 2 years ago
(February 15, 2024)
2.9.4 2 years ago
(January 31, 2024)
2.9.3 2 years ago
(January 18, 2024)
2.9.2 2 years ago
(January 11, 2024)
2.9.1 2 years ago
(December 15, 2023)
2.9.0 2 years ago
(December 05, 2023)
2.9-dev12 2 years ago
(November 30, 2023)
2.9-dev11 2 years ago
(November 24, 2023)
2.9-dev10 2 years ago
(November 18, 2023)
2.9-dev9 2 years ago
(November 04, 2023)
2.9-dev8 2 years ago
(October 20, 2023)
2.9-dev7 2 years ago
(October 06, 2023)
2.9-dev6 2 years ago
(September 22, 2023)
2.9-dev5 2 years ago
(September 08, 2023)
2.9-dev4 2 years ago
(August 25, 2023)
2.9-dev3 2 years ago
(August 12, 2023)
2.9-dev2 2 years ago
(July 21, 2023)
2.9-dev1 2 years ago
(July 02, 2023)
2.9-dev0 2 years ago
(May 31, 2023)