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

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.

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.

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?