HAProxy 2.1.11 was released on 2021/01/08. It added 65 new commits
after version 2.1.10.

I'd like to remind everyone that 2.1 is living its last months as its end
of life was announced as Q1 2021 as anyone can see by typing "haproxy -v".
As long as it doesn't hurt to emit a few more releases, I don't care much
about keeping it alive a little bit if some still need it, but barring any
new serious bug, you should reasonably consider that it's likely the last
one you're going to deploy before upgrading to 2.2 or 2.3. As usual, if
for any reason you think you need it to be maintained a bit longer (e.g.
facing a regression in more recent ones), please let us know very quickly.

Here come the bugs that were fixed since 2.2.6:
  - Gilchrist Dadaglo fixed a number of issues in the SPOA Python example,
    particularly on the error handling path. I seem to understand that most
    of them are related to risks of memory leaks. If you wrote some code
    using them as a form of documentation, please have a look at the recent
    changes there to see if you need to fix your code as well.

  - Olivier fixed a problem affecting users of ARM-based Macs, whose
    assembler takes the semi-colon as a comment instead of an instruction
    delimiter, causing the CAS to fail and loop forever.

  - Olivier and I addressed some memory ordering issues in the scheduler and
    self-locked lists that triggered on AWS' new ARM Graviton2 platform. We
    can thank Ashley Penney for all the useful tests and traces he provided!

  - Christopher fixed a delay issue affecting tunnels, where MSG_MORE was
    accidently left set, possibly delaying sending incomplete packets by up
    to 200ms.

  - Christopher also addressed a race condition affecting leastconn if a
    server's weight is changed to zero at the same moment the server is
    repositionned in the tree. In fact it's only an issue for 1.8 but the
    code was not correct in more recent versions either, but they're just
    more robust :-)

  - Christopher fixed a possible dangling pointer in SPOE that could cause
    random memory overwrites. Special thanks to Maciej Zdeb for tirelessly
    deploying test patches and checking traces to narrow it down!

  - Maciej fixed the sample fetches to retrieve messages cookies when
    called without cookie name. This case was never properly handled,
    contrary to what the doc says.

  - Tim fixed a missing call to the H2 mux's wakeup function in some
    cases. The bug could in theory cause some delays on long
    responses having no otherwise traffic, but could not be observed.

  - Thierry addressed a handful of low-importance Lua issues that were
    found during a code review.

  - Fred fixed a few bugs in the peers protocol parser and the dictionaries
    that were occasionally causing peers to get desynchronized.

  - the "concat" converter could corrupt its output if a non-string variable
    was used in the middle (e.g. an integer).

That's roughly all for bugs. Two minor features were backported, one is
William Dauchy's new "build_info" field in the prometheus exporter, which
reports the exact haproxy version for those who need to adjust their
behavior depending on the version, and the second is the new "url_enc"
converter which eases encoding of anything to be placed used in a query
string (e.g. for a redirect that will be decoded using url_dec).

And there were the usual amount of build fixes and doc updates.

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
   Wiki             : https://github.com/haproxy/wiki/wiki
   Sources          : http://www.haproxy.org/download/2.1/src/
   Git repository   : http://git.haproxy.org/git/haproxy-2.1.git/
   Git Web browsing : http://git.haproxy.org/?p=haproxy-2.1.git
   Changelog        : http://www.haproxy.org/download/2.1/src/CHANGELOG
   Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/

Complete changelog :
Amaury Denoyelle (1):
      BUG/MINOR: srv: do not init address if backend is disabled

Christian Ruppert (1):
      BUILD: hpack: hpack-tbl-t.h uses VAR_ARRAY but does not include compiler.h

Christopher Faulet (16):
      MINOR: http-htx: Add understandable errors for the errorfiles parsing
      BUG/MINOR: http-htx: Just warn if payload of an errorfile doesn't match 
the C-L
      BUG/MINOR: http-fetch: Fix calls w/o parentheses of the cookie sample 
      BUG/MAJOR: spoe: Be sure to remove all references on a released spoe 
      MINOR: spoe: Don't close connection in sync mode on processing timeout
      BUG/MEDIUM: filters: Forward all filtered data at the end of http 
      BUG/MINOR: http-ana: Don't wait for the body of CONNECT requests
      BUG/MAJOR: filters: Always keep all offsets up to date during data 
      DOC: config: Move req.hdrs and req.hdrs_bin in L7 samples fetches section
      BUG/MINOR: tools: make parse_time_err() more strict on the timer validity
      BUG/MINOR: tools: Reject size format not starting by a digit
      BUG/MEDIUM: lb-leastconn: Reposition a server using the right eweight
      CLEANUP: lua: Remove declaration of an inexistant function
      BUG/MINOR: mux-h1: Don't set CS_FL_EOI too early for protocol upgrade 
      BUG/MEDIUM: http-ana: Never for sending data in TUNNEL mode
      DOC: Add maintainers for the Prometheus exporter

David Carlier (1):
      DOC: email change of the DeviceAtlas maintainer

Eric Salama (1):
      MINOR: cfgparse: tighten the scope of newnameserver variable, free it on 

Frédéric Lécaille (2):
      BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries.
      BUG/MINOR: peers: Missing TX cache entries reset.

Gilchrist Dadaglo (8):
      BUG/MAJOR: spoa/python: Fixing return None
      DOC: spoa/python: Fixing typo in IP related error messages
      DOC: spoa/python: Rephrasing memory related error messages
      DOC: spoa/python: Fixing typos in comments
      BUG/MINOR: spoa/python: Cleanup references for failed Module Addobject 
      BUG/MINOR: spoa/python: Cleanup ipaddress objects if initialization fails
      BUG/MEDIUM: spoa/python: Fixing PyObject_Call positional arguments
      BUG/MEDIUM: spoa/python: Fixing references to None

Maciej Zdeb (2):
      BUG/MINOR: http-fetch: Extract cookie value even when no cookie name
      DOC: Clarify %HP description in log-format

Olivier Houchard (1):
      MINOR: atomic: don't use ; to separate instruction on aarch64.

Phil Scherer (1):
      DOC/MINOR: Fix formatting in Management Guide

Pierre Cheynier (1):
      CLEANUP: contrib/prometheus-exporter: typo fixes for ssl reuse metric

Thayne McCombs (2):
      DOC: fix some spelling issues over multiple files
      SCRIPTS: announce-release: fix typo in help message

Thierry Fournier (10):
      BUG/MINOR: pattern: a sample marked as const could be written
      BUG/MINOR: lua: set buffer size during map lookups
      BUG/MINOR: lua: missing "\n" in error message
      BUG/MINOR: lua: lua-load doesn't check its parameters
      BUG/MINOR: lua: Post init register function are not executed beyond the 
first one
      BUG/MINOR: lua: Some lua init operation are processed unsafe
      MINOR: actions: Export actions lookup functions
      MINOR: actions: add a function returning a service pointer from its name
      MINOR: cli: add a function to look up a CLI service description
      BUG/MINOR: lua: warn when registering action, conv, sf, cli or applet 
multiple times

Tim Duesterhus (2):
      BUG/MEDIUM: mux_h2: Add missing braces in h2_snd_buf()around trace+wakeup
      BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for 
`use_backend` fails

William Dauchy (2):
      BUILD: Makefile: exclude broken tests by default
      MINOR: contrib/prometheus-exporter: export build_info

Willy Tarreau (13):
      BUG/MEDIUM: peers: fix decoding of multi-byte length in stick-table 
      BUILD: http-htx: fix build warning regarding long type in printf
      BUG/MAJOR: peers: fix partial message decoding
      REGTESTS: make use of HAPROXY_ARGS and pass -dM by default
      BUILD: Makefile: have "make clean" destroy .o/.a/.s in contrib subdirs as 
      CONTRIB: halog: fix build issue caused by %L printf format
      CONTRIB: halog: mark the has_zero* functions unused
      CONTRIB: halog: fix signed/unsigned build warnings on counts and 
      CONTRIB: debug: address "poll" utility build on non-linux platforms
      BUILD: plock: remove dead code that causes a warning in gcc 11
      SCRIPTS: improve announce-release to support different tag and versions
      SCRIPTS: make announce release support preparing announces before tag 
      BUG/MINOR: sample: fix concat() converter's corruption with non-string 

Your Name (1):
      MINOR: plock: use an ARMv8 instruction barrier for the pause instruction


Reply via email to