Hi,

HAProxy 3.0-dev2 was released on 2024/01/26. It added 70 new commits
after version 3.0-dev1.

There's not that much in this version but it stabilizes a few issues
that came with release 2.9 and since there are testers, better keep
-dev in good shape. A new 2.9 will probably happen in one or two weeks
with some further fixes for pending issues we're currently working on.

Among the fixes here, I can cite a failure of QUIC in OpenSSL compatibility
mode, and a rare risk of crash of the cache when using Vary.

On the front of new stuff, we have:
  - an update of the deviceatlas addon to support the new version of
    the library. It slightly changes the build system and may possibly
    trigger a build issue when USE_DEVICEATLAS is set. I think it's OK
    now (it now passes on the CI) but those using it might want to check.

  - an improvement on the default certificate selection: till now, the
    default certificate was the first one mentioned on the bind line. This
    causes issues with sites that want to support both RSA and ECDSA. A
    new approach was brought, with an optional "default-crt" keyword that
    designates the default certs on the bind line, and its equivalent in
    the crt-list files designated by "*" in the name. This allows the right
    cert to be picked based on the desired algorithm. Of course the default
    behavior doesn't change.

  - the list of status codes that are increment the http_err_cnt and
    http_fail_cnt counters can now be changed with the global directives
    "http-err-codes" and "http-fail-codes". This has long been requested,
    both by those whose applications randomly return 500 that are not
    server failures, and those where 404 happen a lot and does not
    necessarily indicate a URL scanner. All of the 1xx-5xx range is
    permitted for both classes.

  - a new "glitches" counter was added to H2 front and back connections,
    and should progressively extend to all protocols and layers. It counts
    the various small anomalies that are not bugs nor attacks but that are
    abnormal enough to be counted, and which could indicate a faulty
    application or server when found at high rates on the backend side,
    or a heavily misbehaving client for the frontend side. For example,
    truncated prefaces and abuses of CONTINUATION frames are counted as
    such. The values are readable using a pair of sample fetch functions
    so that they could be reported in the logs or even trigger a reject.

  - QUIC built with latest aws-lc as the TLS library should now support
    0-RTT.

  - various code spelling cleanups and doc fixes

  - and a few other more minor things.

And that's about all. These days I noticed that everyone is busy with
difficult bug reports, which also explains that the number of untriaged
issues on GitHub is growing a bit. I hope it'll soon calm down so that
we can all return to a more normal coding rate. We'll see :-)

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.0/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.0/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 (4):
      BUILD: quic: missing include for quic_tp
      BUG/MINOR: mux-quic: do not prevent non-STREAM sending on flow control
      MINOR: quic: extract qc_stream_buf free in a dedicated function
      BUG/MEDIUM: quic: remove unsent data from qc_stream_desc buf

Aurelien DARRAGON (8):
      BUG/MINOR: map: list-based matching potential ordering regression
      REGTESTS: add a test to ensure map-ordering is preserved
      DOC: config: fix typo about map_*_key converters
      MINOR: map: mapfile ordering also matters for tree-based match types
      MINOR: vars: fix indentation in var_clear_buffer()
      DOC: configuration: fix set-dst in actions keywords matrix
      BUG/MINOR: hlua: fix uninitialized var in hlua_core_get_var()
      CLEANUP: hlua: fix indent, remove extra return in hlua_core_get_var()

David Carlier (3):
      BUILD/MEDIUM: deviceatlas: addon build rework.
      DOC: deviceatlas: update to be in line with the v3 api.
      BUILD/MEDIUM: deviceatlas: updating the addon part.

Emeric Brun (1):
      BUG/MEDIUM: cli: some err/warn msg dumps add LR into CSV output on stat's 
CLI

Frederic Lecaille (10):
      BUG/MEDIUM: quic: keylog callback not called (USE_OPENSSL_COMPAT)
      MINOR: quic: Transport parameters encoding without version_information
      MINOR: quic: Enable early data at SSL session level (aws-lc)
      MINOR: ssl_sock: Early data disabled during SSL_CTX switching (aws-lc)
      MINOR: quic: Correctly wait for the completion of handshakes with early 
data (aws-lc)
      BUILD: quic: Fix build error when building QUIC against wolfssl.
      BUILD: quic: Fix build error when building QUIC against libressl.
      BUG/MINOR: quic: newreno QUIC congestion control algorithm no more 
available
      CLEANUP: quic: Remove unused CUBIC_BETA_SCALE_FACTOR_SHIFT macro.
      MINOR: quic: Stop hardcoding a scale shifting value 
(CUBIC_BETA_SCALE_FACTOR_SHIFT)

Frédéric Lécaille (1):
      CLEANUP: quic: Double quic_dgram_parse() prototype declaration.

Ilya Shipitsin (6):
      CI: codespell: ignore some words in URLs
      CI: codespell: add more words to whitelist
      CLEANUP: fix spelling of "occured" in src/h3.c
      CLEANUP: fix spelling of "elemt"
      CI: extend spell check white list
      CI: enable spell check on git push

Mariam John (1):
      MINOR: ssl: Update ssl_fc_curve/ssl_bc_curve to use SSL_get0_group_name

Miroslav Zagorac (2):
      MINOR: ot: logsrv struct becomes logger
      DOC: configuration: corrected description of keyword 
tune.ssl.ocsp-update.mindelay

Remi Tricot-Le Breton (1):
      BUG/MEDIUM: cache: Fix crash when deleting secondary entry

William Lallemand (10):
      CLEANUP: ssl: fix indentation in smp_fetch_ssl_fc_ec()
      CLEANUP: ssl: fix indentation in smp_fetch_ssl_fc_ec() (part 2)
      MEDIUM: ssl: allow multiple fallback certificate to allow ECDSA/RSA 
selection
      MEDIUM: ssl: generate '*' SNI filters for default certificates
      MEDIUM: ssl: does not use default_ctx for 'generate-certificate' option
      REORG: ssl: move 'generate-certificates' code to ssl_gencert.c
      DOC: configuration: update configuration on how to have multiple default 
certs
      MEDIUM: ssl: implements 'default-crt' keyword for bind Lines
      CI: github: update wolfSSL to 5.6.6
      DOC: INSTALL: require at least WolfSSL 5.6.6

Willy Tarreau (23):
      DEV: patchbot: produce a verdict for too long commit messages
      DEV: phash: add a trivial perfect hash generator for integers
      OPTIM: http: simplify http_get_status_idx() using a hash
      CLEANUP: http: avoid duplicating literals in find_http_meth()
      MINOR: http: add infrastructure to choose status codes for err / fail
      MEDIUM: http_act: check status codes against the bit fields for err/fail
      MEDIUM: http: add the ability to redefine http-err-codes and 
http-fail-codes
      DEV: h2: add support for multiple flags in mkhdr
      DEV: h2: support hex-encoded data sequences in mkhdr
      BUG/MINOR: mux-h2: also count streams for refused ones
      BUG/MEDIUM: mux-h2: refine connection vs stream error on headers
      MINOR: mux-h2/traces: add a missing trace on connection WU with negative 
inc
      MINOR: mux-h2: add a counter of "glitches" on a connection
      MINOR: connection: add a new mux_ctl to report number of connection 
glitches
      MINOR: mux-h2: implement MUX_CTL_GET_GLITCHES
      MINOR: connection: add sample fetches to report per-connection glitches
      BUILD: stick-table: fix build error on 32-bit platforms
      BUG/MINOR: jwt: fix jwt_verify crash on 32-bit archs
      BUILD: quic: fix build error when using the compatibility layer
      BUILD: makefile: also define cmd_CXX to pretty-print C++ build commands
      BUILD: deviceatlas: remove unneeded depenency on libcurl / libzip
      BUILD: deviceatlas: fix empty "-I" left on CFLAGS
      Revert "CI: enable spell check on git push"

---

Reply via email to