Change8

v3.4-dev4

Breaking Changes
📦 haproxyView on GitHub →
1 breaking3 features🐛 16 fixes🔧 12 symbols

Summary

This release (3.4-dev4) introduces several bug fixes and minor improvements, including enhancements to SSL handling, network protocol support, and configuration checks. It also includes optimizations for server and proxy structures and updates regression tests for OpenSSL 4.0 compatibility.

⚠️ Breaking Changes

  • MEDIUM: ssl: remove connection from msg callback args. The `connection` argument has been removed from SSL message callbacks. If your code relies on this argument, it will need to be updated to no longer use it.

Migration Steps

  1. MEDIUM: ssl: porting to X509_STORE_get1_objects() for OpenSSL 4.0. If you are using OpenSSL 4.0 or later, ensure your SSL configurations are compatible with the new X509_STORE_get1_objects() function.
  2. REGTESTS: ssl: make reg-tests compatible with OpenSSL 4.0. Ensure your regression tests are updated to work with OpenSSL 4.0.

✨ New Features

  • MEDIUM: tcpcheck: add post-80 option for mysql-check to support MySQL 8.x
  • MEDIUM: backend: make "balance random" consider req rate when loads are equal
  • MINOR: ssl: allow to disable certificate compression

🐛 Bug Fixes

  • BUG/MEDIUM: hlua: fix invalid lua_pcall() usage in hlua_traceback()
  • BUG/MINOR: hlua: consume error object if ignored after a failing lua_pcall()
  • BUG/MINOR: promex: Detach promex from the server on error dump its metrics dump
  • BUG/MEDIUM: mux-h1: Skip UNUSED htx block when formating the start line
  • BUG/MINOR: proto_tcp: Properly report support for HAVE_TCP_MD5SIG feature
  • BUG/MINOR: config: check capture pool creations for failures
  • BUG/MINOR: stick-tables: abort startup on stk_ctr pool creation failure
  • BUG/MINOR: ssl: Properly manage alloc failures in SSL passphrase callback
  • BUG/MINOR: ssl: Encrypted keys could not be loaded when given alongside certificate
  • BUG/MAJOR: applet: Don't call I/O handler if the applet was shut
  • BUG/MINOR: ssl: fix error message of tune.ssl.certificate-compression
  • BUG/MEDIUM: applet: Fix test on shut flags for legacy applets
  • MINOR: quic: Fix build with USE_QUIC_OPENSSL_COMPAT
  • BUG/MEDIUM: threads: Atomically set TH_FL_SLEEPING and clr FL_NOTIFIED
  • BUG/MINOR: cpu-topo: count cores not cpus to distinguish core types
  • BUG/MINOR: config: Fix setting of alt_proto

Affected Symbols