HAProxy 2.1-dev1 was released on 2019/07/16. It added 85 new commits
after version 2.1-dev0.

Let's present it the easy way : this version is essentially 2.0.2 plus
the few patches that were pending in the -next branch (removal of a few
long deprecated options), the addition of a sha2() converter, the storage
of the server-state global file in a tree for much faster reloads, and
the addition of "user" and "group" directives to the "programs" section.

The idea is to have a clean and working reference for this branch before
we pull the hammer and start to break everything again :-)

Some short-term changes to come include removal of HTTP legacy mode, which
will definitely open a few new bugs and help us remove many others once the
code becomes cleaner, some updates to the connection layers to improve thread
support (we'll try to share idle connections between threads, that's hard
but if we don't address this now it will be increasingly harder over time
to work with threads), hopefully rework the shutdown vs abort stuff, and
some of the various things marked as development notes in GitHub issues.

So if you want to only remember something simple, just keep in mind that
2.1-dev1 is the last safe 2.1-dev for quite some time.

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.1/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.1/src/CHANGELOG
   Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/

Complete changelog :
Alain Belkadi (1):
      DOC: Fix typo in intro.txt

Aleksandar Lazic (1):
      DOC: contrib: spoa_server Add some hints for building spoa_server

Andrew Heberle (1):
      MEDIUM: mworker-prog: Add user/group options to program section

Baptiste Assmann (1):
      MEDIUM: server: server-state global file stored in a tree

Christopher Faulet (32):
      BUG/MEDIUM: h2/htx: Update data length of the HTX when the cookie list is 
      BUG/MINOR: lua/htx: Make txn.req_req_* and txn.res_rep_* HTX aware
      BUG/MINOR: mux-h1: Add the header connection in lower case in outgoing 
      MINOR: htx: Add the function htx_change_blk_value_len()
      BUG/MEDIUM: htx: Fully update HTX message when the block value is changed
      BUG/MEDIUM: mux-h2: Reset padlen when several frames are demux
      BUG/MEDIUM: mux-h2: Remove the padding length when a DATA frame size is 
      BUG/MEDIUM: lb_fwlc: Don't test the server's lb_tree from outside the lock
      BUG/MINOR: htx: Save hdrs_bytes when the HTX start-line is replaced
      BUG/MAJOR: mux-h1: Don't crush trash chunk area when outgoing message is 
      BUG/MINOR: memory: Set objects size for pools in the per-thread cache
      BUG/MEDIUM: proto_htx: Don't add EOM on 1xx informational messages
      BUG/MEDIUM: mux-h1: Use buf_room_for_htx_data() to detect too large 
      BUG/MINOR: mux-h1: Make format errors during output formatting fatal
      BUG/MEDIUM: mux-h1: Always release H1C if a shutdown for writes was 
      BUG/MINOR: mux-h1: Skip trailers for non-chunked outgoing messages
      BUG/MINOR: mux-h1: Don't return the empty chunk on HEAD responses
      BUG/MINOR: contrib/prometheus-exporter: Don't use channel_htx_recv_max()
      BUG/MINOR: hlua: Don't use channel_htx_recv_max()
      BUG/MEDIUM: channel/htx: Use the total HTX size in 
      BUG/MINOR: hlua/htx: Respect the reserve when HTX data are sent
      BUG/MINOR: contrib/prometheus-exporter: Respect the reserve when data are 
      BUG/MINOR: contrib/prometheus-exporter: Don't try to add empty data blocks
      MINOR: action: Add the return code ACT_RET_DONE for actions
      BUG/MEDIUM: http/applet: Finish request processing when a service is 
      BUG/MEDIUM: lb_fas: Don't test the server's lb_tree from outside the lock
      BUG/MEDIUM: mux-h1: Handle TUNNEL state when outgoing messages are 
      BUG/MINOR: mux-h1: Don't process input or ouput if an error occurred
      MINOR: stream-int: Factorize processing done after sending data in 
      BUG/MEDIUM: stream-int: Don't rely on CF_WRITE_PARTIAL to unblock 
opposite si
      BUG/MINOR: server: Be really able to keep "pool-max-conn" idle connections
      BUG/MEDIUM: mux-h1: Don't release h1 connection if there is still data to 

Dave Pirotte (1):
      BUG/MINOR: mux-h1: Correctly report Ti timer when HTX and keepalives are 

David Carlier (1):
      BUG/MEDIUM: da: cast the chunk to string.

Frédéric Lécaille (3):
      BUG/MAJOR: sample: Wrong stick-table name parsing in "if/unless" ACL 
      MINOR: server: Add "no-tfo" option.
      CLEANUP: proto_tcp: Remove useless header inclusions.

John Roesler (1):
      DOC: Fix typos and grammer in configuration.txt

Jérôme Magnin (1):
      REGTESTS: checks: tcp-check connect to multiple ports

Lukas Tribus (1):
      BUG/MINOR: ssl: revert empty handshake detection in OpenSSL <= 1.0.2

Olivier Houchard (14):
      BUG/MEDIUM: stream_interface: Don't add SI_FL_ERR the state is < 
      BUG/MEDIUM: connections: Always add the xprt handshake if needed.
      BUG/MEDIUM: ssl: Don't do anything in ssl_subscribe if we have no ctx.
      BUG/MEDIUM: ssl: Don't attempt to set alpn if we're not using SSL.
      BUG/MEDIUM: connections: Always call shutdown, with no linger.
      BUG/MEDIUM: checks: Make sure the tasklet won't run if the connection is 
      BUG/MEDIUM: connections: Make sure we're unsubscribe before upgrading the 
      BUG/MEDIUM: servers: Authorize tfo in default-server.
      BUG/MEDIUM: sessions: Don't keep an extra idle connection in sessions.
      BUG/MEDIUM: servers: Don't forget to set srv_cs to NULL if we can't reuse 
      BUG/MEDIUM: checks: Don't attempt to read if we destroyed the connection.
      BUG/MEDIUM: servers: Fix a race condition with idle connections.
      BUG/MEDIUM: streams: Don't give up if we couldn't send the request.
      BUG/MEDIUM: streams: Don't redispatch with L7 retries if redispatch isn't 

Tim Duesterhus (9):
      MEDIUM: Make 'block' directive fatal
      MEDIUM: Make 'redispatch' directive fatal
      MEDIUM: Make '(cli|con|srv)timeout' directive fatal
      MEDIUM: Remove 'option independant-streams'
      MINOR: sample: Add sha2([<bits>]) converter
      BUG/MEDIUM: compression: Set Vary: Accept-Encoding for compressed 
      BUG/MINOR: mworker-prog: Fix segmentation fault during cfgparse
      BUG/MINOR: spoe: Fix memory leak if failing to allocate memory
      BUG/MINOR: log: Detect missing sampling ranges in config

William Lallemand (3):
      BUG/MEDIUM: mworker: don't call the thread and fdtab deinit
      BUG/MEDIUM: mworker/cli: command pipelining doesn't work anymore
      BUG/MINOR: mworker/cli: don't output a \n before the response

Willy Tarreau (15):
      DOC: this is a development branch again.
      BUILD: mworker: silence two printf format warnings around getpid()
      BUILD: makefile: use :space: instead of digits to count commits
      BUILD: makefile: adjust the sed expression of "make help" for solaris
      BUILD: makefile: do not rely on shell substitutions to determine git 
      BUG/MEDIUM: checks: unblock signals in external checks
      MINOR: pools: release the pool's lock during the malloc/free calls
      MINOR: pools: always pre-initialize allocated memory outside of the lock
      MINOR: pools: make the thread harmless during the mmap/munmap syscalls
      BUG/MEDIUM: fd/threads: fix excessive CPU usage on multi-thread accept
      MINOR: task: introduce work lists
      BUG/MAJOR: listener: fix thread safety in resume_listener()
      BUG/MINOR: mux-pt: do not pretend there's more data after a read0
      BUG/MEDIUM: tcp-check: unbreak multiple connect rules again
      BUG/MEDIUM: threads: cpu-map designating a single thread/process are 


Reply via email to