Hi,
HAProxy 1.8.3 was released on 2017/12/30. It added 9 new commits
after version 1.8.2.
It's essentially focused on fixing the problems reported last week on
HTTP/2 and on the master-worker :
- fixed the HTTP/2 POST/PUT which would occasionally forward a shutdown
to the server resulting in server errors ;
- fixed an occasional 400 bad request on HTTP/2 which would happen when
large headers displace previous ones within the same request, due to
a missing copy of the name (the value was correct). It may have caused
some authentication to occasionally be lost (eg: lost cookie header)
and of course some requests to be rejected when this resulted in upper
case characters in their name.
- implemented the graceful shutdown on HTTP/2 connections during a reload
so that we can inform the client we're going to close, encouraging the
client to switch to a new connection. This avoids connections from
lasting forever after reloads on H2. I also noticed that it allows the
process to be replaced faster.
- open /dev/null on fd 0,1,2 after startup so that we never end up with
sockets or pipes on these FDs, which is otherwise problematic in master
worker mode.
Users of 1.8 must upgrade. Please don't report bugs affecting older 1.8
versions now, so that efforts are focused on fixing new bugs.
I'd like to address a special big thanks to Lucas Rolff and Lukas Tribus
for their help on the two main HTTP/2 bugs, as the issues were impossible
to reproduce outside of the reporter's environment and their help was
crucial here.
This is hopefully the last release of the year, so I wish you all a
happy new year.
Please find the usual URLs below :
Site index : http://www.haproxy.org/
Discourse : http://discourse.haproxy.org/
Sources : http://www.haproxy.org/download/1.8/src/
Git repository : http://git.haproxy.org/git/haproxy-1.8.git/
Git Web browsing : http://git.haproxy.org/?p=haproxy-1.8.git
Changelog : http://www.haproxy.org/download/1.8/src/CHANGELOG
Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/
Willy
---
Complete changelog :
Davor Ocelic (1):
DOC/MINOR: configuration: typo, formatting fixes
PiBa-NL (1):
BUG/MEDIUM: mworker: don't close stdio several time
William Lallemand (1):
MINOR: don't close stdio anymore
Willy Tarreau (6):
BUG/MEDIUM: h2: properly handle and report some stream errors
BUG/MEDIUM: h2: improve handling of frames received on closed streams
BUG/MEDIUM: h2: ensure we always know the stream before sending a reset
BUG/MEDIUM: http: don't automatically forward request close
BUG/MAJOR: hpack: don't return direct references to the dynamic headers
table
MEDIUM: h2: prepare a graceful shutdown when the frontend is stopped
---