Changes since version 1.9-dev0 :

Aleksandar Lazic (1):
      CONTRIB: halog: Add help text for -s switch in halog program

Aurélien Nephtali (1):
      BUG/MINOR: init: Add missing brackets in the code parsing -sf/-st

Aurélien Nephtali (4):
      BUG/MINOR: cli: Fix a crash when passing a negative or too large value to "show fd"
      CLEANUP: ssl: Remove a duplicated #include
      CLEANUP: cli: Remove a leftover debug message
      BUG/MINOR: cli: Fix a typo in the 'set rate-limit' usage

Bertrand Jacquin (8):
      MINOR: netscaler: respect syntax
      MINOR: netscaler: remove the use of cip_magic only used once
      MINOR: netscaler: rename cip_len to clarify its uage
      BUG/MEDIUM: netscaler: use the appropriate IPv6 header size
      BUG/MAJOR: netscaler: address truncated CIP header detection
      MINOR: netscaler: check in one-shot if buffer is large enough for IP and TCP header
      MEDIUM: netscaler: do not analyze original IP packet size
      MEDIUM: netscaler: add support for standard NetScaler CIP protocol

Chris Lane (1):
      MINOR: init: emit warning when -sf/-sd cannot parse argument

Christian Ruppert (1):
      BUILD: Fix LDFLAGS vs. LIBS re linking order in various makefiles

Christopher Faulet (34):
      BUG/MEDIUM: tcp-check: Don't lock the server in tcpcheck_main
      BUG/MAJOR: thread: Be sure to request a sync between threads only once at a time
      BUG/MINOR: action: Don't check http capture rules when no id is defined
      BUG/MEDIUM: threads/vars: Fix deadlock in register_name
      BUG/MEDIUM: mworker: Set FD_CLOEXEC flag on log fd
      MINOR: spoe: add register-var-names directive in spoe-agent configuration
      MINOR: spoe: Don't queue a SPOE context if nothing is sent
      MINOR: threads/fd: Use a bitfield to know if there are FDs for a thread in the FD cache
      BUG/MEDIUM: threads/polling: Use fd_cache_mask instead of fd_cache_num
      BUG/MEDIUM: threads/server: Fix deadlock in srv_set_stopping/srv_set_admin_flag
      BUG/MEDIUM: checks: Don't try to release undefined conn_stream when a check is freed
      BUG/MINOR: kqueue/threads: Don't forget to close kqueue_fd[tid] on each thread
      MINOR: threads: Use __decl_hathreads instead of #ifdef/#endif
      BUILD: epoll/threads: Add test on MAX_THREADS to avoid warnings when complied without threads
      BUILD: kqueue/threads: Add test on MAX_THREADS to avoid warnings when complied without threads
      BUG/MINOR: threads: Update labels array because of changes in lock_label enum
      BUG/MEDIUM: spoe: Always try to receive or send the frame to detect shutdowns
      BUG/MEDIUM: spoe: Allow producer to read and to forward shutdown on request side
      MINOR: spoe: Remove check on min_applets number when a SPOE context is queued
      MINOR: spoe: Always link a SPOE context with the applet processing it
      MINOR: spoe: Replace sending_rate by a frequency counter
      MINOR: spoe: Count the number of frames waiting for an ack for each applet
      MEDIUM: spoe: Use an ebtree to manage idle applets
      MINOR: spoa_example: Count the number of frames processed by each worker
      MINOR: spoe: Add max-waiting-frames directive in spoe-agent configuration
      BUG/MINOR: ssl/threads: Make management of the TLS ticket keys files thread-safe
      BUG/MEDIUM: ssl: Shutdown the connection for reading on SSL_ERROR_SYSCALL
      BUG/MEDIUM: http: Switch the HTTP response in tunnel mode as earlier as possible
      BUG/MINOR: h2: Set the target of dbuf_wait to h2c
      BUG/MEDIUM: buffer: Fix the wrapping case in bo_putblk
      BUG/MEDIUM: buffer: Fix the wrapping case in bi_putblk
      BUG/MEDIUM: spoe: Remove idle applets from idle list when HAProxy is stopping
      CLEANUP: .gitignore: Ignore binaries from the contrib directory
      BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily disabled

Cyril Bonté (5):
      DOC: cache: update sections and fix some typos
      BUG: MAJOR: lb_map: server map calculation broken
      BUG: MINOR: http: don't check http-request capture id when len is provided
      BUG/MEDIUM: fix a 100% cpu usage with cpu-map and nbthread/nbproc
      BUG/MINOR: force-persist and ignore-persist only apply to backends

David Carlier (6):
      BUILD/MINOR: deviceatlas: enable thread support
      BUILD/MINOR: haproxy : FreeBSD/cpu affinity needs pthread_np header
      BUILD/MINOR: Makefile : enabling USE_CPU_AFFINITY
      BUILD/MINOR: haproxy: compiling config cpu parsing handling when needed
      BUILD/MINOR: ancient gcc versions atomic fix
      BUILD/MINOR: memory: stdint is needed for uintptr_t

Davor Ocelic (2):
      DOC/MINOR: intro: typo, wording, formatting fixes
      DOC/MINOR: configuration: typo, formatting fixes

Emeric Brun (9):
      BUG/MEDIUM: peers: fix some track counter rules dont register entries for sync.
      BUG/MAJOR: thread/peers: fix deadlock on peers sync.
      BUG/MEDIUM: ssl engines: Fix async engines fds were not considered to fix fd limit automatically.
      BUG/MEDIUM: checks: a down server going to maint remains definitely stucked on down state.
      BUG/MEDIUM: checks: a server passed in maint state was not forced down.
      BUG/MEDIUM: peers: fix expire date wasn't updated if entry is modified remotely.
      BUG/MEDIUM: ssl/sample: ssl_bc_* fetch keywords are broken.
      MINOR: ssl/sample: adds ssl_bc_is_resumed fetch keyword.
      BUG/MINOR: session: Fix tcp-request session failure if handshake.

Emmanuel Hocdet (8):
      BUG/MINOR: ssl: CO_FL_EARLY_DATA removal is managed by stream
      MINOR: introduce proxy-v2-options for send-proxy-v2
      Revert "BUG/MINOR: send-proxy-v2: string size must include ('\0')"
      MINOR: ssl: extract full pkey info in load_certificate
      MINOR: ssl: add ssl_sock_get_pkey_algo function
      MINOR: ssl: add ssl_sock_get_cert_sig function
      MINOR: connection: add proxy-v2-options ssl-cipher,cert-sig,cert-key
      MINOR: connection: add proxy-v2-options authority

Eric Salama (1):
      BUG/MEDIUM: lua: fix crash when using bogus mode in register_service()

Etienne Carriere (3):
      MINOR: sample: add len converter
      MINOR: spoe: add force-set-var option in spoe-agent configuration
      MINOR: sample: add date_us sample

Frédéric Lécaille (2):
      MINOR: config: Enable tracking of up to MAX_SESS_STKCTR stick counters.
      MINOR: stick-tables: Adds support for new "gpc1" and "gpc1_rate" counters.

Jérôme Magnin (2):
      DOC: clarify the scope of ssl_fc_is_resumed
      DOC: Describe routing impact of using interface keyword on bind lines

Lukas Tribus (1):
      DOC: don't suggest using http-server-close

Olivier Houchard (18):
      BUG/MEDIUM: kqueue: Don't bother closing the kqueue after fork.
      MINOR: threads: Fix pthread_setaffinity_np on FreeBSD.
      BUG/MEDIUM: checks: Be sure we have a mux if we created a cs.
      CLEANUP: rbtree: remove
      MINOR: dns: Handle SRV record weight correctly.
      MINOR: servers: Don't report duplicate dyncookies for disabled servers.
      MINOR: threads: Fix build when we're not compiling with threads.
      MINOR: init: make stdout unbuffered
      MINOR: early data: Don't rely on CO_FL_EARLY_DATA to wake up streams.
      MINOR: early data: Never remove the CO_FL_EARLY_DATA flag.
      MINOR: compiler: introduce offsetoff().
      MINOR: threads: Introduce double-width CAS on x86_64 and arm.
      MINOR: pools/threads: Implement lockless memory pools.
      MAJOR: fd/threads: Make the fdcache mostly lockless.
      MEDIUM: fd/threads: Make sure we don't miss a fd cache entry.
      BUG/MINOR: fd/threads: properly lock the FD before adding it to the fd cache.
      BUG/MEDIUM: ssl: Don't always treat SSL_ERROR_SYSCALL as unrecovarable.
      BUG/MINOR: unix: Don't mess up when removing the socket from the xfer_sock_list.

Pavlos Parissis (1):
      DOC: Mention -Ws in the list of available options

PiBa-NL (4):
      BUG/MINOR: mworker: fix validity check for the pipe FDs
      BUG/MINOR: mworker: detach from tty when in daemon mode
      BUG/MEDIUM: email-alert: don't set server check status from a email-alert task
      BUG/MEDIUM: mworker: don't close stdio several time

Ryan O'Hara (2):
      CONTRIB: iprange: Fix compiler warning in iprange.c
      CONTRIB: halog: Fix compiler warnings in halog.c

Thierry FOURNIER (3):
      DOC: notifications: add precisions about thread usage
      BUG/MEDIUM: lua/notification: memory leak
      DOC: lua: new prototype for function "register_action()"

Thierry Fournier (1):
      MINOR/BUILD: fix Lua build on Mac OS X

Tim Duesterhus (24):
      MINOR: mworker: Update messages referencing exit-on-failure
      MINOR: mworker: Improve wording in `void mworker_wait()`
      BUG/MINOR: lua: Fix default value for pattern in Socket.receive
      DOC: lua: Fix typos in comments of hlua_socket_receive
      BUG/MEDIUM: lua: Fix IPv6 with separate port support for Socket.connect
      BUG/MINOR: lua: Fix return value of Socket.settimeout
      CLEANUP: sample: Fix comment encoding of sample.c
      CLEANUP: sample: Fix outdated comment about sample casts functions
      BUG/MINOR: sample: Fix output type of c_ipv62ip
      CLEANUP: Fix typo in ARGT_MSK6 comment
      CLEANUP: standard: Use len2mask4 in str2mask
      MINOR: standard: Add str2mask6 function
      MINOR: config: Add support for ARGT_MSK6
      MEDIUM: sample: Add IPv6 support to the ipmask converter
      BUG/MEDIUM: standard: Fix memory leak in str2ip2()
      DOC: cfgparse: Warn on option (tcp|http)log in backend
      CLEANUP: cfgparse: Remove unused label end
      CLEANUP: spoe: Remove unused label retry
      CLEANUP: h2: Remove unused labels from mux_h2.c
      CLEANUP: pools: Remove unused end label in memory.h
      CLEANUP: standard: Fix typo in IPv6 mask example
      MINOR: systemd: Add section for SystemD sandboxing to unit file
      MINOR: systemd: Add SystemD's Protect*= options to the unit file
      MINOR: systemd: Add SystemD's SystemCallFilter option to the unit file

Vincent Bernat (1):
      MINOR: systemd: remove comment about HAPROXY_STATS_SOCKET

William Lallemand (6):
      BUG/MEDIUM: ssl: don't allocate shctx several time
      BUG/MEDIUM: cache: bad computation of the remaining size
      BUG/MINOR: ssl: support tune.ssl.cachesize 0 again
      MINOR: don't close stdio anymore
      BUG/MEDIUM: ssl: cache doesn't release shctx blocks
      BUG/MEDIUM: mworker: execvp failure depending on argv[0]

Willy Tarreau (127):
      BUILD: checks: don't include server.h
      BUG/MEDIUM: stream: fix session leak on applet-initiated connections
      BUG/MEDIUM: threads/peers: decrement, not increment jobs on quitting
      BUG/MEDIUM: h2: don't report an error after parsing a 100-continue response
      MINOR: config: report when "monitor fail" rules are misplaced
      BUG/MINOR: hpack: fix debugging output of pseudo header names
      BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits
      BUG/MINOR: hpack: reject invalid header index
      BUG/MINOR: hpack: dynamic table size updates are only allowed before headers
      BUG/MAJOR: h2: correctly check the request length when building an H1 request
      BUG/MINOR: h2: immediately close if receiving GOAWAY after the last stream
      BUG/MINOR: h2: try to abort closed streams as soon as possible
      BUG/MINOR: h2: ":path" must not be empty
      BUG/MINOR: h2: fix a typo causing PING/ACK to be responded to
      BUG/MINOR: h2: the TE header if present may only contain trailers
      BUG/MEDIUM: h2: enforce the per-connection stream limit
      BUG/MINOR: h2: do not accept SETTINGS_ENABLE_PUSH other than 0 or 1
      BUG/MINOR: h2: reject incorrect stream dependencies on HEADERS frame
      BUG/MINOR: h2: properly check PRIORITY frames
      BUG/MINOR: h2: reject response pseudo-headers from requests
      BUG/MEDIUM: h2: remove connection-specific headers from request
      BUG/MEDIUM: h2: do not accept upper case letters in request header names
      BUG/MINOR: h2: use the H2_F_DATA_* macros for DATA frames
      BUG/MAJOR: hpack: don't pretend large headers fit in empty table
      BUG/MEDIUM: mworker: also close peers sockets in the master
      BUG/MEDIUM: peers: set NOLINGER on the outgoing stream interface
      BUG/MEDIUM: h2: fix handling of end of stream again
      MINOR: conn_stream: add new flag CS_FL_RCV_MORE to indicate pending data
      BUG/MEDIUM: stream-int: always set SI_FL_WAIT_ROOM on CS_FL_RCV_MORE
      BUG/MEDIUM: h2: automatically set CS_FL_RCV_MORE when the output buffer is full
      BUG/MEDIUM: h2: enable recv polling whenever demuxing is possible
      BUG/MEDIUM: h2: work around a connection API limitation
      BUG/MEDIUM: h2: debug incoming traffic in h2_wake()
      MINOR: h2: store the demux padding length in the h2c struct
      BUG/MEDIUM: h2: support uploading partial DATA frames
      MINOR: h2: don't demand that a DATA frame is complete before processing it
      BUG/MEDIUM: h2: don't switch the state to HREM before end of DATA frame
      BUG/MEDIUM: h2: don't close after the first DATA frame on tunnelled responses
      BUG/MEDIUM: http: don't disable lingering on requests with tunnelled responses
      BUG/MEDIUM: h2: fix stream limit enforcement
      BUG/MINOR: stream-int: don't try to receive again after receiving an EOS
      MINOR: sample: rename the "len" converter to "length"
      BUG/MINOR: h2: properly report a stream error on RST_STREAM
      MINOR: mux: add flags to describe a mux's capabilities
      MINOR: stream-int: set flag SI_FL_CLEAN_ABRT when mux supports clean aborts
      BUG/MEDIUM: stream: don't consider abortonclose on muxes which close cleanly
      MINOR: http: adjust the list of supposedly cacheable methods
      MINOR: http: update the list of cacheable status codes as per RFC7231
      MINOR: http: start to compute the transaction's cacheability from the request
      BUG/MINOR: http: do not ignore cache-control: public
      BUG/MINOR: http: properly detect max-age=0 and s-maxage=0 in responses
      BUG/MINOR: cache: do not force the TX_CACHEABLE flag before checking cacheability
      MINOR: http: add a function to check request's cache-control header field
      BUG/MEDIUM: cache: do not try to retrieve host-less requests from the cache
      BUG/MEDIUM: cache: replace old object on store
      BUG/MEDIUM: cache: respect the request cache-control header
      BUG/MEDIUM: cache: don't cache the response on no-cache="set-cookie"
      BUG/MAJOR: connection: refine the situations where we don't send shutw()
      BUG/MEDIUM: checks: properly set servers to stopping state on 404
      BUG/MEDIUM: h2: properly handle and report some stream errors
      BUG/MEDIUM: h2: improve handling of frames received on closed streams
      BUG/MEDIUM: h2: ensure we always know the stream before sending a reset
      BUG/MEDIUM: http: don't automatically forward request close
      BUG/MAJOR: hpack: don't return direct references to the dynamic headers table
      MINOR: h2: add a function to report pseudo-header names
      DEBUG: hpack: make hpack_dht_dump() expose the output file
      DEBUG: hpack: add more traces to the hpack decoder
      CONTRIB: hpack: add an hpack decoder
      MEDIUM: h2: prepare a graceful shutdown when the frontend is stopped
      BUG/MEDIUM: h2: properly handle the END_STREAM flag on empty DATA frames
      BUILD: ssl: silence a warning when building without NPN nor ALPN support
      MINOR: hathreads: add support for gcc < 4.7
      BUG/MEDIUM: stream: properly handle client aborts during redispatch
      CONTRIB: debug: fix a few flags definitions
      BUG/MINOR: poll: too large size allocation for FD events
      MINOR: global/threads: move cpu_map at the end of the global struct
      MINOR: threads: add a MAX_THREADS define instead of LONGBITS
      MINOR: global: add some global activity counters to help debugging
      BUG/MEDIUM: fd: maintain a per-thread update mask
      MINOR: fd: add a bitmask to indicate that an FD is known by the poller
      BUG/MEDIUM: epoll/threads: use one epoll_fd per thread
      BUG/MEDIUM: kqueue/threads: use one kqueue_fd per thread
      BUG/MEDIUM: threads/mworker: fix a race on startup
      BUG/MINOR: mworker: only write to pidfile if it exists
      BUG/MINOR: threads: always set an owner to the thread_sync pipe
      BUG/MINOR: cli: use global.maxsock and not maxfd to list all FDs
      MINOR: polling: make epoll and kqueue not depend on maxfd anymore
      MINOR: fd: don't report maxfd in alert messages
      MEDIUM: polling: start to move maxfd computation to the pollers
      CLEANUP: fd/threads: remove the now unused fdtab_lock
      MINOR: poll: more accurately compute the new maxfd in the loop
      CLEANUP: fd: remove the unused "new" field
      MINOR: fd: move the hap_fd_{clr,set,isset} functions to fd.h
      MEDIUM: select: make use of hap_fd_* functions
      MEDIUM: fd: use atomic ops for hap_fd_{clr,set} and remove poll_lock
      MEDIUM: select: don't use the old FD state anymore
      MEDIUM: poll: don't use the old FD state anymore
      MINOR: fd: pass the iocb and owner to fd_insert()
      BUG/MINOR: epoll/threads: only call epoll_ctl(DEL) on polled FDs
      MINOR: threads: add test and set/reset operations
      MAJOR: fd: compute the new fd polling state out of the fd lock
      MINOR: epoll: get rid of the now useless fd_compute_new_polled_status()
      MINOR: kqueue: get rid of the now useless fd_compute_new_polled_status()
      MINOR: poll: get rid of the now useless fd_compute_new_polled_status()
      MINOR: select: get rid of the now useless fd_compute_new_polled_status()
      CLEANUP: fd: remove the now unused fd_compute_new_polled_status() function
      MEDIUM: fd: make updt_fd_polling() use atomics
      MEDIUM: poller: use atomic ops to update the fdtab mask
      MINOR: fd: move the fd_{add_to,rm_from}_fdlist functions to fd.c
      BUG/MINOR: fd/threads: properly dereference fdcache as volatile
      MINOR: fd: remove the unneeded last CAS when adding an fd to the list
      MINOR: fd: reorder fd_add_to_fd_list()
      BUG/MINOR: time/threads: ensure the adjusted time is always correct
      BUILD: fd/threads: fix breakage build breakage without threads
      BUG/MINOR: config: don't emit a warning when global stats is incompletely configured
      BUG/MEDIUM: threads: fix the double CAS implementation for ARMv7
      MINOR: sample: add a new "concat" converter
      BUG/MINOR: pools/threads: don't ignore DEBUG_UAF on double-word CAS capable archs
      BUG/MINOR: debug/pools: properly handle out-of-memory when building with DEBUG_UAF
      MINOR: debug/pools: make DEBUG_UAF also detect underflows
      BUG/MEDIUM: h2: always consume any trailing data after end of output buffers
      CLEANUP: h2: rename misleading h2c_stream_close() to h2s_close()
      MINOR: h2: provide and use h2s_detach() and h2s_free()
      MEDIUM: h2: use a single buffer allocator
      BUILD/MINOR: fix Lua build on Mac OS X (again)
      DOC: buffers: clarify the purpose of the <from> pointer in offer_buffers()
      BUG/MEDIUM: h2: also arm the h2 timeout when sending

Yves Lafon (1):
      MINOR: stats: display the number of threads in the statistics.