v3.4-dev12
📦 haproxyView on GitHub →
✨ 11 features🐛 22 fixes🔧 38 symbols
Summary
This release includes several bug fixes, minor improvements to server and connection handling, and cleanup of code and comments. Notable changes include improved error handling, memory leak fixes, and updates to MQTT parsing logic.
Migration Steps
- Rename qmux related flags in connection.
- Use newer qcm prefix for legacy qmux files in mux_quic.
- Use qcm prefix for mux callbacks in mux_quic.
- Use qcm prefix for mux functions in mux_quic.
- Use qcm prefix for traces functions/structs in mux_quic.
- Rename qstrm files to qmux in mux_quic.
- Remove qstrm naming in QUIC MUX.
- Use qmux instead of qstrm naming for xprt_qmux.
- Rename qmux traces to qcm for mux_quic.
✨ New Features
- Add a link to the OpenTelemetry filter in the announce-release script.
- Store the number of committed extra streams in the tgroup.
- Add a function to calculate elastic streams limit.
- Consider the elastic streams limit on frontend for mux-h2.
- Make LB initialization more declarative.
- Improve forward compatibility for 'show fd' command.
- Document the <tgid>/<fd> form of 'show fd'.
- Implement source alias for trace.
- Add a generic reverse converter for samples.
- Add a reverse_dom converter for samples.
- Clarify UDP usage in proxy-protocol documentation.
🐛 Bug Fixes
- Only requeue servers if they are up.
- Do not emit extraneous line in rule order warnings for cfgparse-listen.
- Only check h1s if not NULL for mux-h1.
- Fix smp_fetch_hdr_ip()'s handling of brackets for IPv6 in http-fetch.
- Make http_first_req() check for HTTP first in http-fetch.
- Set-status() must check the response message, not the request in http-act.
- Fix memory leak in env_expand() error path in tools.
- Free user groups on error paths in userlist_postinit() for auth.
- Avoid leaks on initialization error for uri-auth.
- Fix memory leak in parse_cache_rule error path for cache.
- Make KQUEUE check for GTUNE_USE_KQUEUE not GTUNE_USE_EPOLL for cfgcond.
- Connack parser returns MQTT_NEED_MORE_DATA on unknown property for mqtt.
- Connect parser uses wrong bit field for TOPIC_ALIAS_MAXIMUM for mqtt.
- Connack parser uses wrong bit for SUBSCRIPTION_IDENTIFIERS_AVAILABLE for mqtt.
- Fix PUBLISH flags validation that want all bits to be set for mqtt.
- Fix possible null-deref in latest fix for leaks for uri-auth.
- Keep the TASK_RUNNING flag until queued for tasks.
- Hold read lock while incrementing refcount in dict_insert for dict.
- Only consume input buffer when hc one is empty for http-client.
- Fix conflicting prototype for xprt_qstrm.
- Fix missing return in functions returning int in src/cpuset.c.
- Fix redefinition of __nonstring for compiler build.
Affected Symbols
announce-release scriptserverstinfoconnectionmux-h2lbcfgparse-listenh1/htxmux-h1http-fetchhttp-acttoolsauthuri-authcachecfgcondmqtthttp_htxmux-h2http-rulesauth.hhttp_cache_io_handlerchannelflt_http_compregexsrc/cpuset.cclimanagementdicthttp-clientxprt_qstrmmux_quicxprt_qmuxtracesampleproxy-protocol51d.chtx