This release, 6.0.7r3, fixes a number of bugs, and introduces a few minor features. The new features include the following:
resp.send_timeout variable to set the send timeout on a
per-request basis from vcl.
varnishncsa now supports Epoch timestamps.
memory_target can now be negative for non
value, indicating how much memory to leave unused on the system.
Object misses can now be counted via
utils.backend_misses() to allow objects
to be inserted on the 2nd miss.
utils.waitinglist() which returns true if there are other clients
waiting for this object.
Fix a bug where VMOD cleanup routines were not executed for ESI subrequests that exited abnormally.
vmod_goto crash when discarding a VCL with a director for a zero ttl
vmod_goto bug where a the last non-zero weight backend in a priority
block would always be picked.
Fix a bug where the destruction of a dynamic backend races against a backend probe, resulting in a crash.
Fix a persisted MSE race condition that could in exceptional circumstances assert on range requests that fell outside the successful fetch range.
varnishadm: Properly handle short writes.
Close a race between VCP_Control() and vbp_thread that could in rare circumstances cause an assert related to probe status upon VCL temperature change.
See the change log for a full overview of new features and bug fixes.
The ABI for VMODs changed with 6.0.7r1, so every VMOD older than that, needs to be recompiled to work with the new versions. There is no API breakage, so a simple recompile should be sufficient. If you only use VMODs bundled with Varnish Cache Enterprise, you do not have to do anything, as bundled VMODs are always recompiled.