Note: This is a working document for a future release, with running updates for changes in the development branch. For changes in the released versions of Varnish, see: What's new / Upgrading
XXX: how to upgrade from previous deployments to this version. Limited to work that has to be done for an upgrade, new features are listed in "Changes". Explicitly mention what does *not* have to be changed, especially in VCL. May include, but is not limited to:
VCL programs for Varnish 6.1 can be expected to run without changes in the new version.
A VCL load will now issue a warning, but does not fail as previously, if a backend declaration uses the .path field to specify a Unix domain socket, but the socket file does not exist or is not accessible at VCL load time. This makes it possible to start the peer component listening at the socket, or set its permissions, after Varnish starts or the VCL is loaded. Backend fetches fail if the socket is not accessible by the time the fetch is attempted.
return(miss) from vcl_hit{} is now removed. Options to implement similar functionality are:
Some varnishd -p parameters that have been deprecated for some time have been removed. If you haven't changed them yet, you have to now. These are:
The type-conversion functions in VMOD std - Varnish Standard Module have been reworked to make them more flexible and easier to use. These new functions now also accept suitable numeral or quantitative arguments.
These type-conversion functions should be fully backwards compatible, but the following differences should be noted:
These functions are deprecated and should be replaced by the new conversion functions:
They will be removed in a future version of Varnish.
The -j option for JSON output has been added to a number of commands, see JSON output in Changes in Varnish $NEXT_RELEASE and varnish-cli. We recommend the use of JSON format for automated parsing of CLI responses (varnishadm output).
backend.list has grown an additional column, the output has changed and fields are now of dynamic width:
The Admin column now accurately states probe only if a backend has some means of dynamically determining health state.
The Probe column has been changed to display X/Y, where:
If there is no probe or the director does not provide details, 0/0 is output.
The Health column has been added to contain the dynamic (probe) health state and the format has been unified to just healthy or sick.
If there is no probe, Health is always given as healthy. Notice that the administrative health as shown in the Admin column has precedence.
In the probe_message field of backend.list -j output, the Probe and Health columns appears as the array [X, Y, health].
See varnish-cli for details.
The non-JSON output of vcl.list has been changed:
See varnish-cli for details. In the JSON output for vcl.list -j, this information appears in separate fields.
The width of columns in backend.list and vcl.list output (non-JSON) is now dynamic, to fit the width of the terminal window.
eof