Hi,

HAProxy 3.4-dev1 was released on 2025/12/10. It added 71 new commits
after version 3.4-dev0.

As usual after a release, a significant number of patches here concern
minor to medium fixes, most of which will be backported. So far nothing
critical but a few bugs were found to cause crashes in certain situations
so we won't wait too long before issuing a 3.3. Among them an issue with
the choice of SSL session that doesn't properly consider the SNI, another
one regarding the choice of ALPN for check connections, some QUIC backend
fixes, a possible crash in HTTP/3, an old bug from 2012 causing tunnelled
streams closed by the server to be closed on both sides at once and
logging an error, empty args again in the config file (this time they
would trigger the error in disabled blocks via .if/.else, and a small
issue in the jwt_verify converter).

The rest of the changes is pretty minor:
- the "quic-cc-algo" server directive allows to choose the congestion
  control algorithm for outgoing QUIC connections ;

- the "show proc" master-CLI command is no longer limited by the output
  buffer size and will now be able to list many processes.

- rework and unification of some SSL reg tests between SSL and QUIC: these
  regtests are now written for a given combination of SSL version and
  features, and are included from top-level reg test definitions for
  either SSL/TCP or QUIC, allowing to significantly increase the QUIC test
  coverage.

- simplified alignment declarations in structures all over the code where
  relevant.

- doc fixes and updates

- a few more debugging traces.

It should be pretty close to what 3.3.1 will be, so that's another reason
for testing it now and reporting any remaining issue!

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.4/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.4/src/CHANGELOG
   Dataplane API    : 
https://github.com/haproxytech/dataplaneapi/releases/latest
   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 (6):
      Revert "MINOR: quic: use dynamic cc_algo on bind_conf"
      MINOR: quic: define quic_cc_algo as const
      MINOR: quic: extract cc-algo parsing in a dedicated function
      MINOR: quic: implement cc-algo server keyword
      BUG/MEDIUM: h3: do not access QCS <sd> if not allocated
      BUG/MEDIUM: h3: fix access to QCS <sd> definitely

Christopher Faulet (13):
      BUG/MINOR: ssl: Don't allow to set NULL sni
      MEDIUM: quic: Add connection as argument when qc_new_conn() is called
      MINOR: ssl: Add a function to hash SNIs
      MINOR: ssl: Store hash of the SNI for cached TLS sessions
      MINOR: ssl: Compare hashes instead of SNIs when a session is cached
      MINOR: connection/ssl: Store the SNI hash value in the connection itself
      MEDIUM: tcpcheck/backend: Get the connection SNI before initializing SSL 
ctx
      BUG/MEDIUM: ssl: Don't reuse TLS session if the connection's SNI differs
      MEDIUM: ssl/server: No longer store the SNI of cached TLS sessions
      BUG/MINOR: log: Dump good %B and %U values in logs
      BUG/MEDIUM: http-ana: Don't close server connection on read0 in TUNNEL 
mode
      DOC: config: Fix description of the spop mode
      DOC: config: Improve spop mode documentation

Frederic Lecaille (34):
      BUG/MINOR: quic-be: Missing keywords array NULL termination
      BUG/MINOR: quic/ssl: crash in ClientHello callback ssl traces
      BUG/MINOR: quic-be: handshake errors without connection stream closure
      MINOR: quic: Add useful debugging traces in qc_idle_timer_do_rearm()
      REGTESTS: ssl: Move all the SSL certificates, keys, crt-lists inside 
"certs" directory
      REGTESTS: quic/ssl: ssl/del_ssl_crt-list.vtc supported by QUIC
      REGTESTS: quic: dynamic_server_ssl.vtc supported by QUIC
      REGTESTS: quic: issuers_chain_path.vtc supported by QUIC
      REGTESTS: quic: new_del_ssl_cafile.vtc supported by QUIC
      REGTESTS: quic: ocsp_auto_update.vtc supported by QUIC
      REGTESTS: quic: set_ssl_bug_2265.vtc supported by QUIC
      MINOR: quic: avoid code duplication in TLS alert callback
      BUG/MINOR: quic-be: missing connection stream closure upon TLS alert to 
send
      REGTESTS: quic: set_ssl_cafile.vtc supported by QUIC
      REGTESTS: quic: set_ssl_cert_noext.vtc supported by QUIC
      REGTESTS: quic: set_ssl_cert.vtc supported by QUIC
      REGTESTS: quic: set_ssl_crlfile.vtc supported by QUIC
      REGTESTS: quic: set_ssl_server_cert.vtc supported by QUIC
      REGTESTS: quic: show_ssl_ocspresponse.vtc supported by QUIC
      REGTESTS: quic: ssl_client_auth.vtc supported by QUIC
      REGTESTS: quic: ssl_client_samples.vtc supported by QUIC
      REGTESTS: quic: ssl_default_server.vtc supported by QUIC
      REGTESTS: quic: new_del_ssl_crlfile.vtc supported by QUIC
      REGTESTS: quic: ssl_frontend_samples.vtc supported by QUIC
      REGTESTS: quic: ssl_server_samples.vtc supported by QUIC
      REGTESTS: quic: ssl_simple_crt-list.vtc supported by QUIC
      REGTESTS: quic: ssl_sni_auto.vtc code provision for QUIC
      REGTESTS: quic: ssl_curve_name.vtc supported by QUIC
      REGTESTS: quic: add_ssl_crt-list.vtc supported by QUIC
      REGTESTS: add ssl_ciphersuites.vtc (TCP & QUIC)
      BUG/MINOR: quic: do not set first the default QUIC curves
      REGTESTS: quic/ssl: Add ssl_curves_selection.vtc
      MINOR: ssl: Split ssl_crt-list_filters.vtc in two files by TLS version
      REGTESTS: quic: tls13_ssl_crt-list_filters.vtc supported by QUIC

Maxime Henrion (3):
      CLEANUP: improvements to the alignment macros
      CLEANUP: use the automatic alignment feature
      CLEANUP: more conversions and cleanups for alignment

Olivier Houchard (4):
      BUG/MEDIUM: ssl: Always check the ALPN after handshake
      MINOR: connections: Add a new CO_FL_SSL_NO_CACHED_INFO flag
      BUG/MEDIUM: ssl: Don't store the ALPN for check connections
      BUG/MEDIUM: ssl: Don't resume session for check connections

Remi Tricot-Le Breton (1):
      BUG/MINOR: jwt: Missing "case" in switch statement

William Lallemand (5):
      DOC: configuration: ECH support details
      REGTESTS: ssl enable tls12_reuse.vtc for AWS-LC
      REGTESTS: ssl: split tls*_reuse in stateless and stateful resume tests
      CLEANUP: mworker/cli: remove useless variable
      BUG/MINOR: mworker/cli: 'show proc' is limited by buffer size

Willy Tarreau (5):
      BUG/MEDIUM: connection: fix "bc_settings_streams_limit" typo
      BUG/MEDIUM: config: ignore empty args in skipped blocks
      DOC: config: mention clearer that the cache's total-max-size is mandatory
      DOC: config: reorder the cache section's keywords
      MINOR: h2/trace: emit a trace of the received RST_STREAM type

---


Reply via email to