Hi,

HAProxy 1.8-dev1 was released on 2017/04/03. It added 319 new commits
after version 1.8-dev0, brought by 33 contributors among which the
following 13 ones were newcomers :

    Andriy Palamarchuk
    David Harrigan
    Felipe Guerreiro Barbosa Ruiz
    Guillaume de Lafond
    Hongbo Long
    Luca Pizzamiglio
    Marcin Deranek
    Matthieu Guegan
    Misiek
    Olivier Houchard
    Robin H. Johnson
    Ryabin Sergey
    Steven Davidovitz
    Tim Düsterhus

So this is the end of development phase 1. Now please don't submit stuff
that has not been previously discussed. Developers working on various
features should now have more time to focus on finishing what they've
started and to fix their bugs.

Compared to 1.7.0, 1.8-dev1 brought a few new features :
  - pipelined and asynchronous SPOE to improve performance of remote
    processing / content validation ;

  - bind configuration is now per certificate, which means that you can
    expect some client authentication on certain host names only if you
    want, while they're shared on the same IP:port as others not having
    such a requirement (it also works for alpn, ciphers etc)

  - BoringSSL and LibreSSL are supposed to be much better supported

  - DNS multiple responses are now better spread over the server farm to
    limit duplicates so that all servers get a different one  when there
    are more addresses than servers.

  - stats output now supports JSON format

  - support for "no-<keyword>" for all server keywords and support for
    all such keywords in the default-server directive

  - a few new sample fetch functions like hostname, or the ability to
    extract the cipher list presented by a browser, apparently it's
    sometimes useful to distinguish real vs fake browsers

  - "show cli sockets" is supported on the CLI to report what other
    sockets are available, useful in multi-process mode.

  - "hard-stop-after" allows an old process to die after a grace period
    during reloads, to avoid accumulation of very old processes when
    facing never-ending connections. (backported to 1.7 as well).

  - check agent's address can now be set using agent-addr, and all agent
    settings can be changed over the CLI (useful in some auto-scale
    environments where a central controller informs about the availability
    of each server).

  - dynamic cookie valuation : the new keyword "dynamic" on the "cookie" line
    will compute an automatic, unique and consistent cookie value for a server
    based on its proto:ip:port so that it's possible to maintain stickiness
    over a cluster of load balancers regardless of the order of the servers
    they learned over DNS or other means

  - support for setting the status code on http-request tarpit, and setting
    a custom reason as well on various rules.

  - pcre2 support for regex

  - improved Lua memory usage using pools

  - improved error/warning reporting during config parsing

  - small performance improvements with the kqueue poller (FreeBSD/OpenBSD)

  - large number of documentation fixes and cleanups

  - for developers, the code is now cleaner and more callback-based,
    it's possible to create new files which register their own config,
    version reporting, deinit code and even CLI keywords, meaning that
    it's easier to add optional support for some stuff. As an exercise
    (and a cleanup process), we could move the 3 device detection engines
    to their own file without any reference at all from the rest of the
    code, this will also significantly improve their maintenance and
    limit the risk of accidental breakage when other contributors don't
    have everything necessary to test them.

  - for developers, the code builds significantly faster on machines
    with many cores, after having reordered the sources in the makefile
    according to their build time, so that slower ones are started first.

That's about all for now (I might have missed a few things, sorry if that's
the case and it's the feature you implemented, feel free to blame me here).

Now for the next steps, we have some pending stuff already that several
of us are still working on :

  - openssl async API (Grant Zhang, under tests by Emeric, still facing
    a few issues, possibly related to the engine we're using, should be
    sorted out soon -- hopefully)

  - dealing with the openssl version configuration mess revealed by
    the new APIs (Manu and Emeric) -- this will impact some server
    keywords. At this point I think there's agreement on what the
    config should look like, maybe it's going to be OK with the
    implementation, I expect this to get merged soon.

  - HTTP/2 frontend (not kidding, but still quite a hard work)

  - initial multi-threading support (Emeric and Christopher) : things
    start to look scarier once observed closer :-)

  - RAM-based "favicon" cache (William)

  - make userlists updatable from the CLI (William) -- turning them to
    maps was done already but never merged, it didn't appear sustainable
    so a new approach will be followed

  - master/worker model to get rid of systemd-wrapper (William)

  - ability to pass the listening FDs from the old to the new process
    during a reload to workaround the painful (rare but existing) RST
    issue under Linux when closing the listener (Olivier).

  - server-template (Fred) : pre-provisionning of disabled servers that
    can easily be enabled over CLI/DNS/whatever.

  - a few connection management fixes/improvements that are pending
    in a few of my branches (improved close handling & polling
    accuracy), possibly a hack to use eBPF to destroy empty ACKs during
    reload to prevent empty connections from getting killed by close().

  - improve handling of error-file by splitting headers and body -- I
    don't know if someone is still working on this, but it's still
    welcome and should not interfer with the other devs

Now I won't disclose a trade secret by saying that 1.8-dev1 is an
accumulation of a lot of young code that has not got a lot of testing
yet and that it's mostly aimed at developers. Thus feedback is welcome,
but if you want to push it in production, do it when you're around or
only if you have an automatic failover to the stable version :-)

Last point, we're in the process of migrating the server hosting the
mailing list and hosting haproxy.org (git and downloads). For now we
managed to avoid outages but there may be a few short hicups in the
upcoming days so don't worry.

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

Willy
---
Complete changelog :
Andriy Palamarchuk (4):
      DOC/MINOR: Fix typos in proxy protocol doc
      DOC: Protocol doc: add checksum, TLV type ranges
      DOC: Protocol doc: add SSL TLVs, rename CHECKSUM
      DOC: Protocol doc: add noop TLV

Baptiste (1):
      MINOR: dns: improve DNS response parsing to use as many available records 
as possible

Baptiste Assmann (2):
      MINOR: dns: give ability to dns_init_resolvers() to close a socket when 
requested
      BUG/MAJOR: dns: restart sockets after fork()

Ben Shillito (1):
      DOC: Added 51Degrees conv and fetch functions to documentation.

Christopher Faulet (53):
      BUG/MEDIUM: http: Fix tunnel mode when the CONNECT method is used
      BUG/MINOR: http: Keep the same behavior between 1.6 and 1.7 for tunneled 
txn
      BUG/MINOR: filters: Protect args in macros HAS_DATA_FILTERS and 
IS_DATA_FILTER
      BUG/MINOR: filters: Invert evaluation order of HTTP_XFER_BODY and 
XFER_DATA analyzers
      BUG/MINOR: http: Call XFER_DATA analyzer when HTTP txn is switched in 
tunnel mode
      DOC: Add undocumented argument of the trace filter
      DOC: Fix some typo in SPOE documentation
      MINOR: cli: Remove useless call to bi_putchk
      BUG/MINOR: cli: be sure to always warn the cli applet when input buffer 
is full
      MINOR: applet: Count number of (active) applets
      MINOR: task: Rename run_queue and run_queue_cur counters
      BUG/MEDIUM: stream: Save unprocessed events for a stream
      BUG/MAJOR: Fix how the list of entities waiting for a buffer is handled
      BUG/MINOR: Fix the sending function in Lua's cosocket
      BUG/MAJOR: channel: Fix the definition order of channel analyzers
      BUG/MINOR: stream: Fix how backend-specific analyzers are set on a stream
      BUG/MEDIUM: filters: Do not truncate HTTP response when body length is 
undefined
      BUG/MEDIUM: http: Prevent replace-header from overwriting a buffer
      BUG/MINOR: http: Return an error when a replace-header rule failed on the 
response
      BUG/MINOR: spoe: Fix soft stop handler using a specific id for spoe 
filters
      BUG/MINOR: spoe: Fix parsing of arguments in spoe-message section
      MAJOR: spoe: Add support of pipelined and asynchronous exchanges with 
agents
      MINOR: spoe: Add support for pipelining/async capabilities in the SPOA 
example
      MINOR: spoe: Remove SPOE details from the appctx structure
      MINOR: spoe: Add status code in error variable instead of hardcoded value
      MINOR: spoe: Send a log message when an error occurred during event 
processing
      MINOR: spoe: Check the scope of sample fetches used in SPOE messages
      MEDIUM: spoe: Be sure to wakeup the good entity waiting for a buffer
      MINOR: spoe: Use the min of all known max_frame_size to encode messages
      MAJOR: spoe: Add support of payload fragmentation in NOTIFY frames
      MINOR: spoe: Add support for fragmentation capability in the SPOA example
      MAJOR: spoe: refactor the filter to clean up the code
      MINOR: spoe: Handle NOTIFY frames cancellation using ABORT bit in ACK 
frames
      REORG: spoe: Move struct and enum definitions in dedicated header file
      REORG: spoe: Move low-level encoding/decoding functions in dedicated 
header file
      MINOR: spoe: Improve implementation of the payload fragmentation
      MINOR: spoe: Add support of negation for options in SPOE configuration 
file
      MINOR: spoe: Add "pipelining" and "async" options in spoe-agent section
      MINOR: spoe: Rely on alertif_too_many_arg during configuration parsing
      MINOR: spoe: Add "send-frag-payload" option in spoe-agent section
      MINOR: spoe: Add "max-frame-size" statement in spoe-agent section
      DOC: spoe: Update SPOE documentation to reflect recent changes
      BUG/MEDIUM: filters: Fix channels synchronization in flt_end_analyze
      BUG/MAJOR: http: fix typo in http_apply_redirect_rule
      BUG/MEDIUM: buffers: Fix how input/output data are injected into buffers
      BUG/MINOR: http: Fix conditions to clean up a txn and to handle the next 
request
      CLEANUP: http: Remove channel_congested function
      CLEANUP: buffers: Remove buffer_bounce_realign function
      CLEANUP: buffers: Remove buffer_contig_area and buffer_work_area functions
      MINOR: http: remove useless check on HTTP_MSGF_XFER_LEN for the request
      MINOR: http: Add debug messages when HTTP body analyzers are called
      BUG/MEDIUM: http: Fix blocked HTTP/1.0 responses when compression is 
enabled
      BUG/MINOR: filters: Don't force the stream's wakeup when we wait in 
flt_end_analyze

Cyril Bonté (1):
      MEDIUM: global: add a 'hard-stop-after' option to cap the soft-stop time

David Carlier (1):
      MEDIUM: regex: pcre2 support

David Harrigan (1):
      MINOR: stats: Support "select all" for backend actions

Dragan Dosen (1):
      BUG/MINOR: cli: allow the backslash to be escaped on the CLI

Emeric Brun (3):
      MINOR: connection: add sample fetch "fc_rcvd_proxy"
      OPTIM/MINOR: config: Optimize fullconn automatic computation loading 
configuration
      BUG/MEDIUM: peers: fix buffer overflow control in intdecode.

Emmanuel Hocdet (16):
      BUG/MINOR: ssl: EVP_PKEY must be freed after X509_get_pubkey usage
      BUG/MINOR: ssl: assert on SSL_set_shutdown with BoringSSL
      MAJOR: ssl: bind configuration per certificat
      MINOR: ssl: add curve suite for ECDHE negotiation
      BUILD: ssl: fix to build (again) with boringssl
      MEDIUM: boringssl: support native multi-cert selection without bundling
      BUG/MEDIUM: ssl: fix verify/ca-file per certificate
      BUG/MEDIUM: ssl: switchctx should not return SSL_TLSEXT_ERR_ALERT_WARNING
      MINOR: ssl: removes SSL_CTX_set_ssl_version call and cleanup CTX creation.
      BUILD: ssl: fix build with -DOPENSSL_NO_DH
      MEDIUM: ssl: remove ssl-options from crt-list
      BUG/MEDIUM: ssl: in bind line, ssl-options after 'crt' are ignored.
      BUG/MINOR: ssl: fix cipherlist captures with sustainable SSL calls
      MINOR: ssl: improved cipherlist captures
      BUILD: ssl: simplify SSL_CTX_set_ecdh_auto compatibility
      BUILD: ssl: fix OPENSSL_NO_SSL_TRACE for boringssl and libressl

Felipe Guerreiro Barbosa Ruiz (1):
      BUG: payload: fix payload not retrieving arbitrary lengths

Frédéric Lécaille (32):
      BUG/MINOR: cfgparse: loop in tracked servers lists not detected by 
check_config_validity().
      MINOR: server: irrelevant error message with 'default-server' config file 
keyword.
      MINOR: server: Make 'default-server' support 'backup' keyword.
      MINOR: server: Make 'default-server' support 'check-send-proxy' keyword.
      CLEANUP: server: code alignement.
      MINOR: server: Make 'default-server' support 'non-stick' keyword.
      MINOR: server: Make 'default-server' support 'send-proxy' and 
'send-proxy-v2 keywords.
      MINOR: server: Make 'default-server' support 'check-ssl' keyword.
      MINOR: server: Make 'default-server' support 'force-sslv3' and 
'force-tlsv1[0-2]' keywords.
      CLEANUP: server: code alignement.
      MINOR: server: Make 'default-server' support 'no-ssl*' and 'no-tlsv*' 
keywords.
      MINOR: server: Make 'default-server' support 'ssl' keyword.
      MINOR: server: Make 'default-server' support 'send-proxy-v2-ssl*' 
keywords.
      CLEANUP: server: code alignement.
      MINOR: server: Make 'default-server' support 'verify' keyword.
      MINOR: server: Make 'default-server' support 'verifyhost' setting.
      MINOR: server: Make 'default-server' support 'check' keyword.
      MINOR: server: Make 'default-server' support 'track' setting.
      MINOR: server: Make 'default-server' support 'ca-file', 'crl-file' and 
'crt' settings.
      MINOR: server: Make 'default-server' support 'redir' keyword.
      MINOR: server: Make 'default-server' support 'observe' keyword.
      MINOR: server: Make 'default-server' support 'cookie' keyword.
      MINOR: server: Make 'default-server' support 'ciphers' keyword.
      MINOR: server: Make 'default-server' support 'tcp-ut' keyword.
      MINOR: server: Make 'default-server' support 'namespace' keyword.
      MINOR: server: Make 'default-server' support 'source' keyword.
      MINOR: server: Make 'default-server' support 'sni' keyword.
      MINOR: server: Make 'default-server' support 'addr' keyword.
      MINOR: server: Make 'default-server' support 'disabled' keyword.
      MINOR: server: Add 'no-agent-check' server keyword.
      DOC: server: Add docs for "server" and "default-server" new "no-*" and 
other settings.
      BUG/MEDIUM: server: Wrong server default CRT filenames initialization.

Guillaume de Lafond (3):
      DOC: Add timings events schemas
      DOC: log-format/tcplog/httplog update
      MINOR: config parsing: add warning when log-format/tcplog/httplog is 
overriden in "defaults" sections

Hongbo Long (1):
      BUG/MEDIUM: stream: fix client-fin/server-fin handling

Janusz Dziemidowicz (1):
      BUG/MEDIUM: ssl: Clear OpenSSL error stack after trying to parse OCSP file

Jarno Huuskonen (6):
      MINOR: Use "500 Internal Server Error" for 500 error/status code message.
      MINOR: proto_http.c 502 error txt typo.
      DOC: add deprecation notice to "block"
      MEDIUM: http_error_message: txn->status / http_get_status_idx.
      MINOR: http-request tarpit deny_status.
      DOC: fix parenthesis and add missing "Example" tags

Luca Pizzamiglio (1):
      BUILD/MEDIUM: Fixing the build using LibreSSL

Lukas Tribus (4):
      MINOR: compression: fix -vv output without zlib/slz
      MINOR: ssl: don't show prefer-server-ciphers output
      MINOR: doc: 2.4. Examples should be 2.5. Examples
      MINOR: doc: fix use-server example (imap vs mail)

Marcin Deranek (3):
      MINOR: proxy: Add fe_name/be_name fetchers next to existing fe_id/be_id
      DOC: fix small typo in fe_id (backend instead of frontend)
      BUG/MINOR: backend: nbsrv() should return 0 if backend is disabled

Matthieu Guegan (1):
      BUG/MINOR: http: don't send an extra CRLF after a Set-Cookie in a redirect

Misiek (4):
      MINOR: checks: Add agent-addr config directive
      MINOR: cli: Add possiblity to change agent config via CLI/socket
      MINOR: doc: Add docs for agent-addr configuration variable
      MINOR: doc: Add docs for agent-addr and agent-send CLI commands

Nenad Merdanovic (6):
      BUG/MEDIUM: cli: Prevent double free in CLI ACL lookup
      BUG/MINOR: Fix "get map <map> <value>" CLI command
      MINOR: Add nbsrv sample converter
      CLEANUP: Replace repeated code to count usable servers with 
be_usable_srv()
      MINOR: Add hostname sample fetch
      CLEANUP: Remove comment that's no longer valid

Olivier Doucet (1):
      BUG/MINOR: option prefer-last-server must be ignored in some case

Olivier Houchard (4):
      MINOR: server: Add dynamic session cookies.
      MINOR: cli: Let configure the dynamic cookies from the cli.
      BUG/MEDIUM server: Fix crash when dynamic is defined, but not key is 
provided.
      CLEANUP: config: Typo in comment.

Robin H. Johnson (1):
      MINOR: http: custom status reason.

Ruoshan Huang (1):
      DOC: Fix map table's format

Ryabin Sergey (1):
      BUG/MINOR: Reset errno variable before calling strtol(3)

Simon Horman (2):
      MEDIUM: stats: Add JSON output option to show (info|stat)
      MEDIUM: stats: Add show json schema

Steven Davidovitz (1):
      BUG/MINOR: checks: attempt clean shutw for SSL check

Thierry FOURNIER (22):
      BUG/MEDIUM: lua: In some case, the return of sample-fetches is ignored (2)
      DOC: lua: documentation about time parser functions
      DOC: lua: improve links
      DOC: lua: section declared twice
      CLEANUP: lua: rename one of the lua appctx union
      BUG/MINOR: lua/cli: bad error message
      MEDIUM: lua: use memory pool for hlua struct in applets
      MINOR: lua/signals: Remove Lua part from signals.
      MINOR/DOC: lua: just precise one thing
      BUG/MINOR: lua: memory leak executing tasks
      BUG/MINOR: lua: bad return code
      BUG/MINOR: lua: memleak when Lua/cli fails
      MEDIUM: lua: remove Lua struct from session, and allocate it with memory 
pools
      BUG/MINOR: stats: fix be/sessions/current out in typed stats
      BUILD: lua: build failed on FreeBSD.
      MINOR: samples: add xx-hash functions
      BUG/MINOR: sample-fetches/stick-tables: bad type for the sample fetches 
sc*_get_gpt0
      BUG/MINOR: lua: Map.end are not reliable because "end" is a reserved 
keyword
      BUG/MEDIUM: http: prevent redirect from overwriting a buffer
      BUG/MINOR: sendmail: The return of vsnprintf is not cleanly tested
      BUG/MAJOR: lua segmentation fault when the request is like 'GET ?arg=val 
HTTP/1.1'
      MEDIUM: ssl: add new sample-fetch which captures the cipherlist

Thierry FOURNIER / OZON.IO (7):
      BUG/MEDIUM: variables: some variable name can hide another ones
      MINOR: lua: Allow argument for actions
      CLEANUP: hlua: just indent functions
      MINOR: lua: give HAProxy variable access to the applets
      DOC: lua: Documentation about some entry missing
      DOC: lua: Add documentation about variable manipulation from applet
      MINOR: Do not forward the header "Expect: 100-continue" when the option 
http-buffer-request is set

Tim Düsterhus (1):
      DOC: Spelling fixes

William Lallemand (3):
      MEDIUM: cli: 'show cli sockets' list the CLI sockets
      DOC: cli: show cli sockets
      BUG/MINOR: systemd: potential zombie processes

Willy Tarreau (128):
      BUG/MEDIUM: proxy: return "none" and "unknown" for unknown LB algos
      BUG/MINOR: stats: make field_str() return an empty string on NULL
      BUG/MAJOR: stream: fix session abort on resource shortage
      OPTIM: stream-int: don't disable polling anymore on DONT_READ
      BUG/MEDIUM: cli: fix "show stat resolvers" and "show tls-keys"
      DOC: mention that req_tot is for both frontends and backends
      BUILD: rearrange target files by build time
      BUG/MINOR: stats: fix be/sessions/max output in html stats
      SCRIPTS: git-show-backports: fix a harmless typo
      SCRIPTS: git-show-backports: add -H to use the hash of the commit message
      BUG/MINOR: stream-int: automatically release SI_FL_WAIT_DATA on SHUTW_NOW
      CLEANUP: applet/lua: create a dedicated ->fcn entry in hlua_cli context
      CLEANUP: applet/table: add an "action" entry in ->table context
      CLEANUP: applet: remove the now unused appctx->private field
      BUG/MINOR: cli: "show cli sockets" wouldn't list all processes
      BUG/MINOR: cli: "show cli sockets" would always report process 64
      MINOR: cli: automatically enable a CLI I/O handler when there's no parser
      CLEANUP: memory: remove the now unused cli_parse_show_pools() function
      CLEANUP: applet: group all CLI contexts together
      CLEANUP: stats: move a misplaced stats context initialization
      MINOR: cli: add two general purpose pointers and integers in the CLI 
struct
      MINOR: appctx/cli: remove the cli_socket entry from the appctx union
      MINOR: appctx/cli: remove the env entry from the appctx union
      MINOR: appctx/cli: remove the "be" entry from the appctx union
      MINOR: appctx/cli: remove the "dns" entry from the appctx union
      MINOR: appctx/cli: remove the "server_state" entry from the appctx union
      MINOR: appctx/cli: remove the "tlskeys" entry from the appctx union
      CONTRIB: tcploop: add limits.h to fix build issue with some compilers
      CLEANUP: haproxy: statify unexported functions
      MINOR: haproxy: add a registration for build options
      CLEANUP: wurfl: use the build options list to report it
      CLEANUP: 51d: use the build options list to report it
      CLEANUP: da: use the build options list to report it
      CLEANUP: namespaces: use the build options list to report it
      CLEANUP: tcp: use the build options list to report transparent modes
      CLEANUP: lua: use the build options list to report it
      CLEANUP: regex: use the build options list to report the regex type
      CLEANUP: ssl: use the build options list to report the SSL details
      CLEANUP: compression: use the build options list to report the algos
      CLEANUP: auth: use the build options list to report its support
      MINOR: haproxy: add a registration for post-check functions
      CLEANUP: checks: make use of the post-init registration to start checks
      CLEANUP: filters: use the function registration to initialize all proxies
      CLEANUP: wurfl: make use of the late init registration
      CLEANUP: 51d: make use of the late init registration
      CLEANUP: da: make use of the late init registration code
      MINOR: haproxy: add a registration for post-deinit functions
      CLEANUP: wurfl: register the deinit function via the dedicated list
      CLEANUP: 51d: register the deinitialization function
      CLEANUP: da: register the deinitialization function
      CLEANUP: wurfl: move global settings out of the global section
      CLEANUP: 51d: move global settings out of the global section
      CLEANUP: da: move global settings out of the global section
      MINOR: cfgparse: add two new functions to check arguments count
      MINOR: cfgparse: move parsing of "ca-base" and "crt-base" to ssl_sock
      MEDIUM: cfgparse: move all tune.ssl.* keywords to ssl_sock
      MEDIUM: cfgparse: move maxsslconn parsing to ssl_sock
      MINOR: cfgparse: move parsing of ssl-default-{bind,server}-ciphers to 
ssl_sock
      MEDIUM: cfgparse: move ssl-dh-param-file parsing to ssl_sock
      MEDIUM: compression: move the zlib-specific stuff from global.h to 
compression.c
      BUG/MEDIUM: ssl: properly reset the reused_sess during a forced handshake
      BUG/MEDIUM: ssl: avoid double free when releasing bind_confs
      MINOR: tcp-rules: check that the listener exists before updating its 
counters
      MEDIUM: spoe: don't create a dummy listener for outgoing connections
      MINOR: listener: move the transport layer pointer to the bind_conf
      MEDIUM: move listener->frontend to bind_conf->frontend
      MEDIUM: ssl: remote the proxy argument from most functions
      MINOR: connection: add a new prepare_bind_conf() entry to xprt_ops
      MEDIUM: ssl_sock: implement ssl_sock_prepare_bind_conf()
      MINOR: connection: add a new destroy_bind_conf() entry to xprt_ops
      MINOR: ssl_sock: implement ssl_sock_destroy_bind_conf()
      MINOR: server: move the use_ssl field out of the ifdef USE_OPENSSL
      MINOR: connection: add a minimal transport layer registration system
      CLEANUP: connection: remove all direct references to raw_sock and ssl_sock
      CLEANUP: connection: unexport raw_sock and ssl_sock
      MINOR: connection: add new prepare_srv()/destroy_srv() entries to xprt_ops
      MINOR: ssl_sock: implement and use prepare_srv()/destroy_srv()
      CLEANUP: ssl: move tlskeys_finalize_config() to a post_check callback
      CLEANUP: ssl: move most ssl-specific global settings to ssl_sock.c
      BUG/MEDIUM: ssl: for a handshake when server-side SNI changes
      BUG/MINOR: http: report real parser state in error captures
      BUILD: scripts: automatically update the branch in version.h when 
releasing
      MINOR: tools: add a generic hexdump function for debugging
      BUG/MAJOR: http: fix risk of getting invalid reports of bad requests
      BUG/MINOR: config: emit a warning if http-reuse is enabled with 
incompatible options
      BUG/MINOR: tools: fix off-by-one in port size check
      BUG/MEDIUM: server: consider AF_UNSPEC as a valid address family
      MEDIUM: server: split the address and the port into two different fields
      MINOR: tools: make str2sa_range() return the port in a separate argument
      MINOR: server: take the destination port from the port field, not the addr
      MEDIUM: server: disable protocol validations when the server doesn't 
resolve
      BUG/MEDIUM: tools: do not force an unresolved address to AF_INET:0.0.0.0
      BUILD: ssl: fix build on OpenSSL 1.0.0
      BUILD: ssl: silence a warning reported for ERR_remove_state()
      BUILD: ssl: eliminate warning with OpenSSL 1.1.0 regarding 
RAND_pseudo_bytes()
      BUILD: ssl: kill a build warning introduced by BoringSSL compatibility
      BUG/MEDIUM: tcp: don't poll for write when connect() succeeds
      BUG/MINOR: unix: fix connect's polling in case no data are scheduled
      MINOR: server: extend the flags to 32 bits
      MINOR: chunks: implement a simple dynamic allocator for trash buffers
      BUG/MAJOR: ssl: fix a regression in ssl_sock_shutw()
      BUG/MEDIUM: config: reject anything but "if" or "unless" after a 
use-backend rule
      MINOR: http: don't close when redirect location doesn't start with "/"
      MINOR: config: warn when some HTTP rules are used in a TCP proxy
      CLEANUP: http: make http_server_error() not set the status anymore
      BUG/MAJOR: connection: update CO_FL_CONNECTED before calling the data 
layer
      CONTRIB: tcploop: make it build on FreeBSD
      CONTRIB: tcploop: fix time format to silence build warnings
      CONTRIB: tcploop: report action 'K' (kill) in usage message
      CONTRIB: tcploop: fix connect's address length
      CONTRIB: tcploop: use the trash instead of NULL for recv()
      BUG/MEDIUM: listener: do not try to rebind another process' socket
      TESTS: add a test configuration to stress handshake combinations
      BUG/MAJOR: stream-int: do not depend on connection flags to detect 
connection
      BUG/MEDIUM: connection: ensure to always report the end of handshakes
      MEDIUM: connection: don't test for CO_FL_WAKE_DATA
      CLEANUP: connection: completely remove CO_FL_WAKE_DATA
      MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller
      BUG/MINOR: raw_sock: always perfom the last recv if RDHUP is not available
      OPTIM: poll: enable support for POLLRDHUP
      MINOR: kqueue: exclusively rely on the kqueue returned status
      MEDIUM: kqueue: take care of EV_EOF to improve polling status accuracy
      MEDIUM: kqueue: only set FD_POLL_IN when there are pending data
      BUG/MEDIUM: tcp: don't require privileges to bind to device
      BUILD: make the release script use shortlog for the final changelog
      BUILD: scripts: fix typo in announce-release error message
      CLEANUP: time: curr_sec_ms doesn't need to be exported
      DOC: update the contributing file

---

Reply via email to