Hi, HAProxy 2.0-dev7 was released on 2019/06/11. It added 34 new commits after version 2.0-dev6.
We're getting pretty good! I really was hesitating about marking it final already or not, but given that we've addressed a few last minute non-trivial issues and that there are still enough code cleanups and doc updates left to keep anyone busy, I thought I'd rather slightly postpone the final release to focus on maximal stability and cleanliness than perfect schedule. In short, there was an issue with the H1 to H2 upgrade making the performance irregular, another issue affecting the end of compression in HTX, a case where H1 could erroneously report being connected on the backend side before the end of the handshake (possibly the one causing me some irregular performance in H2 to H1 tests), the unsafe thread initialization issues, and a more delicate fix for HTX to address situations where buffer defragmentation was sometimes abused resulting in low performance. >From now on I estimate that the code is the code we'll release, more or less the fixes for any bug which will be reported in between. Let's focus solely on tidying the remaining FIXMEs, the doc, and possibly exporting a few more info to the CLI/stats to help with debugging (e.g. a few H1/H2 counters are terribly missing). I noticed that no regtest failed on Travis since commit 7b3a79f6 which concluded the changes for the stacking of the connection layers that begun after the start of the periodic failures which appeared between dev3 and dev4 mainly. Thus I would not completely rule out the possibility that some deeply burried bug in the old connection code was responsible for a part of them. If this is the case, good riddance! Let's set on anything between Friday and Tuesday for the final release, the former if no more bugs are reported, the latter if some are fixed late. Please, really, no more dev for 2.0, if you have anything to submit which doesn't belong to the exceptions above, this will go into -next (which I just rebased now) but I would appreciate it if you could delay your submissions so that we stay focused on 2.0. Please find the usual URLs below : Site index : http://www.haproxy.org/ Discourse : http://discourse.haproxy.org/ Slack channel : https://slack.haproxy.org/ Issue tracker : https://github.com/haproxy/haproxy/issues Sources : http://www.haproxy.org/download/2.0/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/2.0/src/CHANGELOG Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/ Willy --- Complete changelog : Christopher Faulet (5): BUG/MINOR: cache/htx: Fix the counting of data already sent by the cache applet BUG/MEDIUM: compression/htx: Fix the adding of the last data block MINOR: flt_trace: Don't scrash the original offset during the random forwarding MAJOR: htx: Rework how free rooms are tracked in an HTX message MINOR: htx: Add the function htx_move_blk_before() Daniel Corbett (4): MINOR: contrib/spoa_server: Upgrade SPOP to 2.0 BUG/MEDIUM: contrib/spoa_server: Set FIN flag on agent frames MINOR: contrib/spoa_server: Add random IP score DOC/MINOR: contrib/spoa_server: Fix typo in README Frédéric Lécaille (6): MINOR peers: data structure simplifications for server names dictionary cache. DOC: peers: Update for dictionary cache entries for peers protocol. MINOR: dict: Store the length of the dictionary entries. MINOR: peers: A bit of optimization when encoding cached server names. MINOR: peers: Optimization for dictionary cache lookup. BUG/MINOR: dict: race condition fix when inserting dictionary entries. Olivier Houchard (6): MINOR: chunks: Make sure trash_size is only set once. BUG/MEDIUM: H1: When upgrading, make sure we don't free the buffer too early. BUG/MEDIUM: stream_interface: Make sure we call si_cs_process() if CS_FL_EOI. Revert "BUG/MEDIUM: H1: When upgrading, make sure we don't free the buffer too early." BUG/MEDIUM: h1: Don't try to subscribe if we had a connection error. BUG/MEDIUM: h1: Don't consider we're connected if the handshake isn't done. Willy Tarreau (13): BUG/MEDIUM: mux-h2: make sure the connection timeout is always set MINOR: tools: add new bitmap manipulation functions MINOR: logs: use the new bitmap functions instead of fd_sets for encoding maps Revert "MINOR: chunks: Make sure trash_size is only set once." MINOR: threads: serialize threads initialization MEDIUM: tools: improve time format error detection MINOR: threads: avoid clearing harmless twice in thread_release() MEDIUM: threads: add thread_sync_release() to synchronize steps BUG/MEDIUM: init/threads: prevent initialized threads from starting before others OPTIM/MINOR: init/threads: only call protocol_enable_all() on first thread MEDIUM: init/threads: don't use spinlocks during the init phase BUG/MINOR: http-rules: mention "deny_status" for "deny" in the error message MINOR: http: turn default error files to HTTP/1.1 ---