Latest in branch 1.7
1.7.14
Released 31 Mar 2021
(5 years ago)
SoftwareHAProxy
Version1.7
Status
End of life
Initial release1.7.0
25 Nov 2016
(9 years ago)
Latest release1.7.14
31 Mar 2021
(5 years ago)
End of life01 Oct 2021
(Ended 4 years, 8 months ago)
Release noteshttps://www.haproxy.org/download/1.7/src/CHANGELOG
Source codehttp://git.haproxy.org/?p=haproxy-1.7.git;a=tree;h=refs/tags/v1.7.14
Downloadhttps://www.haproxy.org/download/1.7/
HAProxy 1.7 ReleasesView full list

What Is New in HAProxy 1.7

Category Key Changes
New Features DNS Service Discovery, Dynamic SSL Certificate Storage, Server Queue Priority, Lua Scripting Enhancements
Core Improvements Multithreading, HTTP/2 Support, New Mailing List, Improved SSL/TLS
Bug Fixes Numerous fixes across the codebase for stability and reliability

How does HAProxy 1.7 handle dynamic environments?

HAProxy 1.7 introduced native DNS Service Discovery, a game-changer for dynamic infrastructures like cloud and containerized deployments. This feature allows HAProxy to automatically resolve backend server hostnames and update its configuration in real-time as your infrastructure scales. You can configure it using the resolvers section and the resolve-prefer option on a server line.

In practice, this means you can point HAProxy at a service name and it will continuously query the DNS server for the latest set of IP addresses. This eliminates the need for external orchestration tools to constantly rewrite the config file and trigger reloads, making your service discovery much more seamless and robust.

What are the major performance upgrades in 1.7?

The headline performance feature is experimental multithreading support. This allows HAProxy to utilize multiple CPU cores to handle connections, significantly boosting performance on modern multi-core systems. While still experimental in 1.7, it laid the critical groundwork for future stable releases.

Beyond threading, Server Queue Priority was added to prevent low-priority requests from blocking high-priority ones during traffic surges. The release also brought full HTTP/2 termination support, enabling you to accept HTTP/2 connections from clients while communicating with backend servers over HTTP/1.1, improving efficiency for modern web clients.

How did SSL/TLS management get easier?

Dynamic SSL Certificate storage via the ssl socket command was a major operational improvement. Instead of reloading HAProxy to add or update every certificate, you can now manage them on the fly by sending commands to the runtime API. This drastically reduces operational overhead for sites managing many certificates.

The release also continued to enhance general SSL/TLS performance and flexibility, ensuring HAProxy stays current with the latest cryptographic standards and best practices. This matters because it keeps your TLS termination both fast and secure without service interruptions.

What scripting enhancements were introduced?

Lua integration received powerful new capabilities, allowing scripts to register services and functions directly with the HAProxy core. This opens up extensive possibilities for custom logging, advanced routing logic, and complex content transformation that was previously difficult or impossible to implement.

These enhancements make the Lua interface much more than a simple extension; it becomes a core part of the data plane logic. Developers can now write more sophisticated and integrated functionality directly in Lua, tailoring HAProxy's behavior to very specific use cases.

FAQ

Is the multithreading in HAProxy 1.7 production-ready?
No, it is explicitly marked as experimental in the 1.7 release. It was introduced to allow for testing and to build a foundation for future stable multithreading support. For production environments, it's advised to use the stable, single-threaded process model.

Can I use HAProxy 1.7 to terminate HTTP/2 and connect to HTTP/1.1 backends?
Yes, that is exactly the supported use case. HAProxy 1.7 can accept incoming HTTP/2 connections from modern clients, decode them, and then forward the requests to your backend servers using HTTP/1.1, acting as a full HTTP/2 gateway.

How do I update an SSL certificate without a reload in 1.7?
You use the new dynamic SSL certificate storage feature. Certificates can be added, updated, and managed by issuing commands to the runtime API via the ssl socket, eliminating the need for a configuration reload and the associated connection overhead.

What is the 'resolve-prefer' option used for?
This option works with the new DNS Service Discovery. It lets you specify which address family (IPv4 or IPv6) HAProxy should prefer when a hostname resolves to both types of addresses, giving you control over connection behavior in dual-stack environments.

Where can I get community support for HAProxy 1.7?
The project launched a new official mailing list during the 1.7 cycle. This list replaced the previous forum as the primary place for community discussions, help, and announcements, creating a more focused and efficient support channel.

Releases In Branch 1.7

VersionRelease date
1.7.1431 Mar 2021
(5 years ago)
1.7.1319 Mar 2021
(5 years ago)
1.7.1225 Oct 2019
(6 years ago)
1.7.1130 Apr 2018
(8 years ago)
1.7.1002 Jan 2018
(8 years ago)
1.7.918 Aug 2017
(8 years ago)
1.7.807 Jul 2017
(8 years ago)
1.7.725 Jun 2017
(8 years ago)
1.7.616 Jun 2017
(8 years ago)
1.7.503 Apr 2017
(9 years ago)
1.7.427 Mar 2017
(9 years ago)
1.7.328 Feb 2017
(9 years ago)
1.7.213 Jan 2017
(9 years ago)
1.7.113 Dec 2016
(9 years ago)
1.7.025 Nov 2016
(9 years ago)
1.7-dev609 Nov 2016
(9 years ago)
1.7-dev525 Oct 2016
(9 years ago)
1.7-dev414 Aug 2016
(9 years ago)
1.7-dev310 May 2016
(10 years ago)
1.7-dev214 Mar 2016
(10 years ago)
1.7-dev120 Dec 2015
(10 years ago)
1.7-dev013 Oct 2015
(10 years ago)