Hi,

no less than 4 months have elapsed since 1.5-dev3. Most of the time was
spent trying to figure what needed to be changed in order to support
server-side keep-alive. After about 20 unpublished experimental branches
that were partly dropped, I finally reached a point where I'm confident
I'm in the right direction, so I decided to merge everything I had that
needed to be kept.

There are 94 patches in this version. Most of them are harmless and have
also been merged into 1.4.13. A few others imply more sensible changes
which should be OK but are still worth a few checks after upgrade :

  - frontend and backend stats are now split. That means that "listen"
    instances involved in content switching rules will correctly report
    the traffic that went through their frontend and backend parts. I
    did that carefully and I think it's OK. But if you notice some stats
    reporting oddities, please keep this change in mind and report the
    issue ;

  - server-side IPv6 almost done. The work was done at Exceliance by
    David du Colombier. We discovered that there were some issues in
    some implementations of getaddrinfo() on various systems, so I
    decided that for now I'd only merge his changes that were relevant
    to the internals, and not the ones which touched the config parser.
    That means that at this stage, server-side IPv6 is not supported
    and that no existing config should be affected. The merge was not
    easy due to massive changes I had performed in the same areas, so
    if you notice an address or a port that is not correctly bound
    anymore, that's probably a merge bug, so please report it too.

  - http-request rules are now evaluated *before* the stats rule. I
    was quite surprized to discover that we could not block access to
    stats using an "http-request deny" rule which was supposed to be
    parsed earlier. While I don't expect any issue with this change,
    maybe some setups were offering a wider access to stats than
    expected and will exhibit the restriction.

There were very few user-visible improvements in this version. One of
them is an optimization which results in chunked-encoded data not
being sent one packet per chunk anymore. This can save some network
processing at places where contents are compressed. Another one is
that error captures and dumps are now more complete, they include an
identifier, they support wrapping messages, they can report incorrectly
chunked data. The rest is almost only internal redesign or bugfixes.

As usual, upgrade for 1.5-dev users is recommended with the level of
care due to a development version. I've upgraded the haproxy site to
run on it (demo.1wt.eu). In case important regressions would be reported,
I'd issue 1.5-dev5 with those fixes to make upgrades easier.

For the next step, I intend to merge the second half of the IPv6 work,
review and merge Simon's hot-reconfiguration stuff, then go back to work
on keep-alive.

Usual download URLs below :
   site index      : http://haproxy.1wt.eu/
   sources         : http://haproxy.1wt.eu/download/1.5/src/devel/
   changelog       : http://haproxy.1wt.eu/download/1.5/src/CHANGELOG
   stunnel patches : http://haproxy.1wt.eu/download/patches/

Willy


Reply via email to