From: Christopher Faulet Date: Tue, 16 Mar 2021 14:49:34 +0000 (+0100) Subject: [RELEASE] Released version 2.3.7 X-Git-Tag: v2.3.7^0 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=2d39ce334654fae7760f8708d50477150e7af87c;p=haproxy-2.3.git [RELEASE] Released version 2.3.7 Released version 2.3.7 with the following main changes : - BUG/MINOR: backend: fix condition for reuse on mode HTTP - BUG/MINOR: hlua: Don't strip last non-LWS char in hlua_pushstrippedstring() - BUG/MINOR: ssl: don't truncate the file descriptor to 16 bits in debug mode - REORG: atomic: reimplement pl_cpu_relax() from atomic-ops.h - BUG/MINOR: mt-list: always perform a cpu_relax call on failure - MINOR: atomic: add armv8.1-a atomics variant for cas-dw - MINOR: atomic: implement a more efficient arm64 __ha_cas_dw() using pairs - BUG/MEDIUM: session: NULL dereference possible when accessing the listener - MINOR: tasks: refine the default run queue depth - MINOR: listener: refine the default MAX_ACCEPT from 64 to 4 - OPTIM: server: switch the actconn list to an mt-list - MINOR: server: move actconns to the per-thread structure - MINOR: lb/api: let callers of take_conn/drop_conn tell if they have the lock - OPTIM: lb-first: do not take the server lock on take_conn/drop_conn - OPTIM: lb-leastconn: do not take the server lock on take_conn/drop_conn - OPTIM: lb-leastconn: do not unlink the server if it did not change - MINOR: dynbuf: make the buffer wait queue per thread - MINOR: dynbuf: use regular lists instead of mt_lists for buffer_wait - MINOR: dynbuf: pass offer_buffers() the number of buffers instead of a threshold - MINOR: stream: add an "epoch" to figure which streams appeared when - MINOR: cli/streams: make "show sess" dump all streams till the new epoch - MINOR: streams: use one list per stream instead of a global one - MEDIUM: streams: do not use the streams lock anymore - MEDIUM: pools: add CONFIG_HAP_NO_GLOBAL_POOLS and CONFIG_HAP_GLOBAL_POOLS - MINOR: pools: double the local pool cache size to 1 MB - MEDIUM: backend: use a trylock when trying to grab an idle connection - MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY - MINOR: ssl: mark the SSL handshake tasklet as heavy - BUG/MEDIUM: ssl: properly remove the TASK_HEAVY flag at end of handshake - MINOR: task: add an application specific flag to the state: TASK_F_USR1 - MEDIUM: muxes: mark idle conns tasklets with TASK_F_USR1 - MINOR: xprt: add new xprt_set_idle and xprt_set_used methods - MEDIUM: ssl: implement xprt_set_used and xprt_set_idle to relax context checks - MEDIUM: task: remove the tasks_run_queue counter and have one per thread - MINOR: task: give the scheduler a bit more flexibility in the runqueue size - OPTIM: task: automatically adjust the default runqueue-depth to the threads - BUG/MEDIUM: stick-tables: fix ref counter in table entry using multiple http tracksc. - BUILD: atomic/arm64: force the register pairs to use in __ha_cas_dw() - BUG/MEDIUM: filters: Set CF_FL_ANALYZE on channels when filters are attached - BUG/MINOR: tcpcheck: Update .health threshold of agent inside an agent-check - BUG/MINOR: proxy/session: Be sure to have a listener to increment its counters - BUG/MINOR: session: Add some forgotten tests on session's listener - BUG/MINOR: tcpcheck: Fix double free on error path when parsing tcp/http-check - CLEANUP: tcp-rules: add missing actions in the tcp-request error message - Revert "BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record" - BUG/MINOR: resolvers: Consider server to have no IP on DNS resolution error - BUG/MINOR: resolvers: Reset server address on DNS error only on status change - BUG/MINOR: resolvers: Unlink DNS resolution to set RMAINT on SRV resolution - BUG/MEDIUM: resolvers: Don't set an address-less server as UP - BUG/MEDIUM: resolvers: Fix the loop looking for an existing ADD item - MINOR: resolvers: new function find_srvrq_answer_record() - BUG/MINOR; resolvers: Ignore DNS resolution for expired SRV item - BUG/MEDIUM: resolvers: Trigger a DNS resolution if an ADD item is obsolete - MINOR: resolvers: Use a function to remove answers attached to a resolution - MINOR: resolvers: Purge answer items when a SRV resolution triggers an error - MINOR: resolvers: Add function to change the srv status based on SRV resolution - MINOR: resolvers: Directly call srvrq_update_srv_state() when possible - BUG/MEDIUM: resolvers: Don't release resolution from a requester callbacks - BUG/MEDIUM: resolvers: Skip DNS resolution at startup if SRV resolution is set - MINOR: resolvers: Use milliseconds for cached items in resolver responses - MINOR: resolvers: Don't try to match immediatly renewed ADD items - BUG/MINOR: resolvers: Add missing case-insensitive comparisons of DNS hostnames --- diff --git a/CHANGELOG b/CHANGELOG index 3f43f48..9010e01 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,70 @@ ChangeLog : =========== +2021/03/16 : 2.3.7 + - BUG/MINOR: backend: fix condition for reuse on mode HTTP + - BUG/MINOR: hlua: Don't strip last non-LWS char in hlua_pushstrippedstring() + - BUG/MINOR: ssl: don't truncate the file descriptor to 16 bits in debug mode + - REORG: atomic: reimplement pl_cpu_relax() from atomic-ops.h + - BUG/MINOR: mt-list: always perform a cpu_relax call on failure + - MINOR: atomic: add armv8.1-a atomics variant for cas-dw + - MINOR: atomic: implement a more efficient arm64 __ha_cas_dw() using pairs + - BUG/MEDIUM: session: NULL dereference possible when accessing the listener + - MINOR: tasks: refine the default run queue depth + - MINOR: listener: refine the default MAX_ACCEPT from 64 to 4 + - OPTIM: server: switch the actconn list to an mt-list + - MINOR: server: move actconns to the per-thread structure + - MINOR: lb/api: let callers of take_conn/drop_conn tell if they have the lock + - OPTIM: lb-first: do not take the server lock on take_conn/drop_conn + - OPTIM: lb-leastconn: do not take the server lock on take_conn/drop_conn + - OPTIM: lb-leastconn: do not unlink the server if it did not change + - MINOR: dynbuf: make the buffer wait queue per thread + - MINOR: dynbuf: use regular lists instead of mt_lists for buffer_wait + - MINOR: dynbuf: pass offer_buffers() the number of buffers instead of a threshold + - MINOR: stream: add an "epoch" to figure which streams appeared when + - MINOR: cli/streams: make "show sess" dump all streams till the new epoch + - MINOR: streams: use one list per stream instead of a global one + - MEDIUM: streams: do not use the streams lock anymore + - MEDIUM: pools: add CONFIG_HAP_NO_GLOBAL_POOLS and CONFIG_HAP_GLOBAL_POOLS + - MINOR: pools: double the local pool cache size to 1 MB + - MEDIUM: backend: use a trylock when trying to grab an idle connection + - MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY + - MINOR: ssl: mark the SSL handshake tasklet as heavy + - BUG/MEDIUM: ssl: properly remove the TASK_HEAVY flag at end of handshake + - MINOR: task: add an application specific flag to the state: TASK_F_USR1 + - MEDIUM: muxes: mark idle conns tasklets with TASK_F_USR1 + - MINOR: xprt: add new xprt_set_idle and xprt_set_used methods + - MEDIUM: ssl: implement xprt_set_used and xprt_set_idle to relax context checks + - MEDIUM: task: remove the tasks_run_queue counter and have one per thread + - MINOR: task: give the scheduler a bit more flexibility in the runqueue size + - OPTIM: task: automatically adjust the default runqueue-depth to the threads + - BUG/MEDIUM: stick-tables: fix ref counter in table entry using multiple http tracksc. + - BUILD: atomic/arm64: force the register pairs to use in __ha_cas_dw() + - BUG/MEDIUM: filters: Set CF_FL_ANALYZE on channels when filters are attached + - BUG/MINOR: tcpcheck: Update .health threshold of agent inside an agent-check + - BUG/MINOR: proxy/session: Be sure to have a listener to increment its counters + - BUG/MINOR: session: Add some forgotten tests on session's listener + - BUG/MINOR: tcpcheck: Fix double free on error path when parsing tcp/http-check + - CLEANUP: tcp-rules: add missing actions in the tcp-request error message + - Revert "BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record" + - BUG/MINOR: resolvers: Consider server to have no IP on DNS resolution error + - BUG/MINOR: resolvers: Reset server address on DNS error only on status change + - BUG/MINOR: resolvers: Unlink DNS resolution to set RMAINT on SRV resolution + - BUG/MEDIUM: resolvers: Don't set an address-less server as UP + - BUG/MEDIUM: resolvers: Fix the loop looking for an existing ADD item + - MINOR: resolvers: new function find_srvrq_answer_record() + - BUG/MINOR; resolvers: Ignore DNS resolution for expired SRV item + - BUG/MEDIUM: resolvers: Trigger a DNS resolution if an ADD item is obsolete + - MINOR: resolvers: Use a function to remove answers attached to a resolution + - MINOR: resolvers: Purge answer items when a SRV resolution triggers an error + - MINOR: resolvers: Add function to change the srv status based on SRV resolution + - MINOR: resolvers: Directly call srvrq_update_srv_state() when possible + - BUG/MEDIUM: resolvers: Don't release resolution from a requester callbacks + - BUG/MEDIUM: resolvers: Skip DNS resolution at startup if SRV resolution is set + - MINOR: resolvers: Use milliseconds for cached items in resolver responses + - MINOR: resolvers: Don't try to match immediatly renewed ADD items + - BUG/MINOR: resolvers: Add missing case-insensitive comparisons of DNS hostnames + 2021/03/03 : 2.3.6 - MINOR: check: do not ignore a connection header for http-check send - BUILD: ssl: fix typo in HAVE_SSL_CTX_ADD_SERVER_CUSTOM_EXT macro diff --git a/VERDATE b/VERDATE index c4a14e6..178dadf 100644 --- a/VERDATE +++ b/VERDATE @@ -1,2 +1,2 @@ $Format:%ci$ -2021/03/03 +2021/03/16 diff --git a/VERSION b/VERSION index e75da3e..00355e2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.3.6 +2.3.7 diff --git a/doc/configuration.txt b/doc/configuration.txt index 56a2f3e..3170efa 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -4,7 +4,7 @@ ---------------------- version 2.3 willy tarreau - 2021/03/03 + 2021/03/16 This document covers the configuration language as implemented in the version