doc/sphinx/whats-new/upgrading-6.5.rst
.. Copyright (c) 2020 Varnish Software AS SPDX-License-Identifier: BSD-2-Clause See LICENSE file for full text of license
.. _whatsnew_upgrading_6.5:
%%%%%%%%%%%%%%%%%%%%%%%%%% Upgrading to Varnish 6.5.0 %%%%%%%%%%%%%%%%%%%%%%%%%%
The JSON output (-j option) changed to avoid having the timestamp
field mixed with the counters fields. As such the schema version was bumped
from 0 to 1, and a version top-level field was added to keep track of
future schema changes. Counters are in a new counters top-level field.
Before::
{ "timestamp": "YYYY-mm-ddTHH:MM:SS", "MGT.uptime": { ... }, ... }
After::
{ "version": 1, "timestamp": "YYYY-mm-ddTHH:MM:SS", "counters": { "MGT.uptime": { ... }, ... } }
The filter option -f is now deprecated in favor of the -I and
-X options for field inclusions and exclusions, respectively. Tools
using varnishstat should prepare for future removal and be changed
accordingly.
If you need to build VSL queries that depend on BackendReuse you can
now rely on BackendClose, for example::
varnishlog -q 'BackendReuse[2] ~ www'
The new query would be::
varnishlog -q 'BackendClose[2] ~ www and BackendClose[3] eq recycle'
VSB
VSB support for dynamic vs. static allocations has been changed and
code using VSBs will need to be adjusted, see
:ref:`whatsnew_changes_6.5_libvarnish`.
It should be noted that the VSB itself and the string buffer must be either
both dynamic or both static. It is no longer possible for example to have
a static ``struct`` with a dynamic buffer with the new API.
Workspace API
VMODs using the Workspace API might need minor adjustments, see
:ref:whatsnew_changes_6.5_workspace.
In general, accessing any field of struct ws is strongly discouraged
and if the workspace API doesn't satisfy all your needs please bring
that to our attention.
VSC
The ``'f'`` argument for ``VSC_Arg()`` is now deprecated as mentioned in
the above note on `varnishstat`_ and :ref:`whatsnew_changes_6.5_vsc`.
Otherwise you can use the ``'I'`` ans ``'X'`` arguments to respectively
include or exclude counters, they work in a first-match fashion. Since
``'f'`` is now emulated using the new arguments, its filtering behavior
slightly changed from exclusions first to first match.
If like ``varnishstat`` in curses mode, you have a utility that always
needs some counters to be present the ``'R'`` argument takes a glob of
required fields. Such counters are not affected by filtering from other
``VSC_Arg()`` arguments.
Official Packages related changes
=================================
* The default systemd `varnish.service` unit file now sets `varnishd` to
listen for PROXY protocol connections on port 8443. This corresponds
with the Hitch default configuration, making it easier to set up Varnish
using TLS.
* The default systemd `varnish.service` unit file now enables the HTTP/2
feature of `varnishd`. This corresponds with the default ALPN token
advertisement in the Hitch default configuration, making it easier to
enable HTTP/2 in Varnish setups.
*eof*