Skip to content

Commit fcfabd0

Browse files
committed
[RELEASE] Released version 3.4-dev6
Released version 3.4-dev6 with the following main changes : - CLEANUP: acme: remove duplicate includes - BUG/MINOR: proxy: detect strdup error on server auto SNI - BUG/MINOR: server: set auto SNI for dynamic servers - BUG/MINOR: server: enable no-check-sni-auto for dynamic servers - MINOR: haterm: provide -b and -c options (RSA key size, ECDSA curves) - MINOR: haterm: add long options for QUIC and TCP "bind" settings - BUG/MINOR: haterm: missing allocation check in copy_argv() - BUG/MINOR: quic: fix counters used on BE side - MINOR: quic: add BUG_ON() on half_open_conn counter access from BE - BUG/MINOR: quic/h3: display QUIC/H3 backend module on HTML stats - BUG/MINOR: acme: acme_ctx_destroy() leaks auth->dns - BUG/MINOR: acme: wrong labels logic always memprintf errmsg - MINOR: ssl: clarify error reporting for unsupported keywords - BUG/MINOR: acme: fix incorrect number of arguments allowed in config - CLEANUP: haterm: remove unreachable labels hstream_add_data() - CLEANUP: haterm: avoid static analyzer warnings about rand() use - CLEANUP: ssl: Remove a useless variable from ssl_gen_x509() - CI: use the latest docker for QUIC Interop - CI: remove redundant "halog" compilation - CLENAUP: cfgparse: accept-invalid-http-* does not support "no"/"defaults" - BUG/MEDIUM: spoe: Acquire context buffer in applet before consuming a frame - MINOR: traces: always mark trace_source as thread-aligned - MINOR: ncbmbuf: improve itbmap_next() code - MINOR: proxy: improve code when checking server name conflicts - MINOR: quic: add a new metric for ncbuf failures - BUG/MINOR: haterm: cannot reset default "haterm" mode - BUG/MEDIUM: cpu-topo: Distribute CPUs fairly across groups - BUG/MINOR: quic: missing app ops init during backend 0-RTT sessions - CLEANUP: ssl: remove outdated comments - MINOR: mux-h2: also count glitches on invalid trailers - MINOR: mux-h2: add a new setting, "tune.h2.log-errors" to tweak error logging - BUG/MEDIUM: mux-h2: make sure to always report pending errors to the stream - BUG/MINOR: server: adjust initialization order for dynamic servers - CLEANUP: tree-wide: drop a few useless null-checks before free() - CLEANUP: quic-stats: include counters from quic_stats - REORG: stats/counters: move extra_counters to counters not stats - CLEANUP: stats: drop stats.h / stats-t.h where not needed - MEDIUM: counters: change the fill_stats() API to pass the module and extra_counters - CLEANUP: counters: only retrieve zeroes for unallocated extra_counters - MEDIUM: counters: add a dedicated storage for extra_counters in various structs - MINOR: counters: store a tgroup step for extra_counters to access multiple tgroups - MEDIUM: counters: store the number of thread groups accessing extra_counters - MINOR: counters: add EXTRA_COUNTERS_BASE() to retrieve extra_counters base storage - MEDIUM: counters: return aggregate extra counters in ->fill_stats() - MEDIUM: counters: make EXTRA_COUNTERS_GET() consider tgid - BUG/MINOR: call EXTRA_COUNTERS_FREE() before srv_free_params() in srv_drop() - MINOR: promex: test applet resume in stress mode - BUG/MINOR: promex: fix server iteration when last server is deleted - BUG/MINOR: proxy: add dynamic backend into ID tree - MINOR: proxy: convert proxy flags to uint - MINOR: server: refactor srv_detach() - MINOR: proxy: define a basic "del backend" CLI - MINOR: proxy: define proxy watcher member - MINOR: stats: protect proxy iteration via watcher - MINOR: promex: use watcher to iterate over backend instances - MINOR: lua: use watcher for proxies iterator - MINOR: proxy: add refcount to proxies - MINOR: proxy: rename default refcount to avoid confusion - MINOR: server: take proxy refcount when deleting a server - MINOR: lua: handle proxy refcount - MINOR: proxy: prevent backend removal when unsupported - MINOR: proxy: prevent deletion of backend referenced by config elements - MINOR: proxy: prevent backend deletion if server still exists in it - MINOR: server: mark backend removal as forbidden if QUIC was used - MINOR: cli: implement wait on be-removable - MINOR: proxy: add comment for defaults_px_ref/unref_all() - MEDIUM: proxy: add lock for global accesses during proxy free - MEDIUM: proxy: add lock for global accesses during default free - MINOR: proxy: use atomic ops for default proxy refcount - MEDIUM: proxy: implement backend deletion - REGTESTS: add a test on "del backend" - REGTESTS: complete "del backend" with unnamed defaults ref free - BUG/MINOR: hlua: fix return with push nil on proxy check - BUG/MEDIUM: stream: Handle TASK_WOKEN_RES as a stream event - MINOR: quic: use signed char type for ALPN manipulation - MINOR: quic/h3: reorganize stream reject after MUX closure - MINOR: mux-quic: add function for ALPN to app-ops conversion - MEDIUM: quic/mux-quic: adjust app-ops install - MINOR: quic: use server cache for ALPN on BE side - BUG/MEDIUM: hpack: correctly deal with too large decoded numbers - BUG/MAJOR: qpack: unchecked length passed to huffman decoder - BUG/MINOR: qpack: fix 1-byte OOB read in qpack_decode_fs_pfx() - BUG/MINOR: quic: fix OOB read in preferred_address transport parameter - BUG/MEDIUM: qpack: correctly deal with too large decoded numbers - BUG/MINOR: hlua: Properly enable/disable line receives from HTTP applet - BUG/MEDIUM: hlua: Fix end of request detection when retrieving payload - BUG/MINOR: hlua: Properly enable/disable receives for TCP applets - MINOR: htx: Add a function to retrieve the HTTP version from a start-line - MINOR: h1-htx: Reports non-HTTP version via dedicated flags - BUG/MINOR: h1-htx: Be sure that H1 response version starts by "HTTP/" - MINOR: http-ana: Save the message version in the http_msg structure - MEDIUM: http-fetch: Rework how HTTP message version is retrieved - MEDIUM: http-ana: Use the version of the opposite side for internal messages - DEBUG: stream: Display the currently running rule in stream dump - MINOR: filters: Use filter API as far as poissible to break loops on filters - MINOR: filters: Set last_entity when a filter fails on stream_start callback - MINOR: stream: Display the currently running filter per channel in stream dump - DOC: config: Use the right alias for %B - BUG/MINOR: channel: Increase the stconn bytes_in value in channel_add_input() - BUG/MINOR: sample: Fix sample to retrieve the number of bytes received and sent - BUG/MINOR: http-ana: Increment scf bytes_out value if an haproxy error is sent - BUG/MAJOR: fcgi: Fix param decoding by properly checking its size - BUG/MAJOR: resolvers: Properly lowered the names found in DNS response - BUG/MEDIUM: mux-fcgi: Use a safe loop to resume each stream eligible for sending - MINOR: mux-fcgi: Use a dedicated function to resume streams eligible for sending - CLEANUP: qpack: simplify length checks in qpack_decode_fs() - MINOR: counters: Introduce COUNTERS_UPDATE_MAX() - MINOR: listeners: Update the frequency counters separately when needed - MINOR: proxies: Update beconn separately - MINOR: stats: Add an option to disable the calculation of max counters
1 parent 5d02d33 commit fcfabd0

File tree

4 files changed

+115
-3
lines changed

4 files changed

+115
-3
lines changed

CHANGELOG

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,118 @@
11
ChangeLog :
22
===========
33

4+
2026/03/05 : 3.4-dev6
5+
- CLEANUP: acme: remove duplicate includes
6+
- BUG/MINOR: proxy: detect strdup error on server auto SNI
7+
- BUG/MINOR: server: set auto SNI for dynamic servers
8+
- BUG/MINOR: server: enable no-check-sni-auto for dynamic servers
9+
- MINOR: haterm: provide -b and -c options (RSA key size, ECDSA curves)
10+
- MINOR: haterm: add long options for QUIC and TCP "bind" settings
11+
- BUG/MINOR: haterm: missing allocation check in copy_argv()
12+
- BUG/MINOR: quic: fix counters used on BE side
13+
- MINOR: quic: add BUG_ON() on half_open_conn counter access from BE
14+
- BUG/MINOR: quic/h3: display QUIC/H3 backend module on HTML stats
15+
- BUG/MINOR: acme: acme_ctx_destroy() leaks auth->dns
16+
- BUG/MINOR: acme: wrong labels logic always memprintf errmsg
17+
- MINOR: ssl: clarify error reporting for unsupported keywords
18+
- BUG/MINOR: acme: fix incorrect number of arguments allowed in config
19+
- CLEANUP: haterm: remove unreachable labels hstream_add_data()
20+
- CLEANUP: haterm: avoid static analyzer warnings about rand() use
21+
- CLEANUP: ssl: Remove a useless variable from ssl_gen_x509()
22+
- CI: use the latest docker for QUIC Interop
23+
- CI: remove redundant "halog" compilation
24+
- CLENAUP: cfgparse: accept-invalid-http-* does not support "no"/"defaults"
25+
- BUG/MEDIUM: spoe: Acquire context buffer in applet before consuming a frame
26+
- MINOR: traces: always mark trace_source as thread-aligned
27+
- MINOR: ncbmbuf: improve itbmap_next() code
28+
- MINOR: proxy: improve code when checking server name conflicts
29+
- MINOR: quic: add a new metric for ncbuf failures
30+
- BUG/MINOR: haterm: cannot reset default "haterm" mode
31+
- BUG/MEDIUM: cpu-topo: Distribute CPUs fairly across groups
32+
- BUG/MINOR: quic: missing app ops init during backend 0-RTT sessions
33+
- CLEANUP: ssl: remove outdated comments
34+
- MINOR: mux-h2: also count glitches on invalid trailers
35+
- MINOR: mux-h2: add a new setting, "tune.h2.log-errors" to tweak error logging
36+
- BUG/MEDIUM: mux-h2: make sure to always report pending errors to the stream
37+
- BUG/MINOR: server: adjust initialization order for dynamic servers
38+
- CLEANUP: tree-wide: drop a few useless null-checks before free()
39+
- CLEANUP: quic-stats: include counters from quic_stats
40+
- REORG: stats/counters: move extra_counters to counters not stats
41+
- CLEANUP: stats: drop stats.h / stats-t.h where not needed
42+
- MEDIUM: counters: change the fill_stats() API to pass the module and extra_counters
43+
- CLEANUP: counters: only retrieve zeroes for unallocated extra_counters
44+
- MEDIUM: counters: add a dedicated storage for extra_counters in various structs
45+
- MINOR: counters: store a tgroup step for extra_counters to access multiple tgroups
46+
- MEDIUM: counters: store the number of thread groups accessing extra_counters
47+
- MINOR: counters: add EXTRA_COUNTERS_BASE() to retrieve extra_counters base storage
48+
- MEDIUM: counters: return aggregate extra counters in ->fill_stats()
49+
- MEDIUM: counters: make EXTRA_COUNTERS_GET() consider tgid
50+
- BUG/MINOR: call EXTRA_COUNTERS_FREE() before srv_free_params() in srv_drop()
51+
- MINOR: promex: test applet resume in stress mode
52+
- BUG/MINOR: promex: fix server iteration when last server is deleted
53+
- BUG/MINOR: proxy: add dynamic backend into ID tree
54+
- MINOR: proxy: convert proxy flags to uint
55+
- MINOR: server: refactor srv_detach()
56+
- MINOR: proxy: define a basic "del backend" CLI
57+
- MINOR: proxy: define proxy watcher member
58+
- MINOR: stats: protect proxy iteration via watcher
59+
- MINOR: promex: use watcher to iterate over backend instances
60+
- MINOR: lua: use watcher for proxies iterator
61+
- MINOR: proxy: add refcount to proxies
62+
- MINOR: proxy: rename default refcount to avoid confusion
63+
- MINOR: server: take proxy refcount when deleting a server
64+
- MINOR: lua: handle proxy refcount
65+
- MINOR: proxy: prevent backend removal when unsupported
66+
- MINOR: proxy: prevent deletion of backend referenced by config elements
67+
- MINOR: proxy: prevent backend deletion if server still exists in it
68+
- MINOR: server: mark backend removal as forbidden if QUIC was used
69+
- MINOR: cli: implement wait on be-removable
70+
- MINOR: proxy: add comment for defaults_px_ref/unref_all()
71+
- MEDIUM: proxy: add lock for global accesses during proxy free
72+
- MEDIUM: proxy: add lock for global accesses during default free
73+
- MINOR: proxy: use atomic ops for default proxy refcount
74+
- MEDIUM: proxy: implement backend deletion
75+
- REGTESTS: add a test on "del backend"
76+
- REGTESTS: complete "del backend" with unnamed defaults ref free
77+
- BUG/MINOR: hlua: fix return with push nil on proxy check
78+
- BUG/MEDIUM: stream: Handle TASK_WOKEN_RES as a stream event
79+
- MINOR: quic: use signed char type for ALPN manipulation
80+
- MINOR: quic/h3: reorganize stream reject after MUX closure
81+
- MINOR: mux-quic: add function for ALPN to app-ops conversion
82+
- MEDIUM: quic/mux-quic: adjust app-ops install
83+
- MINOR: quic: use server cache for ALPN on BE side
84+
- BUG/MEDIUM: hpack: correctly deal with too large decoded numbers
85+
- BUG/MAJOR: qpack: unchecked length passed to huffman decoder
86+
- BUG/MINOR: qpack: fix 1-byte OOB read in qpack_decode_fs_pfx()
87+
- BUG/MINOR: quic: fix OOB read in preferred_address transport parameter
88+
- BUG/MEDIUM: qpack: correctly deal with too large decoded numbers
89+
- BUG/MINOR: hlua: Properly enable/disable line receives from HTTP applet
90+
- BUG/MEDIUM: hlua: Fix end of request detection when retrieving payload
91+
- BUG/MINOR: hlua: Properly enable/disable receives for TCP applets
92+
- MINOR: htx: Add a function to retrieve the HTTP version from a start-line
93+
- MINOR: h1-htx: Reports non-HTTP version via dedicated flags
94+
- BUG/MINOR: h1-htx: Be sure that H1 response version starts by "HTTP/"
95+
- MINOR: http-ana: Save the message version in the http_msg structure
96+
- MEDIUM: http-fetch: Rework how HTTP message version is retrieved
97+
- MEDIUM: http-ana: Use the version of the opposite side for internal messages
98+
- DEBUG: stream: Display the currently running rule in stream dump
99+
- MINOR: filters: Use filter API as far as poissible to break loops on filters
100+
- MINOR: filters: Set last_entity when a filter fails on stream_start callback
101+
- MINOR: stream: Display the currently running filter per channel in stream dump
102+
- DOC: config: Use the right alias for %B
103+
- BUG/MINOR: channel: Increase the stconn bytes_in value in channel_add_input()
104+
- BUG/MINOR: sample: Fix sample to retrieve the number of bytes received and sent
105+
- BUG/MINOR: http-ana: Increment scf bytes_out value if an haproxy error is sent
106+
- BUG/MAJOR: fcgi: Fix param decoding by properly checking its size
107+
- BUG/MAJOR: resolvers: Properly lowered the names found in DNS response
108+
- BUG/MEDIUM: mux-fcgi: Use a safe loop to resume each stream eligible for sending
109+
- MINOR: mux-fcgi: Use a dedicated function to resume streams eligible for sending
110+
- CLEANUP: qpack: simplify length checks in qpack_decode_fs()
111+
- MINOR: counters: Introduce COUNTERS_UPDATE_MAX()
112+
- MINOR: listeners: Update the frequency counters separately when needed
113+
- MINOR: proxies: Update beconn separately
114+
- MINOR: stats: Add an option to disable the calculation of max counters
115+
4116
2026/02/19 : 3.4-dev5
5117
- DOC: internals: addd mworker V3 internals
6118
- BUG/MINOR: threads: Initialize maxthrpertgroup earlier.

VERDATE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
$Format:%ci$
2-
2026/02/19
2+
2026/03/05

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.4-dev5
1+
3.4-dev6

doc/configuration.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Configuration Manual
44
----------------------
55
version 3.4
6-
2026/02/19
6+
2026/03/05
77

88

99
This document covers the configuration language as implemented in the version

0 commit comments

Comments
 (0)