Hi,

HAProxy 2.2-dev3 was released on 2020/02/25. It added 103 new commits
after version 2.2-dev2.

This version is mostly a bugfix and cleanup version after dev2, it
addresses roughly 30 bugs that were affecting it. It has very few new
features. Among the visible changes, I'd cite the fact that the
"show ssl cert" CLI command will now list the certificate chain and
issuer, that it now becomes possible to have a separate ".key" file for
the private key associated with a certificate (for this it must not be
present in the cert PEM file), and that the argument parser for the
config file finally supports quotes, braces and square brackets in
arguments, so that it is now possible to write character classes and
groups in the "regsub()" converter. For this these arguments must be
enclosed in quotes inside the argument, which means that you may either
backslash-quote them or have double quotes outside and single quotes
inside (i.e. the quote must appear as a delimiter in the argument after
the config is tokenized), like in this example stolen from Jérôme:

  http-request redirect location '%[url,regsub("(foo|bar)([0-9]+)?","\2\1",i)]'

I wanted to write an extra section about this in the doc but figured it was
stupid to delay a release on doc that advances slower.

If you've met bugs with 2.2-dev2, it may be worth upgrading to dev3 which
should remain almost identical but more reliable.

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

Willy
---
Complete changelog :
Christian Lachner (1):
      MINOR: build: add aix72-gcc build TARGET and power{8,9} CPUs

Christopher Faulet (13):
      BUG/MINOR: http-act: Set stream error flag before returning an error
      BUG/MINOR: http-act: Fix bugs on error path during parsing of return 
actions
      BUG/MEDIUM: tcp-rules: Fix track-sc* actions for L4/L5 TCP rules
      BUG/MINOR: mux-fcgi: Forbid special characters when matching PATH_INFO 
param
      MINOR: mux-fcgi: Make the capture of the path-info optional in pathinfo 
regex
      MINOR: http-htx: Add a function to retrieve the headers size of an HTX 
message
      MINOR: filters: Forward data only if the last filter forwards something
      BUG/MINOR: filters: Count HTTP headers as filtered data but don't forward 
them
      BUG/MINOR: http-htx: Don't return error if authority is updated without 
changes
      BUG/MINOR: stream: Don't incr frontend cum_req counter when stream is 
closed
      BUG/MINOR: http-ana: Matching on monitor-uri should be case-sensitive
      MINOR: http-ana: Match on the path if the monitor-uri starts by a /
      BUG/MAJOR: http-ana: Always abort the request when a tarpit is triggered

Emmanuel Hocdet (1):
      MINOR: ssl: add "issuers-chain-path" directive.

Ilya Shipitsin (9):
      BUILD: cirrus-ci: switch to "snap" images to unify openssl naming
      BUILD: cirrus-ci: workaround "pkg install" bug
      BUILD: cirrus-ci: add ERR=1 to freebsd builds
      BUILD: travis-ci: no more allowed failures for openssl-1.0.2
      BUILD: travis-ci: harden builds, add ERR=1 (warning ought to be errors)
      BUILD: scripts/build-ssl.sh: use "uname" instead of ${TRAVIS_OS_NAME}
      CLEANUP: ssl: remove unused functions in openssl-compat.h
      BUILD: enable ERR=1 in github cygwin builds
      BUILD: travis-ci: enable s390x builds

Jerome Magnin (4):
      MINOR: sample: regsub now supports backreferences
      MINOR: ist: add an iststop() function
      BUG/MINOR: http: http-request replace-path duplicates the query string
      CLEANUP: sample: use iststop instead of a for loop

Olivier Houchard (1):
      BUG/MEDIUM: muxes: Use the right argument when calling the destroy method.

Tim Duesterhus (4):
      BUG/MINOR: ssl: Stop passing dynamic strings as format arguments
      CLEANUP: conn: Do not pass a pointer to likely
      CLEANUP: net_helper: Do not negate the result of unlikely
      CLEANUP: cfgparse: Fix type of second calloc() parameter

William Dauchy (3):
      BUG/MINOR: tcp: avoid closing fd when socket failed in tcp_bind_listener
      BUG/MINOR: tcp: don't try to set defaultmss when value is negative
      BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat

William Lallemand (8):
      BUG/MEDIUM: ssl/cli: 'commit ssl cert' wrong SSL_CTX init
      DOC: schematic of the SSL certificates architecture
      MINOR: ssl: load the key from a dedicated file
      BUG/MINOR: ssl: load .key in a directory only after PEM
      MINOR: ssl/cli: 'show ssl cert' displays the chain
      MINOR: ssl/cli: 'show ssl cert'displays the issuer in the chain
      MINOR: ssl/cli: reorder 'show ssl cert' output
      CLEANUP: ssl: move issuer_chain tree and definition

Willy Tarreau (59):
      SCRIPTS: announce-release: place the send command in the mail's header
      SCRIPTS: announce-release: allow the user to force to overwrite old files
      SCRIPTS: backport: fix the master branch detection
      BUG/MAJOR: mux-h2: don't wake streams after connection was destroyed
      BUG/MINOR: unix: better catch situations where the unix socket path 
length is close to the limit
      BUG/MINOR: connection: correctly retry I/O on signals
      CLEANUP: mini-clist: simplify nested do { while(1) {} } while (0)
      BUILD: http_act: cast file sizes when reporting file size error
      BUG/MEDIUM: listener: only consider running threads when resuming 
listeners
      BUG/MINOR: listener: enforce all_threads_mask on bind_thread on init
      SCRIPTS: make announce-release executable again
      MINOR: tools: add is_idchar() to tell if a char may belong to an 
identifier
      MINOR: chunk: implement chunk_strncpy() to copy partial strings
      MINOR: sample/acl: use is_idchar() to locate the fetch/conv name
      MEDIUM: arg: make make_arg_list() stop after its own arguments
      MEDIUM: arg: copy parsed arguments into the trash instead of allocating 
them
      MEDIUM: arg: make make_arg_list() support quotes in arguments
      MINOR: sample: make sample_parse_expr() able to return an end pointer
      MEDIUM: log-format: make the LF parser aware of sample expressions' end
      BUG/MINOR: arg: report an error if an argument is larger than bufsize
      SCRIPTS: announce-release: use mutt -H instead of -i to include the draft
      BUG/MINOR: arg: fix again incorrect argument length check
      BUG/MINOR: tools: also accept '+' as a valid character in an identifier
      BUG/MINOR: sample: exit regsub() in case of trash allocation error
      REGTESTS: use "command -v" instead of "which"
      BUG/MINOR: mux: do not call conn_xprt_stop_recv() on buffer shortage
      MINOR: checks: do not call conn_xprt_stop_send() anymore
      CLEANUP: epoll: place the struct epoll_event in the stack
      MEDIUM: connection: remove the intermediary polling state from the 
connection
      MINOR: raw_sock: directly call fd_stop_send() and not 
conn_xprt_stop_send()
      MINOR: tcp/uxst/sockpair: use fd_want_send() instead of 
conn_xprt_want_send()
      MINOR: connection: remove the last calls to conn_xprt_{want,stop}_*
      CLEANUP: connection: remove the definitions of 
conn_xprt_{stop,want}_{send,recv}
      MINOR: connection: introduce a new receive flag: CO_RFL_READ_ONCE
      MINOR: mux-h1: pass CO_RFL_READ_ONCE to the lower layers when relevant
      BUG/MEDIUM: shctx: make sure to keep all blocks aligned
      MINOR: compiler: move CPU capabilities definition from config.h and 
complete them
      BUG/MEDIUM: ebtree: don't set attribute packed without unaligned access 
support
      CLEANUP: http/h1: rely on HA_UNALIGNED_LE instead of checking for CPU 
families
      BUILD: fix recent build failure on unaligned archs
      MINOR: compiler: drop special cases of likely/unlikely for older compilers
      BUILD: remove obsolete support for -mregparm / USE_REGPARM
      BUILD: ssl: only pass unsigned chars to isspace()
      BUILD: general: always pass unsigned chars to is* functions
      BUG/MINOR: sample: fix the json converter's endian-sensitivity
      BUG/MEDIUM: ssl: fix several bad pointer aliases in a few sample fetch 
functions
      CLEANUP: fd: use a union in fd_rm_from_fd_list() to shut aliasing warnings
      CLEANUP: cache: use read_u32/write_u32 to access the cache entry's hash
      CLEANUP: stick-tables: use read_u32() to display a node's key
      CLEANUP: sample: use read_u64() in ipmask() to apply an IPv6 mask
      MINOR: pattern: fix all remaining strict aliasing issues
      CLEANUP: lua: fix aliasing issues in the address matching code
      CLEANUP: connection: use read_u32() instead of a cast in the netscaler 
parser
      BUILD: makefile: re-enable strict aliasing
      BUG/MINOR: connection: make sure to correctly tag local PROXY connections
      MINOR: compiler: add new alignment macros
      BUILD: ebtree: improve architecture-specific alignment
      MINOR: config: mark global.debug as deprecated
      DOC: proxy-protocol: clarify IPv6 address representation in the spec

---

Reply via email to