Hi,

HAProxy 1.9-dev10 was released on 2018/12/08. It added 68 new commits
after version 1.9-dev9.

No more painful changes, tons of bugs fixed already, in various places.

I intend to deploy this one on haproxy.org this week-end and observe.
I'll however leave HTX off for now as we've found two small last-minute
issues with it that we'll address on monday (I may redeploy just after).
Having everything integrated allowed a much easier bug party than before.

There were a few cleanups and fixes in the master-worker part regarding
already scheduled tasks that were causing trouble.

Among the remaining issues we've noticed, I can enumerate these ones :
  - empty requests on connection retries to servers
  - CPU loop in some cases when using pipelining with HTX (hence why I'm
    not enabling it :-))
  - a problem of wrong header index in HTX mode when overwriting the
    start line, revealed by the http-rules test when ported to HTX,
    resulting in a missing header on the other side.

I know that William still wants to address a few minor things in the
master-worker code, Christopher has patches to make the cache compatible
with HTX, Cyril has some doc rearrangements he'd like to merge before
the release, we need to disable HTTP manipulation at the buffer level in
Lua, adjust the server-side idle connection management a bit (mostly
set limits), write some more varnishtest checks, and to polish remaining
things (remove unused flags, rename confusing ones, possibly merge/rename
a few files, and check all the FIXMEs left).

And I think we'll be fine for a release by the end of next week and
celebrate the event the week after!

Please find the usual URLs below :
   Site index       : http://www.haproxy.org/
   Discourse        : http://discourse.haproxy.org/
   Sources          : http://www.haproxy.org/download/1.9/src/
   Git repository   : http://git.haproxy.org/git/haproxy.git/
   Git Web browsing : http://git.haproxy.org/?p=haproxy.git
   Changelog        : http://www.haproxy.org/download/1.9/src/CHANGELOG
   Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/

Willy
---
Complete changelog :
Christopher Faulet (19):
      MINOR: htx: Rename functions htx_*_to_str() to be H1 specific
      BUG/MINOR: htx: Force HTTP/1.1 on H1 formatting when version is 1.1 or 
above
      BUG/MINOR: flt_trace/compression: Use the right flag to add the HTX 
support
      BUG/MEDIUM: mux-h1: Always set CS_FL_RCV_MORE when data are received in 
h1_recv()
      MINOR: mux-h1: Make sure to return 1 in h1_recv() when needed
      BUG/MEDIUM: mux-h1: Release the mux H1 in h1_process() if there is no h1s
      BUG/MINOR: proto_htx: Truncate the request when an error is detected
      BUG/MINOR: mux-h1: Check h1m flags to set the server conn_mode on request 
path
      MEDIUM: htx: Rework conversion from a buffer to an htx structure
      MEDIUM: channel/htx: Add functions for forward HTX data
      MINOR: mux-h1: Don't adjust anymore the amount of data sent in 
h1_snd_buf()
      CLEANUP: htx: Fix indentation here and there in HTX files
      MINOR: mux-h1: Allow partial data consumption during outgoing data 
processing
      MINOR: mux-h1: Drain obuf if the output is closed after sending data
      BUG/MEDIUM: htx: Set the right start-line offset after a defrag
      BUG/MEDIUM: mux-h1: Be sure to have a conn_stream to set CS_FL_REOS in 
h1_recv
      MINOR: mux-h1: Set CS_FL_EOS when read0 is detected and no data are 
pending
      BUG/MINOR: stream-int: Process read0 even if no data was received in 
si_cs_recv
      BUG/MINOR: mux-h1: Remove the connection header when it is useless

Frédéric Lécaille (1):
      REGTEST: Move LUA reg test 4 to level 1.

Jérôme Magnin (2):
      BUG/MINOR: fix ssl_fc_alpn and actually add ssl_bc_alpn
      MINOR: sample: add bc_http_major

Olivier Houchard (15):
      BUG/MEDIUM: h1: Destroy a connection after detach if it has no owner.
      BUG/MEDIUM: h2: Don't forget to wake the tasklet after shutr/shutw.
      BUG/MEDIUM: stream_interface: Make REALLY sure we read all the data.
      MEDIUM: mux-h1: Revamp the way subscriptions are handled.
      BUG/MEDIUM: h2: When sending in HTX, make sure the caller knows we sent 
all.
      BUG/MEDIUM: h1: Correctly report used data with no len.
      MEDIUM: h1: Realign the ibuf before calling rcv_buf if needed.
      BUG/MEDIUM: mux_pt: Always set CS_FL_RCV_MORE.
      BUG/MEDIUM: stream: Don't dereference s->txn when it is not there yet.
      BUG/MEDIUM: connections: Reuse an already attached conn_stream.
      BUG/MEDIUM: connections: Split CS_FL_RCV_MORE into 2 flags.
      BUG/MEDIUM: h1: Don't free the connection if it's an outgoing connection.
      BUG/MEDIUM: h1: Set CS_FL_REOS if we had a read0.
      BUG/MEDIUM: sample: Don't treat SMP_T_METH as SMP_T_STR.
      BUG/MEDIUM: h2: Don't try to chunk data when using HTX.

William Lallemand (3):
      BUG/MEDIUM: mworker: stop proxies which have no listener in the master
      BUG/MEDIUM: mworker: stop every tasks in the master
      BUG/MEDIUM: mworker: fix several typos in mworker_cleantasks()

Willy Tarreau (28):
      BUG/MEDIUM: mux-h2: properly update the window size in HTX mode
      BUG/MEDIUM: mux-h2: make sure to always report HTX EOM when consumed by 
headers
      BUG/MEDIUM: mux-h2: stop sending HTX once the mux is blocked
      BUG/MEDIUM: mux-h2: don't send more HTX data than requested
      MINOR: mux-h2: stop on non-DATA and non-EOM HTX blocks
      MINOR: htx: make htx_from_buf() adjust the size only on new buffers
      MINOR: htx: add buf_room_for_htx_data() to help optimize buffer transfers
      MEDIUM: mux-h1: make use of buf_room_for_htx_data() instead of b_room()
      MEDIUM: mux-h1: attempt to zero-copy Rx DATA transfers
      MEDIUM: mux-h1: avoid a double copy on the Tx path whenever possible
      BUG/MEDIUM: stream-int: don't mark as blocked an empty buffer on Rx
      BUG/MEDIUM: mux-h2: use the correct offset for the HTX start line
      BUG/MEDIUM: mux-h2: stop sending using HTX on errors
      MINOR: stream-int: add a new blocking condition on the remote connection
      BUG/MEDIUM: stream-int: don't attempt to receive if the connection is not 
established
      BUG/MEDIUM: lua: block on remote connection establishment
      SCRIPTS/REGTEST: merge grep+sed into sed in run-regtests
      MINOR: ist: add functions to copy/uppercase/lowercase into a buffer or 
string
      MEDIUM: ist: always turn header names to lower case
      MINOR: h2: don't turn HTX header names to lower case anymore
      MEDIUM: ist: use local conversion arrays to case conversion
      MINOR: htx: switch to case sensitive search of lower case header names
      REGTEST: fix the Lua test file name in test lua/h00002 :-)
      REGTEST: add a basic test for HTTP rules manipulating headers
      BUG/MEDIUM: htx: fix typo in htx_replace_stline() making it fail all the 
time
      REGTEST: make the HTTP rules test compatible with HTTP/2 as well
      MINOR: compiler: add a new macro ALREADY_CHECKED()
      BUILD: h2: mark the start line already checked to avoid warnings

---

Reply via email to