Hi, HAProxy 1.6.15 was released on 2019/10/25. It added 109 new commits after version 1.6.14.
These are essentially the same fixes that went into 1.7.12 (as I said in the other thread, 1.6 and 1.7 were very similar). The last 1.6 was even 3 months older than the latest 1.7, so it's about time to turn it to "critical fixes only" status. I've seen a bunch of 1.6 in field, I know that some are still running at various places (this version is rock solid by now), no need to worry, we can keep it in this state for one or two extra years if needed. Having less fixes to deal with also means easier releases when required. If you're running on 1.6.14 and never faced an issue I'm not even sure it's worth upgrading. The major issues there concern acl/map managements, or traffic patterns that are either easily met or irrelevant to your use case. However if you deploy new instances or maintain packages, better stay on the safe side and deploy the last one. Similarly if you're running on a snapshot, at least you can update to a release now. Please have a look at the changelog below for more details. 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/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 : Aurélien Nephtali (1): CLEANUP: ssl: Remove a duplicated #include Baptiste Assmann (1): BUG/MEDIUM: tcp-check: single connect rule can't detect DOWN servers Christopher Faulet (19): BUG/MEDIUM: buffer: Fix the wrapping case in bo_putblk BUG/MINOR: http: Return an error in proxy mode when url2sa fails BUG/MINOR: checks: Fix check->health computation for flapping servers BUG/MINOR: config: Copy default error messages when parsing of a backend starts BUG/MAJOR: stream-int: Update the stream expiration date in stream_int_notify() BUG/MINOR: check: Wake the check task if the check is finished in wake_srv_chk() BUG/MAJOR: stats: Fix how huge POST data are read from the channel BUG/MINOR: http: Call stream_inc_be_http_req_ctr() only one time per request BUG/MEDIUM: proto-http: Always start the parsing if there is no outgoing data BUG/MINOR: acl: Fix memory leaks when an ACL expression is parsed MINOR: config: Test validity of tune.maxaccept during the config parsing CLEANUP: config: Don't alter listener->maxaccept when nbproc is set to 1 BUG/MEDIUM: hlua: Check the calling direction in lua functions of the HTTP class MINOR: hlua: Don't set request analyzers on response channel for lua actions MINOR: hlua: Add a flag on the lua txn to know in which context it can be used BUG/MINOR: hlua: Only execute functions of HTTP class if the txn is HTTP ready BUG/MINOR: lua: Set right direction and flags on new HTTP objects BUG/MEDIUM: lb-chash: Fix the realloc() when the number of nodes is increased BUG/MEDIUM: lb-chash: Ensure the tree integrity when server weight is increased Cyril Bonté (3): BUG/MINOR: force-persist and ignore-persist only apply to backends DOC: log: more than 2 log servers are allowed BUG/MEDIUM: lua: socket timeouts are not applied David Carlier (1): BUG/MEDIUM: da: cast the chunk to string. Dragan Dosen (2): BUG/MINOR: map: correctly track reference to the last ref_elt being dumped BUG/MEDIUM: 51d: fix possible segfault on deinit_51degrees() Frédéric Lécaille (2): BUG/MINOR: lua: Segfaults with wrong usage of types. BUG/MINOR: lua: Bad HTTP client request duration. Jérôme Magnin (3): DOC: clarify the scope of ssl_fc_is_resumed DOC: Describe routing impact of using interface keyword on bind lines BUG/MINOR: server: don't always trust srv_check_health when loading a server state Kevin Zhu (1): BUG/MINOR: deinit: tcp_rep.inspect_rules not deinit, add to deinit Krisztian Kovacs (1): BUG/MEDIUM: namespace: close open namespaces during soft shutdown Lukas Tribus (3): DOC: don't suggest using http-server-close DOC: fix reference to map files in MAINTAINERS DOC: restore note about "independant" typo Moemen MHEDHBI (1): DOC: Update configuration doc about the maximum number of stick counters. Olivier Houchard (6): BUG/MEDIUM: hlua: Make sure we drain the output buffer when done. BUG/MEDIUM: buffers: Make sure we don't wrap in buffer_insert_line2/replace2. MINOR: server: Use memcpy() instead of strncpy(). MINOR: cfgparse: Write 130 as 128 as 0x82 and 0x80. BUG/MEDIUM: sample: Don't treat SMP_T_METH as SMP_T_STR. BUG/MEDIUM: stream: Don't forget to free s->unique_id in stream_free(). Patrick Hemmer (1): BUG/MEDIUM: lua: reset lua transaction between http requests Ricardo Nabinger Sanchez (1): BUG/MAJOR: checks: segfault during tcpcheck_main Thierry FOURNIER (9): BUG/MINOR: lua: return bad error messages BUG/MEDIUM: lua/socket: Length required read doesn't work MINOR: task/notification: Is notifications registered ? BUG/MEDIUM: lua/socket: wrong scheduling for sockets BUG/MAJOR: lua: Dead lock with sockets BUG/MEDIUM: lua/socket: Notification error BUG/MEDIUM: lua/socket: Sheduling error on write: may dead-lock BUG/MEDIUM: lua/socket: Buffer error, may segfault BUG/MEDIUM: lua: possible CLOSE-WAIT state with '\n' headers Thierry Fournier (3): MINOR/BUILD: fix Lua build on Mac OS X BUG/MINOR: lua: the function returns anything BUG/MINOR: lua funtion hlua_socket_settimeout don't check negative values Tim Duesterhus (13): BUG/MINOR: lua: Fix default value for pattern in Socket.receive DOC: lua: Fix typos in comments of hlua_socket_receive BUG/MINOR: lua: Fix return value of Socket.settimeout CLEANUP: sample: Fix comment encoding of sample.c CLEANUP: sample: Fix outdated comment about sample casts functions BUG/MINOR: sample: Fix output type of c_ipv62ip CLEANUP: Fix typo in ARGT_MSK6 comment BUG/MEDIUM: standard: Fix memory leak in str2ip2() BUG/MAJOR: channel: Fix crash when trying to read from a closed socket BUG/MINOR: stick_table: Prevent conn_cur from underflowing BUG/MEDIUM: compression: Set Vary: Accept-Encoding for compressed responses BUG/MINOR: lua: Properly initialize the buffer's fields for string samples in hlua_lua2(smp|arg) BUG/MINOR: sample: Make the `field` converter compatible with `-m found` William Lallemand (2): BUG/MAJOR: map: fix a segfault when using http-request set-map BUG/MINOR: ssl: abort on sni allocation failure Willy Tarreau (35): BUG/MEDIUM: stream: properly handle client aborts during redispatch BUG/MINOR: poll: too large size allocation for FD events BUG/MINOR: config: don't emit a warning when global stats is incompletely configured BUILD/MINOR: fix Lua build on Mac OS X (again) MINOR: log: stop emitting alerts when it's not possible to write on the socket BUILD/BUG: enable -fno-strict-overflow by default BUG/MINOR: config: disable http-reuse on TCP proxies BUG/MINOR: ssl/lua: prevent lua from affecting automatic maxconn computation BUG/MEDIUM: stream-int: don't immediately enable reading when the buffer was reportedly full BUG/MEDIUM: stats: don't ask for more data as long as we're responding BUG/MINOR: config: stick-table is not supported in defaults section BUG/MEDIUM: queue: prevent a backup server from draining the proxy's connections BUG/MINOR: tools: fix set_net_port() / set_host_port() on IPv4 BUG/MINOR: backend: don't use url_param_name as a hint for BE_LB_ALGO_PH BUG/MINOR: backend: balance uri specific options were lost across defaults BUG/MINOR: backend: BE_LB_LKUP_CHTREE is a value, not a bit BUG/MINOR: stream: don't close the front connection when facing a backend error BUG/MAJOR: config: verify that targets of track-sc and stick rules are present BUG/MINOR: config: make sure to count the error on incorrect track-sc/stick rules BUG/MAJOR: stream: avoid double free on unique_id BUG/MINOR: http/counters: fix missing increment of fe->srv_aborts BUG/MINOR: http-rules: mention "deny_status" for "deny" in the error message BUG/MEDIUM: http: also reject messages where "chunked" is missing from transfer-enoding BUG/MEDIUM: tcp-check: unbreak multiple connect rules again BUILD: makefile: work around an old bug in GNU make-3.80 BUILD: makefile: use :space: instead of digits to count commits BUILD: makefile: do not rely on shell substitutions to determine git version BUG/MEDIUM: pattern: assign pattern IDs after checking the config validity BUG/MEDIUM: maps: only try to parse the default value when it's present BUG/MINOR: acl: properly detect pattern type SMP_T_ADDR BUG/MAJOR: map/acl: real fix segfault during show map/acl on CLI DOC: improve the wording in CONTRIBUTING about how to document a bug fix BUILD/MINOR: ssl: silence a build warning about const and 'cipher' BUG/MEDIUM: vars: make sure the scope is always valid when accessing vars BUG/MINOR: stick-table: fix an incorrect 32 to 64 bit key conversion sada (1): BUG/MINOR: lua: Socket.send threw runtime error: 'close' needs 1 arguments. ---