Changes since version 1.8-rc4 : Christopher Faulet (15): MINOR: sample: Add "thread" sample fetch BUG/MINOR: Use crt_base instead of ca_base when crt is parsed on a server line BUG/MINOR: listener: Allow multiple "process" options on "bind" lines MINOR: config: Support a range to specify processes in "cpu-map" parameter MINOR: config: Slightly change how parse_process_number works MINOR: config: Export parse_process_number and use it wherever it's applicable MINOR: standard: Add my_ffsl function to get the position of the bit set to one MINOR: config: Add auto-increment feature for cpu-map MINOR: config: Support partial ranges in cpu-map directive MINOR:: config: Remove thread-map directive MINOR: config: Add the threads support in cpu-map directive MINOR: config: Add threads support for "process" option on "bind" lines MEDIUM: listener: Bind listeners on a thread subset if specified CLEANUP: debug: Use DPRINTF instead of fprintf into #ifdef DEBUG_FULL/#endif CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning Emeric Brun (1): DOC: add initial peers protovol v2.0 documentation. Emmanuel Hocdet (1): MINOR: ssl: Handle early data with BoringSSL Eric Salama (2): CONTRIB: spoa_example: allow to compile outside HAProxy. CONTRIB: spoa_example: remove SPOE enums that are useless for clients Lukas Tribus (2): BUG/MINOR: systemd: ignore daemon mode DOC: explain HTTP2 timeout behavior Olivier Houchard (5): BUG/MINOR: ssl: Always start the handshake if we can't send early data. MINOR: ssl: Don't disable early data handling if we could not write. MINOR: ssl: Handle reading early data after writing better. MINOR: mux: Make sure every string is woken up after the handshake. MINOR/CLEANUP: proxy: rename "proxy" to "proxies_list" Tim Duesterhus (1): MEDIUM: mworker: Add systemd `Type=notify` support William Lallemand (17): BUG/MEDIUM: cache: free callback to remove from tree CLEANUP: cache: remove unused struct MEDIUM: cache: enable the HTTP analysers CLEANUP: cache: remove wrong comment CLEANUP: cache: reorder includes MEDIUM: shctx: use unsigned int for len and block_count MEDIUM: cache: "show cache" on the cli BUG/MEDIUM: cache: use key=0 as a condition for freeing BUG/MEDIUM: cache: refcount forbids to free the objects BUG/MEDIUM: cache fix cli_kws structure MEDIUM: cache: store sha1 for hashing the cache key BUG/MEDIUM: cache: free ressources in chn_end_analyze MINOR: cache: move the refcount decrease in the applet release MINOR: cache: replace a fprint() by an abort() MEDIUM: cache: max-age configuration keyword DOC: cache: configuration and management MAJOR: mworker: exits the master on failure Willy Tarreau (38): BUG/MEDIUM: stream: don't automatically forward connect nor close BUG/MAJOR: stream: ensure analysers are always called upon close BUG/MINOR: stream-int: don't try to read again when CF_READ_DONTWAIT is set MINOR: threads/atomic: rename local variables in macros to avoid conflicts MINOR: threads/plock: rename local variables in macros to avoid conflicts MINOR: threads/atomic: implement pl_mb() in asm on x86 MINOR: threads/atomic: implement pl_bts() on non-x86 MINOR: threads/build: atomic: replace the few inlines with macros BUILD: threads/plock: fix a build issue on Clang without optimization BUILD: ebtree: don't redefine types u32/s32 in scope-aware trees BUILD: compiler: add a new type modifier __maybe_unused BUILD: h2: mark some inlined functions "unused" BUILD: server: check->desc always exists BUG/MEDIUM: h2: properly report connection errors in headers and data handlers MEDIUM: h2: add a function to emit an HTTP/1 request from a headers list MEDIUM: h2: change hpack_decode_headers() to only provide a list of headers BUG/MEDIUM: h2: always reassemble the Cookie request header field CONTRIB: spoa_example: remove bref, wordlist, cond_wordlist CONTRIB: spoa_example: remove last dependencies on type "sample" BUG/MEDIUM: deinit: correctly deinitialize the proxy and global listener tasks MINOR: pools: prepare functions to override malloc/free in pools MINOR: pools: implement DEBUG_UAF to detect use after free BUG/MEDIUM: threads/time: fix time drift correction BUG/MEDIUM: threads/time: maintain a common time reference between all threads BUG/MINOR: stream: fix tv_request calculation for applets BUG/MAJOR: h2: always remove a stream from the send list before freeing it BUG/MAJOR: threads/task: dequeue expired tasks under the WQ lock MINOR: http: implement the "http-request reject" rule MINOR: h2: send RST_STREAM before GOAWAY on reject MEDIUM: h2: don't gracefully close the connection anymore on Connection: close MINOR: h2: make use of client-fin timeout after GOAWAY MEDIUM: config: ensure that tune.bufsize is at least 16384 when using HTTP/2 BUG/MEDIUM: stream: always release the stream-interface on abort CLEANUP: pools: rename all pool functions and pointers to remove this "2" DOC: update the roadmap file with the latest changes merged in 1.8 DOC: fix mangled version in peers protocol documentation DOC: mention William as maintainer of the cache and master-worker DOC: add Christopher and Emeric as maintainers of the threads