tree 2509dc0e83da3e22e62cd538f6cf0d5f802a088d
parent 417f362cc6652cb9e56f2d041ddd79ba97607658
author Christopher Faulet <cfaulet@haproxy.com> 1686316205 +0200
committer Christopher Faulet <cfaulet@haproxy.com> 1686316205 +0200

[RELEASE] Released version 2.4.23

Released version 2.4.23 with the following main changes :
    - DEV: hpack: fix `trash` build regression
    - BUG/MINOR: ssl: ssl-(min|max)-ver parameter not duplicated for bundles in crt-list
    - BUG/MINOR: mworker: stop doing strtok directly from the env
    - BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
    - MINOR: startup: HAPROXY_STARTUP_VERSION contains the version used to start
    - BUG/MINOR: sched: properly report long_rq when tasks remain in the queue
    - BUG/MEDIUM: sched: allow a bit more TASK_HEAVY to be processed when needed
    - BUG/MINOR: mworker: prevent incorrect values in uptime
    - BUG/MINOR: cache: Cache response even if request has "no-cache" directive
    - BUG/MINOR: cache: Check cache entry is complete in case of Vary
    - BUG/MINOR: ring: do not realign ring contents on resize
    - DOC: config: Fix description of options about HTTP connection modes
    - DOC: config: Add the missing tune.fail-alloc option from global listing
    - DOC: config: Clarify the meaning of 'hold' in the 'resolvers' section
    - BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body
    - BUG/MINOR: http-check: Skip C-L header for empty body when it's not mandatory
    - BUG/MINOR: http-ana: Do a L7 retry on read error if there is no response
    - BUG/MINOR: ssl: Use 'date' instead of 'now' in ocsp stapling callback
    - BUG/MINOR: init: properly detect NUMA bindings on large systems
    - BUG/MINOR: init: make sure to always limit the total number of threads
    - DOC/CLEANUP: fix typos
    - BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it
    - BUG/MEDIUM: listener: duplicate inherited FDs if needed
    - BUG/MEDIUM: spoe: Don't set the default traget for the SPOE agent frontend
    - BUG/MINOR: proto_ux: report correct error when bind_listener fails
    - BUG/MINOR: protocol: fix minor memory leak in protocol_bind_all()
    - BUG/MINOR: sock_unix: match finalname with tempname in sock_unix_addrcmp()
    - BUG/MEDIUM: connection: Clear flags when a conn is removed from an idle list
    - BUG/MEDIUM: connection: Preserve flags when a conn is removed from an idle list
    - BUG/MEDIUM: mux-h2: erase h2c->wait_event.tasklet on error path
    - BUG/MEDIUM: mux-h1: Wakeup H1C on shutw if there is no I/O subscription
    - BUILD: da: extends CFLAGS to support API v3 from 3.1.7 and onwards.
    - MINOR: proxy/pool: prevent unnecessary calls to pool_gc()
    - DOC: config: strict-sni allows to start without certificate
    - BUG/MEDIUM: channel: Improve reports for shut in co_getblk()
    - BUG/MEDIUM: dns: Properly handle error when a response consumed
    - MINOR: proxy: check if p is NULL in free_proxy()
    - BUG/MINOR: sink: free forward_px on deinit()
    - BUG/MINOR: log: free log forward proxies on deinit()
    - BUG/MINOR: hlua: enforce proper running context for register_x functions
    - CLEANUP: hlua: fix conflicting comment in hlua_ctx_destroy()
    - BUG/MEDIUM: resolvers: Force the connect timeout for DNS resolutions
    - BUG/MINOR: stick_table: alert when type len has incorrect characters
    - CI: bump "actions/checkout" to v3 for cross zoo matrix
    - REGTESTS: fix the race conditions in log_uri.vtc
    - BUG/MEDIUM: log: Properly handle client aborts in syslog applet
    - CLEANUP: backend: Remove useless debug message in assign_server()
    - BUG/MINOR: cfgparse: make sure to include openssl-compat
    - BUG/MEDIUM: proxy/sktable: prevent watchdog trigger on soft-stop
    - BUG/MEDIUM: Update read expiration date on synchronous send
    - BUG/MINOR: mux-h2: make sure to produce a log on invalid requests
    - MINOR: checks: make sure spread-checks is used also at boot time
    - MINOR: clock: measure the total boot time
    - BUG/MINOR: checks: postpone the startup of health checks by the boot time
    - BUG/MINOR: clock: fix the boot time measurement method for 2.6 and older
    - BUG/MINOR: tcp-rules: Don't shortened the inspect-delay when EOI is set
    - DOC: config: Clarify conditions to shorten the inspect-delay for TCP rules
    - DOC: add size format section to manual
    - DOC/MINOR: config: Fix typo in description for `ssl_bc` in configuration.txt
    - BUG/MINOR: hlua: unsafe hlua_lua2smp() usage
    - SCRIPTS: publish-release: update the umask to keep group write access
    - BUG/MINOR: log: fix memory error handling in parse_logsrv()
    - BUG/MINOR: proxy: missing free in free_proxy for redirect rules
    - MINOR: spoe: Don't stop disabled proxies
    - BUILD: mjson: Fix warning about unused variables
    - BUG/MINOR: debug: do not emit empty lines in thread dumps
    - BUG/MEDIUM: spoe: Don't start new applet if there are enough idle ones
    - CI: switch to Fastly CDN to download LibreSSL
    - BUILD: ssl: switch LibreSSL to Fastly CDN
    - BUG/MINOR: server: incorrect report for tracking servers leaving drain
    - MINOR: server: explicitly commit state change in srv_update_status()
    - BUG/MINOR: server: don't miss proxy stats update on server state transitions
    - BUG/MINOR: server: don't miss server stats update on server state transitions
    - BUG/MINOR: server: don't use date when restoring last_change from state file
    - CI: cirrus-ci: bump FreeBSD image to 13-1
    - BUG/MEDIUM: filters: Don't deinit filters for disabled proxies during startup
    - MINOR: proxy: add http_free_redirect_rule() function
    - BUG/MINOR: http_rules: fix errors paths in http_parse_redirect_rule()
    - DOC: config: Fix bind/server/peer documentation in the peers section
    - CONTRIB: Add vi file extensions to .gitignore
    - BUG/MINOR: spoe: Only skip sending new frame after a receive attempt
    - BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line
    - BUG/MINOR: proxy: add missing interface bind free in free_proxy
