Upgrading to Varnish 7.2¶
varnishd¶
Parameters¶
The following parameters are deprecated:
vcc_allow_inline_c
vcc_err_unref
vcc_unsafe_path
They can still be set as individual boolean parameters. The deprecated aliases will be removed in a future release.
They are replaced by the vcc_feature
bits parameter:
allow_inline_c
err_unref
(enabled by default)unsafe_path
(enabled by default)
The following commands are equivalent:
param.set vcc_err_unref off
param.set vcc_feature -err_unref
Identity¶
The server identity must be a valid HTTP token, which may pose a problem
to existing setups. For example varnishd -i "edge server 1"
is no
longer accepted. You can use something like varnishd -i "edge-server-1"
instead.
VCL¶
Varnish generates a Via header and forwards it to the backend by default.
This can be prevented for example in vcl_recv
or vcl_backend_fetch
.
sub vcl_recv {
unset req.http.via;
}
sub vcl_backend_fetch {
unset bereq.http.via;
}
The Via header is generated with the server.identity
variable for
the received-by
field. See rfc9110_ for a description of the Via
header.
A resp.http.via
header is no longer overwritten by varnish, but
rather appended to.
VMODs¶
Cookies generated by vmod_cookie used to have a trailing semi-colon that goes against the recommendations from rfc6265. This should not pose a problem, unless a piece of VCL code or a backend have come to rely on this incorrect behavior.
varnishlog¶
The Begin
and Link
log records have an optional 4th field for the
sub-request level. This may break log processors, log queries or NCSA
formats that expect those records to have exactly 3 fields.
varnishstat¶
The MAIN.fetch_no_thread
counter is gone, it never worked. Track the
MAIN.bgfetch_no_thread
counter instead.