Hi,

HAProxy 3.5-dev3 was released on 2026/07/22. It added 59 new commits
after version 3.5-dev2.

A few bugs were fixed all over the place (20), nothing really important.
Those using dynamic servers a lot could be interested because a few bugs
possibly happening after a "delete server" operation were addressed.

Another fix is a change of behavior when "stats admin" and "stats scope"
are used together: while "stats scope" was meant (and documented) as only
being used to filter the reported proxies, it sounds legit to expect it
to also apply to proxies modified with "stats admin", which was not the
case. This was changed to match natural expectations in the very unlikely
case someone would expose both together in a public config, but anyway it
was estimated that the risk that someone relies on these is even lower
than the risk that someone uses them together (none found in 3k+ github
issues).

Regarding the other visible changes:
- ssl: the aws-lc library can be built in FIPS mode or normal mode, but
  contrary to OpenSSL, it doesn't restrict usable ciphers. Now we are
  able to detect how it was built and to automatically restrict the list
  of usable ciphers to those permitted by FIPS. In addition, building
  with the aws-lc library without specifying USE_OPENSSL_AWSLC=1 will now
  report an error. It used to work by accident for a while thanks to the
  great API compatibility between the libs, and wouldn't necessarily use
  the correct versions of some functions. Since the addition of FIPS
  detection it's even more visible because the build would break on
  missing symbols when the option is missing, so instead we emit a
  clearer error message.

- cache: the cache now supports storing and producing early-hints
  responses (HTTP 103): instead of completely purging objects from the
  cache to make room for new ones, those having Link headers can be
  stripped to keep only these headers and stay longer. This allows to
  keep entries for lots of objects, that can be found later upon a future
  lookup for the same object, allowing haproxy to immediately return a
  103 with the Link headers before even passing the request to the server.
  This permits the client to preload the suggested objects while the
  server computes the response. By default the feature is off, but may
  be enabled with "early-hints on" or "early-hints only" in the cache
  section. A ratio of stripped objects can be specified as well. The
  stats page reports the number of hits on such objects below the other
  cache stats (under sessions/total). See also RFC 8297 for more details
  on this nice feature.

- the rest is essentially doc and regtest updates.

Things are pretty calm these days, so this is another good reason for
updating at very low risk with the latest fixes and features, especially
if your applications already emit Link headers and you want to experiment
with the early-hints cache.

Please find the usual URLs below :
   Site index       : https://www.haproxy.org/
   Documentation    : https://docs.haproxy.org/
   Wiki             : https://github.com/haproxy/wiki/wiki
   Discourse        : https://discourse.haproxy.org/
   Slack channel    : https://slack.haproxy.org/
   Issue tracker    : https://github.com/haproxy/haproxy/issues
   Q&A from devs    : https://github.com/orgs/haproxy/discussions
   Sources          : https://www.haproxy.org/download/3.5/src/
   Git repository   : https://git.haproxy.org/git/haproxy.git/
   Git Web browsing : https://git.haproxy.org/?p=haproxy.git
   Changelog        : https://www.haproxy.org/download/3.5/src/CHANGELOG
   Dataplane API    : 
https://github.com/haproxytech/dataplaneapi/releases/latest
   OpenTelemetry    : https://github.com/haproxytech/haproxy-opentelemetry
   Pending bugs     : https://www.haproxy.org/l/pending-bugs
   Reviewed bugs    : https://www.haproxy.org/l/reviewed-bugs
   Code reports     : https://www.haproxy.org/l/code-reports
   Latest builds    : https://www.haproxy.org/l/dev-packages

Willy
---
Complete changelog :
Amaury Denoyelle (7):
      BUG/MINOR: ssl: fix proxy lookup for show ssl sni
      DOC: fix typo in "del ssl ech" command
      DOC: remove outdated experimental mention on dynamic backends
      BUG/MEDIUM: proxy: protect "show servers ..." against server deletion
      BUG/MEDIUM: proxy: protect "show servers ..." against backend deletion
      BUG/MEDIUM: proxy: protect show backend against be deletion
      MINOR: proxy: stress CLI commands with backends/servers loop

Christopher Faulet (7):
      BUG/MINOR: hlua: Apply socket timeout on server side only
      BUG/MEDIUM: applet: Reenable reads in applet context if requesting a 
connection
      BUG/MINOR: mux-h1: Don't delay send if message with c-l was fully sent
      BUG/MEDIUM: net-helper: Adjust sample size capacity after pointer shift
      BUG/MEDIUM: sample: Adjust sample size capacity after pointer shift for 
bytes()
      BUG/MEDIUM: sample: Adjust sample size capacity after pointer shift for 
ltrim()
      BUG/MINOR: sample: Fix bytes() when length it greater than remaining data

Frederic Lecaille (3):
      BUG/MEDIUM: protobuf: adjust sample size capacity after pointer shift
      BUG/MEDIUM: protobuf: fix nested path bypass in field lookup
      REGTESTS: protobuf: add regression test for nested vs flat paths

Maxime Henrion (22):
      BUG/MINOR: shctx: fix shctx_row_data_get() when offset exceeds a block
      MINOR: shctx: clamp shctx_row_data_get() reads against the offset
      DOC: stats: document the per-proxy byte count fields in the CSV list
      BUG/MEDIUM: cache: reattach the row when a secondary entry is incomplete
      MINOR: http: add two header parsing functions
      MINOR: cache: minor changes ahead of support for sending early hints
      MINOR: cache: add config options for early hints support
      MINOR: cache: add helper functions for early hints support
      MINOR: shctx: allow consumers to customize eviction strategy
      MINOR: cache: track full and hints entries in per-pool LRU lists
      MEDIUM: cache: early hints-aware eviction code
      MINOR: cache: indicate whether entries are stripped or not
      MINOR: http: factor 103 emission into start/end helpers
      MEDIUM: cache: emit early hints if configured to do so
      MINOR: cache: add a counter for cache hits serving early hints
      MINOR: cache: allow opting out of early hints at the rule level
      MINOR: cache: allow customizing ratio for early hints
      REGTESTS: cache: validate the emission of 103s
      MINOR: cache: factor cache_extract_link_hints out of cache_extract_hints
      MEDIUM: cache: add support for hints-only HTTP caches
      CLEANUP: cache: align the cache_hint_hits increment with its siblings
      DEBUG: add BUG_ON_STATIC(): a compile-time BUG_ON()

Olivier Houchard (7):
      BUILD: haload: Increase a buffer size so that gcc will stop complaining
      BUILD: task: Fix build when no 8B CAS is available at all
      BUG/MEDIUM: stats: Ensure that Origin is valid on POSTs
      DOC: stats: Document that stats admin is vulnerable to a CSRF attack
      BUG/MEDIUM: ssl-gencert: Don't forget to free memory when done
      CLEANUP: event_hdl: Use BUG_ON_STATIC()
      BUG/MEDIUM: server: Properly check for streams before deletion

William Lallemand (9):
      MEDIUM: ssl: introduce src/fips.c with TLS version check
      MEDIUM: ssl: add FIPS TLS 1.2 cipher check for AWS-LC
      MEDIUM: ssl: set FIPS-approved cipher defaults for AWS-LC FIPS builds
      MEDIUM: ssl: add FIPS TLS 1.3 ciphersuite check for AWS-LC
      MEDIUM: ssl: set FIPS-approved curve defaults for AWS-LC FIPS builds
      MEDIUM: ssl: add FIPS elliptic curve check for AWS-LC
      MEDIUM: ssl: set FIPS-approved sigalgs defaults for AWS-LC FIPS builds
      MEDIUM: ssl: add FIPS signature algorithm check for AWS-LC
      BUILD: Makefile: error when trying to build with aws-lc with the wrong 
flags

Willy Tarreau (4):
      MINOR: stats: factor the proxy vs scope check into its own function
      BUG/MEDIUM: stats: subject "stats admin" accesses to "stats scope" 
filtering
      DOC: internals: update core-principles with initializations
      BUG/MINOR: resolvers: do not index resolvers names in the proxies

---


Reply via email to