HomeFreeBSD

www/varnish6: Update to 6.4.0

Description

www/varnish6: Update to 6.4.0

Changelog for 6.4.0:
The MAIN.sess_drop counter is gone.

New configure switch: --with-unwind. Alpine linux appears to offer a
libexecinfo implementation that crashes when called by Varnish, this
offers the alternative of using libunwind instead.

backend none was added for "no backend".

std.rollback(bereq) is now safe to use, fixed bug 3009

Fixed varnishstat, varnishtop, varnishhist and varnishadm handling INT,
TERM and HUP signals (bugs 3088 and 3229)

The hash algorithm of the hash director was changed, so backend
selection will change once only when upgrading. Users of the hash
director are advised to consider using the shard director, which,
amongst other advantages, offers more stable backend selection through
consistent hashing.

Log records can safely have empty fields or fields containing blanks if
they are delimited by "double quotes". This was applied to SessError and
Backend_health.

It is now possible for VMOD authors to customize the connection pooling
of a dynamic backend. A hash is now computed to determine uniqueness and
a backend declaration can contribute arbitrary data to influence the
pool.

The option varnishtest -W is gone, the same can be achieved with
varnishtest -p debug=+witness. A witness.sh script is available in the
source tree to generate a graphviz dot file and detect potential lock
cycles from the test logs.

The Process timestamp for vcl_synth {} was wrongly issued before the VCL
subroutine, now it gets emitted after VCL returns for consistency with
vcl_deliver {}.

Latencies for newly created worker threads to start work on congested
systems have been improved.

VRB_Iterate() signature has changed

VRT_fail() now also works from director code

Deliberately closing backend requests through return(abandon),
return(fail) or return(error) is no longer accounted as a fetch failure

Fixed a bug which could cause probes not to run

The if-range header is now handled, allowing clients to conditionally
request a range based on a date or an ETag.

Introduced struct reqtop to hold information on the ESI top request and
PRIV_TOP, fixed regression 3019

Allow numerical expressions in VCL to be negative / negated

Add vi-stype CTRL-f / CTRL-b for page down/up to interactive varnishstat

Fixed wrong handling of an out-of-workspae condition in the proxy vmod
and in the workspace allocator, bug 3131

Raised the minimum for the vcl_cooldown parameter to 1s to fix bug 3135

Improved creation of additional threads when none are available

Fixed a race between director creation and the backend.list CLI command

  • see bug 3094

Added error handling to avoid panics for workspace overflows during
session attribute allocation - bug 3145

Overloaded the += operator to also append to headers

Fixed set *.body commands.

Fixed status for truncated CLI responses, bug 3038

New or improved Coccinelle semantic patches that may be useful for VMOD
or utilities authors.

Output VCC warnings also for VCLs loaded via the varnishd -f option, see
bug 3160

Improved fetch error handling when stale objects are present in cache,
see bug 3089

Added a Notice VSL tag (used for varnishlog logging)

Always refer to sub as subroutine in the documentation and error
messages to avoid confusion with other terms.

New pid command in the Varnish CLI, to get the master and optionally
cache process PIDs, for example from varnishadm.

Fixed a race that could result in a partial response being served in its
entirety when it is also compressed with gzip.

Fixed session close reason reporting and accounting, added rx_close_idle
counter for separate accounting when timeout_idle is reached. Also,
send_timeout is no longer reported as "remote closed".

Fixed handling of request bodies for backend retries

Fix deadlocks when the maximum number of threads has been reached, in
particular with http/2, see 2418

Add more vcl control over timeouts with sess.timeout_linger,
sess.send_timeout and sess.idle_send_timeout

Fix panics due to missing EINVAL handling on MacOS, see 1853

Added VSLs() and VSLbs() functions for logging STRANDS to VSL

Fixed cases where a workspace overflow would not result in a VCL
failure, see 3194

Added WS_VSB_new() / WS_VSB_finish() for VSBs on workspaces

Imported vmod_cookie from varnish_modules

The previously deprecated function cookie.filter_except() has been
removed during import. It was replaced by cookie.keep()

body_status and req_body_status have been collapsed into one type. In
particular, the REQ_BODY_* enums now have been replaced with BS_*.

Fixed an old regression of the Age: header for passes, see bug 3221

Added VRT_AllocStrandsWS() as a utility function to allocate STRANDS on
a workspace.

Reduced compile time of vcl_init{} / vcl_fini{} with gcc, added
v_dont_optimize attribute macro

Fixed a case where send_timeout would have no effect when streaming from
a backend fetch, see bug 3189

NOTE Users upgrading varnish should re-check send_timeout with respect
to long pass and streaming fetches and watch out for increased session
close rates.

Added VSB_tofile() to libvarnishapi, see 3238

PR: 245104

Details

Provenance
feldAuthored on
Parents
rP531337: comms/gnuradio: Update 3.8.1.0-rc1 -> 3.8.1.0
Branches
Unknown
Tags
Unknown