Change8

v3.3-dev14

📦 haproxyView on GitHub →
7 features🐛 22 fixes🔧 12 symbols

Summary

This release introduces several improvements to QUIC and ACME, alongside bug fixes for mworker, SSL, and configuration handling. Key changes include renaming stick-tables shards and enhancing ALPN support for mux protocols.

Migration Steps

  1. Rename stick-tables shards to use buckets.

✨ New Features

  • Support an optional ALPN string when defining mux protocols.
  • Keep a copy of the rough estimate of needed FDs in global struct.
  • Explain a bit better what to do when fd limits are exceeded.
  • Store source address for backend conns.
  • Display the computed maxconn using ha_notice().
  • Adjust sedesc update for known input payload len.
  • Delay FE sedesc alloc to stream creation.

🐛 Bug Fixes

  • Prevent use of MUX for 0-RTT sessions without secrets.
  • Signals inconsistencies during startup and reload.
  • Wrong signals during startup.
  • P-256 doesn't work with openssl >= 3.0.
  • Remove dead code in ssl_sock_from_buf().
  • Implement max-reuse server parameter for mux-quic.
  • Fix trace on quic_conn_closed release.
  • Do not decrement jobs for backend conns.
  • Fix FD usage for quic_conn_closed on backend side.
  • TLS callback called without connection in quic-be/ssl_sock.
  • Alert when the map doesn't exist at startup for acme.
  • Don't forget to unlock the queue before exiting.
  • Use the mux protocol ALPN by default for listeners if forced.
  • Flag conn with CO_FL_FDLESS on backend side for quic.
  • Fix the ssl_sock_io_cb() regarding idle list.
  • Fix conditions to detect spinning loop with the new API for applet.
  • State the cli have no more data to deliver if it yields.
  • Fix sedesc leak on BE side for mux-quic.
  • Quic_conn_closed buffer overflow in quic-be.
  • Check access on qcs stream-endpoint for mux-quic.
  • Handle multiple auth with the same name for acme.
  • Prevent creating map entries with dns-01 for acme.

Affected Symbols