Hi,

HAProxy 2.7-dev7 was released on 2022/10/03. It added 62 new commits
after version 2.7-dev6.

This is another quiet release, which could be encouraging when we think
that we're probably less than 2 months from the release now, but there's
still some work left to be done in various areas.

The usual bunch of bugs were addressed (resolvers crashing, a few QUIC
issues, idle connections to servers failing to be reused on 32-bit
machines due to an alignment issue, some minor issues in Lua, logging,
HTTP/1 and checks).

The master CLI is now passed over the new master process so that it can
provide a status back upon reload. That allows not only the caller to
wait for a reload to complete, but also to know if it worked well. Note
that the output format is not definitive, we discussed a small change to
allow it to be slightly more future-proof. But that's just a matter of
what the line will look like so that's pretty minor.

The CLI output anonymization work was slightly improved (better arrangement
of commands now all under "set anon" / "show anon", some more fields are
encoded and some well-known address schemes are recognized and left as-is,
such as "stdout", "sockpair@" or "fd@"). The anonymized config file was
improved similarly. It's now possible from -dC to indicate whether or not
the output wants line numbers.

The clock synchronization between threads could take a lot of CPU when
using many threads, and this was improved as well, pushing the upper limit
from 7.3M to 66M event loops per second on a 48 threads machine.

The SMTP check now sends a QUIT command to save some servers from logging
an error.

The "lua-load" and "lua-load-per-thread" directives now support passing
optional arguments after the script's name. This long-awaited feature
will allow to pass initial settings, timeouts, IP addresses or whatever
from the config itself without having to either modify the script each
time, nor hacking around environment variables.

There are still a few pending issues with/without patches in progress, but
I didn't want them to hold the release (some Lua stuff from Aurélien,
Olivier and Thierry, an issue in the FD layer where a shutdown is sometimes
upgraded to an error making some checks fail, the idle_conns pool that needs
to be moved per-thread group, etc. Nothing dramatic but that will need to
be addressed anyway. Overall it's looking fine.

Please find the usual URLs below :
   Site index       : https://www.haproxy.org/
   Documentation    : https://docs.haproxy.org/
   Wiki             : https://github.com/haproxy/wiki/wiki
   Discourse        : https://discourse.haproxy.org/
   Slack channel    : https://slack.haproxy.org/
   Issue tracker    : https://github.com/haproxy/haproxy/issues
   Sources          : https://www.haproxy.org/download/2.7/src/
   Git repository   : https://git.haproxy.org/git/haproxy.git/
   Git Web browsing : https://git.haproxy.org/?p=haproxy.git
   Changelog        : https://www.haproxy.org/download/2.7/src/CHANGELOG
   Pending bugs     : https://www.haproxy.org/l/pending-bugs
   Reviewed bugs    : https://www.haproxy.org/l/reviewed-bugs
   Code reports     : https://www.haproxy.org/l/code-reports
   Latest builds    : https://www.haproxy.org/l/dev-packages

Willy
---
Complete changelog :
Amaury Denoyelle (6):
      BUG/MEDIUM: mux-quic: fix nb_hreq decrement
      BUG/MINOR: mux-quic: do not keep detached qcs with empty Tx buffers
      REORG: mux-quic: extract traces in a dedicated source file
      REORG: mux-quic: export HTTP related function in a dedicated file
      MINOR: mux-quic: refactor snd_buf
      BUG/MEDIUM: mux-quic: properly trim HTX buffer on snd_buf reset

Aurelien DARRAGON (10):
      BUG/MINOR: log: improper behavior when escaping log data
      CLEANUP: tools: removing escape_chunk() function
      MINOR: list: documenting mt_list_for_each_entry_safe() macro
      BUG/MINOR: hlua: fixing ambiguous sizeof in hlua_load_per_thread
      BUG/MINOR: hlua: fixing hlua_http_msg_del_data behavior
      BUG/MINOR: hlua: fixing hlua_http_msg_insert_data behavior
      BUG/MINOR: hlua: _hlua_http_msg_delete incorrect behavior when offset is 
used
      BUG/MINOR: hlua: prevent crash when loading numerous arguments using 
lua-load(per-thread)
      DOC/CLEANUP: lua-api: removing duplicate date functions doc
      MINOR: hlua: ambiguous lua_pushvalue with 0 index

Christopher Faulet (10):
      BUG/MINOR: mux-h1: Account consumed output data on synchronous connection 
error
      REGTESTS: 4be_1srv_smtpchk_httpchk_layer47errors: Return valid SMTP 
replies
      MINOR: smtpchk: Update expect rule to fully match replies to EHLO commands
      CLEANUP: list: Fix mt_list_for_each_entry_safe indentation
      BUG/MINOR: stream: Perform errors handling in right order in stream_new()
      BUG/MEDIUM: stconn: Reset SE descriptor when we fail to create a stream
      BUG/MEDIUM: resolvers: Remove aborted resolutions from query_ids tree
      Revert "BUG/MINOR: config: don't count trailing spaces as empty arg"
      MINOR: tools: Impprove hash_ipanon to support dgram sockets and port 
offsets
      MINOR: tools: Impprove hash_ipanon to not hash FD-based addresses

Erwan Le Goas (12):
      BUG/MINOR: anon: memory illegal accesses in tools.c with hash_anon and 
hash_ipanon
      BUG/MINOR: config: don't count trailing spaces as empty arg
      MINOR: cli: Add anonymization on a missed element for 'show sess all'
      MINOR: cli: remove error message with 'set anon on|off'
      MINOR: tools: modify hash_ipanon in order to use it in cli
      MINOR: cli: use hash_ipanon to anonymized address
      MINOR: cli: Add an anonymization on a missed element in 'show server 
state'
      MINOR: config: correct errors about argument number in condition in 
cfgparse.c
      MINOR: config: Add other keywords when dump the anonymized configuration 
file
      MINOR: config: Add option line when the configuration file is dumped
      MINOR: cli: correct commentary and replace 'set global-key' name
      BUG/MINOR: config: don't count trailing spaces as empty arg (v2)

Miroslav Zagorac (2):
      CLEANUP: httpclient: deleted unused variables
      MINOR: httpclient: enabled the use of SNI presets

Thierry Fournier (3):
      BUG/MINOR: hlua: Remove \n in Lua error message built with memprintf
      MINOR: hlua: Allow argument on lua-lod(-per-thread) directives
      BUG/MINOR: config: insufficient syntax check of the global "maxconn" value

William Lallemand (10):
      MEDIUM: mworker/cli: keep the connection of the FD that ask for a reload
      MINOR: mworker/cli: replace close() by fd_delete()
      MINOR: mworker: store and shows loading status
      MINOR: mworker: mworker_cli_proxy_new_listener() returns a bind_conf
      MINOR: mworker: stores the mcli_reload bind_conf
      MINOR: mworker/cli: the mcli_reload bind_conf only send the reload status
      DOC: management: describe the new reload command behavior
      DOC: management: add timeout on the "reload" command
      BUG/MINOR: ring: fix the size check in ring_make_from_area()
      DOC: management: httpclient can resolve server names in URLs

Willy Tarreau (8):
      OPTIM: hpack-huff: reduce the cache footprint of the huffman decoder
      MINOR: clock: split local and global date updates
      MINOR: pollers: only update the local date during busy polling
      MINOR: clock: do not update the global date too often
      CLEANUP: list: fix again some style issues in the recent comments
      BUG/MEDIUM: config: count line arguments without dereferencing the output
      BUG/MAJOR: conn-idle: fix hash indexing issues on idle conns
      BUG/MINOR: backend: only enforce turn-around state when not redispatching

wrightlaw (1):
      BUG/MINOR: smtpchk: SMTP Service check should gracefully close SMTP 
transaction

---

Reply via email to