Hi,
HAProxy 2.3-dev1 was released on 2020/07/17. It added 60 new commits
after version 2.3-dev0.
A few bugs were addressed, as usual, not as scary as they may look like,
to be honest, since it seems unlikely most people will meet them. One of
them may cause a crash that Tim recently met, but we're unsure about the
conditions needed to trigger it, so let's not rush a 2.2 release yet!
For the main visible changes, I can cite:
- new configurable TCP keep-alive interval/probes/count (MIZUTA Takeshi)
- more deinit cleanups to make valgrind happier (Tim Düsterhus)
- "strict-limits" now defaults to "on" so that you'll now get a startup
error if you configure too large a maxconn for your system's limits
instead of experiencing the error once at full load (William Dauchy)
- syslog load balancing (Emeric Brun) : there is now a new "log-forward"
section which listens to UDP syslog and rebalances it to other log
servers, possibly performing a format translation on the fly. This
can both duplicate and load-balance (thanks to the sampling feature),
allowing to, for example, forward over TCP and stderr what's received
over UDP. Please have a look at the example in the doc, it's self
explanatory. This opens the door to future improvements such as
receiving over TCP as well, and/or routing on certain fields and/or
masking/rewriting certain fields (e.g. user names, passwords or credit
card numbers).
And the rest is mostly internal stuff.
We'll try to emit more frequent -dev releases from now on, typically
every 2 weeks, as the end of the 2.2 cycle showed that it improves accuracy
in bug reports, brings less risks to users, and shortens the time needed to
write the announcement :-)
Please find the usual URLs below :
Site index : http://www.haproxy.org/
Discourse : http://discourse.haproxy.org/
Slack channel : https://slack.haproxy.org/
Issue tracker : https://github.com/haproxy/haproxy/issues
Sources : http://www.haproxy.org/download/2.3/src/
Git repository : http://git.haproxy.org/git/haproxy.git/
Git Web browsing : http://git.haproxy.org/?p=haproxy.git
Changelog : http://www.haproxy.org/download/2.3/src/CHANGELOG
Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/
Willy
---
Complete changelog :
Christopher Faulet (20):
BUG/MEDIUM: mux-h2: Don't add private connections in available connection
list
BUG/MEDIUM: mux-fcgi: Don't add private connections in available
connection list
MINOR: connection: Set the SNI on server connections before installing
the mux
MINOR: connection: Set new connection as private on reuse never
MINOR: connection: Add a wrapper to mark a connection as private
MEDIUM: connection: Add private connections synchronously in session
server list
MINOR: connection: Use a dedicated function to look for a session's
connection
MINOR: connection: Set the conncetion target during its initialisation
MINOR: session: Take care to decrement idle_conns counter in
session_unown_conn
MINOR: server: Factorize code to deal with reuse of server idle
connections
MINOR: server: Factorize code to deal with connections removed from an
idle list
CLEANUP: connection: remove unused field idle_time from the connection
struct
BUG/MEDIUM: mux-h1: Continue to process request when switching in tunnel
mode
MINOR: raw_sock: Report the number of bytes emitted using the splicing
MINOR: contrib/prometheus-exporter: Add missing global and per-server
metrics
MINOR: backend: Add sample fetches to get the server's weight
BUG/MINOR: mux-fcgi: Handle empty STDERR record
BUG/MINOR: mux-fcgi: Set conn state to RECORD_P when skipping the record
padding
BUG/MINOR: mux-fcgi: Set flags on the right stream field for empty
FCGI_STDOUT
BUG/MEDIUM: channel: Be aware of SHUTW_NOW flag when output data are
peeked
Emeric Brun (6):
BUG/MEDIUM: log: issue mixing sampled to not sampled log servers.
MEDIUM: udp: adds minimal proto udp support for message listeners.
MEDIUM: log/sink: re-work and merge of build message API.
MINOR: log: adds syslog udp message handler and parsing.
MEDIUM: log: adds log forwarding section.
MINOR: log: adds counters on received syslog messages.
Harris Kaufmann (1):
BUG/MEDIUM: fcgi-app: fix memory leak in fcgi_flt_http_headers
Ilya Shipitsin (2):
CI: travis-ci: speed up osx build by running brew scripted, switch to
latest osx image
BUG/MEDIUM: server: resolve state file handle leak on reload
MIZUTA Takeshi (1):
MINOR: tcp: Support TCP keepalive parameters customization
Pierre Cheynier (1):
CLEANUP: contrib/prometheus-exporter: typo fixes for ssl reuse metric
Tim Duesterhus (15):
BUG/MINOR: acl: Fix freeing of expr->smp in prune_acl_expr
BUG/MINOR: sample: Fix freeing of conv_exprs in release_sample_expr
BUG/MINOR: haproxy: Free proxy->format_unique_id during deinit
BUG/MINOR: haproxy: Add missing free of server->(hostname|resolvers_id)
BUG/MINOR: haproxy: Free proxy->unique_id_header during deinit
BUG/MINOR: haproxy: Free srule->file during deinit
BUG/MINOR: haproxy: Free srule->expr during deinit
BUG/MINOR: sample: Free str.area in smp_check_const_bool
BUG/MINOR: sample: Free str.area in smp_check_const_meth
CLEANUP: haproxy: Free proxy_deinit_list in deinit()
CLEANUP: haproxy: Free post_deinit_list in deinit()
CLEANUP: haproxy: Free server_deinit_list in deinit()
CLEANUP: haproxy: Free post_server_check_list in deinit()
CLEANUP: Add static void vars_deinit()
CLEANUP: Add static void hlua_deinit()
William Dauchy (1):
MINOR: config: make strict limits enabled by default
Willy Tarreau (13):
BUG/MEDIUM: lists: add missing store barrier on MT_LIST_BEHEAD()
BUG/MEDIUM: lists: add missing store barrier in MT_LIST_ADD/MT_LIST_ADDQ
BUILD: tcp: condition TCP keepalive settings to platforms providing them
MINOR: lists: rename some MT_LIST operations to clarify them
MINOR: buffer: use MT_LIST_ADDQ() for buffer_wait lists additions
MINOR: connection: use MT_LIST_ADDQ() to add connections to idle lists
MINOR: tasks: use MT_LIST_ADDQ() when killing tasks.
CONTRIB: da: fix memory leak in dummy function da_atlas_open()
BUG/MINOR: backend: fix potential null deref on srv_conn
BUG/MEDIUM: server: fix possibly uninitialized state file on close
BUILD: config: address build warning on raspbian+rpi4
BUG/MAJOR: tasks: make sure to always lock the shared wait queue if needed
BUILD: config: fix again bugs gcc warnings on calloc
---