tree ccf16b5e15c0c27dd86438392214e5453c561e38
parent 476f3049a6cc563a4a173fe2e35d373909e0eb1d
author Christopher Faulet <cfaulet@haproxy.com> 1651241048 +0200
committer Christopher Faulet <cfaulet@haproxy.com> 1651241048 +0200

[RELEASE] Released version 2.4.16

Released version 2.4.16 with the following main changes :
    - BUG/MINOR: tools: fix url2sa return value with IPv4
    - BUG/MINOR: server/ssl: free the SNI sample expression
    - CI: github actions: switch to LibreSSL-3.5.1
    - BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf
    - BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner
    - MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1
    - DOC: config: Explictly add supported MQTT versions
    - BUG/MINOR: tools: url2sa reads too far when no port nor path
    - BUG/MEDIUM: mux-fcgi: Properly handle return value of headers/trailers parsing
    - BUG/MEDIUM: mux-h1: Properly detect full buffer cases during message parsing
    - BUG/MEDIUM: stream-int: do not rely on the connection error once established
    - MEDIUM: mux-h2: slightly relax timeout management rules
    - BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts
    - DOC: reflect H2 timeout changes
    - BUG/MINOR: samples: add missing context names for sample fetch functions
    - BUG/MINOR: cli/stream: fix "shutdown session" to iterate over all threads
    - BUG/MAJOR: mux_pt: always report the connection error to the conn_stream
    - CI: github actions: update OpenSSL to 3.0.2
    - BUG/MINOR: fcgi-app: Don't add C-L header on response to HEAD requests
    - BUG/MEDIUM: stats: Be sure to never set EOM flag on an empty HTX message
    - BUG/MEDIUM: hlua: Don't set EOM flag on an empty HTX message in HTTP applet
    - BUG/MEDIUM: promex: Be sure to never set EOM flag on an empty HTX message
    - BUG/MEDIUM: mux-h1: Set outgoing message to DONE when payload length is reached
    - BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples
    - BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid
    - BUG/MINOR: opentracing: setting the return value in function flt_ot_var_set()
    - EXAMPLES: opentracing: refined shell scripts for testing filter performance
    - DOC: opentracing: corrected comments in function descriptions
    - CLEANUP: opentracing: removed unused function flt_ot_var_unset()
    - CLEANUP: opentracing: removed unused function flt_ot_var_get()
    - CLEANUP: opentracing: added flt_ot_smp_init() function
    - CLEANUP: opentracing: added variable to store variable length
    - DEBUG: opentracing: show return values of all functions in the debug output
    - CI: Update to actions/checkout@v3
    - CI: Update to actions/cache@v3
    - CI: cirrus: switch to FreeBSD-13.0
    - BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent
    - BUG/MINOR: cache: do not display expired entries in "show cache"
    - BUILD: debug: mark the __start_mem_stats/__stop_mem_stats symbols as weak
    - BUG/MINOR: mux-h2: do not use timeout http-keep-alive on backend side
    - BUG/MINOR: mux-h2: use timeout http-request as a fallback for http-keep-alive
    - BUG/MEDIUM: mux-h1: Don't request more room on partial trailers
    - BUILD: sched: workaround crazy and dangerous warning in Clang 14
    - BUILD: compiler: use a more portable set of asm(".weak") statements
    - BUG/MEDIUM: stream: do not abort connection setup too early
    - BUG/MEDIUM: fcgi-app: Use http_msg flags to know if C-L header can be added
    - BUG/MEDIUM: compression: Don't forget to update htx_sl and http_msg flags
    - SCRIPTS: announce-release: update the doc's URL
    - DOC: lua: update a few doc URLs
    - SCRIPTS: announce-release: add shortened links to pending issues
    - BUG/MINOR: cache: Disable cache if applet creation fails
    - BUG/MAJOR: connection: Never remove connection from idle lists outside the lock
    - DOC: remove my name from the config doc
    - BUG/MINOR: rules: Fix check_capture() function to use the right rule arguments
    - MINOR: task: add a new task_instant_wakeup() function
    - MEDIUM: queue: use tasklet_instant_wakeup() to wake tasks
    - REGTESTS: fix the race conditions in be2dec.vtc ad field.vtc
    - BUILD: compiler: properly distinguish weak and global symbols
    - BUG/MINOR: resolvers: Fix memory leak in resolvers_deinit()
    - BUG/MINOR: pools: make sure to also destroy shared pools in pool_destroy_all()
    - CLEANUP: acl: Remove unused variable when releasing an acl expression
    - BUILD: fd: remove unused variable totlen in fd_write_frag_line()
    - BUILD: sockpair: do not set unused flag
    - BUILD: proto_uxst: do not set unused flag
    - BUILD: opentracing: Fix OT build due to misuse of var_clear()
