Hi, HAProxy 2.0.11 was released on 2019/12/11. It added 38 new commits after version 2.0.10.
So in order not to paraphrase myself too much, this version contains the same fixes as in 2.1.1. Nothing alarming at all, essentially bugs causing high CPU usage with threads that cannot sleep, a rare case of server timeouts caused by splicing, and a rare risk of request/response mixup when using H1 on the backend and an H2 client aborts and tries again following a precise sequence that's very hard to reproduce. Just like for 2.1.1, I suggest every user to upgrade in order to avoid falling into one these traps which are particularly difficult to identify and troubleshoot, though there's really no need to hurry. All those who encountered strange behaviors must definitely update before reporting an issue though. We'll progressively slow down on 1.9 releases to motivate users to jump to 2.1 or 2.0, especially in such situations where there's nothing really problematic. The goal is that in 3-4 months from now we can definitely drop it. As a reminder, 1.5 turns end-of-life at the end of this year. After having done another round of 1.6 I still failed to spot really compelling fixes that would warrant another release. If in the future I get an occasional request for extra backports (especially from distros), I may occasionally provide some help as time permits, but 1.5 and 1.6 are pretty close and picking from 1.6 is often reasonably straightforward so I don't even think that will happen. Please find the usual URLs below : Site index : http://www.haproxy.org/ Discourse : http://discourse.haproxy.org/ Slack channel : https://slack.haproxy.org/ Issue tracker : https://github.com/haproxy/haproxy/issues Sources : http://www.haproxy.org/download/2.0/src/ Git repository : http://git.haproxy.org/git/haproxy-2.0.git/ Git Web browsing : http://git.haproxy.org/?p=haproxy-2.0.git Changelog : http://www.haproxy.org/download/2.0/src/CHANGELOG Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/ Willy --- Complete changelog : Christopher Faulet (6): BUG/MINOR: contrib/prometheus-exporter: Use HTX errors and not legacy ones BUG/MINOR: http-htx: Don't make http_find_header() fail if the value is empty BUG/MEDIUM: mux-h1: Never reuse H1 connection if a shutw is pending BUG/MINOR: mux-h1: Don't rely on CO_FL_SOCK_RD_SH to set H1C_F_CS_SHUTDOWN BUG/MINOR: mux-h1: Fix conditions to know whether or not we may receive data BUG/MINOR: mux-h1: Be sure to set CS_FL_WANT_ROOM when EOM can't be added Emmanuel Hocdet (1): BUG/MINOR: ssl: certificate choice can be unexpected with openssl >= 1.1.1 Jerome Magnin (1): BUG/MINOR: stream: init variables when the list is empty Julien Pivotto (1): DOC: proxies: HAProxy only supports 3 connection modes Mathias Weiersmueller (1): DOC: clarify matching strings on binary fetches Olivier Houchard (3): BUG/MEDIUM: tasks: Make sure we switch wait queues in task_set_affinity(). BUG/MEDIUM: checks: Make sure we set the task affinity just before connecting. BUG/MEDIUM: kqueue: Make sure we report read events even when no data. Tim Duesterhus (1): DOC: Clarify behavior of server maxconn in HTTP mode William Dauchy (1): BUG/MINOR: contrib/prometheus-exporter: decode parameter and value only Willy Tarreau (23): DOC: move the "group" keyword at the right place BUG/MEDIUM: stream-int: don't subscribed for recv when we're trying to flush data BUG/MINOR: stream-int: avoid calling rcv_buf() when splicing is still possible BUG/MEDIUM: listener/thread: fix a race when pausing a listener BUG/MINOR: proxy: make soft_stop() also close FDs in LI_PAUSED state BUG/MINOR: listener/threads: always use atomic ops to clear the FD events BUG/MINOR: listener: also clear the error flag on a paused listener BUG/MEDIUM: listener/threads: fix a remaining race in the listener's accept() DOC: document the listener state transitions BUG/MAJOR: dns: add minimalist error processing on the Rx path BUG/MEDIUM: proto_udp/threads: recv() and send() must not be exclusive. DOC: listeners: add a few missing transitions BUG/MINOR: tasks: only requeue a task if it was already in the queue BUILD/MINOR: ssl: shut up a build warning about format truncation BUILD/MINOR: tools: shut up the format truncation warning in get_gmt_offset() BUILD: do not disable -Wformat-truncation anymore DOC: remove references to the outdated architecture.txt BUG/MINOR: log: fix minor resource leaks on logformat error path BUG/MINOR: mworker: properly pass SIGTTOU/SIGTTIN to workers BUG/MINOR: listener: do not immediately resume on transient error BUG/MINOR: server: make "agent-addr" work on default-server line BUG/MINOR: listener: fix off-by-one in state name check BUILD/MINOR: unix sockets: silence an absurd gcc warning about strncpy() ---