Hi, HAProxy 1.8.31 was released on 2022/12/09. It added 83 new commits after version 1.8.30.
The EOL for the 1.8 is planned at the end of this year. Except if there are critical bugs in next few weeks, no further release should be expected. For anyone still running a 1.8, it may be a good idea to think to upgrade. Except if you rely on legacy features, like the legacy HTTP mode, it could be good to directly upgrade to 2.2. No specific support should no longer be expected on the 1.8. This release is emitted to flush the pipe. Apart for recently backported patches, it will be too long for me to remember the context of all fixes. But after 9 months with no new release, I guess if anyone is still running the 1.8.30, it means there is no real issues for his usage. Thus the following changelog is probably enough. Thanks everyone for you help and your contributions ! Please find the usual URLs below : Site index : http://www.haproxy.org/ Documentation : http://docs.haproxy.org/ Wiki : https://github.com/haproxy/wiki/wiki 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/1.8/src/ Git repository : http://git.haproxy.org/git/haproxy-1.8.git/ Git Web browsing : http://git.haproxy.org/?p=haproxy-1.8.git Changelog : http://www.haproxy.org/download/1.8/src/CHANGELOG Pending bugs : http://www.haproxy.org/l/pending-bugs Reviewed bugs : http://www.haproxy.org/l/reviewed-bugs Code reports : http://www.haproxy.org/l/code-reports Latest builds : http://www.haproxy.org/l/dev-packages --- Complete changelog : Amaury Denoyelle (3): BUG/MAJOR: server: prevent deadlock when using 'set maxconn server' BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check BUG/MINOR: server: allow 'enable health' only if check configured Aurelien DARRAGON (2): BUG/MEDIUM: proxy: ensure pause_proxy() and resume_proxy() own PROXY_LOCK BUG/MINOR: http_ana/txn: don't re-initialize txn and req var lists Christopher Faulet (17): BUG/MINOR: logs: Report the true number of retries if there was no connection BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter BUG/MEDIUM: spoe: Register pre/post analyzers in start_analyze callback function DOC: config: Add missing actions in "tcp-request session" documentation BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI BUG/MINOR: server/cli: Fix locking in function processing "set server" command BUG/MEDIUM: tcp-check: Do not dereference inexisting connection MINOR: action: Use a generic function to check validity of an action rule list BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error BUG/MEDIUM: http-ana: Drain request data waiting the tarpit timeout expiration BUG/MINOR: cache: Disable cache if applet creation fails BUG/MINOR: backend: Fallback on RR algo if balance on source is impossible BUG/MINOR: hlua: Don't rely on top of the stack when using Lua buffers 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/MAJOR: stick-table: don't process store-response rules for applets BUG/MEDIUM: listener: Fix race condition when updating the global mngmt task Emeric Brun (15): BUG/MEDIUM: peers: re-work connection to new process during reload. BUG/MEDIUM: peers: re-work refcnt on table to protect against flush BUG/MEDIUM: peers: initialize resync timer to get an initial full resync BUG/MEDIUM: peers: register last acked value as origin receiving a resync req BUG/MEDIUM: peers: stop considering ack messages teaching a full resync BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected BUG/MEDIUM: peers: reset commitupdate value in new conns BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly BUG/MEDIUM: peers: reset tables stage flags stages on new conns BUG/MEDIUM: dns: reset file descriptor if send returns an error BUG/MEDIUM: dns: send messages on closed/reused fd if fd was detected broken DOC: stick-table: add missing documentation about gpt0 stored type BUG/MINOR: peers: fix data_type bit computation more than 32 data_types DOC: peers: fix doc "enable" statement on "peers" sections DOC: peers: clarify when entry expiration date is renewed. Lukas Tribus (1): DOC: ssl: req_ssl_sni needs implicit TLS Remi Tricot-Le Breton (2): BUG/MEDIUM: ebtree: Invalid read when looking for dup entry BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future Thayne McCombs (2): BUG/MINOR: tools: fix parsing "us" unit for timers BUG/MEDIUM: sample: Fix adjusting size in field converter Tim Duesterhus (3): BUG/MINOR: tools: Fix loop condition in dump_text() BUG/MINOR threads: Use get_(local|gm)time instead of (local|gm)time CLEANUP: Add missing include guard to signal.h William Lallemand (3): BUG/MINOR: mworker/init: don't reset nb_oldpids in non-mworker cases BUG/MINOR: cli: fix _getsocks with musl libc BUG/MINOR: cli: shows correct mode in "show sess" Willy Tarreau (34): BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE BUG/MINOR: ssl: use atomic ops to update global shctx stats BUG/MEDIUM: sock: make sure to never miss early connection failures BUG/MINOR: cli: fix server name output in "show fd" DOC: peers: fix the protocol tag name in the doc BUILD: makefile: add -Wno-atomic-alignment to work around clang abusive warning BUG/MEDIUM: mworker: do not register an exit handler if exit is expected BUG/MINOR: mworker: do not export HAPROXY_MWORKER_REEXEC across programs BUG/MINOR: server: update last_change on maint->ready transitions too BUG/MINOR: ebtree: remove dependency on incorrect macro for bits per long BUG/MINOR: compat: make sure __WORDSIZE is always defined BUG/MEDIUM: sock: really fix detection of early connection failures in for 2.3- BUILD: add detection of missing important CFLAGS BUG/MEDIUM: lua: fix wakeup condition from sleep() BUG/MAJOR: lua: use task_wakeup() to properly run a task once BUG/MINOR: mux-h2: do not prevent from sending a final GOAWAY frame BUG/MEDIUM: mworker: don't lose the stats socket on failed reload BUG/MAJOR: spoe: properly detach all agents when releasing the applet MINOR: sock: move the unused socket cleaning code into its own function BUG/MEDIUM: mworker: close unused transferred FDs on load failure BUG/MINOR: cache: do not display expired entries in "show cache" SCRIPTS: announce-release: update the doc's URL SCRIPTS: announce-release: add shortened links to pending issues DOC: remove my name from the config doc SCRIPTS: announce-release: add URL of dev packages BUG/MEDIUM: cli: make "show cli sockets" really yield BUG/MINOR: map/cli: protect the backref list during "show map" errors BUG/MINOR: map/cli: make sure patterns don't vanish under "show map"'s init BUG/MINOR: server: do not enable DNS resolution on disabled proxies BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent BUG/MEDIUM: shctx: leave the block allocator when enough blocks are found BUG/MEDIUM: mux-h2: do not fiddle with ->dsi to indicate demux is idle BUG/MEDIUM: stick-table: fix a race condition when updating the expiration task BUILD: listener: fix build warning on global_listener_rwlock without threads vigneshsp (1): BUG/MINOR: server: Make SRV_STATE_LINE_MAXLEN value from 512 to 2kB (2000 bytes). -- Christopher Faulet