tree 071dde6a41ef0a8748899b01bae7855b6ec6b40c
parent 6256aaa14bbb0fa5337f7c7c15a2a97c71e71507
author Christopher Faulet <cfaulet@haproxy.com> 1664369509 +0200
committer Christopher Faulet <cfaulet@haproxy.com> 1664369509 +0200

[RELEASE] Released version 2.4.19

Released version 2.4.19 with the following main changes :
    - BUG/MEDIUM: mworker: use default maxconn in wait mode
    - MINOR: http: Add function to get port part of a host
    - MINOR: http: Add function to detect default port
    - BUG/MEDIUM: h1: Improve authority validation for CONNCET request
    - MINOR: http-htx: Use new HTTP functions for the scheme based normalization
    - MINOR: ebtree: add ebmb_lookup_shorter() to pursue lookups
    - BUG/MEDIUM: pattern: only visit equivalent nodes when skipping versions
    - MINOR: peers: Use a dedicated reconnect timeout when stopping the local peer
    - BUG/MEDIUM: peers: limit reconnect attempts of the old process on reload
    - BUG/MINOR: peers: Use right channel flag to consider the peer as connected
    - BUG/MEDIUM: dns: Properly initialize new DNS session
    - MINOR: server: Constify source server to copy its settings
    - REORG: server: Export srv_settings_cpy() function
    - BUG/MEDIUM: proxy: Perform a custom copy for default server settings
    - BUG/MINOR: ring/cli: fix a race condition between the writer and the reader
    - BUG/MINOR: sink: fix a race condition between the writer and the reader
    - BUILD: cfgparse: always defined _GNU_SOURCE for sched.h and crypt.h
    - BUG/MEDIUM: poller: use fd_delete() to release the poller pipes
    - BUG/MEDIUM: task: relax one thread consistency check in task_unlink_wq()
    - BUILD: debug: silence warning on gcc-5
    - BUG/MEDIUM: ring: fix too lax 'size' parser
    - BUILD: http: silence an uninitialized warning affecting gcc-5
    - BUG/MEDIUM: http-ana: fix crash or wrong header deletion by http-restrict-req-hdr-names
    - BUG/MEDIUM: mux-h2: do not fiddle with ->dsi to indicate demux is idle
    - BUG/MAJOR: log-forward: Fix log-forward proxies not fully initialized
    - BUG/MAJOR: mworker: fix infinite loop on master with no proxies.
    - BUG/MINOR: resolvers: return the correct value in resolvers_finalize_config()
    - BUG/MINOR: tcpcheck: Disable QUICKACK only if data should be sent after connect
    - REGTESTS: Fix prometheus script to perform HTTP health-checks
    - DOC: configuration: do-resolve doesn't work with a port in the string
    - BUG/MEDIUM: spoe: Properly update streams waiting for a ACK in async mode
    - BUG/MEDIUM: peers: Add connect and server timeut to peers proxy
    - BUG/MEDIUM: peers: Don't use resync timer when local resync is in progress
    - BUG/MEDIUM: peers: Don't start resync on reload if local peer is not up-to-date
    - BUG/MINOR: hlua: Rely on CF_EOI to detect end of message in HTTP applets
    - BUG/MINOR: tcpcheck: Disable QUICKACK for default tcp-check (with no rule)
    - BUG/MEDIUM: mux-h1: do not refrain from signaling errors after end of input
    - REGTESTS: http_request_buffer: Add a barrier to not mix up log messages
    - BUG/MEDIUM: mux-h1: always use RST to kill idle connections in pools
    - BUG/MINOR: mux-h2: fix the "show fd" dest buffer for the subscriber
    - BUG/MINOR: mux-h1: fix the "show fd" dest buffer for the subscriber
    - BUG/MINOR: mux-fcgi: fix the "show fd" dest buffer for the subscriber
    - BUG/MINOR: regex: Properly handle PCRE2 lib compiled without JIT support
    - BUILD: makefile: enable crypt(3) for NetBSD
    - BUG/MINOR: h1: Support headers case adjustment for TCP proxies
    - BUG/MINOR: task: always reset a new tasklet's call date
    - BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals
    - BUG/MINOR: signals/poller: ensure wakeup from signals
    - CI: cirrus-ci: bump FreeBSD image to 13-1
    - BUG/MEDIUM: proxy: ensure pause_proxy() and resume_proxy() own PROXY_LOCK
    - MINOR: listener: small API change
    - BUG/MINOR: stats: fixing stat shows disabled frontend status as 'OPEN'
    - REGTESTS: healthcheckmail: Relax matching on the healthcheck log message
    - REGTESTS: log: test the log-forward feature
    - BUG/MEDIUM: sink: bad init sequence on tcp sink from a ring.
    - REGTESTS: ssl/log: test the log-forward with SSL
    - DOC: fix TOC in starter guide for subsection 3.3.8. Statistics
    - BUG/MEDIUM: captures: free() an error capture out of the proxy lock
    - BUILD: fd: fix a build warning on the DWCAS
    - SCRIPTS: announce-release: update some URLs to https
    - BUG/MINOR: log: improper behavior when escaping log data
    - REGTESTS: 4be_1srv_smtpchk_httpchk_layer47errors: Return valid SMTP replies
    - BUG/MEDIUM: resolvers: Remove aborted resolutions from query_ids tree
