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 :-)

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 ;-)

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/

Complete changelog :
Christopher Faulet (7):
      BUG/MEDIUM: compression: Use the right buffer pointers to compress input 
      BUG/MINOR: mux_pt: Set CS_FL_WANT_ROOM when count is zero in rcv_buf() 
      BUG/MEDIUM: stream: Forward the right amount of data before infinite 
      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 
      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 
      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 
      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


Reply via email to