Hi,

HAProxy 3.2-dev1 was released on 2024/12/11. It added 95 new commits
after version 3.2-dev0.

Two weeks after the 3.1 release, it's time to emit a first 3.2-dev. This
one is pretty normal. It contains 37 fixes, a few of which were even for
new features in that version. I would say that for now, aside the few
usual post-release issues, there was nothing particularly scary. I'm not
going to enumerate the bugs fixed, they'll be covered in the forthcoming
3.1 announce.

The most visible changes at the moment are in these areas:
  - Lua: a new "patref" class opens direct access to pattern references
    used by acls and maps and offers more reliable and also faster access
    than by using the map/acl ones because it supports batches and avoids
    individual lookups.

  - CLI: "show ssl sni" lists all the loaded frontend certificates' SNI
    with their file names and validity dates. That makes it convenient
    to quickly see what names are handled at a given instant.

  - QUIC: the system's support for optional optimizations (socket-owner,
    GSO) is now reported in -vv

  - Stick-tables: a new directive "recv-only" indicates that this table
    will only receive entries from a peer and will not be locally updated,
    and as such might accept to receive more data types. At the moment it
    only makes the difference for "conn_cur", which will permit a peer to
    share its current connections count in its own table, but it was
    designed in a way that should make it easy to support more similar
    data types in the future.

  - L7 retries: retry-on now supports HTTP status 421 (misdirected request)
    among the ones to decide to retry on.

  - mux-h2: glitch counters now all have a description so that
    "debug counters" will translate in human words what large numbers
    correspond to.

The rest is mostly for developers:
  - a few code cleanups here and there (shut coverity warnings about
    possible null derefs which are not, reword some ambiguous h2 traces)

  - CI updates (/tmp handling, core dumps)

  - rename some unclear internal flags

  - and doc updates

  - improved the fddebug() macro for even easier printf-based debugging

So these changes are pretty timid for now, so that's a good reason to
upgrade to 3.2-dev without taking risks, and stay up to date with latest
updates and fixes. As usual, I'll tell you once it starts to become less
safe for those not accustomed to -dev.

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 (16):
      BUG/MEDIUM: quic: prevent stream freeze on pacing
      BUG/MEDIUM: mux-quic: remove pacing status when everything is sent
      BUG/MINOR: quic: remove startup alert if conn socket-owner unsupported
      BUG/MINOR: quic: remove startup alert if GSO unsupported
      MINOR: mux-quic: clean up zero-copy done_ff callback
      MINOR: mux-h1: use explicit __objt_server on idle conn reinsert
      MINOR: mux-h2: use explicit __objt_server on idle conn reinsert
      MINOR: mux-spop: use explicit __objt_server on idle conn reinsert
      MINOR: mux-fcgi: use explicit __objt_server on idle conn reinsert
      MINOR: quic: convert startup check in a freestanding function
      MINOR: quic: split startup check function
      MINOR: quic: implement build options report
      BUG/MINOR: stats: decrement srv refcount on stats-file release
      MINOR: list: define a watcher type
      BUG/MEDIUM: stats/server: use watcher to track server during stats dump
      MINOR: server: remove prev_deleted server list

Aurelien DARRAGON (34):
      MINOR: pattern: split pat_ref_set()
      MINOR: pattern: add pat_ref_gen_set() function
      MINOR: pattern: add pat_ref_gen_find_elt() function
      MINOR: pattern: add pat_ref_gen_delete() function
      MEDIUM: pattern: consider gen_id in pat_ref_set_from_node()
      MEDIUM: pattern: always consider gen_id for pat_ref lookup operations
      BUG/MINOR: log: fix lf_text() behavior with empty string
      MINOR: log: always consider "+M" option in lf_text_len()
      MINOR: event_hdl: add PAT_REF events
      MINOR: pattern: publish event_hdl events on pat_ref updates
      MINOR: hlua: add patref class
      MINOR: hlua: add core.get_patref method
      MINOR: hlua_fcn: implement index and pair metamethods for patref class
      MINOR: hlua_fcn: wrap pat_ref struct for patref class
      MINOR: pattern: add pat_ref_may_commit() helper function
      MINOR: hlua_fcn: add Patref:commit() method
      MINOR: hlua_fcn: add Patref:prepare() method
      MINOR: hlua_fcn: add Patref:purge() method
      MINOR: hlua_fcn: add Patref:giveup()
      MINOR: hlua_fcn: add Patref:add()
      MINOR: hlua_fcn: add Patref:del()
      MINOR: hlua_fcn: add Patref:set()
      MINOR: hlua_fcn: add Patref:add_bulk()
      MINOR: hlua_fcn: add Patref:event_sub()
      DOC: lua: prefer Patref:{set,add}() over legacy methods for acl and maps
      BUG/MINOR: hlua_fcn: fix Patref:set() force parameter
      BUG/MEDIUM: event_hdl: fix uninitialized value in async mode when no data 
is provided
      BUG/MINOR: listener: fix potential null pointer dereference in 
listener_release()
      MINOR: hlua: fix ambiguous hlua usage in hlua_filter_delete()
      MINOR: stktable: implement "recv-only" table option
      CLEANUP: stktable: replace nopurge attribute with flag
      CLEANUP: stktable: add some stktable flags polishing
      DOC: config: fix confusing init-state examples
      BUG/MINOR: hlua_fcn: restore server pairs iterator pointer consistency

Christopher Faulet (7):
      BUG/MEDIUM: sock: Remove FD_POLL_HUP during connect() if FD_POLL_ERR is 
not set
      MINOR: proxy: Add support of 421-Misdirected-Request in retry-on status
      BUG/MEDIUM: http-ana: Reset request flag about data sent to perform a L7 
retry
      BUG/MINOR: h1-htx: Use default reason if not set when formatting the 
response
      BUG/MINOR: config: Fix parsing of accept-invalid-http-{request,response}
      BUG/MINOR: http-fetch: Ignore empty argument string for query()
      BUG/MINOR: server-state: Fix expiration date of srvrq_check tasks

Frederic Lecaille (3):
      BUG/MINOR: improve BBR throughput on very fast links
      BUILD: quic: fix a build error about an non initialized timestamp
      BUG/MINOR: quic: fix bbr_inflight() calls with wrong gain value

Ilia Shipitsin (4):
      BUG/MINOR: namespace: handle a possible strdup() failure
      BUG/MINOR: ssl_crtlist: handle a possible strdup() failure
      BUG/MINOR: resolvers: handle a possible strdup() failure
      CI: use "/tmp" as default value for TMPDIR when searching logs

Valentine Krasnobaeva (11):
      BUG/MINOR: signal: register default handler for SIGINT in signal_init()
      BUG/MINOR: startup: close pidfd and free global.pidfile in 
handle_pidfile()
      BUG/MINOR: startup: fix pidfile creation
      BUG/MINOR: mworker: don't save program PIDs in oldpids
      BUG/MINOR: mworker: fix -D -W -sf/-st modes
      BUG/MINOR: startup: fix error path for master, if can't open pidfile
      CLEANUP: startup: make if condition to kill old pids more readable
      BUG/MEDIUM: startup: don't daemonize if started with -c
      BUG/MEDIUM: startup: report status if daemonized process fails
      BUG/MEDIUM: mworker: report status, if daemonized master fails
      BUG/MINOR: mworker: detach from tty when received READY from worker

William Lallemand (6):
      CI: github: allow coredumps on aws-lc and wolfssl jobs
      MINOR: ssl: add notBefore and notAfter utility functions
      MEDIUM: ssl/cli: "show ssl sni" list the loaded SNI in frontends
      DOC: management: fix typos and paragraph ordering in 'show ssl sni'
      CLEANUP: ssl: fix comment in 'show ssl sni'
      MINOR: ssl/cli: add negative filters to "show ssl sni"

Willy Tarreau (14):
      MINOR: version: this is development again (3.2)
      DEV: patchbot: prepare for new version 3.2-dev
      MINOR: tools: add a new macro DEFVAL() to provide a default argument
      MINOR: tasklet: set TASK_WOKEN_OTHER on tasklets by default
      BUG/MEDIUM: init: make sure only daemonized processes change their session
      BUG/MINOR: init: do not call fork_poller() for non-forked processes
      BUG/MEDIUM: mux-h2: make sure not to touch dummy streams when sending WU
      BUG/MINOR: debug: COUNT_IF() should return true/false
      MINOR: mux-h2/traces: add a missing trace on negative initial window size
      CLEANUP: mux-h2/traces: reword certain ambiguous traces
      MINOR: mux-h2/glitches: add a description to the H2 glitches
      BUG/MINOR: mux-h2: fix expression when detecting excess of CONTINUATION 
frames
      BUILD: debug: fix build issues in COUNT_IF() with -Wunused-value
      MINOR: tools: make fddebug() automatically emit the location

---


Reply via email to