For users of many and/or labeled VCLs
Users of the advanced mechanics behind the
vcl.state CLI command
(most likely used via
varnishadm) should be aware of the following
changes, which may require adjustments to (or, more likely, allow for
simplifications of) scripts/programs interfacing with varnish:
auto state has been streamlined. Conceptually, it used to
be a variant of the
warm state which would automatically cool
the vcl. Yet, cooling did not only transition the temperature, but
also the state, so
auto only worked one way - except that
vcl.use or moving a label (by labeling another vcl) would also set
auto, so a manual warm/cold setting would get lost.
auto state will remain no matter the actual temperature or
labeling, so when a vcl needs to implicitly change temperature (due to
being used or being labeled), an
auto vcl will remain
warm vcl will change state, but never become
For developers and authors of VMODs and API clients
The Python 2 EOL is approaching and our build system now favors Python 3. In
the 2020-03-15 release we plan to only support Python 3.
VCL_STRING_LIST type is superseded by the array-based
VCL_STRANDS type. The deprecated string list will eventually be removed
entirely and VMOD authors are strongly encouraged to convert to strands.
VRT functions working with string list arguments now take strands.
More functions such as
the VRT namespace moved away to the Varnish Private Interface (VPI). Such
functions were never intended for VMODs in the first place.
VRT_rel_vcl() were renamed to
Some functions taking
VCL_IP arguments now take a
VRT_CTX in order
to fail in the presence of an invalid IP address.
vrt.h for a list of changes since the 6.2.0 release.
We sometimes use Coccinelle to automate C code refactoring throughout the
code base. Our collection of semantic patches may be used by VMOD and API
clients authors and are available in the Varnish source tree in the
WS_Reserve() function is deprecated and replaced by two functions
WS_ReserveSize() to avoid ambiguous situations.
Its removal is planned for the 2020-09-15 release.
ws_reserve.cocci semantic patch can help with the transition.