[RELEASE] Released version 2.8-dev8
Released version 2.8-dev8 with the following main changes :
- BUG/MEDIUM: cli: Set SE_FL_EOI flag for '_getsocks' and 'quit' commands
- BUG/MEDIUM: cli: Eat output data when waiting for appctx shutdown
- BUG/MEDIUM: http-client: Eat output data when waiting for appctx shutdown
- BUG/MEDIUM: stats: Eat output data when waiting for appctx shutdown
- BUG/MEDIUM: log: Eat output data when waiting for appctx shutdown
- BUG/MEDIUM: dns: Kill idle DNS sessions during stopping stage
- BUG/MINOR: resolvers: Wakeup DNS idle task on stopping
- BUG/MEDIUM: resolvers: Force the connect timeout for DNS resolutions
- MINOR: hlua: Stop to check the SC state when executing a hlua cli command
- BUG/MEDIUM: mux-h1: Report EOI when a TCP connection is upgraded to H2
- BUG/MEDIUM: mux-h2: Never set SE_FL_EOS without SE_FL_EOI or SE_FL_ERROR
- MINOR: quic: Trace fix in quic_pto_pktns() (handshaske status)
- BUG/MINOR: quic: Wrong packet number space probing before confirmed handshake
- MINOR: quic: Modify qc_try_rm_hp() traces
- MINOR: quic: Dump more information at proto level when building packets
- MINOR: quic: Add a trace for packet with an ACK frame
- MINOR: activity: add a line reporting the average CPU usage to "show activity"
- BUG/MINOR: stick_table: alert when type len has incorrect characters
- MINOR: thread: keep a bitmask of enabled groups in thread_set
- MINOR: fd: optimize fd_claim_tgid() for use in fd_insert()
- MINOR: fd: add a lock bit with the tgid
- MINOR: fd: implement fd_migrate_on() to migrate on a non-local thread
- MINOR: receiver: reserve special values for "shards"
- MINOR: bind-conf: support a new shards value: "by-group"
- BUG/MEDIUM: fd: don't wait for tmask to stabilize if we're not in it.
- MINOR: quic: Add packet loss and maximum cc window to "show quic"
- BUG/MINOR: quic: Ignored less than 1ms RTTs
- MINOR: quic: Add connection flags to traces
- BUG/MEDIUM: quic: Code sanitization about acknowledgements requirements
- BUG/MINOR: quic: Possible wrapped values used as ACK tree purging limit.
- BUG/MINOR: quic: SIGFPE in quic_cubic_update()
- MINOR: quic: Display the packet number space flags in traces
- MINOR: quic: Remove a useless test about probing in qc_prep_pkts()
- BUG/MINOR: quic: Wrong Application encryption level selection when probing
- CI: bump "actions/checkout" to v3 for cross zoo matrix
- CI: enable monthly test on Fedora Rawhide
- BUG/MINOR: stream: Fix test on SE_FL_ERROR on the wrong entity
- BUG/MEDIUM: stream: Report write timeouts before testing the flags
- BUG/MEDIUM: stconn: Do nothing in sc_conn_recv() when the SC needs more room
- MINOR: stream: Uninline and export sess_set_term_flags() function
- MINOR: filters: Review and simplify errors handling
- REGTESTS: fix the race conditions in log_uri.vtc
- MINOR: channel: Forwad close to other side on abort
- MINOR: stream: Introduce stream_abort() to abort on both sides in same time
- MINOR: stconn: Rename SC_FL_SHUTR_NOW in SC_FL_ABRT_WANTED
- MINOR: channel/stconn: Replace channel_shutr_now() by sc_schedule_abort()
- MINOR: stconn: Rename SC_FL_SHUTW_NOW in SC_FL_SHUT_WANTED
- MINOR: channel/stconn: Replace channel_shutw_now() by sc_schedule_shutdown()
- MINOR: stconn: Rename SC_FL_SHUTR in SC_FL_ABRT_DONE
- MINOR: channel/stconn: Replace sc_shutr() by sc_abort()
- MINOR: stconn: Rename SC_FL_SHUTW in SC_FL_SHUT_DONE
- MINOR: channel/stconn: Replace sc_shutw() by sc_shutdown()
- MINOR: tree-wide: Replace several chn_cons() by the corresponding SC
- MINOR: tree-wide: Replace several chn_prod() by the corresponding SC
- BUG/MINOR: cli: Don't close when SE_FL_ERR_PENDING is set in cli analyzer
- MINOR: stconn: Stop to set SE_FL_ERROR on sending path
- MEDIUM: stconn: Forbid applets with more to deliver if EOI was reached
- MINOR: stconn: Don't clear SE_FL_ERROR when endpoint is reset
- MINOR: stconn: Add a flag to ack endpoint errors at SC level
- MINOR: backend: Set SC_FL_ERROR on connection error
- MINOR: stream: Set SC_FL_ERROR on channels' buffer allocation error
- MINOR: tree-wide: Test SC_FL_ERROR with SE_FL_ERROR from upper layer
- MEDIUM: tree-wide: Stop to set SE_FL_ERROR from upper layer
- MEDIUM: backend: Stop to use SE flags to detect connection errors
- MEDIUM: stream: Stop to use SE flags to detect read errors from analyzers
- MEDIUM: stream: Stop to use SE flags to detect endpoint errors
- MEDIUM: stconn: Rely on SC flags to handle errors instead of SE flags
- BUG/MINOR: stconn: Don't set SE_FL_ERROR at the end of sc_conn_send()
- BUG/MINOR: quic: Do not use ack delay during the handshakes
- CLEANUP: use "offsetof" where appropriate
- MINOR: ssl: remove OpenSSL 1.0.2 mention into certificate loading error
- BUG/MEDIUM: http-ana: Properly switch the request in tunnel mode on upgrade
- BUG/MEDIUM: log: Properly handle client aborts in syslog applet
- MINOR: stconn: Add a flag to report EOS at the stream-connector level
- MINOR: stconn: Propagate EOS from a mux to the attached stream-connector
- MINOR: stconn: Propagate EOS from an applet to the attached stream-connector
- MINOR: mux-h2: make the initial window size configurable per side
- MINOR: mux-h2: make the max number of concurrent streams configurable per side
- BUG/MINOR: task: allow to use tasklet_wakeup_after with tid -1
- CLEANUP: quic: remove unused QUIC_LOCK label
- CLEANUP: quic: remove unused scid_node
- CLEANUP: quic: remove unused qc param on stateless reset token
- CLEANUP: quic: rename quic_connection_id vars
- MINOR: quic: remove uneeded tasklet_wakeup after accept
- MINOR: quic: adjust Rx packet type parsing
- MINOR: quic: adjust quic CID derive API
- MINOR: quic: remove TID ref from quic_conn
- MEDIUM: quic: use a global CID trees list
- MINOR: quic: remove TID encoding in CID
- MEDIUM: quic: handle conn bootstrap/handshake on a random thread
- MINOR: quic: do not proceed to accept for closing conn
- MINOR: protocol: define new callback set_affinity
- MINOR: quic: delay post handshake frames after accept
- MEDIUM: quic: implement thread affinity rebinding
- BUG/MINOR: quic: transform qc_set_timer() as a reentrant function
- MINOR: quic: properly finalize thread rebinding
- MAJOR: quic: support thread balancing on accept
- MINOR: listener: remove unneeded local accept flag
- BUG/MINOR: http-ana: Update analyzers on both sides when switching in TUNNEL mode
- CLEANUP: backend: Remove useless debug message in assign_server()
- CLEANUP: cli: Remove useless debug message in cli_io_handler()
- BUG/MEDIUM: stconn: Propagate error on the SC on sending path
- MINOR: config: add "no-alpn" support for bind lines
- REGTESTS: add a new "ssl_alpn" test to test ALPN negotiation
- DOC: add missing documentation for "no-alpn" on bind lines
- MINOR: ssl: do not set ALPN callback with the empty string
- MINOR: ssl_crtlist: dump "no-alpn" on "show crtlist" when "no-alpn" was set
- MEDIUM: config: set useful ALPN defaults for HTTPS and QUIC
- BUG/MEDIUM: quic: prevent crash on Retry sending
- BUG/MINOR: cfgparse: make sure to include openssl-compat
- MINOR: clock: add now_mono_time_fast() function
- MINOR: clock: add now_cpu_time_fast() function
- MEDIUM: hlua: reliable timeout detection
- MEDIUM: hlua: introduce tune.lua.burst-timeout
- CLEANUP: hlua: avoid confusion between internal timers and tick based timers
- MINOR: hlua: hook yield on known lua state
- MINOR: hlua: safe coroutine.create()
- BUG/MINOR: quic: Stop removing ACK ranges when building packets
- MINOR: quic: Do not allocate too much ack ranges
- BUG/MINOR: quic: Unchecked buffer length when building the token
- BUG/MINOR: quic: Wrong Retry token generation timestamp computing
- BUG/MINOR: mux-quic: fix crash with app ops install failure
- BUG/MINOR: mux-quic: properly handle STREAM frame alloc failure
- BUG/MINOR: h3: fix crash on h3s alloc failure
- BUG/MINOR: quic: prevent crash on qc_new_conn() failure
- BUG/MINOR: quic: consume Rx datagram even on error
- CLEANUP: errors: fix obsolete function comments
- CLEANUP: server: fix update_status() function comment
- MINOR: server/event_hdl: add proxy_uuid to event_hdl_cb_data_server
- MINOR: hlua/event_hdl: rely on proxy_uuid instead of proxy_name for lookups
- MINOR: hlua/event_hdl: expose proxy_uuid variable in server events
- MINOR: hlua/event_hdl: fix return type for hlua_event_hdl_cb_data_push_args
- MINOR: server/event_hdl: prepare for upcoming refactors
- BUG/MINOR: event_hdl: don't waste 1 event subtype slot
- CLEANUP: event_hdl: updating obsolete comment for EVENT_HDL_CB_DATA
- CLEANUP: event_hdl: fix comment typo about _sync assertion
- MINOR: event_hdl: dynamically allocated event data members
- MINOR: event_hdl: provide event->when for advanced handlers
- MINOR: hlua/event_hdl: timestamp for events
- DOC: lua: restore 80 char limitation
- BUG/MINOR: server: incorrect report for tracking servers leaving drain
- MINOR: server: explicitly commit state change in srv_update_status()
- BUG/MINOR: server: don't miss proxy stats update on server state transitions
- BUG/MINOR: server: don't miss server stats update on server state transitions
- BUG/MINOR: server: don't use date when restoring last_change from state file
- MINOR: server: central update for server counters on state change
- MINOR: server: propagate server state change to lb through single function
- MINOR: server: propagate lb changes through srv_lb_propagate()
- MINOR: server: change adm_st_chg_cause storage type
- MINOR: server: srv_append_status refacto
- MINOR: server: change srv_op_st_chg_cause storage type
- CLEANUP: server: remove unused variables in srv_update_status()
- CLEANUP: server: fix srv_set_{running, stopping, stopped} function comment
- MINOR: server: pass adm and op cause to srv_update_status()
- MEDIUM: server: split srv_update_status() in two functions
- MINOR: server/event_hdl: prepare for server event data wrapper
- MINOR: quic: support migrating the listener as well
- MINOR: quic_sock: index li->per_thr[] on local thread id, not global one
- MINOR: listener: support another thread dispatch mode: "fair"
- MINOR: receiver: add a struct shard_info to store info about each shard
- MINOR: receiver: add RX_F_MUST_DUP to indicate that an rx must be duped
- MEDIUM: proto: duplicate receivers marked RX_F_MUST_DUP
- MINOR: proto: skip socket setup for duped FDs
- MEDIUM: config: permit to start a bind on multiple groups at once
- MINOR: listener: make accept_queue index atomic
- MEDIUM: listener: rework thread assignment to consider all groups
- MINOR: listener: use a common thr_idx from the reference listener
- MINOR: listener: resync with the thread index before heavy calculations
- MINOR: listener: make sure to avoid ABA updates in per-thread index
- MINOR: listener: always compare the local thread as well
- MINOR: Make `tasklet_free()` safe to be called with `NULL`
- CLEANUP: Stop checking the pointer before calling `tasklet_free()`
- CLEANUP: Stop checking the pointer before calling `pool_free()`
- CLEANUP: Stop checking the pointer before calling `task_free()`
- CLEANUP: Stop checking the pointer before calling `ring_free()`
- BUG/MINOR: cli: clarify error message about stats bind-process
- CI: cirrus-ci: bump FreeBSD image to 13-1
- REGTESTS: remove unsupported "stats bind-process" keyword
- CI: extend spellchecker whitelist, add "clen" as well
- CLEANUP: assorted typo fixes in the code and comments
- BUG/MINOR: sock_inet: use SO_REUSEPORT_LB where available
- BUG/MINOR: tools: check libssl and libcrypto separately
- BUG/MINOR: config: fix NUMA topology detection on FreeBSD
- BUILD: sock_inet: forward-declare struct receiver
- BUILD: proto_tcp: export the correct names for proto_tcpv[46]
- CLEANUP: protocol: move the l3_addrlen to plug a hole in proto_fam
- CLEANUP: protocol: move the nb_receivers to plug a hole in protocol
- REORG: listener: move the bind_conf's thread setup code to listener.c
- MINOR: proxy: make proxy_type_str() recognize peers sections
- MEDIUM: peers: call bind_complete_thread_setup() to finish the config
- MINOR: protocol: add a flags field to store info about protocols
- MINOR: protocol: move the global reuseport flag to the protocols
- MINOR: listener: automatically adjust shards based on support for SO_REUSEPORT
- MINOR: protocol: add a function to check if some features are supported
- MINOR: sock: add a function to check for SO_REUSEPORT support at runtime
- MINOR: protocol: perform a live check for SO_REUSEPORT support
- MINOR: listener: do not restrict CLI to first group anymore
- MINOR: listener: add a new global tune.listener.default-shards setting
- MEDIUM: listener: switch the default sharding to by-group
diff --git a/CHANGELOG b/CHANGELOG
index 004a6c1..e972a61 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,207 @@
ChangeLog :
===========
+2023/04/23 : 2.8-dev8
+ - BUG/MEDIUM: cli: Set SE_FL_EOI flag for '_getsocks' and 'quit' commands
+ - BUG/MEDIUM: cli: Eat output data when waiting for appctx shutdown
+ - BUG/MEDIUM: http-client: Eat output data when waiting for appctx shutdown
+ - BUG/MEDIUM: stats: Eat output data when waiting for appctx shutdown
+ - BUG/MEDIUM: log: Eat output data when waiting for appctx shutdown
+ - BUG/MEDIUM: dns: Kill idle DNS sessions during stopping stage
+ - BUG/MINOR: resolvers: Wakeup DNS idle task on stopping
+ - BUG/MEDIUM: resolvers: Force the connect timeout for DNS resolutions
+ - MINOR: hlua: Stop to check the SC state when executing a hlua cli command
+ - BUG/MEDIUM: mux-h1: Report EOI when a TCP connection is upgraded to H2
+ - BUG/MEDIUM: mux-h2: Never set SE_FL_EOS without SE_FL_EOI or SE_FL_ERROR
+ - MINOR: quic: Trace fix in quic_pto_pktns() (handshaske status)
+ - BUG/MINOR: quic: Wrong packet number space probing before confirmed handshake
+ - MINOR: quic: Modify qc_try_rm_hp() traces
+ - MINOR: quic: Dump more information at proto level when building packets
+ - MINOR: quic: Add a trace for packet with an ACK frame
+ - MINOR: activity: add a line reporting the average CPU usage to "show activity"
+ - BUG/MINOR: stick_table: alert when type len has incorrect characters
+ - MINOR: thread: keep a bitmask of enabled groups in thread_set
+ - MINOR: fd: optimize fd_claim_tgid() for use in fd_insert()
+ - MINOR: fd: add a lock bit with the tgid
+ - MINOR: fd: implement fd_migrate_on() to migrate on a non-local thread
+ - MINOR: receiver: reserve special values for "shards"
+ - MINOR: bind-conf: support a new shards value: "by-group"
+ - BUG/MEDIUM: fd: don't wait for tmask to stabilize if we're not in it.
+ - MINOR: quic: Add packet loss and maximum cc window to "show quic"
+ - BUG/MINOR: quic: Ignored less than 1ms RTTs
+ - MINOR: quic: Add connection flags to traces
+ - BUG/MEDIUM: quic: Code sanitization about acknowledgements requirements
+ - BUG/MINOR: quic: Possible wrapped values used as ACK tree purging limit.
+ - BUG/MINOR: quic: SIGFPE in quic_cubic_update()
+ - MINOR: quic: Display the packet number space flags in traces
+ - MINOR: quic: Remove a useless test about probing in qc_prep_pkts()
+ - BUG/MINOR: quic: Wrong Application encryption level selection when probing
+ - CI: bump "actions/checkout" to v3 for cross zoo matrix
+ - CI: enable monthly test on Fedora Rawhide
+ - BUG/MINOR: stream: Fix test on SE_FL_ERROR on the wrong entity
+ - BUG/MEDIUM: stream: Report write timeouts before testing the flags
+ - BUG/MEDIUM: stconn: Do nothing in sc_conn_recv() when the SC needs more room
+ - MINOR: stream: Uninline and export sess_set_term_flags() function
+ - MINOR: filters: Review and simplify errors handling
+ - REGTESTS: fix the race conditions in log_uri.vtc
+ - MINOR: channel: Forwad close to other side on abort
+ - MINOR: stream: Introduce stream_abort() to abort on both sides in same time
+ - MINOR: stconn: Rename SC_FL_SHUTR_NOW in SC_FL_ABRT_WANTED
+ - MINOR: channel/stconn: Replace channel_shutr_now() by sc_schedule_abort()
+ - MINOR: stconn: Rename SC_FL_SHUTW_NOW in SC_FL_SHUT_WANTED
+ - MINOR: channel/stconn: Replace channel_shutw_now() by sc_schedule_shutdown()
+ - MINOR: stconn: Rename SC_FL_SHUTR in SC_FL_ABRT_DONE
+ - MINOR: channel/stconn: Replace sc_shutr() by sc_abort()
+ - MINOR: stconn: Rename SC_FL_SHUTW in SC_FL_SHUT_DONE
+ - MINOR: channel/stconn: Replace sc_shutw() by sc_shutdown()
+ - MINOR: tree-wide: Replace several chn_cons() by the corresponding SC
+ - MINOR: tree-wide: Replace several chn_prod() by the corresponding SC
+ - BUG/MINOR: cli: Don't close when SE_FL_ERR_PENDING is set in cli analyzer
+ - MINOR: stconn: Stop to set SE_FL_ERROR on sending path
+ - MEDIUM: stconn: Forbid applets with more to deliver if EOI was reached
+ - MINOR: stconn: Don't clear SE_FL_ERROR when endpoint is reset
+ - MINOR: stconn: Add a flag to ack endpoint errors at SC level
+ - MINOR: backend: Set SC_FL_ERROR on connection error
+ - MINOR: stream: Set SC_FL_ERROR on channels' buffer allocation error
+ - MINOR: tree-wide: Test SC_FL_ERROR with SE_FL_ERROR from upper layer
+ - MEDIUM: tree-wide: Stop to set SE_FL_ERROR from upper layer
+ - MEDIUM: backend: Stop to use SE flags to detect connection errors
+ - MEDIUM: stream: Stop to use SE flags to detect read errors from analyzers
+ - MEDIUM: stream: Stop to use SE flags to detect endpoint errors
+ - MEDIUM: stconn: Rely on SC flags to handle errors instead of SE flags
+ - BUG/MINOR: stconn: Don't set SE_FL_ERROR at the end of sc_conn_send()
+ - BUG/MINOR: quic: Do not use ack delay during the handshakes
+ - CLEANUP: use "offsetof" where appropriate
+ - MINOR: ssl: remove OpenSSL 1.0.2 mention into certificate loading error
+ - BUG/MEDIUM: http-ana: Properly switch the request in tunnel mode on upgrade
+ - BUG/MEDIUM: log: Properly handle client aborts in syslog applet
+ - MINOR: stconn: Add a flag to report EOS at the stream-connector level
+ - MINOR: stconn: Propagate EOS from a mux to the attached stream-connector
+ - MINOR: stconn: Propagate EOS from an applet to the attached stream-connector
+ - MINOR: mux-h2: make the initial window size configurable per side
+ - MINOR: mux-h2: make the max number of concurrent streams configurable per side
+ - BUG/MINOR: task: allow to use tasklet_wakeup_after with tid -1
+ - CLEANUP: quic: remove unused QUIC_LOCK label
+ - CLEANUP: quic: remove unused scid_node
+ - CLEANUP: quic: remove unused qc param on stateless reset token
+ - CLEANUP: quic: rename quic_connection_id vars
+ - MINOR: quic: remove uneeded tasklet_wakeup after accept
+ - MINOR: quic: adjust Rx packet type parsing
+ - MINOR: quic: adjust quic CID derive API
+ - MINOR: quic: remove TID ref from quic_conn
+ - MEDIUM: quic: use a global CID trees list
+ - MINOR: quic: remove TID encoding in CID
+ - MEDIUM: quic: handle conn bootstrap/handshake on a random thread
+ - MINOR: quic: do not proceed to accept for closing conn
+ - MINOR: protocol: define new callback set_affinity
+ - MINOR: quic: delay post handshake frames after accept
+ - MEDIUM: quic: implement thread affinity rebinding
+ - BUG/MINOR: quic: transform qc_set_timer() as a reentrant function
+ - MINOR: quic: properly finalize thread rebinding
+ - MAJOR: quic: support thread balancing on accept
+ - MINOR: listener: remove unneeded local accept flag
+ - BUG/MINOR: http-ana: Update analyzers on both sides when switching in TUNNEL mode
+ - CLEANUP: backend: Remove useless debug message in assign_server()
+ - CLEANUP: cli: Remove useless debug message in cli_io_handler()
+ - BUG/MEDIUM: stconn: Propagate error on the SC on sending path
+ - MINOR: config: add "no-alpn" support for bind lines
+ - REGTESTS: add a new "ssl_alpn" test to test ALPN negotiation
+ - DOC: add missing documentation for "no-alpn" on bind lines
+ - MINOR: ssl: do not set ALPN callback with the empty string
+ - MINOR: ssl_crtlist: dump "no-alpn" on "show crtlist" when "no-alpn" was set
+ - MEDIUM: config: set useful ALPN defaults for HTTPS and QUIC
+ - BUG/MEDIUM: quic: prevent crash on Retry sending
+ - BUG/MINOR: cfgparse: make sure to include openssl-compat
+ - MINOR: clock: add now_mono_time_fast() function
+ - MINOR: clock: add now_cpu_time_fast() function
+ - MEDIUM: hlua: reliable timeout detection
+ - MEDIUM: hlua: introduce tune.lua.burst-timeout
+ - CLEANUP: hlua: avoid confusion between internal timers and tick based timers
+ - MINOR: hlua: hook yield on known lua state
+ - MINOR: hlua: safe coroutine.create()
+ - BUG/MINOR: quic: Stop removing ACK ranges when building packets
+ - MINOR: quic: Do not allocate too much ack ranges
+ - BUG/MINOR: quic: Unchecked buffer length when building the token
+ - BUG/MINOR: quic: Wrong Retry token generation timestamp computing
+ - BUG/MINOR: mux-quic: fix crash with app ops install failure
+ - BUG/MINOR: mux-quic: properly handle STREAM frame alloc failure
+ - BUG/MINOR: h3: fix crash on h3s alloc failure
+ - BUG/MINOR: quic: prevent crash on qc_new_conn() failure
+ - BUG/MINOR: quic: consume Rx datagram even on error
+ - CLEANUP: errors: fix obsolete function comments
+ - CLEANUP: server: fix update_status() function comment
+ - MINOR: server/event_hdl: add proxy_uuid to event_hdl_cb_data_server
+ - MINOR: hlua/event_hdl: rely on proxy_uuid instead of proxy_name for lookups
+ - MINOR: hlua/event_hdl: expose proxy_uuid variable in server events
+ - MINOR: hlua/event_hdl: fix return type for hlua_event_hdl_cb_data_push_args
+ - MINOR: server/event_hdl: prepare for upcoming refactors
+ - BUG/MINOR: event_hdl: don't waste 1 event subtype slot
+ - CLEANUP: event_hdl: updating obsolete comment for EVENT_HDL_CB_DATA
+ - CLEANUP: event_hdl: fix comment typo about _sync assertion
+ - MINOR: event_hdl: dynamically allocated event data members
+ - MINOR: event_hdl: provide event->when for advanced handlers
+ - MINOR: hlua/event_hdl: timestamp for events
+ - DOC: lua: restore 80 char limitation
+ - BUG/MINOR: server: incorrect report for tracking servers leaving drain
+ - MINOR: server: explicitly commit state change in srv_update_status()
+ - BUG/MINOR: server: don't miss proxy stats update on server state transitions
+ - BUG/MINOR: server: don't miss server stats update on server state transitions
+ - BUG/MINOR: server: don't use date when restoring last_change from state file
+ - MINOR: server: central update for server counters on state change
+ - MINOR: server: propagate server state change to lb through single function
+ - MINOR: server: propagate lb changes through srv_lb_propagate()
+ - MINOR: server: change adm_st_chg_cause storage type
+ - MINOR: server: srv_append_status refacto
+ - MINOR: server: change srv_op_st_chg_cause storage type
+ - CLEANUP: server: remove unused variables in srv_update_status()
+ - CLEANUP: server: fix srv_set_{running, stopping, stopped} function comment
+ - MINOR: server: pass adm and op cause to srv_update_status()
+ - MEDIUM: server: split srv_update_status() in two functions
+ - MINOR: server/event_hdl: prepare for server event data wrapper
+ - MINOR: quic: support migrating the listener as well
+ - MINOR: quic_sock: index li->per_thr[] on local thread id, not global one
+ - MINOR: listener: support another thread dispatch mode: "fair"
+ - MINOR: receiver: add a struct shard_info to store info about each shard
+ - MINOR: receiver: add RX_F_MUST_DUP to indicate that an rx must be duped
+ - MEDIUM: proto: duplicate receivers marked RX_F_MUST_DUP
+ - MINOR: proto: skip socket setup for duped FDs
+ - MEDIUM: config: permit to start a bind on multiple groups at once
+ - MINOR: listener: make accept_queue index atomic
+ - MEDIUM: listener: rework thread assignment to consider all groups
+ - MINOR: listener: use a common thr_idx from the reference listener
+ - MINOR: listener: resync with the thread index before heavy calculations
+ - MINOR: listener: make sure to avoid ABA updates in per-thread index
+ - MINOR: listener: always compare the local thread as well
+ - MINOR: Make `tasklet_free()` safe to be called with `NULL`
+ - CLEANUP: Stop checking the pointer before calling `tasklet_free()`
+ - CLEANUP: Stop checking the pointer before calling `pool_free()`
+ - CLEANUP: Stop checking the pointer before calling `task_free()`
+ - CLEANUP: Stop checking the pointer before calling `ring_free()`
+ - BUG/MINOR: cli: clarify error message about stats bind-process
+ - CI: cirrus-ci: bump FreeBSD image to 13-1
+ - REGTESTS: remove unsupported "stats bind-process" keyword
+ - CI: extend spellchecker whitelist, add "clen" as well
+ - CLEANUP: assorted typo fixes in the code and comments
+ - BUG/MINOR: sock_inet: use SO_REUSEPORT_LB where available
+ - BUG/MINOR: tools: check libssl and libcrypto separately
+ - BUG/MINOR: config: fix NUMA topology detection on FreeBSD
+ - BUILD: sock_inet: forward-declare struct receiver
+ - BUILD: proto_tcp: export the correct names for proto_tcpv[46]
+ - CLEANUP: protocol: move the l3_addrlen to plug a hole in proto_fam
+ - CLEANUP: protocol: move the nb_receivers to plug a hole in protocol
+ - REORG: listener: move the bind_conf's thread setup code to listener.c
+ - MINOR: proxy: make proxy_type_str() recognize peers sections
+ - MEDIUM: peers: call bind_complete_thread_setup() to finish the config
+ - MINOR: protocol: add a flags field to store info about protocols
+ - MINOR: protocol: move the global reuseport flag to the protocols
+ - MINOR: listener: automatically adjust shards based on support for SO_REUSEPORT
+ - MINOR: protocol: add a function to check if some features are supported
+ - MINOR: sock: add a function to check for SO_REUSEPORT support at runtime
+ - MINOR: protocol: perform a live check for SO_REUSEPORT support
+ - MINOR: listener: do not restrict CLI to first group anymore
+ - MINOR: listener: add a new global tune.listener.default-shards setting
+ - MEDIUM: listener: switch the default sharding to by-group
+
2023/04/08 : 2.8-dev7
- BUG/MINOR: stats: Don't replace sc_shutr() by SE_FL_EOS flag yet
- BUG/MEDIUM: mux-h2: Be able to detect connection error during handshake
diff --git a/VERDATE b/VERDATE
index 52d329f..6148548 100644
--- a/VERDATE
+++ b/VERDATE
@@ -1,2 +1,2 @@
$Format:%ci$
-2023/04/08
+2023/04/23
diff --git a/VERSION b/VERSION
index bc3b6d4..84db9bb 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.8-dev7
+2.8-dev8
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 3fc4ea0..32d2fec 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -3,7 +3,7 @@
Configuration Manual
----------------------
version 2.8
- 2023/04/08
+ 2023/04/23
This document covers the configuration language as implemented in the version
diff --git a/doc/lua.txt b/doc/lua.txt
index d6fbc2f..8d55616 100644
--- a/doc/lua.txt
+++ b/doc/lua.txt
@@ -1,6 +1,6 @@
Lua: Architecture and first steps
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- version 2.6
+ version 2.8
author: Thierry FOURNIER
contact: tfournier at arpalert dot org