Hi. Am 19.12.2018 um 19:33 schrieb Willy Tarreau: > Hi, > > HAProxy 1.9.0 was released on 2018/12/19. It added 45 new commits > after version 1.9-dev11. > > We still had a number of small issues causing the various artefacts that > have been visible on haproxy.org since this week-end, but now everything > looks OK. So it's better to release before we discover new issues :-)
Good Idea ;-) The image is available. ### docker run --rm --entrypoint /usr/local/sbin/haproxy me2digital/haproxy19 -vv HA-Proxy version 1.9.0 2018/12/19 - https://haproxy.org/ Build options : TARGET = linux2628 CPU = generic CC = gcc CFLAGS = -O2 -g -fno-strict-aliasing -Wdeclaration-after-statement -fwrapv -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter -Wno-old-style-declaration -Wno-ignored-qualifiers -Wno-clobbered -Wno-missing-field-initializers -Wtype-limits OPTIONS = USE_LINUX_SPLICE=1 USE_GETADDRINFO=1 USE_ZLIB=1 USE_REGPARM=1 USE_OPENSSL=1 USE_LUA=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_TFO=1 Default settings : maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200 Built with OpenSSL version : OpenSSL 1.1.1a 20 Nov 2018 Running on OpenSSL version : OpenSSL 1.1.1a 20 Nov 2018 OpenSSL library supports TLS extensions : yes OpenSSL library supports SNI : yes OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3 Built with Lua version : Lua 5.3.5 Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND Built with zlib version : 1.2.7 Running on zlib version : 1.2.7 Compression algorithms supported : identity("identity"), deflate("deflate"), raw-deflate("deflate"), gzip("gzip") Built with PCRE version : 8.32 2012-11-30 Running on PCRE version : 8.32 2012-11-30 PCRE library supports JIT : yes Encrypted password support via crypt(3): yes Built with multi-threading support. Available polling systems : epoll : pref=300, test result OK poll : pref=200, test result OK select : pref=150, test result OK Total: 3 (3 usable), will use epoll. Available multiplexer protocols : (protocols marked as <default> cannot be specified using 'proto' keyword) h2 : mode=HTX side=FE|BE h2 : mode=HTTP side=FE <default> : mode=HTX side=FE|BE <default> : mode=TCP|HTTP side=FE|BE Available filters : [SPOE] spoe [COMP] compression [CACHE] cache [TRACE] trace ### > Speaking more seriously, in the end, what we expected to be just a technical > release looks pretty nice on the features perspective. The features by > themselves are not high-level but address a wide number of integration > cases that overall make this version really appealing. > > In the end 1.9 brings to end users (as a quick summary) : > - end-to-end HTTP/2 > - advanced master process management with its own CLI > - much more scalable multi-threading > - regression test suite > - priority-based dequeueing > - better cache supporting larger objects > - early hints (HTTP 103) > - cipher suites for TLS 1.3 > - random balance algorithm > - fine-grained timers for better observability > - stdout logging for containers and systemd > > And the rest which has kept us very busy was needed to achieve this and > to pave the way to future developments and more contributions from people > who won't have to know the internals as deeply as it used to be needed. > It's expected that the road to 2.0 will be calmer now. > > Well, I know that so quick a summary doesn't do justice to the developers > having done all this amazing work, but I've seen that some of my coworkers > have started to write an article detailing all these new features, so I > won't waste my time paraphrasing them. I'll pass the URL here once this > article becomes public. No, I'm not lazy, I'm tired and hungry ;-) Amazing work to the whole team. Take a good food, it's easy in France ;-), and a deep sleep to recharge your batteries, you and your team have more the deserve it. > Please find the usual URLs below : > Site index : http://www.haproxy.org/ > Discourse : http://discourse.haproxy.org/ > Slack channel : https://slack.haproxy.org/ > Sources : http://www.haproxy.org/download/1.9/src/ > Git repository : http://git.haproxy.org/git/haproxy-1.9.git/ > Git Web browsing : http://git.haproxy.org/?p=haproxy-1.9.git > Changelog : http://www.haproxy.org/download/1.9/src/CHANGELOG > Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/ > > Willy Very best regards aleks > --- > Complete changelog : > Christopher Faulet (7): > BUG/MEDIUM: compression: Use the right buffer pointers to compress > input data > BUG/MINOR: mux_pt: Set CS_FL_WANT_ROOM when count is zero in rcv_buf() > callback > BUG/MEDIUM: stream: Forward the right amount of data before infinite > forwarding > BUG/MINOR: proto_htx: Call the HTX version of the function managing > client cookies > BUG/MEDIUM: lua/htx: Handle EOM in receive/get_line calls in HTTP > applets > BUG/MINOR: lua: Return an error if a legacy HTTP applet doesn't send > anything > MINOR: compression: Remove the thread_local variable buf_output > > Olivier Houchard (6): > BUG/MEDIUM: connection: Add a new CS_FL_ERR_PENDING flag to > conn_streams. > BUG/MEDIUM: h1: Don't shutw/shutr the connection if we have keepalive. > BUG/MEDIUM: H2: Make sure htx is set even on empty frames. > BUG/MEDIUM: mux-h2: pass CS_FL_ERR_PENDING to h2_wake_some_streams() > BUG/MEDIUM: h2: Make sure we don't set CS_FL_ERROR if there's still > data. > BUG/MEDIUM: h2: Don't wait for flow control if the connection had a > shutr. > > Willy Tarreau (32): > CONTRIB: debug: teach the "flags" utility about new conn_stream flags > BUG/MEDIUM: stream-int: always clear CS_FL_WANT_ROOM before receiving > BUG/MEDIUM: mux-h2: also restart demuxing when data are pending in demux > BUG/MEDIUM: mux-h2: restart demuxing as soon as demux data are available > BUG/MEDIUM: h2: fix aggregated cookie length computation in HTX mode > MINOR: mux-h2: report more h2c, last h2s and cs information on "show fd" > CONTRIB: debug: report stream-int's flag SI_FL_CLEAN_ABRT > MINOR: cli/stream: add the conn_stream in "show sess" output > BUG/MINOR: mux-h2: don't report a fantom h2s in "show fd" > BUG/MINOR: cli/fd: don't isolate the thread for each individual fd > MINOR: objtype: report a few missing types in names and base pointers > BUG/MEDIUM: mux-h2: make sure to report synchronous errors after EOS > BUG/MEDIUM: mux-h2: report asynchronous errors in h2_wake_some_streams() > BUG/MEDIUM: mux-h2: make sure the demux also wakes streams up on errors > BUG/MINOR: mux-h1: report the correct frontend in error captures > BUG/MEDIUM: stream-int: also wake the stream up on end of transfer > MEDIUM: h2: properly check and deduplicate the content-length header in > HTX > CLEANUP: connection: rename subscription events values and event field > CLEANUP: connection: rename conn->mux_ctx to conn->ctx > MINOR: connection: remove an unwelcome dependency on struct stream > CLEANUP: stream-int: consistently call the si/stream_int functions > MEDIUM: stream-int: always consider all CS errors on the send side > CLEANUP: mux-h2: implement h2s_notify_{send,recv} to report events to > subscribers > MINOR: mux-h2: add a new function h2s_alert() to call the data layer > BUG/MEDIUM: mux-h2: make use of h2s_alert() to report aborts > MINOR: connection: add cs_set_error() to set the error bits > CLEANUP: mux-h2: make use of cs_set_error() > BUG/MINOR: mux-h2: make sure we check the conn_stream in early data > MINOR: cli/show_fd: report that a connection is back or not > SCRIPTS: add the slack channel URL to the announce script > CLEANUP: remove my name and address from the copyright banner > DOC: mention in the readme that 1.9 is a stable version now > > --- >

