Hi,

HAProxy 2.8-dev9 was released on 2023/04/28. It added 58 new commits
after version 2.8-dev8.

This version has much less changes than previous one, that's nice. 20
of these patches are bug fixes. Fred & Amaury finally found and fixed
the last bug that was causing crashes for Tristan whose help was again
invaluable in nailing this one down. Christopher fixed a bug introduced
in 2.8-dev7 by which two stconn flags with the same value caused a rare
case where some connections could freeze without timing out. It took us
days before capturing one so I doubt they were much noticed. The cleanup
of the internal "now" variable revealed something  like 4 or 5 occurrences
of incorrect usage where we were showing the user a possibly drifting or
shifted date. These were emphasized with 2.8-dev2's early wrap-around,
which indicates it was an effective move.

William's script for acme.sh was merged into admin/acme.sh/ with a readme
and an explanation on the wiki on how to use it on regular distros.

Alex's bc_rtt sample-fetch functions were finally merged. These will be
useful for those who wish to log the network latency to a given server.

The BUG_ON() conditions switched to using an illegal instruction on x86
and arm64 so as to make issue reports faster to qualify; previously they
would all report "SIGSEGV" which could have various causes.

Other than that, some cleanups in various areas (variables renaming
mainly), some CI and build updates, and traces improvements.

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/2.8/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/2.8/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 :
Aleksandar Lazic (1):
      MINOR: sample: Add bc_rtt and bc_rttvar

Amaury Denoyelle (11):
      CLEANUP: quic: rename frame types with an explicit prefix
      CLEANUP: quic: rename frame variables
      BUG/MEDIUM: mux-quic: do not emit RESET_STREAM for unknown length
      BUG/MEDIUM: mux-quic: improve streams fairness to prevent early timeout
      BUG/MINOR: quic: prevent buggy memcpy for empty STREAM
      MINOR: mux-quic: do not set buffer for empty STREAM frame
      MINOR: mux-quic: do not allocate Tx buf for empty STREAM frame
      MINOR: quic: finalize affinity change as soon as possible
      BUG/MINOR: quic: fix race on quic_conns list during affinity rebind
      MINOR: quic: use real sending rate measurement
      MINOR: proxy: factorize send rate measurement

Christopher Faulet (4):
      BUG/MEDIUM: spoe: Don't start new applet if there are enough idle ones
      BUG/MINOR: stconn: Fix SC flags with same value
      BUG/MINOR: resolvers: Use sc_need_room() to wait more room when dumping 
stats
      BUG/MEDIUM: tcpcheck: Don't eval custom expect rule on an empty buffer

Frédéric Lécaille (16):
      MINOR: quic: Move traces at proto level
      BUG/MINOR: quic: Possible memory leak from TX packets
      BUG/MINOR: quic: Possible leak during probing retransmissions
      BUG/MINOR: quic: Useless probing retransmission in draining or killing 
state
      BUG/MINOR: quic: Useless I/O handler task wakeups (draining, killing 
state)
      CLEANUP: quic: Remove useless parameters passes to qc_purge_tx_buf()
      CLEANUP: quic: Rename <buf> variable to <token> in 
quic_generate_retry_token()
      CLEANUP: quic: Rename <buf> variable into quic_padding_check()
      CLEANUP: quic: Rename <buf> variable into quic_rx_pkt_parse()
      CLEANUP: quic: Rename <buf> variable for several low level functions
      CLEANUP: quic: Make qc_build_pkt() be more readable
      CLEANUP: quic: Rename quic_get_dgram_dcid() <buf> variable
      CLEANUP: quic: Rename several <buf> variables at low level
      CLEANUP: quic: Rename <buf> variable into quic_packet_read_long_header()
      CLEANUP: quic: Rename <buf> variable into qc_parse_hd_form()
      CLEANUP: quic: Rename several <buf> variables into quic_sock.c

Ilia Shipitsin (2):
      CI: switch to Fastly CDN to download LibreSSL
      BUILD: ssl: switch LibreSSL to Fastly CDN

William Lallemand (1):
      MINOR: acme.sh: add the deploy script for acme.sh in admin directory

Willy Tarreau (23):
      DEBUG: crash using an invalid opcode on x86/x86_64 instead of an invalid 
access
      DEBUG: crash using an invalid opcode on aarch64 instead of an invalid 
access
      DEV: h2: add a script "mkhdr" to build h2 frames from scratch
      DEV: h2: support reading frame payload from a file
      BUG/MINOR: clock: fix a few occurrences of 'now' being used in place of 
'date'
      BUG/MINOR: spoe: use "date" not "now" in debug messages
      BUG/MINOR: activity: show wall-clock date, not internal date in show 
activity
      BUG/MINOR: opentracing: use 'date' instead of 'now' in debug output
      Revert "BUG/MINOR: clock: fix a few occurrences of 'now' being used in 
place of 'date'"
      BUG/MINOR: calltrace: fix 'now' being used in place of 'date'
      BUG/MINOR: trace: show wall-clock date, not internal date in show activity
      BUG/MINOR: hlua: return wall-clock date, not internal date in core.now()
      BUG/MINOR: stats: report the correct start date in "show info"
      MINOR: time: add conversions to/from nanosecond timestamps
      MINOR: time: replace calls to tv_ms_elapsed() with a linear subtract
      MINOR: spoe: switch the timeval-based timestamps to nanosecond timestamps
      MEDIUM: tree-wide: replace timeval with nanoseconds in tv_accept and 
tv_request
      MINOR: stats: use nanoseconds, not timeval to compute uptime
      MINOR: activity: use nanoseconds, not timeval to compute uptime
      MINOR: checks: use a nanosecond counters instead of timeval for 
checks->start
      MINOR: clock: do not use now.tv_sec anymore
      MEDIUM: clock: replace timeval "now" with integer "now_ns"
      MINOR: clock: replace the timeval start_time with start_time_ns

---

Reply via email to