[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