Release notes

HAProxy Data Plane API 3.1 release notes

Key changes in the HAProxy Data Plane API 3.1 release include:

New features Jump to heading

  • Added support for the log-profile section, enabling more control over logging configurations.

  • Introduced support for the traces section, improving observability and debugging.

  • Added support for the quic-initial resource in configurations.

  • Added new global keywords for HAProxy 3.1.

  • Added new metrics (glitch metrics) to stick table fields and improved runtime socket stability.

  • Added support for server comments via the Metadata field.

  • Support for new options:

    • do-log action
    • log-steps directive
    • set-retries for TCP/HTTP requests
    • accept-unsafe-violations-in-http-request and accept-unsafe-violations-in-http-response
    • host parameter for option httpchk
    • stats-file option in the global section
  • Enterprise: Improvements to the log forwarding features:

    • Added log sampling functionality.
    • Improved log processing performance:
      • Added configurable message buffer sizing.
      • Implemented parallel log parsing on input.
  • Enterprise: Added support for new captcha section (Captcha module).

  • Enterprise: UDP module updates:

    • Added default-server option to the udp-lb section.
    • Added hash options to the udp-lb section.
    • Added log target to the udp-lb section.
  • Enterprise: Added deviceatlas-cache-size support in the global section.

  • Enterprise: Use the default HAProxy ALOHA stats socket if not configured.

Major bug fixes Jump to heading

  • Resolved an issue to prevent leaking information about whether a username or password is correct.

  • Added nil checks when deprecating users to enhance stability.

  • Fixed a bug to ensure that files aren’t cleared during general file PUT operations.

  • Fixed a race condition when calling the runtime socket.

  • Updated MIME types for raw and general_storage endpoints to improve compatibility.

  • Enterprise: Fixes in log forwarding features:

    • Improved parsing of response codes.
    • Enhanced URI parsing for HTTP/2 requests.
    • Fixed WAF related parsing.
    • Improved handling of logs with long requests:
      • Improved connection handling with automatic reconnection attempts.
      • Fixed database connection handling to prevent issues.
  • Enterprise: Fixed lb-update to support all server parameters.

  • Enterprise: Fixed raw handler when persistent transactions are disabled.

  • Enterprise: Fixed missing fields when parsing nameserver.

  • Enterprise: Changed to use string for challenge fields in the Javascript Challenge module.

Medium bug fixes Jump to heading

  • For defaults sections, deprecated the PUT method; users should now use POST to create a section.
  • Fixed issues when the client runtime was nil.
  • Fixed version retrieval when multiple runtime clients are used.
  • On the raw endpoint, the sanitizer incorrectly wrote config as a pointer address—this is now fixed.

Minor bug fixes Jump to heading

  • For service discovery, fixed incorrect index handling in pointers comparison.

  • Added missing h1-accept-payload-with-any-method and h1-do-not-close-on-insecure-transfer-encoding to the global section.

  • Various parsing fixes:

    • Fixed regex for capture sample parsing.
    • Corrected serialization of tunables.
    • Fixed parsing of option 51degrees-cache-size.
  • Unsupported balance and bind options are now treated as errors instead of being skipped.

  • Fixed a typo in the QUIC version prefix.

Optimizations and deprecations Jump to heading

  • Performance updates:

    • Improved performance by rewriting dashcase functions.
    • Improved parser performance for server and bind options.
  • Deprecated features:

    • force_xxx and no_xxx options in server and bind were deprecated in favor of a unified xxx boolean format.
    • Deprecated the PUT method for the /services/haproxy/configuration/defaults endpoint; users should now use POST to create a section.

Build and dependency updates Jump to heading

  • Upgraded to Go 1.23.
  • Updated various Go packages, including golang.org/x modules and AWS SDK.
  • Integrated govulncheck into the CI pipeline for better security validation.
  • Enterprise: Improved specification generation.
  • Enterprise: Integrated client-network functionality on /services/network.

Testing and validation Jump to heading

  • Added end-to-end tests for parallel reads on the runtime socket.

  • Spec validation:

    • Fixed specification for the raw handler to return text instead of objects.
    • Removed unused track-sc actions in enums.
    • Upgraded specification version to 3.1 for HAProxy compatibility.

Do you have any suggestions on how we can improve the content of this page?