Hi,

HAProxy 3.3.4 was released on 2026/02/19. It added 32 new commits
after version 3.3.3.

Thanks to Mike Walker that found two issues on QUIC, both fixed.
First, a possible crash issue was identified when an HTTP tunnel is
established with QUIC on client side. It was fixed by reverting a commit a
bit too strict. Then, it was clear that the CONNECT never worked. So it was
disabled for now, waiting for time to fix it properly.

An issue was fixed with the connection establishment management to a QUIC
server. The test on the cached server ALPN was performed too late, that
could lead to a crash when a QUIC connection populated the server ALPN cache
while another was being established.

Then, HTTP multiplexers were fixed to disable the 0-copy data forwarding if
the stream is already closed (for h2/h3) or if the message is already
finished (h1). This way, errors can be properly handled on the usual sending
path. It is a theoretical issue that should not happen, except if there are
internal issues.

The wait-for-body HTTP action was fixed to properly handle client aborts
when waiting for the response payload and when "abort-on-cloe" option is
set. The action is now interrupted as expected instead of triggering an
internal error.

Several issue were fixed on SSL. A possible user-after-free on cached TLS
session on server side. A lock was missing to protect the session release on
handshake error. Note that while this fix remains valide, this part requires
a deeper review, so it will not be backported immediately to lower versions.
But this bug is here since a while and was never triggered, so there is no
emergency. Several issues with "ssl-f-use" directive parsing were fixed: A
double free and a memory leak on error paths, too light reporting of parsing
errors and an issue when no "crt" keyword was used.

David Carlier fixed several minor issues on Device Atlas addon. He also
fixed a memory leak in the ACME code if we failed to set the issue name when
generating a temporary expired X509 certificate.

The remaining is the usual bunch of doc improvements, small internal fixes
and cleanups here and there. A fix about applets where pushed but it only
concerns the 3.2 and lowers.

Everyone running QUIC on client side should consider to upgrade to this
version.

Thanks everyone for your help.

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.3/src/
    Git repository   : https://git.haproxy.org/git/haproxy-3.3.git/
    Git Web browsing : https://git.haproxy.org/?p=haproxy-3.3.git
    Changelog        : https://www.haproxy.org/download/3.3/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


---
Complete changelog :
Amaury Denoyelle (3):
       BUG/MAJOR: Revert "MEDIUM: mux-quic: add BUG_ON if sending on locally closed 
QCS"
       BUG/MEDIUM: h3: reject frontend CONNECT as currently not implemented
       BUG/MINOR: backend: check delay MUX before conn_prepare()

Christopher Faulet (8):
       BUG/MEDIUM: mux-h2/quic: Stop sending via fast-forward if stream is 
closed
       BUG/MEDIUM: mux-h1: Stop sending vi fast-forward for unexpected states
       BUG/MEDIUM: applet: Fix test on shut flags for legacy applets (v2)
       DEV: term-events: Fix hanshake events decoding
       BUG/MINOR: flt-trace: Properly compute length of the first DATA block
       CLEANUP: compression: Remove unused static buffers
       BUG/MINOR: http-ana: Stop to wait for body on client error/abort
       MINOR: stconn: Add missing SC_FL_NO_FASTFWD flag in sc_show_flags

David Carlier (10):
       BUG/MINOR: deviceatlas: add missing return on error in config parsers
       BUG/MINOR: deviceatlas: add NULL checks on strdup() results in config 
parsers
       BUG/MEDIUM: deviceatlas: fix resource leaks on init error paths
       BUG/MINOR: deviceatlas: fix off-by-one in da_haproxy_conv()
       BUG/MINOR: deviceatlas: fix cookie vlen using wrong length after 
extraction
       BUG/MINOR: deviceatlas: fix double-checked locking race in checkinst
       BUG/MINOR: deviceatlas: fix resource leak on hot-reload compile failure
       BUG/MINOR: deviceatlas: fix deinit to only finalize when initialized
       BUG/MINOR: deviceatlas: set cache_size on hot-reloaded atlas instance
       BUG/MINOR: acme: fix X509_NAME leak when X509_set_issuer_name() fails

Egor Shestakov (1):
       CLEANUP: mux-h1: Remove unneeded null check

Frederic Lecaille (1):
       BUG/MEDIUM: ssl: SSL backend sessions used after free

William Lallemand (8):
       DOC: internals: addd mworker V3 internals
       BUG/MINOR: ssl: lack crtlist_dup_ssl_conf() declaration
       BUG/MINOR: ssl: double-free on error path w/ ssl-f-use parser
       BUG/MINOR: ssl: fix leak in ssl-f-use parser upon error
       BUG/MINOR: ssl: clarify ssl-f-use errors in post-section parsing
       BUG/MINOR: ssl: error with ssl-f-use when no "crt"
       CI: vtest: move the vtest2 URL to vinyl-cache.org
       CI: github: disable windows.yml by default on unofficials repo

Willy Tarreau (1):
       DOC: proxy-proto: underline the packed attribute for struct pp2_tlv_ssl

--
Christopher Faulet



Reply via email to