Release notes
HAProxy Data Plane API 3.2 release notes
On this page
Key changes in the HAProxy Data Plane API 3.2 release include:
New features Jump to heading
-
ACME support
- Added support for the
acmesection. - Added
crt-storesupport foracmeanddomainsattributes. - Added runtime APIs for
acme renewandacme status. - Enterprise: Added support for the HTTP-01 challenge.
- Added support for the
-
Configuration enhancements
- Added support for child resources in the
defaultssection. - Added parsing and serializing of in-line comments in configuration for all API resources. They’re parsed and serialized as plain JSON and in the
metadatafield for each API resource. - Introduced
tune.quic.frontend.max-tx-memto the globaltune_quic_options. - Added
minsize-reqandminsize-resto thecompressionparameter. - Added the
recv-onlyflag to thestick-tableandtableresources. - Added
glitches_kill_cpu_usageandtakeover_other_tg_connectionsto the globaltuneoptions. - Added
strict-maxconnto theserverparameters. - Added the
check-pool-conn-nameandcheck-reuse-poolhealth check parameters for servers. - Implemented the
idle-pingparameter forserverandbind. - Added support for the
tune.notsent-lowat.serverandtune.notsent-lowat.clientparameters in theglobalsection. - Added support for
tune.lua.bool-sample-conversion. - Added support for the
hash-preserve-affinityparameter indefaults,backends, andlistensections. - Added support for the
cpu-setandcpu-policyparameters in theglobalsection. - Added support for the HAProxy 3.2 global parameters:
acme.scheduler,stress-level,tune.epoll.mask-events, andtune.max-rules-at-once. - Added support for the
dont-parse-logandassume-rfc6587-ntfoptions in thelog-forwardsection. - Added support for the option
pauseforhttp-requestandhttp-responseparameters. - Added support for
http-drop-response-trailersindefaultsandfrontendsections. - Added support for
http-drop-request-trailersindefaultsandbackendsections. - Added the
dns-accept-familyoption in theglobalsection. - Enterprise: Added support for
debug.stress-levelparameter inglobalsection. - Enterprise: Added support for
http-drop-request-trailers,ssl_front_use_list, andhash-preserve-affinityparameters infrontendsection.
- Added support for child resources in the
-
SSL/TLS
- Added support for the
ssl-f-useparameter. - Added runtime APIs for certificates, CRLs, and OCSP.
- Added support for
crt-listfiles in storage. - Added support for the
skip_reloadparameter when creating SSL certificates. - Added the
no-strict-sniandtls-ticketsparameters tobind. - Enterprise: Added
force-strict-sniparameter tobind. - Enterprise: Added
status,chain_issuer, andchain_subjectparameters for SSL certificates.
- Added support for the
-
API and validation
- Added
SubjectandSerialto the certificate response model. - Now uses the same logic to check configuration when using the
/rawAPI. - Now shows validation errors for
/rawAPI uploads, not just the status.
- Added
-
Enterprise: WAF module support
- Added support for two sections:
waf-globalandwaf-profile.
- Added support for two sections:
-
Enterprise: Logging improvements
- Improvements to the
log_sinkfunctionality including preventing panics on empty configurations, adjusting log levels for heavy loads, correcting parser error messages, better buffer management, reduced lock acquisitions, and enhanced HAProxy log origin support across multiple parsers. - Added WAF log classification support, network namespace binding for syslog inputs, and better UUID handling.
- Parse logs with the
cborencoding flag to produce an access log as a CBOR map (major type 5), where the key is the HAProxy log item name and the value is the log item.
- Improvements to the
Bug fixes Jump to heading
-
Runtime and server management
- Fixed an issue where all server options weren’t being added for
runtime_server. - Fixed creating servers with HAProxy >= 3.0, where the
enabledparameter is no longer accepted dynamically.
- Fixed an issue where all server options weren’t being added for
-
Configuration and users
- Fixed panic when
insecureisn’t set for users. - Fixed setting of duration types in the configuration.
- Fixed
tune.bufsizeparsing issue, reverting to thestringtype. - Fixed the
reloadservice name for thes6reload strategy. - Fixed the general storage error message when no
FileUploadis specified. - Fixed
option redispatchserialization. - Fixed
bindupdates without requiring a restart, addressing serialization type issues forbindparameters. - Added a nil check on global conversion to avoid panic if
TuneOptionswas nil.
- Fixed panic when
-
Authentication
- Now ensures userlist settings are respected when configured.
-
API and rules
- The API now accepts
set-var-fmtinhttp_request_rule.
- The API now accepts
-
Panics
- Avoids panic in runtime
Reloadif the output is empty.
- Avoids panic in runtime
Deprecated feature Jump to heading
- The
no_tls_ticketsparameter inbindis deprecated in favor oftls_tickets.
Other Changes Jump to heading
-
Build and dependencies
- Upgraded the API version to 3.2.
- Upgraded Go to 1.24.
- Upgraded the
batsversion for CI. - Fixed
yaml-linterrors.
-
Internal refinements and tests
- Refactored to not use
logrusdirectly in handlers. - Fixed cache tests in E2E tests.
- Removed debug traces from E2E tests.
- Fixed program tests for the deprecated section.
- Fixed removing of added SSL certificates.
- Added 3.2 for CI and removed 2.9 in E2E tests.
- Added a proper HAProxy configuration for the
x_issue_132test in E2E tests. - Added a runtime server unit test.
- Fixed random CI failures when removing a
defaultssection. - Attempted to fix
bug_132failures on CI. - Aligned the specification to the latest changes in the
client-nativelibrary. - Made
portoptional via a nil value in the service. - Fixed the
comparetest generator. - Added metadata tests.
- Fixed Go 1.24 lint errors.
- Generated the spec with the latest changes.
- Refactored to not use
Do you have any suggestions on how we can improve the content of this page?