# 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.

## Changes for developers and VMOD authors

The functions `VRT_AddVDP()`, `VRT_AddVFP()`, `VRT_RemoveVDP()` and `VRT_RemoveVFP()` are deprecated. Use `VRT_AddFilter()` to add a pair (VFP and VDP) and `VRT_RemoveFilter()` to remove it. A filter pair needs at least one member of the pair.

The `varnishtest -i` option no longer works outside of a Varnish source tree. There shouldn’t be a reason to use `-i` outside of the Varnish test suite.

eof