Hi, HAProxy 1.6.16 was released on 2021/03/19. It added 71 new commits after version 1.6.15.
The 1.6 branch is EOL now. Thus, it is the last 1.6 release. No further release should be expected. It contains all pending patches marked to be backported to the 1.6 to leave it in a proper state. Have a look at the changelog below for the complete list of fixes. You should have no reason to deploy it in a production environment. Use the 1.8 or above instead. However, if possible directly move on the 2.0 or the 2.2. No specific support should no longer be expected on the 1.6. This branch will not receive fixes anymore. Thanks everyone for you help and your contributions ! 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 Wiki : https://github.com/haproxy/wiki/wiki 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/ --- Complete changelog : Amaury Denoyelle (1): BUG/MINOR: config: Fix memory leak on config parse listen Baptiste Assmann (1): BUG/MINOR: http_act: don't check capture id in backend Christopher Faulet (24): BUG/MEDIUM: stream: Be sure to release allocated captures for TCP streams BUG/MINOR: http-rules: Remove buggy deinit functions for HTTP rules BUG/MINOR: stick-table: Use MAX_SESS_STKCTR as the max track ID during parsing MINOR: proxy/http-ana: Add support of extra attributes for the cookie directive BUG/MINOR: rules: Increment be_counters if backend is assigned for a silent-drop BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action BUG/MEDIUM: pattern: Add a trailing \0 to match strings only if possible BUG/MEDIUM: channel: Be aware of SHUTW_NOW flag when output data are peeked BUG/MINOR: tcp-rules: Set the inspect-delay when a tcp-response action yields BUG/MEDIUM: map/lua: Return an error if a map is loaded during runtime BUG/MINOR: lua: Check argument type to convert it to IPv4/IPv6 arg validation BUG/MINOR: lua: Check argument type to convert it to IP mask in arg validation BUG/MEDIUM: pattern: Renew the pattern expression revision when it is pruned MINOR: hlua: Display debug messages on stderr only in debug mode BUG/MINOR: http-fetch: Fix calls w/o parentheses of the cookie sample fetches BUG/MINOR: tools: make parse_time_err() more strict on the timer validity BUG/MINOR: tools: Reject size format not starting by a digit BUG/MINOR: server: Fix server-state-file-name directive CLEANUP: deinit: release global and per-proxy server-state variables on deinit BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL BUG/MINOR: sample: Always consider zero size string samples as unsafe BUG/MINOR: server: Init params before parsing a new server-state line BUG/MINOR: http-ana: Only consider dst address to process originalto option BUG/MINOR: connection: Use the client's dst family for adressless servers David Carlier (1): DOC: email change of the DeviceAtlas maintainer Dragan Dosen (1): BUG/MEDIUM: pattern: fix memory leak in regex pattern functions Emeric Brun (1): CLEANUP: channel: fix comment in ci_putblk. Emmanuel Hocdet (1): BUG/MINOR: ssl: fix crt-list neg filter for openssl < 1.1.1 Jerome Magnin (2): BUG/MINOR: stream: don't mistake match rules for store-request rules BUG/MINOR: pattern: handle errors from fgets when trying to load patterns Joao Morais (1): BUG/MINOR: config: Update cookie domain warn to RFC6265 Maciej Zdeb (1): BUG/MINOR: http-fetch: Extract cookie value even when no cookie name Mathias Weiersmueller (1): DOC: clarify matching strings on binary fetches Thierry Fournier (1): MINOR: common: mask conversion Tim Duesterhus (4): BUG/MINOR: dns: Make dns_query_id_seed unsigned BUG/MAJOR: proxy_protocol: Properly validate TLV lengths BUG/MEDIUM: fetch: Fix hdr_ip misparsing IPv4 addresses due to missing NUL BUG/MINOR: http_act: don't check capture id in backend (2) William Dauchy (3): BUG/MINOR: dns: allow 63 char in hostname BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat DOC: agent-check: fix typo in "fail" word expected reply William Lallemand (2): BUG/MINOR: ssl: verifyhost is case sensitive DOC: ssl: crt-list negative filters are only a hint Willy Tarreau (26): BUG/MINOR: listener: also clear the error flag on a paused listener BUG/MAJOR: dns: add minimalist error processing on the Rx path BUG/MEDIUM: proto_udp/threads: recv() and send() must not be exclusive. BUILD/MINOR: tools: shut up the format truncation warning in get_gmt_offset() DOC: remove references to the outdated architecture.txt BUG/MINOR: sample: fix the closing bracket and LF in the debug converter BUG/MAJOR: hashes: fix the signedness of the hash inputs BUG/MINOR: unix: better catch situations where the unix socket path length is close to the limit MINOR: compiler: move CPU capabilities definition from config.h and complete them BUG/MEDIUM: ebtree: don't set attribute packed without unaligned access support BUILD: fix recent build failure on unaligned archs MINOR: compiler: add new alignment macros BUILD: ebtree: improve architecture-specific alignment BUG/MINOR: sample: fix the json converter's endian-sensitivity BUG/MAJOR: list: fix invalid element address calculation DOC: fix incorrect indentation of http_auth_* BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam BUG/MEDIUM: shctx: really check the lock's value while waiting BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks BUG/MINOR: xxhash: make sure armv6 uses memcpy() BUG/MEDIUM: config: don't pick unset values from last defaults section BUG/MINOR: checks: properly handle wrapping time in __health_adjust() BUILD: chunk: properly declare pool_head_trash as extern -- Christopher Faulet