Hi, HAProxy 1.6.10 was released on 2016/11/20. It added 42 new commits after version 1.6.9.
This release addresses some issues still present in 1.6.9 including one failed attempt to fix a previous bug. The most important fixes are : - finally the correct fix for the connection layer (the past two fixes to address the rare CLOSE_WAIT issues were incorrect). One bad side effect of these fixes was that they broke retransmits in proxy mode. Another one is that a rare case of unkillable task could sometimes happen ; - several fixes for the systemd wrapper : the wrapper needs to know when the new haproxy process has finished starting in order not to deliver reload signals during startup. This was responsible for some old processes remaining present when restarting too fast large configs. The wrapper's status code is now correct when haproxy fails to start. - fixed two bugs in the peers' task management possibly causing some CLOSE_WAIT connection after some rare race conditions. And a small backport : - ability to disable SO_REUSEPORT, via "-dR" or "noreuseport" in the global section. Some people start to face some difficulties with it being enabled by default now that recent kernels support it. The rest is mostly doc updates and minor fixes. Please find the usual URLs below : Site index : http://www.haproxy.org/ Discourse : http://discourse.haproxy.org/ Sources : http://www.haproxy.org/download/1.6/src/ Git repository : http://git.haproxy.org/git/haproxy-1.6.git/ Git Web browsing : http://git.haproxy.org/?p=haproxy-1.6.git Changelog : http://www.haproxy.org/download/1.6/src/CHANGELOG Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/ Willy --- Complete changelog : - BUG/MINOR: Fix OSX compilation errors - BUG/MINOR: displayed PCRE version is running release - MINOR: show Built with PCRE version - MINOR: show Running on zlib version - MINOR: Add fe_req_rate sample fetch - MEDIUM: make SO_REUSEPORT configurable - BUG/MINOR: vars: use sess and not s->sess in action_store() - BUG/MINOR: vars: make smp_fetch_var() more robust against misuses - BUG/MINOR: vars: smp_fetch_var() doesn't depend on HTTP but on the session - BUG/MINOR: ssl: Check malloc return code - BUG/MINOR: ssl: prevent multiple entries for the same certificate - BUG/MINOR: systemd: make the wrapper return a non-null status code on error - BUG/MINOR: systemd: always restore signals before execve() - BUG/MINOR: systemd: check return value of calloc() - MINOR: systemd: report it when execve() fails - BUG/MEDIUM: systemd: let the wrapper know that haproxy has completed or failed - BUILD: protocol: fix some build errors on OpenBSD - BUILD: log: iovec requires to include sys/uio.h on OpenBSD - BUILD: tcp: do not include netinet/ip.h for IP_TTL - BUILD: checks: remove the last strcat and eliminate a warning on OpenBSD - BUILD: poll: remove unused hap_fd_isset() which causes a warning with clang - MINOR: cfgparse: few memory leaks fixes. - MINOR: build: Allow linking to device-atlas library file - DOC: Fix typo in description of `-st` parameter in man page - BUG/MEDIUM: peers: on shutdown, wake up the appctx, not the stream - BUG/MEDIUM: peers: fix use after free in peer_session_create() - BUG/MEDIUM: systemd-wrapper: return correct exit codes - BUG/MEDIUM: srv-state: properly restore the DRAIN state - BUG/MINOR: srv-state: allow to have both CMAINT and FDRAIN flags - BUG/MEDIUM: servers: properly propagate the maintenance states during startup - BUG: vars: Fix 'set-var' converter because of a typo - BUG/MEDIUM: channel: bad unlikely macro - CLEANUP: lua: move comment - CLEANUP: lua: control executed twice - CLEANUP: ssl: Fix bind keywords name in comments - DOC: ssl: Use correct wording for ca-sign-pass - BUG/MINOR: stick-table: handle out-of-memory condition gracefully - BUG/MEDIUM: connection: check the control layer before stopping polling - BUG/MEDIUM: stick-table: fix regression caused by recent fix for out-of-memory - CONTRIB: initiate a debugging suite to make debugging easier - BUG/MINOR: cli: properly decrement ref count on tables during failed dumps - BUG/MEDIUM: lua: In some case, the return of sample-fetche is ignored ---