- Still more Media Foundation work.
- Improvements to Active Directory LDAP support.
- A few more modules converted to PE.
- Improvements to gdb proxy mode.
- Various bug fixes.
My fix for a build problem on some versions of FreeBSD in
files/patch-dlls-dbghelp has been accepted upstream, so remove here.
The Wine Staging patch set is lagging once again; we'll add support
once it's available.
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
Drop maintainership. I don't use this port much as evidenced by the
fact that one of these bugs was fixed in Arch Linux in 2016
(https://bugs.archlinux.org/task/46571).
Submitted by: Jacob D Hunt
MFH: 2020Q2
Compiling c_src/double-conversion/strtod.cc
c_src/double-conversion/strtod.cc:41:18: error: unused variable 'kMaxExactDoubleIntegerDecimalDigits' [-Werror,-Wunused-const-variable]
static const int kMaxExactDoubleIntegerDecimalDigits = 15;
^
c_src/double-conversion/strtod.cc:58:21: error: variable 'exact_powers_of_ten' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
static const double exact_powers_of_ten[] = {
^
c_src/double-conversion/strtod.cc:84:18: error: unused variable 'kExactPowersOfTenSize' [-Werror,-Wunused-const-variable]
static const int kExactPowersOfTenSize = ARRAY_SIZE(exact_powers_of_ten);
^
Thanks to jrm@ for help with testing
Reported by: pkg-fallout