|
1 | 1 | ChangeLog : |
2 | 2 | =========== |
3 | 3 |
|
| 4 | +2026/08/21 : 3.5-dev5 |
| 5 | + - MINOR: config: support "all" and "none" on "tune.defaults.purge" |
| 6 | + - BUG/MINOR: proxy: release watcher in various commands on CLI abort |
| 7 | + - BUG/MINOR: proxy: release watcher in "show default-server" on CLI abort |
| 8 | + - REGTESTS: proxy: complete "del backend" test |
| 9 | + - BUG/MEDIUM: hpack: encode long methods and schemes using the long form |
| 10 | + - BUG/MINOR: stats-file: reject tgid 0 when preloading shm objects |
| 11 | + - BUG/MINOR: hlua: use a local buffer to format the socket addresses |
| 12 | + - DEV: haring: bound the ring geometry to the size of the file |
| 13 | + - BUG/MEDIUM: mux-fcgi: check the room left before appending the index |
| 14 | + - BUG/MEDIUM: spoe: clear the applet pointer when the applet fails to start |
| 15 | + - BUG/MINOR: mux-fcgi: don't call fcgi_strm_destroy() on a NULL stream |
| 16 | + - BUG/MEDIUM: http-ana: don't crash on "keep-query" in a response redirect |
| 17 | + - BUG/MEDIUM: stick-tables: use the same bucket for string keys with a NUL |
| 18 | + - BUG/MEDIUM: sock: bound the recvmsg() length when receiving old sockets |
| 19 | + - BUG/MEDIUM: http-ana: check the cookie rewrite result before moving the offsets |
| 20 | + - BUG/MINOR: mux-fcgi: sanitize the STDERR records before logging them |
| 21 | + - MINOR: log/tools: fix ambiguous comments for some log encoding helpers |
| 22 | + - BUG/MEDIUM: log: always reserve room for trailing 0 when using CBOR encoding helpers |
| 23 | + - BUG/MEDIUM: jwe: validate the secret length against the algorithm of the token |
| 24 | + - BUG/MINOR: jwt: don't take an extra reference on the certificate public key |
| 25 | + - BUG/MEDIUM: ssl: require a full-length AEAD tag when decrypting with AES-GCM |
| 26 | + - BUG/MEDIUM: acme: don't delete a NULL token from the map |
| 27 | + - BUG/MINOR: ssl: reject server certificate names containing a NUL byte |
| 28 | + - BUG/MINOR: acme: restrict the permissions of the generated account key |
| 29 | + - MINOR: backend: Do not always allow takeover across thread groups |
| 30 | + - MINOR: backend: Deprecate tune.takeover-other-tg-connections. |
| 31 | + - DOC: Document limitations of tune.fd.tables |
| 32 | + - MEDIUM: pipes: Never allocate more than maxpipes |
| 33 | + - BUG/MEDIUM: fd: release the port range entry in host byte order |
| 34 | + - BUG/MINOR: connection: reserve the whole CRC32C TLV before saving its pointer |
| 35 | + - BUG/MEDIUM: session: don't release a reversed connection twice on error |
| 36 | + - BUG/MINOR: lb-chash: bound the walk when the saved cursor changed tree |
| 37 | + - BUG/MINOR: debug: only dump the trace once in __BUG_ON_ONCE() |
| 38 | + - BUG/MINOR: mux-h2: strip the userinfo when deriving :authority for a server |
| 39 | + - BUG/MEDIUM: quic: prevent out-of-bound read on wrapping CRYPTO content |
| 40 | + - MINOR: quic: stress CRYPTO Rx buffer wrapping |
| 41 | + - BUG/MINOR: quic: drop multiple Retry on same connection |
| 42 | + - BUG/MEDIUM: lua: resume Channel:send() from the unsent part of the string |
| 43 | + - BUG/MEDIUM: hlua_fcn: ensure systematic bref cleanup for patref list iterator |
| 44 | + - DOC: config: clarify req.ssl_sni |
| 45 | + - MINOR: ssl: add ssl_c_policies sample fetch |
| 46 | + - REGTESTS: ssl: add ssl_c_policies test |
| 47 | + - IMPORT: slz: update slz to version 1.3.0 |
| 48 | + - IMPORT: slz: do not read past the end of the input around the match loop |
| 49 | + - IMPORT: slz: fix the documented worst case size of flush() and finish() |
| 50 | + - IMPORT: slz: use the exact switch cost for the last literals of a block |
| 51 | + - IMPORT: slz: bound the bits wasted by the 9-bit literals |
| 52 | + - IMPORT: slz: do not append a block to an already finished stream |
| 53 | + - IMPORT: slz: fix the adler32 accumulators signedness on 32-bit |
| 54 | + - IMPORT: slz: avoid undefined shifts when building the word byte by byte |
| 55 | + - IMPORT: slz: clarify that the size promise applies to the stream, not to a call |
| 56 | + - IMPORT: slz/uslz: fix incorrect sign extension in shift when reading the adler32 trailer |
| 57 | + - IMPORT: slz/uslz: don't reset the drain offset when nothing was decoded |
| 58 | + - IMPORT: slz/uslz: don't lose the bytes consumed by the header fast paths |
| 59 | + - IMPORT: slz/uslz: make the gzip FEXTRA field resumable |
| 60 | + - IMPORT: slz/uslz: widen crc_flush, it overflowed on large stored blocks |
| 61 | + - IMPORT: slz/uslz: verify the trailer checksum before reporting completion |
| 62 | + - IMPORT: slz/uslz: decode all the members of a multi-member gzip stream |
| 63 | + - IMPORT: slz/uslz: add a method to impose an envelope format (gzip or zlib) |
| 64 | + - IMPORT: slz/uslz: inline the bit reader and the huffman decoders |
| 65 | + - IMPORT: slz/uslz: defer the output bookkeeping to a checkpoint |
| 66 | + - BUG/MEDIUM: cache: retain the primary or secondary entry only when detaching its row |
| 67 | + - BUG/MINOR: cache: do not retain imcomplete or stripped secondary entry |
| 68 | + - BUG/MEDIUM: cache: do not release an entry under the cache read lock |
| 69 | + - BUG/MINOR: wurfl: fix memory leak of information list and patch strings at deinit |
| 70 | + - IMPORT: slz: prevent build compilation error due to unused __slz_make_crc_table() |
| 71 | + - BUG/MINOR: ssl: reject an embedded NUL in the ssl_*_dn(entry) fetches |
| 72 | + - BUG/MINOR: ssl: reject an embedded NUL in the full-DN ssl_*_dn() fetches |
| 73 | + - BUG/MINOR: quic: avoid a division by zero in the BBR pacing interval |
| 74 | + - BUG/MINOR: server: fix memory leak on "default-server" parsing failures |
| 75 | + - BUG/MINOR: h3: fix potential NULL pointer dereference in _h3_trace_header() |
| 76 | + - BUG/MINOR: hq_interop: fix potential NULL dereference in _hq_trace_http() |
| 77 | + - BUG/MINOR: server: fix off-by-one error when parsing and copying source port range |
| 78 | + - BUG/MEDIUM: http: fix authority parsing for absolute-form URI with empty path |
| 79 | + - DOC: security: clarify that only up-to-date versions may get securty reports |
| 80 | + - MINOR: sample: add new converter has_ctl() to detect control characters |
| 81 | + - BUG/MEDIUM: bwlim: fix a stick-table entry leak in shared mode |
| 82 | + - MEDIUM: ssl: add fips_mode() config condition predicate |
| 83 | + - MINOR: ssl: report FIPS mode in -vv for OpenSSL >= 3.0 too |
| 84 | + - REGTESTS: ssl: skip tests broken by FIPS mode |
| 85 | + - REGTESTS: checks: skip tcp-check-client-hello.vtc under FIPS mode |
| 86 | + - DEBUG: cli: unstatify cli_process_cmdline() |
| 87 | + - CLEANUP: debug: move ha_backtrace_to_stderr() declaration to bug.h |
| 88 | + - CLEANUP: debug: reorder definitions in bug.h |
| 89 | + - MINOR: debug: check the match count in __BUG_ON_ONCE() and not in complain() |
| 90 | + - DEBUG: cli: add a "debug dev abort" debugging command |
| 91 | + - DEBUG: deduplicate __ABORT_NOW() between DEBUG_USE_ABORT and ha_crash_now() |
| 92 | + - MINOR: debug: move printing of the hint to ha_backtrace_to_stderr() |
| 93 | + - MINOR: debug: use bit fields for the debug type and fatality |
| 94 | + - MINOR: debug: only emit and count warnings when explicitly requested |
| 95 | + - CLEANUP: debug: remove the now unused counter argument to complain() |
| 96 | + - MINOR: debug: make the complain() function start to complete the message |
| 97 | + - MEDIUM: debug: make the complain() function print the prefix |
| 98 | + - MEDIUM: debug: use \x1e (RS) to delimit the condition from vaargs in DBG_COUNT() |
| 99 | + - MEDIUM: debug: use \x1e (RS) to delimit the condition from vaargs in complain() |
| 100 | + - MEDIUM: debug: make the complain() function print the suffix |
| 101 | + - MINOR: debug: pass the type to the __BUG_ON*() macros |
| 102 | + - MINOR: debug: unify __BUG_ON() and __BUG_ON_ONCE() |
| 103 | + - MINOR: debug: avoid the break in __BUG_ON() |
| 104 | + - CLEANUP: debug: remove the unneeded do { } while (0) on __BUG_ON() |
| 105 | + - MINOR: debug: make a pair of __BUG_ON() for modern and obsolete linkers |
| 106 | + - MINOR: debug: rely on the __dbg_cnt_ counter for _BUG_ON_ONCE() |
| 107 | + - MINOR: debug: store the caller's details in debug_count |
| 108 | + - MINOR: debug: prepare complain() to be used in multiple ways |
| 109 | + - MEDIUM: debug: add a new version of complain() that takes a debug_count struct |
| 110 | + - MEDIUM: debug: do not dump a context-less backtrace in ABORT_NOW() |
| 111 | + - CLEANUP: debug: make __BUG_ON() use abort_with_line() |
| 112 | + - MEDIUM: debug: merge the counter and message emission into complain() |
| 113 | + - MINOR: compiler: add a function attribute to disable tail calls |
| 114 | + - MINOR: debug: force complain's backtrace to be a tail jump instead of a tail call |
| 115 | + - BUG/MINOR: payload: fix handshake length off-by-4 in ssl_hello_sni/alpn |
| 116 | + - MINOR: payload: make smp_fetch_ssl_hello_sni() use smp_client_hello_parse() |
| 117 | + - MINOR: payload: make smp_fetch_ssl_hello_alpn() use smp_client_hello_parse() |
| 118 | + - MINOR: ssl-gencert: use a 64-bit hash for the LRU cache key |
| 119 | + - MINOR: ssl-gencert: enforce a stronger seed for the LRU cache key |
| 120 | + - BUG/MINOR: spoe: check snprintf() return value in spoe_set_var/spoe_unset_var |
| 121 | + - BUG/MINOR: qpack: missing shift count check in qpack_get_varint() (UB) |
| 122 | + - BUG/MEDIUM: pollers: create the poller pipes in builds without threads |
| 123 | + - BUG/MEDIUM: tasks: don't type-pun state and tid in builds without threads |
| 124 | + - BUG/MINOR: log: fix double-free error when error in parse_loger occurs |
| 125 | + - BUG/MINOR: uri-auth: never risk to dereference a NULL on error path |
| 126 | + - BUG/MINOR: mux-h2: harden h2_dump_h2s_info() against potentially null h2s->sd |
| 127 | + - BUILD: protocol: silence -Warray-bounds in single-group builds |
| 128 | + - CI: github: add a TARGET=generic job in matrix.py |
| 129 | + - BUG/MINOR: conn: Do not check 'sess_el' list on frontend connections in __trace_enabled |
| 130 | + - BUG/MINOR: ssl: Fix leak of X509_NAME in traces |
| 131 | + - BUG/MINOR: ssl: release the previous client cert reference at depth > 0 |
| 132 | + - BUG/MEDIUM: ssl: Fix unprotected 'ssl_sock_choose_sni_ctx' calls |
| 133 | + - BUG/MEDIUM: ssl: enforce tune.ssl.lifetime across TLS1.3 session renewals |
| 134 | + - BUG/MINOR: ssl: apply tune.ssl.lifetime to TLS1.3 sessions on BoringSSL/AWS-LC |
| 135 | + - BUILD: ssl: disable the TLS1.3 session timeout clamp on wolfSSL |
| 136 | + - BUG/MEDIUM: ssl: isolate TLS session resumption per X509 server certificate |
| 137 | + - BUG/MINOR: ssl: isolate TLS session resumption per crt-list filter |
| 138 | + - BUG/MEDIUM: ssl: isolate TLS session resumption per authentication policy |
| 139 | + - BUG/MEDIUM: tasks: don't type-pun state and tid in builds without threads |
| 140 | + - BUG/MEDIUM: pollers: really create the poller pipes in builds without threads |
| 141 | + - REGTESTS: don't rely on the stick-table dump order in the ipmask test |
| 142 | + - CLEANUP: payload: remove dead code in smp_client_hello_parse() |
| 143 | + - BUG/MINOR: haproxy: fix out-of-scope tmpdir usage in do_chroot() |
| 144 | + - BUG/MINOR: ssl/cli: fix frontend-not-found detection in 'show ssl sni -f' |
| 145 | + - MINOR: backend: Do not bother stopping if there is only one thread group |
| 146 | + - REGTESTS: converters: use connection: close in the has_ctl() test |
| 147 | + - BUG/MINOR: resolvers: accept fields at the response boundary |
| 148 | + - BUG/MINOR: dns: schedule idle task after setting its thread |
| 149 | + - CLEANUP: dns: centralize nameserver transport cleanup |
| 150 | + - MINOR: ssl: Forbid using ssl-mode-async with per tgroup fd tables |
| 151 | + - MINOR: hlua: Forbid lua-load with per-tgroup fd tables |
| 152 | + - MINOR: addons/51d: Forbid use with per tgroup fd tables |
| 153 | + - MINOR: addons/wurfl: Forbid use with per tgroup fd tables |
| 154 | + - MINOR: addons/deviceatlas: Forbid use with per tgroup fd tables |
| 155 | + - BUG/MEDIUM: sink: pre-initialize the implicit log forwarding server |
| 156 | + |
4 | 157 | 2026/08/06 : 3.5-dev4 |
5 | 158 | - CLEANUP: mux_quic: remove unused prototype |
6 | 159 | - BUG/MEDIUM: proxy: protect "show errors" against backend deletion |
|
0 commit comments