This release contains several bug fixes and some new features.
Note: The 6.0.9r5-1
packages released on 2022-04-28 contained a change
to the way PID-files were handled in the package-included
varnishd.service
systemd service file. These changes caused upgrade
issues on some systems depending on if and how the varnishd.service
had local customizations. This was due to a missing -P %t/%N/varnishd.pid
command line option in the options given to
varnishd
in the customized service files, causing varnishd
to not
produce the PID-file systemd was told to expect. The subsequent
6.0.9r5-2
packages released on 2022-04-29 have these service file
changes reverted back to the state prior to this release.
New features:
A new set of functions in VMOD ykey
to get statistics of objects
with specific keys. This feature is experimental, and must not be
used on user requests.
The new libadns
and VMOD activedns
together make it easier
to manage DNS and name resolution inside of Varnish. They are
designed to be used with VMOD udo
and its new features.
VMOD udo
now supports dynamic backends with sharding.
VMOD udo
now has three new functions, .get_identifier()
,
.self_identify()
, and .self_is_next()
which can be used to
implement self routing clusters.
There is a new experimental cluster.vcl
which implements self
routing clusters. Here experimental means that it has not seen
much real-world testing, and that its functionality might change
slightly in the next releases. Use at your own risk, and carefully
read change logs and new release announcements.
VMOD stat
is now aware of dynamic udo
backend names in its
Prometheus format.
VMOD headerplus
now has an experimental write_req0()
function which can be used to make label VCLs start from a modified
set of headers and URL.
You can now insist that backend fetches starts with a fresh
connection by calling utils.force_fresh()
.
In varnishstat
gauges will now display the number zero instead
of the result of an underflow. This change is mainly useful in
benchmarking scenarios with synthetic tests. A new key binding
(r
) and a new option (-r
) has been added to override this.
There is a new option for probe-proxy.vcl
called
call_backend_response
.
There is a new function remove_duplicate
in VMOD cookieplus
,
and the cookieplus.get()
function has a new parameter to select
the last or first occurrence of a cookie.
The Slicer now handles range request better when MSE is involved.
Bugs fixed
Workspace allocation handling has improved in VMODs rewrite
and
var
.
When a client transaction ends after leaving the waiting list, some missing logs records are now recorded.
VMOD deviceatlas
now handles the databases’ lifetimes in a
correct way.
A VMOD image
memory leak when doing error handling has been
plugged.
Error reporting in VMOD mse
on IO errors has improved.
See the changelog for the complete list of changes in this release.