Hi,

HAProxy 3.2-dev4 was released on 2025/01/24. It added 44 new commits
after version 3.2-dev3.

This version contains fixes for some visible bugs (most of which are
already either backported or planned for backporting). One issue
concerns a risk of crash in QUIC with too large crypto frames, another
one causes confusion on log servers having the same name in different
backends, and another one could leave some HTTP/1 connections blocked
till the timeout. The other bugs are just in the range of common ones.

Concerning the improvements, we have this:
  - new sc_key() sample fetch to retrieve the key currently tracked
    by a strick-counter. It can be useful for logging, for lookups
    in other tables or anything like this. It has been missing for
    a long time and can simplify some configurations (e.g. by no
    longer having to set a variable to hold that value).

  - new table_{inc,dec}_gpc* converters to act on gpc counters after
    looking up the input sample. That's convenient to set match
    thresholds.

  - the parsing of the -dt keyword used to enable traces from the
    command line was revamped to be more flexible and to provide a
    help message explaining how to use it. Also -dt now has precedence
    over the traces section.

  - the QUIC pacing now works pretty well without wasting CPU cycles,
    we managed to get back to millisecond resolution with excellent
    results, even when the process is severely loaded. We intend to
    enable it by default starting from dev5 since it will enable
    easier testing and significantly improve performance (on a client
    running on a small CPU core, the performance jumped by around x20
    just thanks to significantly reducing losses).

  - some updates to make the output of "show dev" more easily parsable
    and friendlier.

  - doc updates to mention the "any" type input on some converters,
    the support for implicit tables, and a bit of consistency between
    keywords regarding optional arguments syntax.

There are still pending series under review and about to be merged. One
of them concerns more detailed error statuses so that we finally know
in detail (and in the right order) the events that led to a connection
being terminated. Another one concerns the queues in high thread counts
environments, where we know it's still possible to see watchdogs on AMD
EPYC CPUs due to inter-CCX cache latency. If all goes well, this should
land in the branch next week or so, stay tuned.

In the mean time, please play with dev4. And if you're using QUIC and
want to test it with pacing, just add "expose-experimental-directives"
to your global section, and append "quic-cc-algo bbr" or "quic-cc-algo
cuboc(,1)" to your bind lines.

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/3.2/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/3.2/src/CHANGELOG
   Dataplane API    : 
https://github.com/haproxytech/dataplaneapi/releases/latest
   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 (14):
      MINOR: trace: add help message for -dt argument
      MINOR: trace: ensure -dt priority over traces config section
      MINOR: trace: support all source alias on -dt
      BUG/MINOR: quic: reject NEW_TOKEN frames from clients
      BUG/MAJOR: quic: reject too large CRYPTO frames
      CLEANUP: quic: remove unused prototype
      MINOR: quic: rename pacing_rate cb to pacing_inter
      BUG/MINOR: quic: do not increase congestion window if app limited
      MINOR: mux-quic: increment pacing retry counter on expired
      MEDIUM: quic: implement credit based pacing
      MEDIUM: mux-quic: reduce pacing CPU usage with passive wait
      MEDIUM: quic: use dynamic credit for pacing
      MINOR: quic: remove unused pacing burst in bind_conf/quic_cc_path
      MINOR: quic: adapt credit based pacing to BBR

Aurelien DARRAGON (19):
      BUG/MINOR: stktable: fix big-endian compatiblity in smp_to_stkey()
      MINOR: stktable: add stkey_to_smp() helper
      MINOR: stktable: add stksess_getkey() helper
      MINOR: stktable: add sc[0-2]_key fetches
      MINOR: stktable: fix potential build issue in smp_to_stkey
      BUG/MEDIUM: stktable: fix missing lock on some table converters
      MINOR: stktable: fix potential build issue in smp_to_stkey (2nd try)
      MINOR: stktable: add smp_fetch_stksess() helper function
      MEDIUM: stktable: split src-based key smp_fetch_sc functions
      MEDIUM: stktable: split sc_ and src_ fetch lookup logics
      MEDIUM: stktable: leverage smp_fetch_* helpers from sample conv
      DOC: config: unify sample conv|fetches optional arguments syntax
      DOC: config: stick-table converters support implicit <table> argument
      DOC: config: stick-table converter do accept ANY-typed input
      DOC: config: clarify return type for some stick-table converters
      DOC: config: refer to canonical sticktable converters for src_* fetches
      CLEANUP: stktable: move sample_conv_table_bytes_out_rate()
      MINOR: stktable: add table_{inc,clr}_gpc* converters
      BUG/MAJOR: log/sink: possible sink collision in sink_new_from_srv()

Christopher Faulet (2):
      BUG/MEDIUM: promex: Use right context pointers to dump backends 
extra-counters
      BUG/MEDIUM: mux-h1: Properly close H1C if an error is reported before 
sending data

Frederic Lecaille (3):
      BUG/MINOR: quic: ensure a detached coalesced packet can't access its 
neighbours
      MINOR: quic: Add a BUG_ON() on quic_tx_packet refcount
      BUILD: quic: Move an ASSUME_NONNULL() for variable which is not null

Olivier Houchard (1):
      BUG/MEDIUM: queues: Adjust the proxy counters when appropriate

Valentine Krasnobaeva (3):
      MINOR: tools: add errname to print errno macro name
      MINOR: debug: debug_parse_cli_show_dev: use errname
      MINOR: debug: show boot and runtime process settings in table

Willy Tarreau (2):
      BUG/MINOR: init: set HAPROXY_STARTUP_VERSION from the variable, not the 
macro
      REORG: version: move the remaining BUILD_* stuff from haproxy.c to 
version.c

---


Reply via email to